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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9386|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機定時器毫秒級精確定時程序與分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:423556 發(fā)表于 2018-11-29 11:34 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
一,T0使用8位自動重裝模式(最大256us)
定時周期計算:
定時器計數(shù)器自加1時間:1us=機器周期(1/12M=1/12us) 乘 12(AUXR&=0x7f; //B7=0,T0設(shè)置為12倍速,其它設(shè)置不變)
當(dāng)計數(shù)器(設(shè)置為8位時)計數(shù)到255再加1溢出(TMOD&=0xf0; //xxxx 0000,T0設(shè)置置零    TMOD|=0x02; //xxxx 0010,T0設(shè)置為8位自動重裝)
溢出時間=256-初裝值(TH0=0x38; //自動初裝值)(從初裝值開始計數(shù),到256溢出完成一次。)


1.自動重裝方式
程序如下:
/*


P1.3為PWM輸出端

5.SID 串行數(shù)據(jù)輸入端 接單片機P3.7
6.SCLK 串行時鐘輸入端 接單片機P3.6


*/


#include<stc12c5a60s2.h>//頭文件

//全局變量聲明
sbit lcd_sid=P3^7; //定義12864數(shù)據(jù)端口
sbit lcd_sclk=P3^6; //定義12864時鐘脈沖端口
sbit pwm=P1^3;//

unsigned char t0_1ms; //T0計數(shù)器

//子函數(shù)聲明
void init(); //初始化子函數(shù)
void lcd(); //lcd子函數(shù)

//主函數(shù)開始/////////////////////////////////////////////////////////////////////
void main()
{
        init(); //初始化
        while(1) //循環(huán)下面的程序
        {
                if(t0_1ms==5) //如果計數(shù)5次,5*0.2ms=1ms,執(zhí)行下面的程序
                {
                        t0_1ms=0; //計數(shù)器復(fù)位
                        lcd(); //lcd顯示
                }
        }
}

//主函數(shù)結(jié)束/////////////////////////////////////////////////////////////////////

//子函數(shù)程序
void t0_200us()interrupt 1 //T0中斷函數(shù)
{
        t0_1ms++; //每0.2ms加一次
        pwm=~pwm; //
}

void init() //初始化子函數(shù)
{
        //T0初始化
        AUXR&=0x7f; //B7=0,T0設(shè)置為12倍速,其它設(shè)置不變
        TMOD&=0xf0; //xxxx 0000,T0設(shè)置置零
        TMOD|=0x02; //xxxx 0010,T0設(shè)置為8位自動重裝
        TL0=0x38; //初裝值
        TH0=0x38; //自動初裝值
        TR0=1; //T0運行
        EA=1; //
        ET0=1; //
}

void lcd(); //lcd子函數(shù)




從示波器可以看出時間的時間比計算的時間要多。

把與定時器不相關(guān)的程序全部刪除:

#include<stc12c5a60s2.h>//頭文件

//全局變量聲明
sbit lcd_sid=P3^7; //定義12864數(shù)據(jù)端口
sbit lcd_sclk=P3^6; //定義12864時鐘脈沖端口
sbit pwm=P1^3;//

unsigned char t0_1ms; //T0計數(shù)器

//子函數(shù)聲明
void init(); //初始化子函數(shù)

//主函數(shù)開始/////////////////////////////////////////////////////////////////////
void main()
{
        init(); //初始化
        while(1) //循環(huán)下面的程序
        {
                if(t0_1ms==5) //如果計數(shù)5次,5*0.2ms=1ms,執(zhí)行下面的程序
                {
                        t0_1ms=0; //計數(shù)器復(fù)位
                }
        }
}

//主函數(shù)結(jié)束/////////////////////////////////////////////////////////////////////

//子函數(shù)程序
void t0_200us()interrupt 1 //T0中斷函數(shù)
{
        t0_1ms++; //每0.2ms加一次
        pwm=~pwm; //
}

void init() //初始化子函數(shù)
{
        //T0初始化
        AUXR&=0x7f; //B7=0,T0設(shè)置為12倍速,其它設(shè)置不變
        TMOD&=0xf0; //xxxx 0000,T0設(shè)置置零
        TMOD|=0x02; //xxxx 0010,T0設(shè)置為8位自動重裝
        TL0=0x38; //初裝值
        TH0=0x38; //自動初裝值
        TR0=1; //T0運行
        EA=1; //
        ET0=1; //
}







200us輸出變換一次。符合計算。
由此可知,中斷發(fā)生是由于需要保護原來正在運行的程序,處理中斷前需要先保護現(xiàn)場,這樣就增加了運行時間,每毫秒需要5次中斷,當(dāng)需要運行的程序越多時,中斷的時間越不穩(wěn)定。

下面嘗試增加中斷時間,減少中斷處理時間,看看程序?qū)χ袛鄷r間的影響。


IMG_20181129_103814R.jpg (1.96 MB, 下載次數(shù): 35)

IMG_20181129_103814R.jpg

IMG_20181129_104249R.jpg (2.2 MB, 下載次數(shù): 40)

IMG_20181129_104249R.jpg

IMG_20181129_105844R.jpg (2.28 MB, 下載次數(shù): 40)

IMG_20181129_105844R.jpg

IMG_20181129_105946R.jpg (1.66 MB, 下載次數(shù): 44)

IMG_20181129_105946R.jpg

IMG_20181129_105950R.jpg (1.88 MB, 下載次數(shù): 39)

IMG_20181129_105950R.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 青青草原综合久久大伊人精品 | 久久精品视频免费观看 | 毛片区 | 日本精品视频在线观看 | 欧美激情久久久 | 中文字幕一页二页 | 国产在线一区二 | 在线观看久草 | 国产欧美精品一区二区 | 久久视频免费看 | 自拍偷拍视频网 | 性色综合| 久久精品国产久精国产 | 国产91丝袜在线熟 | 日韩欧美大片 | 国产欧美日韩精品在线观看 | 成人欧美一区二区三区黑人孕妇 | 色欧美片视频在线观看 | 国产三区精品 | 午夜国产| 在线精品观看 | 久久一区二区三区电影 | 在线一区二区观看 | 欧美一区二区小视频 | 成人影院av | 午夜av影院 | 日韩国产一区二区三区 | 91素人| 免费黄色片在线观看 | 欧美日本在线 | 国产激情视频在线观看 | 韩国av影院| 国产精品久久影院 | 999re5这里只有精品 | 中文字幕在线视频精品 | 91久久精品一区二区二区 | 国产91综合一区在线观看 | 国产区久久 | 最新日韩在线 | 欧美一级片在线看 | 国产精品一区二区三区四区五区 |