YÊU CẦU BÀI TOÁN :
- Em Hãy Viết Chương trình 8 led Sáng dần rồi tắt dần với chu kì 1 s.
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.
Các bạn Làm y chan như 3.2 Điều khiển 8 led Chớp tắt
Các bạn nhớ dùng P2 nhé !
DOWNLOAD PROTUES Tại Đây:
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; 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 { // sang dan a=0x01; // X =0b0000 0001 ; for(i=0;i<8;i++) { P2=a; delay_ms(200); a=(a<<1)+ 0x01; // dich lui 1 bit sau do moi cong them oxo1 dich: 0b0000 0010 + 0b0000 0001 = 0b0000 0011 ... } // tat dan b=0x7F; // 0b0111 1111; 7 led sang for( i=0;i<8;i++) { P2=b; delay_ms(200); b=b>>1; // sau vong for dau tien no con: 0b0111 1111, sau vong for thu 2 0b0011 1111, .... } } } |
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Ế ( MÌNH CHỈNH 50 ms cho nhanh nhé ).