单片机入门必学的一些课程
在学习本本章之前,你必须对7段数码管有基本了解。
下图中的电路使用了网络标签(线上深棕色的字),标记相同网络标签的导线是连在一起的。这种绘图方式很常用,会让整个图形更简洁。
要让数码管显示数字,必须采用数码管各位轮流闪烁的方式(详见7段数码管)。
#include <Reg52.h > char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //0-9 void disp(int n,int m,int x); void delay(int i) { int x,y,z; for(x=i;x>0;x--) for(y=255;y>0;y--) for(z=255;z>0;z--); } void main() { while(1) { disp(123,456,789); } } void disp(int n,int m,int x) { P2 = 0xFF;//1111 1111 P0 = table[n/1000]; delay(1); P2 = 0xFB;//1111 1011 P0 = table[n/100]; delay(1); P2 = 0xF7;//1111 0111 P0 = table[n/10%10]; delay(1); P2 = 0xF3;//1111 0011 P0 = table[n%10]; delay(1); P2 = 0xFF; P0= table[m/100]; delay(1); P2 = 0xFB; P0 = table[m/10%10]; delay(1); P2 = 0xF7; P0 = table[m%10]; delay(1); P2 = 0xF3; P0 = table[x/100]; delay(1); P2 = 0xFF; P0 = table[x/10%10]; delay(1); P2 = 0xFB; P0 = table[x%10]; delay(1); }============================找指导老师布置任务吧==============================