编程P0口接共阳7段数码管主程序循环显示0
答案:2 悬赏:10 手机版
解决时间 2021-02-19 11:55
- 提问者网友:niaiwoma
- 2021-02-18 16:29
编程P0口接共阳7段数码管主程序循环显示0
最佳答案
- 五星知识达人网友:风格不统一
- 2021-02-18 16:43
编程P0口接共阳7段数码管主程序循环显示0
春雨丝丝润万物 红梅点点绣千山 春意盎然 春花含笑意 爆竹增欢声喜气盈门
春雨丝丝润万物 红梅点点绣千山 春意盎然 春花含笑意 爆竹增欢声喜气盈门
全部回答
- 1楼网友:行路难
- 2021-02-18 17:46
是proteus仿真吗?不是的话还要记得硬件p0加上拉电阻(10k欧) #include sbit start=p0^0; sbit stop=p0^1; sbit reset=p0^2; sbit d0=p0^5; sbit d1=p0^6; sbit d2=p0^7; #define uchar unsigned char; #define uint unsigned int ; uchar bai,shi,ge; unsigned int temp,aa=0; unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳数码管不要用共阴的码 void delay(unsigned int x) //延时程序 { while(x--);} void key() { if(reset==0) //复位 { temp=0; tr0=0; } if(stop==0) //停止 { tr0=0; } if(start==0) //开始 { tr0=1; } } void init() //中断程序 { tmod=0x01; th0= (65536-50000)/256; tl0=(65536-50000)%256; ea=1; et0=1; tr0=1; } void t0() interrupt 1 { th0= (65536-50000)/256; tl0=(65536-50000)%256; aa++; if(aa==20) {aa=0;temp++;} } void display() //显示程序 { if(temp>100) {temp=0;} bai=temp/100; shi=temp%100/10; ge=temp%10; d0=1; d1=0;d2=0; p1=tab[bai]; delay(50); p1=0xff; d0=0; d1=1;d2=0; p1=tab[shi]; delay(50); p1=0xff; d0=0; d1=0;d2=1; p1=tab[ge] ; delay(50); p1=0xff; //这是动态显示,显示完一位后记得清屏 } void main(void) { init(); temp=0; while(1) { key(); display();} }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯