熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2017-12-5 10:01
正文摘要:做的計(jì)時(shí)器,按圖鏈接后,led不亮! 1.我檢查了一下,感覺是74ls245驅(qū)動(dòng)的原因,但是我不知道怎么解決!也有可能是其他原因,待查! 2.請(qǐng)大神提供排查問題的方法! 3.74ls245有些什么特性?我百度了,沒看懂,希 ... |
把p2等于0,改成p2等于0x00,試下吧。 |
數(shù)碼管是共陽(yáng)的,現(xiàn)在我估計(jì)是給數(shù)碼管的高低電平錯(cuò)了,該怎么改? #include<reg51.h> sbit kh=P1^0; sbit km=P1^1; sbit ks=P1^2; sbit st=P1^3; sbit b=P3^7; unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88, 0x83,0xc6,0xa1,0x86,0x8e}; unsigned char i=0,hour=0,minute=0,second=0; void delayms(unsigned int x) { unsigned char a=160; while(x--) { while(a--); a=160; } } main() { TH0=(65536-50000)/256; TL0=(65536-50000)%256; TMOD=1; TR0=1; ET0=1; EA=1; while(1) { P0=table[hour/10]; P2=0x20; delayms(1); P2=0; P0=table[hour%10]; P2=0x10; delayms(1); P2=0; P0=table[minute/10]; P2=0x08; delayms(1); P2=0; P0=table[minute%10]; P2=0x04; delayms(1); P2=0; P0=table[second/10]; P2=0x02; delayms(1); P2=0; P0=table[second%10]; P2=0x01; delayms(1); P2=0; if(!kh) { delayms(200); hour++; if(hour>23) hour=23; } else if(!km) { delayms(200); minute++; if(minute>59) minute=59; } else if(!ks) { delayms(200); second++; if(second>59) second=59; } if(!st) { delayms(200); TR0=1; } if(TR0==1&&hour==0&&minute==0&&second<3) b=!b; delayms(1); } } void t0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; i++; if(i>=20) { i=0; second--; if(second>59) { second=59; minute--; if(minute>59) { minute=59; hour--; if(hour>23) { hour=0; minute=0; second=0; TR0=0; } } } } } |
Powered by 單片機(jī)教程網(wǎng)