89C52微控制器 計時器 中斷的使用

2021-09-28 07:24:46 字數 742 閱讀 8097

1.計時器

因為51微控制器的機器週期計算公式是12/晶振頻率mhz,若晶振為12mhz,則機器週期就是12/(12×10^6)=1us,也就是說計數器沒1us計數一次。

一般來說,12mhz晶振下,16位定時器滿計數是65536次,每次1us,最大就能計時65.536ms,則65536減去多少就是定時多少,如(65536-x)/256,就是定時x微秒。

那麼t=1/(x/12)就是乙個機器週期 ,(65536-z(初值))*t就是定時的時間

比如是12m的晶振那麼 設定tmod=0x01, 計時器模式

th0=(65536-50000)/256;

tl0=(65536-50000)%256;就是設定了50ms的定時

2、計時器中斷 1s 閃光燈

我們使用計時器中斷來設定 1s 閃光燈

#include //51標頭檔案

sbit led1 = p1^0; //位定義 led1硬體介面

int num = 0;

//中斷服務特殊功能暫存器配置

void init()

//定時器0中斷服務程式 不用軟體延時

文件參考:

關於51微控制器的定時器t0、t1總結

89C52微控制器之串列埠

include include define uint unsigned int define uchar unsigned char uchar flag 0 uchar buf 0x55 u void init t1 定時器1 void uart init 串列埠 void uart1 send...

89C52 微控制器LED閃爍(彙編)

org 0000h org是origin的起始位址,在此規定程式的起始位址為0000 start start與main均為使用者自定義標誌符,main為主程式,start為程式起始點 setb p2.0 第二個led暫存器置高電平 lcall del 呼叫子程式,相當於呼叫函式,子程式執行完後則執行...

微控制器89C52並行I O口實現多個LED顯示

2006 05 13 22 30 38 摘 要 介紹了一種利用89c52微控制器的乙個並行口實現多個led數碼管顯示的簡單方法,給出了利用此方法設計的多路led顯示系統的硬體電路結構原理圖和軟體程式流程,同時給出了採用mcs 51組合語言編寫的具體程式。在微控制器應用系統中,普遍使用成本低廉 配置靈...