打印

求教数码管程序的问题

[复制链接]
1380|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jy01758633|  楼主 | 2013-1-2 21:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
哎,试了好几天,也没试出来哪有问题,求助各位大虾
一个2位数码管,从1计到60(其实就是计秒),用到定时器
但我把程序下到板子里,是可以从1计到60,但是速度特别快,速度是10秒=现实的1秒,我实在找不到哪有问题,上程序

#include <reg52.h>
#define uint8  unsigned char
sbit Dge = P3^1;  //数码管个位
sbit Dshi = P3^0;  //数码管十位
uint8 num;
uint8 code DSY[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};    //共阳编码
void Delay(uint8 xms)     //延时函数
{
uint8 i,j;
       for(i=xms;i>0;i--)
            {
                    for(j=110;j>0;j--);
            }
}
  
void main()    //主函数
{
EA = 1;
ET0 = 1;
TR0 = 1;
TH0 = (65536-50000)/256;    //设定初值
TL0 = (65536-50000)%256;
            while(1)
            {
  
                   Dge = 0;                             //个位上电(三极管,所以是低电平上电)
                   P1 = DSY[num%10];         //输出个位
                   Delay(5);                            //延时显示
                   Dge = 1;                           //关闭个位
                   P1 = 0xff;                         //关闭所有段码,防止其它数码管上电混乱
                   Dshi = 0;                          //十位上电
                   P1 = DSY[num/10];         //输出十位  
                   Delay(5);                         //延时显示
                   Dshi = 1;                         //关闭十位
                   P1 = 0xff;                       //关闭所有段码
            }
}
void T0_time() interrupt 1                     //定时器
{
             uint8 counter;
             TH0 = (65536-50000)/256;                //重装初值(12M晶振)
             TL0 = (65536-50000)%256;
              counter++;
                  if(counter==20)                    //20次为1秒
                 {
                        counter=0;
                        num++;
   
                        if(num == 60)     //显示1-60   
                        num = 0;      
                }  
}

相关帖子

沙发
败笔1号| | 2013-1-3 15:30 | 只看该作者
支持

使用特权

评论回复
板凳
W_Controller| | 2013-1-3 16:48 | 只看该作者
因为楼主没有设置定时器的方式。TMOD = 0X01;

使用特权

评论回复
地板
jy01758633|  楼主 | 2013-1-5 14:22 | 只看该作者
本帖最后由 jy01758633 于 2013-1-5 14:30 编辑

恩,谢谢3楼,果然是这样,还是我自己不仔细,呵呵

使用特权

评论回复
5
W_Controller| | 2013-1-6 08:30 | 只看该作者
:)

使用特权

评论回复
6
chenhyxg| | 2013-1-6 10:36 | 只看该作者
好好学习,虚心求教

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

34

帖子

0

粉丝