Bộ môn Thực tập vi xử lý Trường đại học Sư Phạm Kỹ Thuật thành phố Hồ Chí Minh Một số bài tập vi xử lý có lời giải Phần 3 (Lưu ý Code được trình bày từ trên xuống dưới và từ trái qua phải) Bài 1: Viết chương trình theo yêu cầu sau : − Nhấn RB0 hiển thị giá trị điện áp ở chân AN3 lên LCD, đồng thời gởi lên Terminal. − Nhấn RB1 hiển thị giá trị điện áp ở chân AN4 lên LCD, đồng thời gởi lên Terminal. − Nhấn RB2 hiển thị giá trị điện áp ở chân AN5 lên LCD, đồng thời gởi lên Terminal. Yêu cầu: Đọc trạng thái nút nhấn sử dụng ngõ vào I/O Port, lcd kết nối với PORTD (từ RD1 tới RD7), UART tốc độ baud 9600. Bài 2: Viết chương trình theo yêu cầu sau: − Nhấn giữ RB0 gởi lên máy tính giá trị tăng dần từ 00 đến 99, bắt đầu từ 00, mỗi lần tăng 1 đơn vị, thời gian mỗi lần tăng là 0.5(s) . − Nhấn giữ RB1 gởi lên máy tính giá trị giảm dần từ 99 về 00, bắt đầu từ 99, mỗi lần giảm 1 đơn vị, thời gian mỗi lần giảm là 0.5(s). Yêu cầu: Sử dụng UART 9600 để gởi lên máy tính, sử dụng hàm delay để định thời khoảng thời gian 0.5(s). Bài 3: Viết chương trình theo yêu cầu sau: − Gởi từ máy tính xuống vi điều khiển kí tự “A” thì tạo xung PWM 50% ở chân CCP1, chân CCP2 sẽ ở mức thấp (0V), đồng thời led RE1 sáng, RE2 tắt . − Gởi từ máy tính xuống vi điều khiển kí tự “B” thì tạo xung PWM 70% ở chân CCP2, chân CCP1 sẽ ở mức thấp (0V), RE1 tắt, RE2 sáng . Yêu cầu: UART baud rate 9600, PWM 8 bit có tần số 15Khz. Bài 4: Viết chương trình theo yêu cầu sau: − Nhấn nút RB0 thì gởi chuỗi “RB0 button” lên máy tính. − Nhấn nút RB1 thì gởi chuỗi “RB1 button”lên máy tính. − Nhấn nút RB2 thì gởi chuỗi “RB2 button” lên máy tính. − Nhấn nút RB3 thì gởi chuỗi “RB3 button” lên máy tính. − Nhấn nút RB4 thì gởi chuỗi “RB4 button” lên máy tính. − Nhấn nút RB5 thì gởi chuỗi “RB5 button” lên máy tính. − Nhấn nút RB6 thì gởi chuỗi “RB6 button” lên máy tính. − Nhấn nút RB7 thì gởi chuỗi “RB7 button” lên máy tính. Yêu cầu : UART baud rate 9600. Bài 5: Viết chương trình theo yêu cầu sau: − Điếm số lần nhấn nút ở chân T0CKI, và hiển thị lên terminal của máy tính , khi số lần nhấn bằng 50 thì gởi chuỗi “Full ” lên máy tính, đồng thời chớp tắt led ở cả PORTD với chu kỳ T=2s. Yêu cầu: UART baud rate 9600, sử dụng chức năng counter của timer 0 để đếm sản phẩm, sử dụng hàm delay để định thời chu kỳ T=2s. Bài 6: Điếm số lần nhấn nút ở chân T1CKI, và hiển thị lên terminal của máy tính, khi số lần nhấn bằng 10 thì đọc giá trị ADC ở chân AN3 hiển thị kết quả điện áp đọc được lên terminal. Yêu cầu: UART baud rate 9600 , sử dụng chức năng counter của timer 1 để đếm nút nhấn, sử dụng hàm delay để định thời chu kỷ T=2s, ADC 10 bit , điện áp tham chiếu trong. Bài 7: Viết chương trình thực hiện theo yêu cầu sau: − Gởi từ máy tính xuống VĐK kí tự “A”, đọc ADC ở chân AN2, hiển thị điện áp lên LCD . − Gởi từ máy tính xuống VĐK kí tự “B”, đọc ADC ở chân AN3, hiển thị điện áp lên LCD . − Gởi từ máy tính xuống VĐK kí tự “C”, đọc ADC ở chân AN4, hiển thị điện áp lên LCD . Yêu cầu : UART baud rate 9600 , ADC 10-bit. Bài 8: Viết chương trình thực hiện theo yêu cầu sau: − Viết chương trình đếm số lần nhấn nút ở chân RB0 hiển thị lên lcd , số lần nhấn nút ở chân RB1 hiển thị lên máy tính . Yêu cầu : UART baud rate 9600.