delay(20000); chuO(); delay(20000); chuP(); delay(20000); chuR(); delay(20000); chuS(); delay(20000); chuU(); delay(20000); chuY(); delay(20000); } }
Cách 2: Các bạn viết 1 chương trình đơn giản rồi dùng công cụ Debug để xem số hex rồi viết vào rất ngắn gọn. Ví dụ: Hàm hiển thị số 1: void so1(void) { tat(); P2=0xF5; }
Các bạn debug cho hiển thị cổng P2 lên. Để dấu tích ở các đèn tắt(1) , bỏ dấu tích ở các
đèn cần bật(0). Rồi đọc giá trị hex như tôi hướng dẫn ở bài trước.
4.4.Nạp chíp:
Đã hướng dẫn. Nếu các bạn gặp phải vấn đề của mạch nạp. Thường là: + Treo chip Master: Rút nguồn mạch nạp ra, đợi chút rồi cắm lại.
+ Không nhận cổng COM. Các bạn nhấp chuột phải vào Mycomputer, chọn
Properties Device manage. Nhấn vào Scan for hardware change để máy tính nhận lại cổng COM. Rồi khởi động lại máy.
+ Lý do khác các bạn thử kiểm tra phần cứng mạch nạp. + Vẫn không được tôi chịu.
Từ bài sau sẽ không có phần này.
4.5.Kết quả:
Nhìn vào hàm main các bạn thấy chương trình sẽ hiển thị số 1 ở led 7 thanh, trễ 1 khoảng thời gian, rồi nhảy sang số 2 đến sô 9 , rồi đến chữ. Nếu các bạn không có hàm trễ thì led sẽ hiển thị ra sao?
Led sẽ hiện số 8. Vì tất cả 8 led được bật tắt quá nhanh (chỉ cần >24 Hz) do hiện tượng lưu ảnh mắt các bạn sẽ nhìn thấy tất cả các led sáng chứ không hiện số.
DKS_GROUP Microcontroller Training Center
void Hienthiled(unsigned char x) // Co 1 bien dau vao de xac dinh xem la hien thi so nao {
switch(x) {
case 1: { tat(); P2=0xF5; break;} // So 1 case 2: { tat(); P2=0xFF; break;}// So 2 …
case 9: { tat(); P2=0xFF; break;}// So 9 case 10: { tat(); P2=0xFF; break;}// Chu A ….
case 20: { tat(); P2=0xFF; break; }// Chu Y }
}
Các giá trịở trên chỉ là ví dụ các bạn đã rút gọn và tự copy vào. Với hàm hiển thị led các bạn đã viết để hiện các số và các chữ giờ hàm main chỉ cần như sau:
void main (void) { while(1) { for(n=0; n<20; n++) { Hienthiled(n); delay(20000); } } }
DKS_GROUP Microcontroller Training Center Phần 1: Đọc 1 phím.