Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
44
Dung lượng
1,27 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC - KỸ THUẬT MÁY TÍNH MƠN HỌC: VI XỬ LÝ - VI ĐIỀU KHIỂN BÁO CÁO THÍ NGHIỆM TỔNG HỢP Mã mơn học: GVHD: SV thực hiện: MSSV: Lớp: TP HỒ CHÍ MINH, THÁNG 10/2021 CO3010 Huỳnh Phúc Nghị Nguyễn Thành Đạt 1913060 L04 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Mục lục Chapter 1: LED Animations 1.1 Bài tập 1: Chuyển đổi led led 1.2 Bài tập 2: Đèn giao thông 1.3 Bài tập 3: Ngã tư đèn giao thông 1.4 Bài tập 4: Led đoạn 1.5 Bài tập 5: Tổng hợp trước 1.6 Bài tập 6, 7, 8, 9: Ma trận led 1.7 Bài tập 10: Ma trận led đồng hồ Chapter 2: Timer 2.1 Bài tập 1: Làm quen với timer 2.2 Bài tập 2: Làm quen với timer (tt) 2.3 Bài tập 3: Hàm update7SEG Callback 2.4 Bài tập 4: Thay đổi tần số Callback 2.5 Bài tập 5: Hàm updateClockBuffer 2.6 Bài tập 6: Internal Timer trả lời câu hỏi 2.7 Bài tập + 8: Đồng hồ với timer 2.8 Bài tập 9: Timer ma trận led: chữ A 2.9 Bài tập 10: Timer chữ A di chuyển Chapter 3: Button and Switches 3.1 Thông số kĩ thuật 3.2 Bài tập 1: Thiết kế máy trạng thái 3.3 Bài tập 2: Protues 3.4 Bài tập 3: Tạo project thiết lập External Timer 3.5 Bài tập 4: Internal timer 3.6 Bài tập 5: Chống rung 3.7 Bài tập 6: Chế độ led hiển thị 3.8 Bài tập + + 9: Các mode 2, 3, 3.9 Bài tập 10: Mode hoàn thành dự án 2 10 14 16 16 17 19 20 20 20 21 22 25 29 29 30 30 30 32 32 34 35 36 Chapter 4: A cooperative scheduler 4.1 Giải vấn đề: 4.1.1 void SCH_Update(void) 4.1.2 void SCH_Dispatch_Tasks(void) 4.1.3 uint32_t SCH_Add_Task(void(*pFunction)(), uint32_t DELAY, uint32_t PERIOD) 4.1.4 uint8_t SCH_Delete_Task(uint32_t taskID)) 4.2 Các hàm hỗ trợ: 4.2.1 void SCH_Init(void) 4.2.2 void HAL_TIM_PeriodElapsedCallback ( TIM_HandleTypeDef *htim ) 4.3 Các task: 4.4 Demonstration Báo cáo thí nghiệm - Học kì 211 38 38 38 39 40 40 40 40 41 41 42 Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Link overleaf report Link file hex 1.1 Chapter 1: LED Animations Bài tập 1: Chuyển đổi led led Câu 1: Ảnh mơ Proteus Hình 1: Schematic Câu 2: Biểu diễn code máy trạng thái Hình 2: Máy trạng thái Báo cáo thí nghiệm - Học kì 211 Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Code hàm while(1): while (1) { HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_5) ; HAL_Delay ( 0 ) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_6) ; } 1.2 Bài tập 2: Đèn giao thông Câu 1: Ảnh mô Proteus Hình 3: Schematic Báo cáo thí nghiệm - Học kì 211 Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Câu 2: Biểu diễn code máy trạng thái Hình 4: Máy trạng thái Code hàm while(1): 10 11 12 13 14 while (1) { HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, HAL_GPIO_WritePin (GPIOA, GPIO_PIN_6, HAL_GPIO_WritePin (GPIOA, GPIO_PIN_7, HAL_Delay ( 0 ) ; HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, HAL_GPIO_WritePin (GPIOA, GPIO_PIN_6, HAL_GPIO_WritePin (GPIOA, GPIO_PIN_7, HAL_Delay ( 0 ) ; HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, HAL_GPIO_WritePin (GPIOA, GPIO_PIN_6, HAL_GPIO_WritePin (GPIOA, GPIO_PIN_7, HAL_Delay ( 0 ) ; } Báo cáo thí nghiệm - Học kì 211 0) ; 1) ; 1) ; 1) ; 0) ; 1) ; 1) ; 1) ; 0) ; Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính 1.3 Bài tập 3: Ngã tư đèn giao thông Câu 1: Ảnh mơ Proteus Hình 5: Schematic Câu 2: Biểu diễn code máy trạng thái Hình 6: Máy trạng thái Báo cáo thí nghiệm - Học kì 211 Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Code hàm while(1): while (1) { HAL_GPIO_WritePin (GPIOA, GPIO_PIN_1, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_2, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_3, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_6, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_7, ) HAL_Delay ( 0 ) ; ; ; ; ; ; ; // // // // // // RED YELLOW GREEN RED YELLOW GREEN HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_3) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_2) ; HAL_Delay ( 0 ) ; 10 11 12 13 HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_2) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_1) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_5) ; HAL_GPIO_WritePin (GPIOA, GPIO_PIN_7, ) ; 14 15 16 17 18 HAL_Delay ( 0 ) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_7) ; HAL_GPIO_WritePin (GPIOA, GPIO_PIN_6, ) ; HAL_Delay ( 0 ) ; 19 20 21 22 23 } 1.4 Bài tập 4: Led đoạn Câu 1: Ảnh mơ Proteus Hình 7: Schematic Báo cáo thí nghiệm - Học kì 211 Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Câu 2: Biểu diễn code máy trạng thái Hình 8: Máy trạng thái Hàm hiển thị led đoạn 10 11 12 13 14 15 16 17 18 19 20 21 i n t NUM[ ] [ ] { { , , , , , , } , // { , , , , , , } , // { , , , , , , } , // { , , , , , , } , // { , , , , , , } , // { , , , , , , } , // { , , , , , , } , // { , , , , , , } , // { , , , , , , } , // { , , , , , , } // }; v o i d display7SEG ( i n t num) { HAL_GPIO_WritePin (GPIOB, GPIO_PIN_0, HAL_GPIO_WritePin (GPIOB, GPIO_PIN_1, HAL_GPIO_WritePin (GPIOB, GPIO_PIN_2, HAL_GPIO_WritePin (GPIOB, GPIO_PIN_3, GPIO_PIN_4, NUM[ num ] [ ] ) ; HAL_GPIO_WritePin (GPIOB, GPIO_PIN_5, HAL_GPIO_WritePin (GPIOB, GPIO_PIN_6, } Báo cáo thí nghiệm - Học kì 211 NUM[ num ] [ ] ) NUM[ num ] [ ] ) NUM[ num ] [ ] ) NUM[ num ] [ ] ) ; ; ; ; HAL_GPIO_WritePin (GPIOB, NUM[ num ] [ ] ) ; NUM[ num ] [ ] ) ; Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Trong hàm while while (1) { i f ( c o u n t e r >= ) c o u n t e r = ; display7SEG ( c o u n t e r++) ; HAL_Delay ( 0 ) ; } 1.5 Bài tập 5: Tổng hợp trước Câu 1: Ảnh mơ Proteus Hình 9: Schematic Câu 2: Source code Hàm hỗ trợ v o i d d i s p l a y ( i n t time1 , i n t time2 ) { display7SEG_1 ( time1 ) ; display7SEG_2 ( time2 ) ; } Hàm while while (1) { HAL_GPIO_WritePin (GPIOA, GPIO_PIN_1, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_2, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_3, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_6, ) HAL_GPIO_WritePin (GPIOA, GPIO_PIN_7, ) ; ; ; ; ; ; // // // // // // RED YELLOW GREEN RED YELLOW GREEN 10 11 display (3 ,5) ; HAL_Delay ( 0 ) ; Báo cáo thí nghiệm - Học kì 211 Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính 12 display (2 ,4) ; HAL_Delay ( 0 ) ; 13 14 15 display (1 ,3) ; HAL_Delay ( 0 ) ; 16 17 18 HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_3) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_2) ; 19 20 21 display (2 ,2) ; HAL_Delay ( 0 ) ; 22 23 24 display (1 ,1) ; HAL_Delay ( 0 ) ; 25 26 27 HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_2) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_1) ; HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_5) ; HAL_GPIO_WritePin (GPIOA, GPIO_PIN_7, ) ; 28 29 30 31 32 display (5 ,3) ; HAL_Delay ( 0 ) ; 33 34 35 display (4 ,2) ; HAL_Delay ( 0 ) ; 36 37 38 display (3 ,1) ; HAL_Delay ( 0 ) ; 39 40 41 HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_7) ; HAL_GPIO_WritePin (GPIOA, GPIO_PIN_6, ) ; 42 43 44 display (2 ,2) ; HAL_Delay ( 0 ) ; 45 46 47 display (1 ,1) ; HAL_Delay ( 0 ) ; 48 49 50 } Báo cáo thí nghiệm - Học kì 211 Trang Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Chapter 3: Button and Switches Bài tập báo cáo Đây Video demo lab 3.1 Thông số kĩ thuật Bạn yêu cầu xây dựng ứng dụng đèn giao thông ngã tư, bao gồm số tính mơ tả bên dưới: • Ứng dụng có 12 đèn LED bao gồm đèn LED đỏ, đèn LED màu vàng, đèn LED xanh • Ứng dụng có đèn LED bảy đoạn để hiển thị thời gian với đèn cho đường Có LED bảy đoạn hiển thị thời gian cho LED màu tương ứng với đường • Ứng dụng có ba nút sử dụng – để chọn chế độ – để sửa đổi thời gian cho đèn led màu cách nhanh chóng – để đặt giá trị chọn • Ứng dụng có chế độ điều khiển nút Chế độ chế độ bình thường, chế độ chế độ sửa đổi Bạn nhấn nút để thay đổi chế độ Các chế độ thay đổi từ thành trở lại lần Chế độ - Chế độ bình thường: - Ứng dụng đèn giao thơng chạy bình thường Chế độ - Sửa đổi khoảng thời gian cho đèn LED đỏ: Chế độ cho phép bạn thay đổi khoảng thời gian đèn LED màu đỏ đường Các hành vi mong đợi điều chế độ bao gồm: • Tất đèn LED đơn màu đỏ nhấp nháy tần số Hz • Sử dụng hai đèn LED bảy đoạn để hiển thị giá trị • Sử dụng hai đèn LED bảy đoạn lại để hiển thị chế độ • Nút thứ hai sử dụng để tăng giá trị thời lượng cho đèn LED màu đỏ • Giá trị khoảng thời gian nằm khoảng - 99 • Nút thứ ba dùng để đặt giá trị Chế độ - Sửa đổi khoảng thời gian đèn LED màu vàng: Tương tự đèn LED màu đỏ mô tả với đèn LED màu hổ phách Chế độ - Sửa đổi khoảng thời gian cho đèn LED màu xanh: Tương tự cho đèn LED màu đỏ mô tả với đèn LED màu xanh Báo cáo thí nghiệm - Học kì 211 Trang 29 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính 3.2 Bài tập 1: Thiết kế máy trạng thái Thiết kế máy trạng thái để miêu tả ý tưởng giải tốn Hình 21: Máy trạng thái 3.3 Bài tập 2: Protues Mơ Proteus tốn Hình 22: Schematic 3.4 Bài tập 3: Tạo project thiết lập External Timer Tạo project thiết kế timer interupt khoảng 10m, Code generate sau cấu hình timer Báo cáo thí nghiệm - Học kì 211 Trang 30 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Hình 23: Cấu hình file ioc s t a t i c v o i d MX_TIM2_Init ( v o i d ) { /∗ USER CODE BEGIN TIM2_Init ∗/ /∗ USER CODE END TIM2_Init ∗/ TIM_ClockConfigTypeDef s C l o c k S o u r c e C o n f i g = { } ; TIM_MasterConfigTypeDef s M a s t e r C o n f i g = { } ; 10 11 /∗ USER CODE BEGIN TIM2_Init ∗/ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /∗ USER CODE END TIM2_Init ∗/ htim2 I n s t a n c e = TIM2 ; htim2 I n i t P r e s c a l e r = 9 ; htim2 I n i t CounterMode = TIM_COUNTERMODE_UP; htim2 I n i t P e r i o d = ; htim2 I n i t C l o c k D i v i s i o n = TIM_CLOCKDIVISION_DIV1 ; htim2 I n i t AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; i f ( HAL_TIM_Base_Init(&htim2 ) != HAL_OK) { Error_Handler ( ) ; } s C l o c k S o u r c e C o n f i g C l o c k S o u r c e = TIM_CLOCKSOURCE_INTERNAL; i f ( HAL_TIM_ConfigClockSource(&htim2 , &s C l o c k S o u r c e C o n f i g ) != HAL_OK) { Error_Handler ( ) ; } s M a s t e r C o n f i g M a s t e r O u t p u t T r i g g e r = TIM_TRGO_RESET; s M a s t e r C o n f i g MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; i f ( HAL_TIMEx_MasterConfigSynchronization(&htim2 , &s M a s t e r C o n f i g ) != HAL_OK) { Error_Handler ( ) ; Báo cáo thí nghiệm - Học kì 211 Trang 31 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính } /∗ USER CODE BEGIN TIM2_Init ∗/ 34 35 36 /∗ USER CODE END TIM2_Init ∗/ 37 38 39 } 3.5 Bài tập 4: Internal timer Cài đặt hẹn để sử dụng timer interupt cấu hình mà khơng ảnh hưởng tới tác vụ dùng chung timer Ý tưởng: Viết hàm setTimer0() dùng để đặt thời gian để điều khiển cờ khi, cờ bật đóng vai trị kích mức (giống timer) để điều khiển tác vụ Và hàm timer_run() gọi bị interupt timer cấu hình Code hàm đề cập: int timer0_flag = 0; i n t timer0_counter = ; 10 11 12 13 14 15 16 17 18 19 void setTimer0 ( i n t duration ) { t i m e r _ c o u n t e r = d u r a t i o n /TIMER_CYCLE; timer0_flag = 0; } v o i d timer_run ( ) { i f ( timer0_counter > 0) { t i m e r _ c o u n t e r −−; i f ( t i m e r _ c o u n t e r == ) t i m e r _ f l a g = ; } } v o i d HAL_TIM_PeriodElapsedCallback ( TIM_HandleTypeDef ∗ htim ) { i f ( htim −> I n s t a n c e == TIM2 ) { // b u t t o n _ r e a d i n g ( ) ; timer_run ( ) ; } } 3.6 Bài tập 5: Chống rung Code đọc liệu nút nhấn chống rung #i n c l u d e " main h" #d e f i n e NO_OF_BUTTONS #d e f i n e DURATION_FOR_AUTO_INCREASING 100 #d e f i n e BUTTON_IS_PRESSED GPIO_PIN_RESET #d e f i n e BUTTON_IS_RELEASED GPIO_PIN_SET 10 11 s t a t i c GPIO_PinState b u t t o n B u f f e r [NO_OF_BUTTONS] ; s t a t i c GPIO_PinState d e b o u n c e B u t t o n B u f f e r [NO_OF_BUTTONS ] ; 12 13 Báo cáo thí nghiệm - Học kì 211 Trang 32 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính 14 s t a t i c GPIO_PinState d e b o u n c e B u t t o n B u f f e r [NO_OF_BUTTONS ] ; 15 16 s t a t i c uint8_t f l a g F o r B u t t o n P r e s s s [NO_OF_BUTTONS] ; 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 s t a t i c u i n t _ t c o u n t e r F o r B u t t o n P r e s s s [NO_OF_BUTTONS ] ; void button_reading ( void ) { f o r ( c h a r i = ; i < NO_OF_BUTTONS; i ++){ debounceButtonBuffer2 [ i ] = debounceButtonBuffer1 [ i ] ; d e b o u n c e B u t t o n B u f f e r [ i ] = HAL_GPIO_ReadPin(GPIOA, ( = NO_OF_BUTTONS) r e t u r n ; r e t u r n ( b u t t o n B u f f e r [ i n d e x ] == BUTTON_IS_PRESSED) ; } 45 46 47 48 49 unsigned char is_button_pressed_1s ( unsigned char index ) { i f ( i n d e x >= NO_OF_BUTTONS) r e t u r n x f f ; r e t u r n ( f l a g F o r B u t t o n P r e s s s [ i n d e x ] == ) ; } Code thay đổi Chế độ lần nhấn nút thứ enum B u t t o n S t a t e {BUTTON_RELEASED, BUTTON_PRESSED, BUTTON_PRESSED_MORE_THAN_1_SECOND} ; enum B u t t o n S t a t e b u t t o n S t a t e = BUTTON_RELEASED; 10 11 12 13 14 15 16 void fsm_for_input_processing ( void ) { switch ( buttonState ) { c a s e BUTTON_RELEASED: i f ( is_button_pressed (0) ) { b u t t o n S t a t e = BUTTON_PRESSED; mode = ( mode+1)%4; // i f ( mode != ) s e t L e d b u f f e r ( l e d _ l i g h t _ t i m e [ mode − ] , mode ) ; } break ; c a s e BUTTON_PRESSED: i f ( ! is_button_pressed (0) ) { b u t t o n S t a t e = BUTTON_RELEASED; } Báo cáo thí nghiệm - Học kì 211 Trang 33 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính else { i f ( is_button_pressed_1s ( ) ) { b u t t o n S t a t e = BUTTON_PRESSED_MORE_THAN_1_SECOND; } } break ; c a s e BUTTON_PRESSED_MORE_THAN_1_SECOND: i f ( ! is_button_pressed (0) ) { b u t t o n S t a t e = BUTTON_RELEASED; } // TODO break ; 17 18 19 20 21 22 23 24 25 26 27 28 } 29 30 } 3.7 Bài tập 6: Chế độ led hiển thị Code để thị chế độ led đoạn để nhấp nháy đèn theo mode 10 11 12 i f ( t i m e r _ f l a g == ) { // t h i s i f f u n c t i o n w i l l a l w a y s c a l l f o r d i s p l a y s e g i n d e x = i n d e x %4; update7SEG_1 ( i n d e x ) ; i n d e x ++; setTimer1 ( ) ; } i f ( t i m e r _ f l a g == ) { HAL_GPIO_TogglePin (GPIOA, 1 0), biến cập nhập timer 10ms Các task có cấu trúc giống nhau, khác giá trị in Terminal để biết Task thực thi thời gian bắt đầu thực thi tính hàm HAL_GetTick() việc chia cho 10 nhân 10 để loại bỏ giá trị hàng milisecond để dễ theo dõi kết Đây ví dụ cho void taskA() 10 11 v o i d taskA ( ) { u i n t _ t t x B u f f e r [ ] = { "A " }; HAL_UART_Transmit(& huart1 , t x B u f f e r , s t r l e n ( t x B u f f e r ) , 0 ) ; i n t time = HAL_GetTick ( ) /10∗10 −20; char b u f f e r [ ] ; HAL_UART_Transmit(& huart1 , ( u i n t _ t ∗ ) b u f f e r , s p r i n t f ( b u f f e r , "%d" , time ) , 0 ) ; HAL_UART_Transmit(& huart1 , ( u i n t _ t ∗ ) " \ r " , , 0 ) ; time_duration = ; while ( time_duration > 0) { } } Báo cáo thí nghiệm - Học kì 211 Trang 41 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính 4.4 Demonstration Mơ protues Hình 26: Schematic Giả sử ta có task với thời gian thực thi 50ms, chu thi 0.5s, 1s, 1.5s, 2s, 2.5s Các task thêm vào hàm SCH_Add_Task trước vịng while(1) Thì Task.Delay 0, 50, 100, 150, 200 để chắn thứ tự thực thi chúng không bị đảo lộn SCH_Add_Task( taskA , SCH_Add_Task( taskB , SCH_Add_Task( taskC , SCH_Add_Task( taskD , SCH_Add_Task( taskE , , 500) ; 50 , 1000) ; 100 , 1500) ; 150 , 2000) ; 200 , 2500) ; Với giả thuyết trên, theo lý thuyết ta có thời gian biểu thực thi Task sau: • Task A: 0, 500, 1000, 1500, • Task B: 50, 1050, 2050, 3050, • Task C: 100, 1600, 3100, 4600, • Task D: 150, 2150, 4150, 6150, • Task E: 200, 2700, 5200, 7700, Để Báo cáo thí nghiệm - Học kì 211 Trang 42 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Hình 27: Mơ Protues Terminal Output Báo cáo thí nghiệm - Học kì 211 Trang 43 ... (250) ; Báo cáo thí nghiệm - Học kì 211 Trang 27 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính } } 133 134 135 } Báo cáo thí nghiệm - Học kì 211 Trang 28 Trường Đại Học. .. 7700, Để Báo cáo thí nghiệm - Học kì 211 Trang 42 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật Máy Tính Hình 27: Mơ Protues Terminal Output Báo cáo thí nghiệm - Học kì 211... ; } Câu 5: Tổng hợp dùng nút để điều khiển tắt sáng 12 Led đồng hồ Hình 11: Máy trạng thái Báo cáo thí nghiệm - Học kì 211 Trang 13 Trường Đại Học Bách Khoa Tp.Hồ Chí Minh Khoa Khoa Học Kỹ Thuật