YÊU CẦU BÀI TOÁN :
- Em Hãy Viết Chương trình 8 Led sáng dần 2 bên vào rồi tắt dần từ bên trong ra?
HƯỚNG DẪN GIẢI QUYẾT VẤN ĐỀ :
PHẦN I : PHẦN CỨNG
BƯỚC 1 : Vẽ Mạch Protues.
BƯỚC 2 : Chuẩn bị phần cứng như sau.
PHẦN II : PHẦN MỀN.
BƯỚC 1: CÁC BẠN TẠO PROJECT KEIL C V.4 TƯƠNG TỰ.
BƯỚC 2: CODE NHƯ SAU.
Code chương trình | |
#include<reg51.h> unsigned char a,b,c; int i; void delay_ms(unsigned int t) // khi ban su dung thach anh 12 mhz { unsigned int x,y; for(x=0;x<t;x++) { for(y=0;y<=120;y++); } } // chuong trinh chính void main() { while(1) //never ending loop { a=0x80; // CO NGHIA LA a =0b1000 0000 b=0x01; // co nghia la b =0b0000 0001 // chay vao for(i=0;i<4;i++) { c=a+b; // 0b1000 0000 + 0b0000 0001 = 0b1000 0001 2 led dau va cuoi sang. P2=c; // c=a+b = 0b1000 0001 delay_ms(200); a=(a>>1)+0x80 ; b=(b<<1)+0x01 ; } // chay ra; a=0xE0; // 0b1110 0000; b=0x07; // 0b0000 0111; c=a+b; // c= 0b1110 0000 + 0b0000 0111 =0b1111100111; for(i=0;i<4;i++) { c=a+b; // 0b0001 0000 + 0b0000 1000 = 0b1000 0001 P2=c; // c=a+b = 0b1000 0001 delay_ms(200); a=a<<1 ; b=b>>1 ; } P2=0X00; // 0b0000 0000 } } |
Các bạn coppy nguyên code rồi Pass vào keil C là chạy ok.
Các Source bạn lấy ở BÀI HỌC 3.2 ĐIỀU KHIỂN 8 LED CHỚP TẮT
KẾT QUẢ MÔ PHỎNG :
KẾT QUẢ THỰC TẾ .