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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4892|回復: 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;
                       
                       

                       
                }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产2区 | 欧美不卡一区二区 | 黄色片a级 | 男女视频网站 | 欧美aaaa视频| 午夜精品视频 | 美女网站视频免费黄 | 欧美一级二级视频 | 精品国产乱码久久久久久蜜柚 | 日韩www| 久久国产精品-国产精品 | 国产精品亚洲精品日韩已方 | 国产成人精品一区二区三区四区 | 欧美高清一区 | 99精品久久久久久中文字幕 | 91亚洲国产成人精品一区二三 | 国产精品 欧美精品 | 日韩精品免费一区二区在线观看 | 国产精品18毛片一区二区 | 国外成人在线视频 | 久久久久久亚洲 | 黄色一级视频 | 日韩在线h| 国产精品亚洲视频 | 国产91精品在线 | 中文字幕一区二区视频 | 日本久久综合 | 成人深夜福利 | 爱爱爱av| 丁香五月网久久综合 | 亚洲第一在线 | 国产欧美在线观看 | 夜夜骑天天干 | 性做久久久久久免费观看欧美 | 亚洲天堂中文字幕 | 亚洲视频在线免费观看 | 国产精品18hdxxxⅹ在线 | www.亚洲一区| 中文字幕一区二区三区乱码图片 | 欧美1区2区 | 久久久久一区 |