我意狂醉

    1. 这程序有点问题,计时的 2/3161 51单片机 2012-07-12
      我改了的你自己运行看看   #include #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; uchar a,num,t,shi,fen,M1,M2; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z)   {         uint x,y;         for(x=z;x>0;x--)         for(y=110;y>0;y--); } void T0_time() interrupt 1 {         TH0=(65536-50000)/256;//重装初值         TL0=(65536-50000)%256;//重装初值         num++;                 if(num==20)                         {                                 num=0;                                 t++;                                 if(t==60)                                 t=0;                                 M2=t/10;                                 M1=t%10;                                                         }        } void display(uchar miao1,uchar miao2) //显示子函数 {         dula=1;         P0=table[miao1];//送段选数据,低、秒         dula=0;         P0=0xff;   //消影         wela=1;         P0=0xdf;         wela=0;         delay(1);                   dula=1;         P0=table[miao2];//送段选数据,高、秒         dula=0;         P0=0xff;   //消影         wela=1;         P0=0xef;         wela=0;         delay(1); } void main() {         TMOD=0X01;//设置定时器0为方式1         TH0=(65536-50000)/256;//定时器0装初值,定时50ms         TL0=(65536-50000)%256;//定时器0装初值,定时50ms         EA=1; //开总中断         ET0=1;//开定时器0中断         TR0=1;//启动定时器0                         /*开始为0*/         dula=1;         P0=0x3f;         dula=0;         P0=0xff;         wela=1;         P0=0xcf;         wela=0;         while(1)//扫描、显示数码管         {                                 display(M1,M2);                                                 } }

最近访客

< 1/1 >

统计信息

已有25人来访过

  • 芯积分:--
  • 好友:--
  • 主题:--
  • 回复:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言