Nghiên cứu chế tạo thử nghiệm hệ đo Gamma dựa trên PIN photodiode và tinh thể nhấp nháy

59 180 0
Nghiên cứu chế tạo thử nghiệm hệ đo Gamma dựa trên PIN photodiode và tinh thể nhấp nháy

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trong sự phát triển của khoa học, kĩ thuật hiện nay, các thiết bị điện tử ngàycàng được thu nhỏ và chính xác hơn. Kỹ thuật đo đạc phóng xạ cũng khôngnằm ngoài xu hướng đó. Chất nhấp nháy được coi là một trong những cách đođạc hiệu quả cả cường độ và năng lượng của nguồn phóng xạ cũng như phôngmôi trường. Tuy nhiên chất nhấp nháy thường đi kèm theo hệ ống nhân quangcồng kềnh nên các ứng dụng đòi hỏi không gian nhỏ hẹp, chúng thể hiện nhiềubất cập khó có thể khắc phục được. Việc sử dụng PIN Photodiot ghép nối chấtnhấp nháy được coi là một trong những giải pháp hiệu quả nhất. Vậy cần phảihiểu được nguyên lý hoạt động của chất nhấp nháy, PIN photodiot và hệ tiềnkhuếch đại đi kèm. Do đó trong quá trình làm đồ án tốt nghiệp tại viện Kĩ thuậthạt nhân và Vật lý môi trường em đã lựa chọn đề tài: “Nghiên cứu chế tạo thửnghiệm hệ đo Gamma dựa trên PIN photodiode và tinh thể nhấp nháy”dưới sự hướng dẫn của TS.Phạm Đình Khang.

LỜI CAM ĐOAN Tôi cam đoan Đồ án tốt nghiệp tơi thực hiện, số liệu thu thập kết phân tích đề tài trung thực có dẫn chứng đầy đủ, đề tài khơng trùng với đề tài ngiên cứu khoa học Những thông tin tham khảo đồ án trích dẫn cụ thể Hà Nội, tháng năm 2017 Sinh viên thực Cơng Vũ Chí Cơng LỜI CẢM ƠN Để hoàn thành đồ án mình, em xin chân thành cảm ơn TS Phạm Đình Khang tận tình hướng dẫn ln ln động viên em suốt trình làm đồ án tốt nghiệp Xin trân trọng cảm ơn Viện Khoa học kỹ thuật hạt nhân, đặc biệt Nguyễn Đức Tuấn anh chị Phòng Điện tử hạt nhân tạo điều kiện thuận lợi sở vật chất kiến thức giúp em thời gian thực tập hoàn thành đồ án tốt nghiệp Xin trân trọng cảm ơn Viện Hóa Học-Mơi Trường Qn Sự, Thiếu tá Đinh Tiến Hùng anh, chị Phòng Phóng Xạ nhiệt tình giúp đỡ, tạo điều kiện cho em hoàn thành kết đề tài Em xin chân thành cảm ơn thầy cô Viện kĩ thuật hạt nhân Vật lý môi trường, trường Đại học Bách Khoa Hà Nội tận tình truyền đạt kiến thức suốt năm em học tập Với vốn kiến thức trình học tập khơng tảng cho q trình thực hiện, hồn thành đồ án mà hành trang quý báu để em bước vào đời cách vững tự tin Cuối em xin kính chúc thầy cô Viện kĩ thuật hạt nhân Vật lý môi trường, trường Đại học Bách Khoa Hà Nội dồi sức khỏe thành công nghiệp cao quý Một lần em xin chân thành cảm ơn! Hà Nội, tháng năm 2017 Sinh viên thực Cơng Vũ Chí Cơng MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ DANH MỤC KÍ TỰ ĐẶC BIỆT VIẾT TẮT MỞ ĐẦU NỘI DUNG 10 CHƯƠNG I: TỔNG QUAN VỀ CHẤT NHẤP NHẤP NHÁY PIN PHOTODIODE 10 1.1 Cơ sở vật lý ghi đo xạ sử dụng tinh thể nhấp nháy 10 1.2 Tổng quan chất nhấp nháy 10 1.2.1 Cơ chế nhấp nháy chất nhấp nháy vô 12 1.2.2 Chất nhấp nháy CsI(Tl) 13 1.3 Tổng quan PIN Photodiode 15 1.3.1 Cấu tạo nguyên lý hoạt động PIN Photodiode 15 1.3.2 Các đặc tính PIN Photodiode Hamamatsu S3590-08 18 CHƯƠNG II: CƠ SỞ NGHIÊN CỨU CHẾ TẠO THỬ NGHIỆM HỆ ĐO GAMMA DỰA TRÊN PIN PHOTODIODE TINH THỂ NHẤP NHÁY 21 2.1 Sơ đồ khối hệ đo 21 2.3 Khối tiền khuếch đại 24 2.4 Khối khuếch đại hình thành xung 27 2.5 Khối đếm xung 29 2.5.1 Mạch tạo xung logic 29 2.5.2 Chip vi điều khiển họ ARM-STM32 31 2.5.3 Màn hình LCD 35 CHƯƠNG III: KẾT QUẢ THỰC NGHIỆM 36 3.1 Lắp ráp, chế tạo thử nghiệm 36 3.2 Đo đáp ứng hệ đo với suất liều 39 3.3 Sự thay đổi số đếm nhiệt độ môi trường thay đổi 40 3.4 Khảo sát độ tuyến tính xung tín hiệu hệ phân tích đa kênh MCA 42 KẾT LUẬN 44 TÀI LIỆU THAM KHẢO 45 Tài liệu tiếng Việt 45 Tài liệu tiếng Anh 45 PHỤ LỤC 46 Chương trình dùng cho vi điều khiển STM32F103C8T6 viết trình dịch Keil C chương trình STM CubeMX 46 Chương trình thư viện cho hình LCD 16x2 55 DANH MỤC CÁC BẢNG Bảng 1.1: Ưu nhược điểm chất nhấp nháy vô chất nhấp nháy hữu 11 Bảng 1.2: Một vài thông số kỹ thuật Si PIN Photodiode S3590-08 18 Bảng 2.1: Một vài thông số IC Max4477 hãng Maxim Integrated 28 Bảng 2.2: Một vài thông số dòng chip vi điều khiển STM32F103 .33 Bảng 3.1: Đáp ứng số đếm hệ đo với suất liều lượng xạ tới thay đổi 39 Bảng 3.2: Sự thay đổi tốc độ đếm nhiệt độ thay đổi .41 DANH MỤC CÁC HÌNH VẼ Hình 1.1: Sơ đồ vùng lượng chất nhấp nháy vô 12 Hình 1.2: Sơ đồ cấu tạo PIN Photodiode 16 Hình 1.3: Si PIN Photodiode S3590-08 hãng Hamamatsu 18 Hình 1.4: Sự phụ thuộc hiệu suất quang điện vào bước sóng ánh sáng 20 Hình 1: Sơ đồ khối hệ đo phóng xạ Gamma sử dụng tinh thể nhấp nháy PIN photodiode 21 Hình 2.2: Kết nối thực tế PIN photodiode S3590-08 22 Hình 2.3: Minh hoạ ghép nối tinh thể nhấp nháy photodiode 22 Hình 2.4: Sơ đồ tiền khuếch đại nhạy điện tích 24 Hình 2.5: Sơ đồ nguyên lý mạch tiền khuếch đại nhạy điện tích 26 Hình 2.6: Minh họa dạng xung tín hiệu sau qua tiền khuếch đại nhạy điện tích 26 Hình 2.7: Mạch khuếch đại hình thành xung 27 Hình 2.8: Sơ đồ nguyên lý khối đếm xung thu tín hiệu S3590-08 29 Hình 2.9: Mạch tạo xung logic sử dụng Max987 29 Hình 2.10: IC Max987 hãng Maxim Integrated biến trở chỉnh ngưỡng so sánh 30 Hình 2.11: Kit phát triển STM32F103C8T6 mini .32 Hình 2.12: Kết nối kit STM32F103C8T6 .31 Hình 2.13: Lưu đồ thuật tốn chương trình đếm xung 34 Hình 2.14: Kết nối LCD 16x2 .35 Hình 2.15: Hình ảnh thực tế LCD 16x2 35 Hình 3.1: Mạch thu tín hiệu, bên phối cảnh 3D, bên mạch thực tế 36 Hình 3.2: Bo cắm tích hợp cổng kết nối BNC ghép nối với hệ phổ kế đa kênh MCA .37 Hình 3.3: Bộ mạch đếm sử dụng kit STM32F103C8T6 hình LCD 16x2 .37 Hình 3.4: Dạng xung xung logic 38 Hình 3.5: Hệ đo đặt bên buồng thay đổi nhiệt độ 40 Hình 3.6: Đồ thị biểu diễn thay đổi tốc độ đếm nhiệt độ thay đổi .41 Hình 3.7: Lắp ráp mạch thu tín hiệu mạch pole-zero 42 Hình 3.8: Kết phân tích giao diện phần mềm Genie 2000 .43 DANH MỤC KÍ TỰ ĐẶC BIỆT VIẾT TẮT Kí tự viết tắt Tên đầy đủ ADC Analog to digital converter BNC Bayonet Neill–Concelman CPU Central Processing Unit GPIO General-purpose input/output IC Integrated circuit MCA Multichannel analyzer LCD Liquid crystal display S/N Signal/noise MỞ ĐẦU Trong phát triển khoa học, kĩ thuật nay, thiết bị điện tử ngày thu nhỏ xác Kỹ thuật đo đạc phóng xạ khơng nằm ngồi xu hướng Chất nhấp nháy coi cách đo đạc hiệu cường độ lượng nguồn phóng xạ phông môi trường Tuy nhiên chất nhấp nháy thường kèm theo hệ ống nhân quang cồng kềnh nên ứng dụng đòi hỏi khơng gian nhỏ hẹp, chúng thể nhiều bất cập khó khắc phục Việc sử dụng PIN Photodiot ghép nối chất nhấp nháy coi giải pháp hiệu Vậy cần phải hiểu nguyên lý hoạt động chất nhấp nháy, PIN photodiot hệ tiền khuếch đại kèm Do q trình làm đồ án tốt nghiệp viện Kĩ thuật hạt nhân Vật lý môi trường em lựa chọn đề tài: “Nghiên cứu chế tạo thử nghiệm hệ đo Gamma dựa PIN photodiode tinh thể nhấp nháy” hướng dẫn TS.Phạm Đình Khang Với mục đích đề tài: Lắp ráp tinh thể nhấp nháy với hệ PIN photodiode, tiền khuếch đại Đánh giá phổ lượng Gamma thu được, hiệu suất ghi khảo sát biến đổi thông số theo nhiệt độ Nội dung đồ án tốt nghiệp gồm ba nhiệm vụ chính: Tìm hiểu tinh thể nhấp nháy PIN photodiode Thiết kế, chế tạo hệ đo Gamma gồm detector, tiền khuếch đại mạch đếm Thực phép đo để khảo sát thông số phổ gamma, hiệu suất ghi biến đổi thông số theo nhiệt độ NỘI DUNG CHƯƠNG I: TỔNG QUAN VỀ CHẤT NHẤP NHẤP NHÁY PIN PHOTODIODE 1.1 Cơ sở vật lý ghi đo xạ sử dụng tinh thể nhấp nháy Khi hấp thụ lượng từ chùm tia xạ ion hoá xạ lượng tử, số chất có khả phát đốm sáng nhìn thấy Hiện tượng gọi tượng phát quang hay nhấp nháy Chất bị phát sáng hấp thụ chùm tia phóng xạ tới gọi chất nhấp nháy Việc đo ghi đốm sáng cốt lõi phương pháp đo ghi xạ sử dụng chất nhấp nháy Đầu nhấp nháy thiết bị sử dụng phương pháp đo ghi Chúng cấu thành từ hai phận sau: Chất nhấp nháy: có nhiệm vụ chuyển đổi lượng hạt xạ tới thành đốm sáng Thiết bị ghi nhận đốm sáng: có nhiệm vụ biến đổi lượng ánh sáng thành tín hiệu điện Nguyên tắc hoạt động đầu nhấp nháy sau: Khi hấp thụ lượng từ hạt xạ tới, chất nhấp nháy bị kích thích cấp độ nguyên tử phân tử Sau bị kích thích, nguyên tử trở lại trạng thái cân phát photon Thiết bị ghi nhận đốm sáng hấp thụ photon chuyển thành tín hiệu xung điện 1.2 Tổng quan chất nhấp nháy Chất nhấp nháy chất, tác dụng hạt mang điện tích xạ điện từ lượng cao, phát photon vùng nhìn thấy vùng tử ngoại 10 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Cơ sở phương pháp vật lý hạt nhân thực nghiệm, A.I Abramov, IU.A Kazanski, E.X Matuxevich [2] Điện tử hạt nhân, PGS-TS Nguyễn Ngọc Lâm [3] Ghi nhận đo lường xạ, Nguyễn Triệu Tú [4] Giáo trình điện tử hạt nhân 1, Th.S Ngơ Tiến Phán [5] Giáo trình kĩ thuật đo đạc xạ 1, TS Nguyễn Văn Thái Tài liệu tiếng Anh [6] Datasheet Microcontroller STM32F103X8 [7] Datasheet IC Opamp MAX4477 [8] Datasheet IC Opamp MAX987 [9] Datasheet Si PIN Photodiode S3590-08 [10] Datasheet Cesium Iodie Scintillation Material [11] Nuclear Electronics Laboratory Manual 1989 Edition [12] Radiation detection and measurent, third editon, Knoll, 1989 [13] Selected topics in Nuclear Electronics, IAEA, Vienna, 1986 45 PHỤ LỤC Chương trình dùng cho vi điều khiển STM32F103C8T6 viết trình dịch Keil C chương trình STM CubeMX #include "main.h" #include "stm32f1xx_hal.h" /* Dat thoi gian dem xung theo dexi giay Vi du: 60 ds = 6s */ int thoigian = 1500; /* Khai bao bien so dem C chuoi count[] hien thi tren LCD */ uint32_t C=0; unsigned char count[60]; /* Khai bao bien thoi gian t chuoi time[] hien thi tren LCD */ uint16_t t=0; unsigned char time[60]; /* Khai bao bien toc dem TD chuoi CPS[] hien thi tren LCD */ uint16_t TD; unsigned char CPS[60]; TIM_HandleTypeDef htim2; TIM_HandleTypeDef htim4; void SystemClock_Config(void); void Error_Handler(void); static void MX_GPIO_Init(void); static void MX_TIM2_Init(void); static void MX_TIM4_Init(void); 46 static void MX_NVIC_Init(void); int main(void) { /* Cai dat lai tat ca ngoai vi */ HAL_Init(); /* Cau hinh clock cho vi dieu khien */ SystemClock_Config(); /* Khoi tao timer2 timer4 */ MX_TIM2_Init(); MX_TIM4_Init(); HAL_TIM_Base_Start_IT(&htim2); HAL_TIM_Base_Start_IT(&htim4); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,0); /* Khoi tao cac chan GPIO */ MX_GPIO_Init(); /* Khoi tao ngat */ MX_NVIC_Init(); /* Khoi tao man hinh LCD */ LCD_Init(); /* Vong lap */ while (1) { /* Neu t=thoigian, in man hinh ket qua thoi gian t, so dem C toc dem TD=C/t va ket thuc chuong trinh*/ if(t>=thoigian) { LCD_Clear(); LCD_Gotoxy(0,0); LCD_Puts("Done!"); LCD_Gotoxy(0,1); sprintf(count,"C:%d ",C); LCD_Puts(count); LCD_Gotoxy(8,1); sprintf(time,"t:%dds ",t); LCD_Puts(time); TD=C/(t/10); LCD_Gotoxy(8,0); sprintf(CPS,"%dCPS ",TD); LCD_Puts(CPS); HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,1); while (1){}; } LCD_Gotoxy(0,0); LCD_Puts("Count "); LCD_Gotoxy(0,1); sprintf(count,"C:%d ",C); LCD_Puts(count); LCD_Gotoxy(8,1); 48 sprintf(time,"t:%dds",t); LCD_Puts(time); } } /* Ham ngat cua Timer2 */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if(htim->Instance==htim2.Instance) { t++; } } /** Cau hinh xung clock cho vi dieu khien bao gom: - Su dung nguon thach anh ngoai 8MHz - He so nhan cua bo PLL la cho clock cua vi dieu khien la 64MHz - He so cua bo chia AHB va APB1 lan luot la va cung cap clock cho bus APB1 peripheral 32MHz APB1 Timer 64MHz */ void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; /**Initializes the CPU, AHB and APB busses clocks */ 49 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL8; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /**Initializes the CPU, AHB and APB busses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) { Error_Handler(); } 50 /**Configure the Systick interrupt time */ HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); /**Configure the Systick */ HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); /* Muc uu tien cua ngat */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); } /** NVIC Configuration */ static void MX_NVIC_Init(void) { /* Cau hinh ngat Timer2 */ HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0); HAL_NVIC_EnableIRQ(TIM2_IRQn); } /* Khoi tao chuc nang Timer2 */ static void MX_TIM2_Init(void) { TIM_ClockConfigTypeDef sClockSourceConfig; 51 TIM_MasterConfigTypeDef sMasterConfig; /* Cau hinh cho Timer2 de dinh mot khoang thoi gian chinh xac tan so: f = APB1 Timer clock/Prescaler = 64MHz/64000 = 1000Hz chu ky: T = 1/f = 1ms Thoi gian tran bo dem t = T*(Period+1) = 1ms*(99+1) = ds */ htim2.Instance = TIM2; htim2.Init.Prescaler = 64000; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 99; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; if (HAL_TIM_Base_Init(&htim2) != HAL_OK) { Error_Handler(); } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) 52 { Error_Handler(); } } /* Khoi tao chuc nang Timer4 de dem su kien nen chon nguon clock ben ngoai tai chan PB6 cac he so duoc giu nguyen */ static void MX_TIM4_Init(void) { TIM_SlaveConfigTypeDef sSlaveConfig; TIM_MasterConfigTypeDef sMasterConfig; htim4.Instance = TIM4; htim4.Init.Prescaler = 0; htim4.Init.CounterMode = TIM_COUNTERMODE_UP; htim4.Init.Period = 65500; htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; if (HAL_TIM_Base_Init(&htim4) != HAL_OK) { Error_Handler(); } sSlaveConfig.SlaveMode = TIM_SLAVEMODE_EXTERNAL1; sSlaveConfig.InputTrigger = TIM_TS_TI1FP1; 53 sSlaveConfig.TriggerPolarity = TIM_TRIGGERPOLARITY_RISING; sSlaveConfig.TriggerFilter = 14; if (HAL_TIM_SlaveConfigSynchronization(&htim4, &sSlaveConfig) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK) { Error_Handler(); } } /** Cau hinh cac chan GPIO bao gom cac chan RS, EN, D4, D5, D6, D7 duoc dat ten tren phan mem CubeMX */ static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ HAL_RCC_GPIOD_CLK_ENABLE(); HAL_RCC_GPIOA_CLK_ENABLE(); HAL_RCC_GPIOB_CLK_ENABLE(); 54 /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, RS_Pin|EN_Pin|D4_Pin|D5_Pin |D6_Pin|D7_Pin, GPIO_PIN_RESET); /*Configure GPIO pins : RS_Pin EN_Pin D4_Pin D5_Pin D6_Pin D7_Pin */ GPIO_InitStruct.Pin = RS_Pin|EN_Pin|D4_Pin|D5_Pin |D6_Pin|D7_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } void Error_Handler(void){} Chương trình thư viện cho hình LCD 16x2 #include "main.h" #include "stm32f1xx_hal.h" #define RS_Pin GPIO_PIN_0 #define RS_GPIO_Port GPIOA #define EN_Pin GPIO_PIN_1 #define EN_GPIO_Port GPIOA #define D4_Pin GPIO_PIN_2 #define D4_GPIO_Port GPIOA #define D5_Pin GPIO_PIN_3 55 #define D5_GPIO_Port GPIOA #define D6_Pin GPIO_PIN_4 #define D6_GPIO_Port GPIOA #define D7_Pin GPIO_PIN_5 #define D7_GPIO_Port GPIOA //RS:A0 //EN:A1 //D4:A2 //D5:A3 //D6:A4 //D7:A5 #define RS_Port GPIOA #define EN_Port GPIOA #define D4_Port GPIOA #define D5_Port GPIOA #define D6_Port GPIOA #define D7_Port GPIOA #define GPIO_PIN_SET #define GPIO_PIN_RESET void LCD_Enable() 56 { HAL_GPIO_WritePin(GPIOA,EN_Pin,1); HAL_Delay(1); HAL_GPIO_WritePin(GPIOA,EN_Pin,0); HAL_Delay(1); } void LCD_Send4Bit(unsigned char Data) { HAL_GPIO_WritePin(GPIOA,D4_Pin,Data&0x01); HAL_GPIO_WritePin(GPIOA,D5_Pin,(Data>>1)&0x01); HAL_GPIO_WritePin(GPIOA,D6_Pin,(Data>>2)&0x01); HAL_GPIO_WritePin(GPIOA,D7_Pin,(Data>>3)&0x01); } void LCD_SendCommand(unsigned char command) { LCD_Send4Bit(command >>4);/* Gui bit cao */ LCD_Enable(); LCD_Send4Bit(command); /* Gui bit thap*/ LCD_Enable(); } /* USER CODE END */ void LCD_Clear() { 57 LCD_SendCommand(0x01); HAL_Delay(1); } void LCD_Init() { LCD_Send4Bit(0x00); HAL_GPIO_WritePin(GPIOA,RS_Pin,0); LCD_Send4Bit(0x03); LCD_Enable(); LCD_Enable(); LCD_Enable(); LCD_Send4Bit(0x02); LCD_Enable(); LCD_SendCommand(0x28); // giao thuc bit, hien thi hang, ki tu 5x8 LCD_SendCommand(0x0C); // cho phep hien thi man hinh LCD_SendCommand(0x06); // tang ID, khong dich khung hinh LCD_SendCommand(0x01); // xoa toan bo khung hinh } void LCD_Gotoxy(unsigned char x, unsigned char y) { unsigned char address; if(!y)address=(0x80+x); else address=(0xC0+x); 58 LCD_SendCommand(address); } void LCD_PutChar(unsigned char Data) { HAL_GPIO_WritePin(GPIOA,RS_Pin,1); LCD_SendCommand(Data); HAL_GPIO_WritePin(GPIOA,RS_Pin,0); } void LCD_Puts(char *s) { while (*s){ LCD_PutChar(*s); s++; } } 59 ...LỜI CẢM ƠN Để hồn thành đồ án mình, em xin chân thành cảm ơn TS Phạm Đình Khang tận tình hướng dẫn ln ln động viên em suốt trình làm đồ án tốt nghiệp Xin trân trọng cảm ơn Viện... PIN photodiode, tiền khuếch đại Đánh giá phổ lượng Gamma thu được, hiệu suất ghi khảo sát biến đổi thông số theo nhiệt độ Nội dung đồ án tốt nghiệp gồm ba nhiệm vụ chính: Tìm hiểu tinh thể nhấp... Chất nhấp nháy: có nhiệm vụ chuyển đổi lượng hạt xạ tới thành đốm sáng Thiết bị ghi nhận đốm sáng: có nhiệm vụ biến đổi lượng ánh sáng thành tín hiệu điện Nguyên tắc hoạt động đầu dò nhấp nháy sau:

Ngày đăng: 20/03/2018, 11:49

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan