Đề thi Vi điều khiển 9/1/2011 (Bộ môn CDT - CTD

)

PHẦN LÝ THUYẾT 1. Cho chương trình sau Void main() { printf (“Hello world”); While (1); } Để sử dụng được hàm printf ta cần : 2. Tầm giá trị của các kiểu biến : Long int : Float 3. Nêu khái niệm Biến toàn cục Biến địa phương 4. Với cách khai báo enum {a=1, b, c, d=5, e, f}; Thì giá trị của b =, c=, e=, f= 5. Viết chương trình điều khiển 2 leds xanh và đỏ sáng tuần tự như sau : Xanh sáng 1s, đỏ sáng 1s, xanh và đỏ cùng sáng 1s 6. Khai báo thanh ghi vào/ ra để kết quả sau PORTB.0 = output, 1= in, 2 = in, 3 = out, 4 = out, 5 = in, 6 = in, 7 =in PORTC.0 = in, 1 = in, 2 = out, 3 = out, 4 = in, 5 = in, 6 = in, 7 = out 7. Cho y = 0xCC; chỉ ra giá trị của x ứng với các phép toán X=~y= X=y<<3= X=y>>3= X=y&0x3F= X=y^0x0F= X=y|0x10= 8. Giải thích ý nghĩa của các lệnh sau C=*p++ C=*++p 9. Giải thích ý nghĩa của các lệnh sau C=++*p C=(*p)++ 10. Viết chương trình con hoán đổi 2 số a và b cho nhau, sự dụng con trỏ để truyền giá trí 11. Viết khai báo 1 mảng 1 chiều gồm 10 phần tử kiểu char chứa các số từ 0 đến 9 12. Một biến với cách khai báo static int value; sẽ khác như thế nào so với int value 13. Trình bày lý do tại sao ta phải ép kiểu 1 biến khi thực hiện phép tính, cho một ví dụ về ép kiểu 14. Cho I = 3 và k = 2 + 2*i++; thì kết quả của I = và k = Cho I = 2 và k = 3 + 2*++I; thì kết quả của I = và k = 15. Khai báo khởi tạo ngắt ngoài 1, ngắt mức thấp và ngắt ngoài 2, ngắt cạnh xuống; cho phép ngắt toàn cục trên AVR 16. Khai báo khởi tạo watch dog timer với khoảng thời gian 2100ms, và để reset wdt về 0 ta dùng lệnh gì trên AVR 17. Khai báo khởi tạo timer0 hoạt động chế độ định thời với hệ số chia là 8 trên AVR 18. Để khởi tạo ngắt Timer0 định thời khoảng thời gian 0.5s với Xtal 6Mhz thì ta cần khởi tạo gì trên AVR 19. Khởi tạo Timer1 như sau : cho phép ngõ vào capture, hệ số chia là 8, ngắt capture và ngắt tràn Timer1 trên AVR 20. Khởi tạo 2 ngõ ra xung PWM trên ÓCA và ÓCB với chế độ non0inv, độ phân giải 8 bit trên AVR PHẦN BÀI TẬP 1. Viết chương trình điều khiển 8 leds thực hiện chương trình sau : sáng dần, tắt dần từ trái sang phải và từ phải sang trái có lặp lại. Yêu cầu có sử dụng lệch dịch bit để viết chương trình 2. Cho phần cứng gồm 3 switch kết nối với PORTA.0, PORTA.1 và PORTA.2 khi switch đóng thì giá trị mức logic là 0. Viết chương trình tạo xung trên chân OC1A/PD5 của Atmega 16 (Xtal 8 Mhz) theo giá trị các switch như sau : giá trị 0 thì ngõ ra là 20% duty cycle, giá trị 1 thì ngõ ra là 30% duty cycle, giá trị 2 thì ngõ ra là 40% duty cycle, giá trị 3 thì ngõ ra là 50% dutycycle

vi điều khiển sử dụng là Atmega16.3. Viết chương trình tạo trên chân I/O xung vuông có tần số 15Khz. . Xtal 6Mhz.

3  1.003  ..3  1.9 .  .9 5.9 50 5"#0 . 5 9.4. .9 50 5"5 50 .0 5.4..9 5.003  .003   .05 :.9 ..9 0 0:. . 65.0 5. 5:    2 5: 1 5 3 .3  . 3  1.6 .003  . 5 9. 5 9. .3  1. 5 9. 6.9 .9 4 03603   .9 .3   .

Sign up to vote on this title
UsefulNot useful