Tình hình là em mới tìm hiểu sơ qua về họ 8051, và đang tập tẹ làm cái mạch đếm ngược từ 9999 về 0 nhưng còn vướng mắc nhiều thứ nên mong các bác giúp dỡ.
Linh kiện gồm 98c51, tụ , trở, tran ...
Mạch của em đây:
Code viết trên Keil C:
Các bác xem em bị lỗi gì mà không chạy được.
Mạch chạy trên Proteus và code trên Keil C của em đây.
machdemnguoc.rar
Mong các bác giúp đỡ :-s
Linh kiện gồm 98c51, tụ , trở, tran ...
Mạch của em đây:
Code viết trên Keil C:
Code:
#include <regx51.h> #define led0 P1_0 #define led1 P1_1 #define led2 P1_2 #define led3 P1_3 unsigned char so[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; int i; void delay(unsigned int ms) // Tao ham tre { unsigned int k,j; for (k=0;k<ms;k++) for (j=0;j<120;j++) {} } void hienthi() { P0=0xff; P1=0xff; P0=so[((i%1000)%100)%10]; //hien so hang don vi led0=0; delay(1); led0=1; P0=so[((i%1000)%100)/10]; //hien so hang chuc led1=0; delay(1); led1=1; P0=so[(i%1000)/100]; //hien so hang tram led2=0; delay(1); led2=1; P0=so[(i/1000)]; //hien so hang nghin led3=0; delay(1); led3=1; } void main () { while (1) { for(i=9999;i>=0;i--) { hienthi(); delay(1000); } } }
Mạch chạy trên Proteus và code trên Keil C của em đây.
machdemnguoc.rar
Mong các bác giúp đỡ :-s
Comment