找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2822|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

新手做的單片機(jī)仿真時(shí)鐘通過(guò)編譯,但跑不起來(lái),求各位大佬指教

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
#include<reg52.h>
#define uchar unsigned char;
#define uint unsigend int;
uchar position;
uchar tt;
uchar second;
uchar minute;
uchar hour;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//?????????0-9????
sbit smg_q=P1^0;   //?????????????
sbit smg_b=P1^1;
sbit smg_s=P1^2;
sbit smg_g=P1^3;
  
sbit key1=P3^7; //????4??????
sbit key2=P3^6;
sbit key3=P3^5;
sbit key4=P3^4;
void keyscan ();//????????
void display(unsigned char hour,unsigned char minute);
void delay(unsigned int timer);
void init();
void main()
{
init();
while(1)
{
  if(tt==20)
{
  tt=0;
  second++;
  if(second==60)
  {
  second=0;
  minute++;
  if(minute==60)
  {
   minute=0;
   hour++;
   if(hour==24)
   hour=0;
  }
  }
}
keyscan();
display(hour,minute);
delay(1);
}
}
  void keyscan()
  {
    if(key1==0)
{
   TR0=0;
hour++;
if(hour==24)
hour=0;
delay(200);
TR0=1;
  }
if(key2==0)
{
  TR0=0;
hour--;
if(hour<0)
hour=23;
delay(200);
TR0=1;
}
  if(key3==0)
{
  TR0=0;
minute--;
if(minute==60)
minute=0;
delay(200);
TR0=1;
}
if(key4==0)
{
  TR0=0;
minute--;
if(minute<60)
minute=59;
delay(200);
TR0=1;
}
}
  void init()
  {
    tt=0;
  position=0;
  second=0;
  minute=0;
  hour=0;
  smg_q=1;
  smg_b=1;
  smg_s=1;
  smg_g=1;
  key1=1;
  key2=1;
  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;
  tt++;
  }
  void display(unsigned char hour,unsigned char minute)
  {
  P0=0xff;
  switch(position)
  {
    case 0:
   smg_g=1;
   smg_q=0;
   P0=table[hour/10];
   break;
  case 1:
   smg_q=1;
   smg_b=0;
   P0=table[hour%10];
   
    if(tt>=10);
    P0&=0x7f; //С???????????????
    break;
    case 2:
   smg_b=1;
   smg_s=0;
   P0=table[minute/10];
   break;
     case 3:
   smg_s=1;
   smg_g=0;
   P0=table[minute%10];
   break;
  }
  position++;
  if(position>3)
  position=0;

  }
  void delay(unsigned int time)
  {
   unsigned int x,y;
for(x=time;x>0;x--)
  for(y=110;y>0;y--);
  }

程序通過(guò)編譯,但在仿真上跑不起來(lái),找了幾個(gè)小時(shí)不知道錯(cuò)在哪,百度找的例子,求解啊大神

002.jpg (119.19 KB, 下載次數(shù): 95)

這是原圖

這是原圖

001.jpg (185.19 KB, 下載次數(shù): 92)

這個(gè)是我花的

這個(gè)是我花的
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:584814 發(fā)表于 2020-4-15 11:17 | 只看該作者
編譯通過(guò)并不表示程序可以實(shí)現(xiàn)你想要的功能,仿真不通過(guò)并不表示實(shí)物不能實(shí)現(xiàn)功能。
如果僅求仿真通過(guò),還是找自己的師傅比較合適。
回復(fù)

使用道具 舉報(bào)

板凳
ID:729625 發(fā)表于 2020-4-15 12:56 | 只看該作者
可能出現(xiàn)了接線或者實(shí)現(xiàn)代碼的問(wèn)題
回復(fù)

使用道具 舉報(bào)

地板
ID:66679 發(fā)表于 2020-4-20 20:15 | 只看該作者
改下數(shù)碼管驅(qū)動(dòng)電路試下

簡(jiǎn)易電子時(shí)鐘.png (42.66 KB, 下載次數(shù): 87)

簡(jiǎn)易電子時(shí)鐘.png
回復(fù)

使用道具 舉報(bào)

5#
ID:705799 發(fā)表于 2020-4-24 21:21 | 只看該作者
程序沒(méi)問(wèn)題,我直接燒錄運(yùn)行正常
回復(fù)

使用道具 舉報(bào)

6#
ID:705799 發(fā)表于 2020-4-24 21:22 | 只看該作者
我用的89C54,共陽(yáng)
回復(fù)

使用道具 舉報(bào)

7#
ID:736111 發(fā)表于 2020-4-25 00:37 | 只看該作者
你的程序沒(méi)有問(wèn)題啊,在我這里運(yùn)行正常
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表