久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5000|回復: 4
收起左側

求大神指導,寫的一個51單片機用定時器0方式一60倒計時程序跑不了

[復制鏈接]
ID:183466 發(fā)表于 2017-7-14 09:34 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,num,second;
unsigned char code Tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

void delay1ms(uint i)
        {
        uchar j;
        while(i--)
        for(j=0;j<115;j++)
                {
                ;
                }
        }

void display(uchar k)
        {
        P2=0xfe;
        P0=Tab[k/10];
        delay1ms(5);

        P2=0xfd;
        P0=Tab[k%10];
        delay1ms(5);

        P2=0xff;
        P0=0xff;
        delay1ms(5);



        }
       
       

               

        void main(void)
                {
                  
                   TMOD=0x01;
            TH0=(65536-50000)/256;
                TL0=(65536-50000)%256;
                EA=1;
                ET0=0;
                TR0=0;
                num=0;
                second=60;
                while(1)
                        {
                        display(second);
                }
                       
               
               
                         
                }

                void timer0(void) interrupt 1
                {
                   TR0=0;
                   num++;
                                  if(num==20)
                        {
               
                                num=0;
                               
                             second--;
                       
                       
                                if(second==0)
                          
                          second=60;
               

                          }

                        TH0=(65536-50000)/256;
                        TL0=(65536-50000)%256;
                        TR0=1;
                       
                       

                       
                }

回復

使用道具 舉報

ID:219592 發(fā)表于 2017-7-14 10:16 | 顯示全部樓層
看著沒什么錯誤

回復

使用道具 舉報

ID:213173 發(fā)表于 2017-7-14 10:51 | 顯示全部樓層
初始化定時器中 ET0=1;  TR0=1;,中斷程序中取消對TR0的操作

評分

參與人數 1黑幣 +1 收起 理由
zlc哈哈哈 + 1 很給力!

查看全部評分

回復

使用道具 舉報

ID:218170 發(fā)表于 2017-7-14 16:53 | 顯示全部樓層
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,second,tab1[2],TOH = 0,TOL = 0;
bit flag = 0;
unsigned char code Tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

void display( )
        {
                  static uchar i = 0;
    P0 = 0xff;
    P2 = ~(0x01 << i);
    P0 = Tab[tab1[i]];
    if ( i< 1)
        i++;
    else
        i = 0;
        }

//定時函數
void Timer( uchar t)
{
    unsigned long temp;
    temp = 11059200 / 12;          
    temp = (temp * t) / 1000;
    temp = 65536 - temp;
    TOH = (uchar)(temp >> 8);
    TOL = (uchar)temp;
    TH0 = TOH;
    TL0 = TOL;
    TMOD &= 0XF0;
    TMOD |= 0X01;
    TR0 = 1;
    ET0 = 1;
    EA = 1;
   
}      
void main(void)
{                 
                    Timer(1); //定時一毫秒
                second=60;
                                tab1[0] = second / 10;
                                tab1[1] = second % 10;
                while(1)
                {
                   if(flag)                //一秒鐘就減一次
                                   {
                                         flag = 0;
                                         second--;
                                         tab1[0] = second / 10;
                                        tab1[1] = second % 10;
                                         if (second == 0)
                                         second = 60;
                                   }
                }                                 
                }
void timer0(void) interrupt 1
                {
                                  static unsigned int num = 0;
                                  TH0 = TOH;
                                  TL0 = TOL;
                                   display();
                   num++;
                  if(num>= 1000)   //一秒鐘就減一次
                   {
                                       num = 0;
                       flag = 1;        
                   }

                        
                                               
                }
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久热精品在线 | 国产欧美一区二区三区视频在线观看 | 欧美精品亚洲 | 亚洲一区二区三区在线播放 | 午夜在线观看视频网站 | 国产欧美日韩综合精品 | 免费在线小视频 | 九色91| 久草福利在线 | 狠狠草视频 | 日本中文在线观看 | 精品国产一区二区三区久久久蜜月 | 91成人免费视频 | 日韩超碰| 亚洲国产精品自拍 | 欧美性生交xxxxx | 欧美亚洲国产精品 | 久久人人视频 | aaa国产精品 | 国产调教视频 | 懂色av蜜臀av粉嫩av分享 | 欧洲黄色录像 | 一区二区三区视频 | 欧美日韩色 | 国产成人精品免费视频 | 九色91popny蝌蚪新疆 | 午夜精品久久久久久久久久久久 | 成人三级在线 | 国产黄色片网站 | 日韩高清国产一区在线 | 日韩欧美在线播放 | 国产一及片 | 真人毛片免费看 | 日本不卡视频 | 国产精品911 | 中文字幕在线免费播放 | 在线观看视频一区二区三区 | 日韩精品片 | 中文字幕日韩视频 | 欧美日韩国产一区 | 久久黄视频 |