亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 單片機電子時鐘 請教大佬哪里出錯了? [打印本頁]

作者: Qfunwell    時間: 2018-11-20 18:35
標(biāo)題: 單片機電子時鐘 請教大佬哪里出錯了?
本人初學(xué)者,課設(shè)要做一個電子時鐘,仿真的時候什么都不顯示,程序和電路圖都在下面。

318dc97f02b67e43.jpg (37.27 KB, 下載次數(shù): 26)

318dc97f02b67e43.jpg

-4a575c0a754341a8.jpg (43.16 KB, 下載次數(shù): 22)

-4a575c0a754341a8.jpg

1ae49a71347bf844.jpg (27.87 KB, 下載次數(shù): 16)

1ae49a71347bf844.jpg

6417c0be567b13b6.png (46.36 KB, 下載次數(shù): 24)

6417c0be567b13b6.png

作者: HC6800-ES-V2.0    時間: 2018-11-21 09:11
讀你的程序好費眼睛的。
直接發(fā)程序出來,還可以在我的電腦上編譯,我的板子上試驗找問題。
作者: wubingbing    時間: 2018-11-21 09:19
這樣不能編輯還是把源碼發(fā)出來比較好
作者: zl2168    時間: 2018-11-21 10:56
本帖最后由 zl2168 于 2018-11-21 22:58 編輯

給你介紹一個參考案例,自己去琢磨吧!
實例94  模擬電子鐘(由80C51定時器產(chǎn)生秒時基)

實例94 模擬電子鐘(由80C51定時器產(chǎn)生秒時基).rar (43.05 KB, 下載次數(shù): 7)
Proteus仿真一下,確認(rèn)有效。
以上摘自張志良編著《80C51單片機仿真設(shè)計實例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1內(nèi)有常用的單片機應(yīng)用100案例,用于仿真實驗操作,電路與程序真實可靠可信可行。書中電路和程序設(shè)計有詳細說明,程序語句條條有注解。

作者: Qfunwell    時間: 2018-11-21 19:07
HC6800-ES-V2.0 發(fā)表于 2018-11-21 09:11
讀你的程序好費眼睛的。
直接發(fā)程序出來,還可以在我的電腦上編譯,我的板子上試驗找問題。

#include<reg51.h>
#define char unsigned char
char code dis_7[12] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0xb2,0xf8,0x80,0x90,0xff,0xbf};
char code scan_con[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
char data dis[8] = {0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00};
char data timedata[3] = {0x00,0x00,0x00};
char data ms50=0x00, con=0x00, con1=0x00, con2=0x00;
sbit key0 = P1^0;
sbit key1 = P1^1;
sbit key2 = P1^2;
delaylms(int t)
{
int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++)
;
}
keyscan()
{
EA=0;
if(key0 == 0)
{
delaylms(10);
while(key0 == 0);
con++;TR0=0;ET0=0;
if(con >= 3)
{con=0;TR0=0;ET0=0;}
}
if(con != 0)
{
if(key1 == 0)
{
delaylms(10);
while(key1 == 0);
timedata[con]++;
if(con == 2) con1=24; else con1=60;
if(timedata[con] >= con1)
{timedata[con] = 0;}
}
}
if(con != 0)
{
if(key2 == 0)
{
delaylms(10);
while(key2 == 0);
timedata[con]--;
if(con == 2) con2=23; else con2=59;
if(timedata[con] <= 0)
{timedata[con] = con2;}
}
}
EA=1;
}
scan()
{
char k;
dis[0]=timedata[0]%10; dis[1]=timedata[0]/10;
dis[3]=timedata[1]%10; dis[4]=timedata[1]/10;
dis[6]=timedata[2]%10; dis[7]=timedata[2]/10;
for (k=0;k<8;k++)
{
P0=dis_7[dis[k]]; P2=scan_con[k]; delaylms(1); P2=0xff;
}
}
main()
{
TH0=0x3c; TL0=0xb0;
TMOD=0x01; ET0=1; TR0=1; EA=1;
while(1)
{
scan();
keyscan();
}
}
void time_intt0(void) interrupt 1
{
ET0=0; TR0=0; TH0=0x3c; TL0=0xb0; TR0=1;
ms50++;
if(ms50 == 20)
{
ms50=0x00; timedata[0]++;
if(timedata[0] == 60)
{
timedata[0]=0; timedata[1]++;
if(timedata[1] == 60)
{
timedata[1]=0; timedata[2]++;
if(timedata[2] == 24)
{timedata[2] = 0;
}
}
}
}
ET0 = 1;
}

作者: Qfunwell    時間: 2018-11-21 19:08
wubingbing 發(fā)表于 2018-11-21 09:19
這樣不能編輯還是把源碼發(fā)出來比較好

#include<reg51.h>
#define char unsigned char
char code dis_7[12] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0xb2,0xf8,0x80,0x90,0xff,0xbf};
char code scan_con[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
char data dis[8] = {0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00};
char data timedata[3] = {0x00,0x00,0x00};
char data ms50=0x00, con=0x00, con1=0x00, con2=0x00;
sbit key0 = P1^0;
sbit key1 = P1^1;
sbit key2 = P1^2;
delaylms(int t)
{
int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++)
;
}
keyscan()
{
EA=0;
if(key0 == 0)
{
delaylms(10);
while(key0 == 0);
con++;TR0=0;ET0=0;
if(con >= 3)
{con=0;TR0=0;ET0=0;}
}
if(con != 0)
{
if(key1 == 0)
{
delaylms(10);
while(key1 == 0);
timedata[con]++;
if(con == 2) con1=24; else con1=60;
if(timedata[con] >= con1)
{timedata[con] = 0;}
}
}
if(con != 0)
{
if(key2 == 0)
{
delaylms(10);
while(key2 == 0);
timedata[con]--;
if(con == 2) con2=23; else con2=59;
if(timedata[con] <= 0)
{timedata[con] = con2;}
}
}
EA=1;
}
scan()
{
char k;
dis[0]=timedata[0]%10; dis[1]=timedata[0]/10;
dis[3]=timedata[1]%10; dis[4]=timedata[1]/10;
dis[6]=timedata[2]%10; dis[7]=timedata[2]/10;
for (k=0;k<8;k++)
{
P0=dis_7[dis[k]]; P2=scan_con[k]; delaylms(1); P2=0xff;
}
}
main()
{
TH0=0x3c; TL0=0xb0;
TMOD=0x01; ET0=1; TR0=1; EA=1;
while(1)
{
scan();
keyscan();
}
}
void time_intt0(void) interrupt 1
{
ET0=0; TR0=0; TH0=0x3c; TL0=0xb0; TR0=1;
ms50++;
if(ms50 == 20)
{
ms50=0x00; timedata[0]++;
if(timedata[0] == 60)
{
timedata[0]=0; timedata[1]++;
if(timedata[1] == 60)
{
timedata[1]=0; timedata[2]++;
if(timedata[2] == 24)
{timedata[2] = 0;
}
}
}
}
ET0 = 1;
}





歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1