找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4406|回复: 9
打印 上一主题 下一主题
收起左侧

数码管有两个段位就是显示不出来

[复制链接]
跳转到指定楼层
楼主
60秒倒计时有两个段位显示不出来其他都好的 能不能帮忙看看 这是什么问题

QQ截图20160215223831.png (3.65 KB, 下载次数: 127)

QQ截图20160215223831.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:104258 发表于 2016-2-15 22:40 | 只看该作者
现在本来应该是02
回复

使用道具 举报

板凳
ID:104258 发表于 2016-2-15 22:41 | 只看该作者
本帖最后由 末将 于 2016-2-15 22:44 编辑

这是程序 照着书上写的

#include<reg52.h>                                                            

#define uchar unsigned char                                                           

#define uint unsigned int                                                         

  sbit dula=P2^6;                                                           

sbit  wela=P2^7;                                                        

   sbit led1=P1^0;                                                        

    uchar code table []={0xc0,0xf9,0xa4,0xb0,                                                   

   0x99,0x92,0x82,0xf8,                                                         

0x80,0x90,0x88,0x83,                                                      

    0xc6,0xa1,0x86,0x8e};                                                              

   void delayms(uint);                                                               

  void display(uchar,uchar);                                                            

     uchar num,num1,num2,shi,ge;                                                

void main()                                                              

   {TMOD=0x11;                                                                     

      TH0=(65536-45872)/256;                                    

   TL0=(65536-45872)%256;                                                                       

     TH1=(65536-45872)/256;                                      

  TL1=(65536-45872)%256;                                       


EA=1;                                                                       

     ET0=1;                                                                        

    ET1=1;                                                                        

   TR0=1;                                                                          

  TR1=1;                                                               

  while(1)                                                                           

{                                                                                 


  display(shi,ge);                                                                        

    }                                                                  

}                                                

void display (uchar shi,uchar ge)                                                  

{                                                      

dula=1  ;                                                         

  P0=table[shi];                                                      

     dula=0;                                                         

  P0=0xff;                                                      

    wela=1;                                                     

      P0=0xfe;                                                         

  wela=0;                                                        

   delayms(5);                                                           

dula=1;                                                         

  P0=table[ge];                                                         

dula=0;                                                         

  P0=0xff;                                                         

  wela=1;                                                         

P0=0xfd;                                                         

wela=0;                                                           

delayms(5);                                                        

}                                                

void delayms(uint xms)                                                  

   {                                                         

  uint i,j;                                                      

     for(i=xms;i>0;i--)                                                               

for(j=110;j>0;j--);                                                      

   }                                                   

void T0_time() interrupt 1                                                      

{                                                                  

  TH0=(65536-45872)/256;                                 

   TL0=(65536-45872)%256;                                                                  

  num1++;                                                               

     if(num1==4)                                                              

    {                                                               

     num1=0;                                                                  

  led1=~led1;                                                               

   }                                                        

   }                                                                  

void T1_time() interrupt 3                                   


       {                                                                  

TH1=(65536-45872)/256;                                

TL1=(65536-45872)%256;                                                               

  num2++;                                                               

if(num2==20)                                                                  

{   num2=0;                                                                     

  num++;                                                                  

  if(num==60)                                       


num=0;                                                                        

  shi=num/10;                                                                        

ge=num%10;                                                                  

}                                                         

}




回复

使用道具 举报

地板
ID:19198 发表于 2016-2-16 01:44 | 只看该作者
实物能不能显示?有的时候仿真出不来是器件显示时间不够
回复

使用道具 举报

5#
ID:105543 发表于 2016-2-16 10:28 | 只看该作者
你全点亮  看看是不是数码管坏了
回复

使用道具 举报

6#
ID:105543 发表于 2016-2-16 10:28 | 只看该作者
你全点亮   先确定数码管没有坏
回复

使用道具 举报

7#
ID:96682 发表于 2016-2-16 10:41 | 只看该作者
是程序有问题还是硬件有问题这不好说,就算同一个程序不同的人制作出来会有不同结果。
回复

使用道具 举报

8#
ID:79544 发表于 2016-2-16 11:58 | 只看该作者
看看你的电路和程序是不是用的同样的IO口,你的数码管是共阳还是共阴。程序是共阳的段码。程序没问题主要看你的电路,和数码管。
回复

使用道具 举报

9#
ID:107114 发表于 2016-3-17 19:13 | 只看该作者
哥们,这个肯定是程序问题,,你再好好查查程序
回复

使用道具 举报

10#
ID:94827 发表于 2016-3-17 21:24 | 只看该作者
看样子你是用protues仿真的,那个四位的有问题,你换成一位一位的,就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表