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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復制鏈接]
ID:183466 發表于 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 發表于 2017-7-14 10:16 | 顯示全部樓層
看著沒什么錯誤

回復

使用道具 舉報

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

評分

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

查看全部評分

回復

使用道具 舉報

ID:218170 發表于 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;        
                   }

                        
                                               
                }
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 高清国产午夜精品久久久久久 | 国产在线激情视频 | 国产成人一区二区三区 | 欧美视频1区 | 国产黄色大片 | 中文字幕国产精品 | 在线第一页 | 成人深夜小视频 | 国产成人精品一区二区三 | 九九九久久国产免费 | 精品1区 | 亚洲精品欧美 | 亚洲在线观看视频 | 91精品国产乱码久久蜜臀 | 四虎最新视频 | 亚州精品天堂中文字幕 | 日本欧美国产在线 | 欧美二区乱c黑人 | 久久专区 | 国产成人一区二区三区久久久 | 日韩欧美视频网站 | 中文字字幕一区二区三区四区五区 | 日韩av美女电影 | 五月天婷婷久久 | 久久精品亚洲精品国产欧美kt∨ | 色约约视频| 高清视频一区二区三区 | 黄色福利 | 不卡视频一区 | 国产亚洲一区二区三区在线观看 | 亚洲午夜视频 | 天天爱天天操 | 国产成人久久精品一区二区三区 | 中文精品视频 | 久久精品国产久精国产 | 日韩精品一区二区三区视频播放 | 欧美成人a | 嫩草视频在线 | 成人欧美一区二区三区1314 | 免费一级片 | 国产精品久久久久久久久久妇女 |