標題: 求大神幫忙解讀程序。。! [打印本頁]

作者: 凌云小志    時間: 2017-7-8 21:51
標題: 求大神幫忙解讀程序。。!
代碼實現(xiàn)了定時器控制流水燈循環(huán),間隔500ms。    可是我很多地方不理解。希望大神幫忙解讀每句代碼的含義。
作者: fmboy    時間: 2017-7-8 23:29
沒有看到代碼?
作者: angmall    時間: 2017-7-9 00:12
沒有原理圖,沒有程序,怎么知道
 你好!發(fā)一下 程序和原理圖
作者: HC6800-ES-V2.0    時間: 2017-7-9 12:56
雖然沒有看到你的程序,不過我用一個同樣功能的程序,我加上了說明。
/*******************************************************************************
* 實驗名                           : 定時器實驗
* 使用的IO             :
* 實驗效果       :LED每隔500ms左移一次
*        注意                                         :
*******************************************************************************/
#include<reg51.h>       
#include<intrins.h>
#define GPIO_LED P2

void TimerConfiguration();
unsigned char Time;
/*******************************************************************************
* 函數(shù)名         : main
* 函數(shù)功能                   : 主函數(shù)
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/
void main(void)
{
        Time=0;
        GPIO_LED=0XFE;
        TimerConfiguration();
        while(1)
        {
                if(Time==10)//定時器每次定時50ms,10次,就是0.5s
                {
                        GPIO_LED=_crol_(GPIO_LED,1);
                        Time=0;
                }

        }                               
}

/*******************************************************************************
* 函數(shù)名         : TimerConfiguration()
* 函數(shù)功能                   : 配置定時器值
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/                  

void TimerConfiguration()
{
    TMOD = 0x01; //選擇工作方式1
    TH0 = 0x3C;         //設(shè)置初始值,定時50MS
    TL0 = 0xB0;
    EA = 1;                         //打開總中斷
    ET0 = 1;                 //打開定時器0中斷
    TR0 = 1;                 //啟動定時器0
}
/*******************************************************************************
* 函數(shù)名         : Timer0()
* 函數(shù)功能                   : 定時器0中斷函數(shù)
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/                  

void Timer0() interrupt 1
{
          TH0 = 0x3C;         //設(shè)置初始值
    TL0 = 0xB0;
                Time++;
}
如還有不清楚的,再交流。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1