找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3521|回复: 1
收起左侧

帮忙看看程序,实在无语了~~~~

[复制链接]
ID:39385 发表于 2012-4-28 11:30 | 显示全部楼层 |阅读模式

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;        //数选
sbit wela=P2^7;       //位选
sbit led1=P1^0;        //led灯
uchar code table[]={
                    0x3f,0x06,0x5b,0x4f,
      0x66,0x6d,0x7d,0x07,
      0x7f,0x6f,0x77,0x7c,
      0x39,0x5e,0x79,0x71
                   };
uchar num,num1,num2,shi,ge;
/*==========================延时函数=================================*/
void delayms(uint k)
{
  uint i,j;
    for(i=k;i>=0;i--)
  for(j=110;j>=0;j--);
}
      
/*===========================数码管动态显示函数======================*/      
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);
}

 

 

 

/*=================T0中断函数================*/
/*=========二极管200毫秒闪烁==========*/
void T0_time()interrupt 1
 {
   TH0=(65536-45872)/256;                             //(65536-50/(12*(1/11.0592)))
   TL0=(65536-45872)%256;        //重装初值(uint)(65536-50/(12*(1/11.0592)))
   num1++;
   if(num1==4)
           {
     num1=0;
       led1=~led1;
     }
 }


/*=============T1中断函数===================*/
 /*===============数码管59秒循环计时==========*/
 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;
         ge=num%10;
   shi=num/10;
    } ;
  //////////////////////////
 }

 /*============main============*/
 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); 
 }
 } 
 
 
 /*显示程序花费的时间是多少,中断程序执行的时间是多少,有可能冲突了!!!*/ 
 /*不知道是什么原因使得中断一直在执行,跳不出去了!!!!!!!!!!!!!!!*/               

[此贴子已经被作者于2012-4-28 11:31:40编辑过]
回复

使用道具 举报

ID:35775 发表于 2012-4-28 12:27 | 显示全部楼层
先关TR0和TR1(TR0=0,TR1=0)赋完初值后在开,试试~
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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