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

標(biāo)題: 利用單片機(jī)定時(shí)器(T0或T1都行)產(chǎn)生定時(shí)時(shí)鐘 各位大神進(jìn)來(lái)看看好不好? [打印本頁(yè)]

作者: 黃煌皇    時(shí)間: 2017-8-7 17:25
標(biāo)題: 利用單片機(jī)定時(shí)器(T0或T1都行)產(chǎn)生定時(shí)時(shí)鐘 各位大神進(jìn)來(lái)看看好不好?
       利用定時(shí)器(T0或T1都行)產(chǎn)生定時(shí)時(shí)鐘,使用P3口控制八個(gè)LED燈。要求產(chǎn)生以下現(xiàn)象: 首先點(diǎn)亮第一個(gè)LED,并使其1秒鐘閃爍10次(就是亮50毫秒 滅50毫秒),然后輪到下一個(gè)燈閃爍(亮50毫秒 滅50毫秒),依次循環(huán)。  PS:其實(shí)就是會(huì)閃爍的流水燈(第一個(gè)燈閃爍之后輪到下一個(gè)閃爍,以此類(lèi)推)。

作者: wulin    時(shí)間: 2017-8-7 17:25
//按你的要求,給你寫(xiě)了一個(gè)程序,有詳細(xì)注釋?zhuān)呀?jīng)過(guò)實(shí)驗(yàn)驗(yàn)證
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int                 //宏定義數(shù)據(jù)類(lèi)型uint
#define uchar unsigned char         //宏定義數(shù)據(jù)類(lèi)型uchar
uchar Cnt50ms=0;                                        //中斷計(jì)時(shí)
uchar num=0xfe;                                        //中間變量
bit sign=0;                                                        //使能標(biāo)志
/***********定時(shí)器初始化程序****************/
void Timer0Init(void)                        //50毫秒@12.000MHz
{
        TMOD &= 0xF0;                                        //設(shè)置定時(shí)器模式
        TMOD |= 0x01;                                        //設(shè)置定時(shí)器模式
        TL0 = 0xB0;                                                //設(shè)置定時(shí)初值
        TH0 = 0x3C;                                                //設(shè)置定時(shí)初值
        TF0 = 0;                                                        //清除TF0標(biāo)志
        TR0 = 1;                                                        //定時(shí)器0開(kāi)始計(jì)時(shí)

        EA=1;                                                                //開(kāi)總中斷
        ET0=1;                                                        //開(kāi)定時(shí)器0中斷       
}
/***************主程序****************/
void main()
{
        Timer0Init();                                        //定時(shí)器初始化
        while(1)
        {
                if(sign==0)
                        P3=num;
                else P3=0xff;
        }
}
/**************中斷服務(wù)程序*****************/
void timer0() interrupt        1
{
        TL0 = 0xB0;                                                //設(shè)置定時(shí)初值
        TH0 = 0x3C;                                                //設(shè)置定時(shí)初值
        Cnt50ms++;                                                //中斷變量Cnt50ms自+1
        sign=~sign;                                                //使能標(biāo)志取反
        if(Cnt50ms>=20)                                //1秒
        {
                Cnt50ms=0;                                        //清0
                num=_crol_(num,1);                //左移循環(huán)一位
        }
}
作者: 黃煌皇    時(shí)間: 2017-8-7 23:16
wulin 發(fā)表于 2017-8-7 17:25
//按你的要求,給你寫(xiě)了一個(gè)程序,有詳細(xì)注釋?zhuān)呀?jīng)過(guò)實(shí)驗(yàn)驗(yàn)證
#include
#include

謝謝大神,我已經(jīng)用實(shí)驗(yàn)板驗(yàn)證過(guò)你的程序了,是可行的。在這里謝謝你。  另外經(jīng)過(guò)一個(gè)下午加一個(gè)晚上的時(shí)間,我自己居然想出來(lái)了怎么寫(xiě)程序了,一下是我寫(xiě)的程序:
#include<reg52.h>
#include <intrins.h>
unsigned char i,t,j;
void main()                                 
{
          TMOD=0x10;//設(shè)置定時(shí)器0位工作模式        1
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%256; //裝初值

          EA=1;//開(kāi)總中斷
          ET1=1;//開(kāi)定時(shí)器1中斷
          TR1=1;//啟動(dòng)定時(shí)器1
           j=0xfe;                       
                while(1)
                 {                          
                                  if(t==1)
                                {
                                        P2=j;
                                }
                               
                                if(t==2)
                                {
                                        t=0;
                                        P2=0xff;
                                        i++;
                                }
                                 
                                 if(i==10)
                                  {
                                          i=0;
                                           j=_crol_(j,1);

                                  }
                 }                          
}

void waibuzhongduan0() interrupt 3        //中斷函數(shù)不需要聲明
{
         TH0=(65536-50000)/256;
         TL0=(65536-50000)%256; //裝初值
         t++;                         
}
作者: yzwzfyz    時(shí)間: 2017-8-8 10:38
這樣簡(jiǎn)單的程序,自己也不愿意攻一下,建議改學(xué)CEO專(zhuān)業(yè)。
作者: 黃煌皇    時(shí)間: 2017-8-8 13:22
yzwzfyz 發(fā)表于 2017-8-8 10:38
這樣簡(jiǎn)單的程序,自己也不愿意攻一下,建議改學(xué)CEO專(zhuān)業(yè)。

我攻了。。。。只是一開(kāi)始沒(méi)有攻克,不過(guò)經(jīng)過(guò)一晚的時(shí)間,才想出來(lái)。
作者: 黃煌皇    時(shí)間: 2017-8-8 14:18
不好意思。。。。初值裝錯(cuò)了,裝到T0的初值去了  現(xiàn)在更改過(guò)來(lái)了  如下程序

#include<reg52.h>
#include <intrins.h>
unsigned char i,t,j;
void main()                                 
{
          TMOD=0x10;//設(shè)置定時(shí)器0位工作模式        1
          TH1=(65536-50000)/256;
          TL1=(65536-50000)%256; //裝初值

          EA=1;//開(kāi)總中斷
          ET1=1;//開(kāi)定時(shí)器1中斷
          TR1=1;//啟動(dòng)定時(shí)器1
           j=0xfe;                       
                while(1)
                 {                          
                                  if(t==1)
                                {
                                        P2=j;
                                }
                                
                                if(t==2)
                                {
                                        t=0;
                                        P2=0xff;
                                        i++;
                                }
                                 
                                 if(i==10)
                                  {
                                          i=0;
                                           j=_crol_(j,1);

                                  }
                 }                          
}

void waibuzhongduan0() interrupt 3        //中斷函數(shù)不需要聲明
{
         TH1=(65536-50000)/256;
         TL1=(65536-50000)%256; //裝初值
         t++;                          
}




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 九九热精品视频在线观看 | 久久国产精品免费一区二区三区 | 亚洲一区欧美 | 国产在线精品一区二区三区 | 久久久久国产精品一区二区 | 色综网 | 欧美99| 国产精品日韩在线观看 | 中文字幕一页二页 | 国产精品成人一区二区三区 | 国产精品久久久久久久久免费 | 日韩免费一区 | 国产在线97| 中文字幕一区二区三区四区不卡 | 成人国产精品久久 | 久久99国产精品久久99果冻传媒 | 精品一二三区 | 免费黄色大片 | 久久久久国产 | 一级美国黄色片 | 亚洲视频二区 | 黄色片免费 | 久久久久国色av免费观看性色 | 这里精品| 亚洲精品68久久久一区 | 亚洲精品成人网 | 国产成人a亚洲精品 | 国产欧美精品区一区二区三区 | 日韩欧美专区 | 一区二区三区成人 | 美国a级毛片免费视频 | 亚州国产| 国产高清免费视频 | 每日在线更新av | 欧美午夜一区二区三区免费大片 | 国产精品九九九 | av手机在线播放 | a级毛片毛片免费观看久潮喷 | 欧美亚洲国语精品一区二区 | 视频一区二区国产 | 我爱操 |