基於51微控制器的定時器
定時器查詢方式
選用晶片:AT89S52
注意:定時器查詢方式使用時記得標誌位需要軟體清零
此程式主要展示定時器的查詢方法設計,主程式很簡單,可以根據自己需要自行設計,主要是學會用定時器查詢方式,學習設計思路。這樣自己拿到任何型號的51微控制器,只要有原理圖,都可以自主設計。
博主剛接觸微控制器,才疏學淺,可能會出現設計不足和錯誤,歡迎大家評論區交流。^ _ ^
/***********************************************************
此函式功能為:定時器T0的查詢方式,時間每過一秒在數碼管的顯示
值加一,從0——F迴圈顯示。
作者:Crazy Wind
日期:2020.10.1
version:1.0.0
***********************************************************/
#include "reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;
u8 code smgduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //數碼管顯示0-F
u8 code smgwei[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位碼
void dsq() //定時器
{
TMOD=0x01; //定時器T0的模式1
TH0=0x4C; //定時器T0的高8位賦初值 (11.0592MHz)
TL0=0x00; //定時器T0的低8位賦初值
TR0=1; //啟動定時器T0
TF0=0; //溢位標誌位 清零
}
void main()
{
u16 i,k;
i=0;
P2=smgwei[0]; //賦位碼
P0=smgduan[0]; //賦段碼 (初值為0)
dsq(); //定時器
while(1) //迴圈查詢檢測
{
while(TF0==1) //當記滿溢位 TF0為1
{
TF0=0; //查詢方式 *標誌位需要軟體清零
i++;
TH0=0x3C; //再次賦初值
TL0=0xB0;
if(i==20) //1秒(20個50ms)
{
i=0;
k++;
if(k==16)
{
k=0;
}
P0=smgduan[k];
}
}
}
}
相關文章
- 基於STC51微控制器的霓虹燈
- 基於51微控制器的矩陣按鍵矩陣
- 51微控制器定時器數碼管顯示定時器
- 基於51微控制器的智慧溫控風扇
- 51微控制器內部定時器/計數器實驗定時器
- 【微控制器彙編實戰】基於51微控制器的搶答器設計
- 基於51微控制器液晶萬年曆設計
- 基於51微控制器的交通燈Proteus模擬設計
- 利用定時器實現51微控制器返回上電執行時間功能定時器
- 51微控制器學習歷程(二)快速入門51微控制器
- (畢業設計資料)基於微控制器51微控制器智慧藥盒控制系統設計
- 基於51微控制器的小車避障電路實現-PCB下載站
- 51微控制器紅外接收
- 快速入門51微控制器
- 51微控制器彙編教程
- 微控制器學習(六)定時器的使用定時器
- 基於組合語言微控制器的時鐘設計組合語言
- 736【畢設課設】基於51微控制器的計程車計價器打表儀器設計
- 51微控制器實現流水燈
- 51微控制器學習跳轉
- 51微控制器序列通訊原理
- 244【畢設課設】基於51微控制器智慧語音控制窗簾設計
- 簡單的51微控制器多工作業系統(C51)作業系統
- 51模組_定時器與中斷定時器
- 基於8266WIFI模組實現智慧手機與51微控制器的通訊入門WiFi
- 307【畢設課設】基於51微控制器虛擬按鍵電子琴設計
- 只需兩步便可生成 51 微控制器最精準的延時函式函式
- 51定時器/計數器齊上陣,借鑑定時器
- 51微控制器 16X16點陣迴圈滾動顯示漢字(基於proteus)
- 1、51微控制器實現LED燈的閃爍
- 51微控制器入門:LED燈控制(01)
- 51微控制器入門:數碼管(3)
- python、51微控制器、百度ai介面PythonAI
- 2020-10-31 51微控制器學習
- 51微控制器系列(三)51 微控制器遊戲設計 —— 雙人對戰小遊戲(石頭剪刀布)遊戲設計
- 一個不用定時器簡易51呼吸燈定時器
- 基於微控制器的多工輪詢系統
- 51微控制器非常簡潔的矩陣掃描程式矩陣