導航:首頁 > 操作系統 > 單片機中斷實驗程序注釋

單片機中斷實驗程序注釋

發布時間:2024-05-05 19:22:13

① 鍗曠墖鏈烘暟鐮佺℃樉紺猴紝澶栭儴涓鏂

while(1)
{
DU=1;
P0=SMG[b];
DU=0;

WE=1;
P0=0xfe;
WE=0;
鍔犲歡鏃
while(a);

DU=1;
P0=SMG[b];
DU=0;

WE=1;
P0=0xfe;
WE=0;
鍔犲歡鏃
while(~a);
}
鎵撳瓧涓嶆槗錛屽傛弧鎰忥紝鏈涢噰綰熾

單片機C語言程序,看不懂,求講解

「T0中斷服務程序不是一個子程序嗎?但沒看見在主程序中調用這個子程序啊,求講解這個程序命令的運行過程,定時器怎麼中斷的?」
該子程序是在硬體產生中斷的時候,跳轉到相應中斷入口後,再跳轉到這個中斷服務程序的。請注意函數後面的「interrupt x」聲明,這是C51的擴展內容。
「用示波器測波形是測p1.0引腳,為什麼是這個引腳,怎麼確定的?咐族仿p1_0不是個變數名嗎?」
P1_0這個符號在前面的頭文件穗漏 t89c51cc02.h 中有定義。至於「為什麼是這個引腳」,是由硬體設計及本程序共同確定的。P1_0(不是你寫的p1_0,C語言要區分衡纖大小寫哦)代表P1口的第0管腳,在頭文件中通過sbit定義。
「為什麼T0中斷服務程序和主程序中都有T0的初值,設置還是一樣,他們有什麼關系?」
主程序前面的是對Timer0初始化,賦以初值。執行 TR0 = 1; 這一句以後,Timer0就開始運行了——TL0與TH0組成的13位計數器開始不斷遞增。當13位全部為1之後,再遞增就全部為0,此時溢出事件會觸發產生定時器0,同時計數器仍然在繼續計數——為了讓時間間隔保持一致,就需要再度將計數器賦以初值。

③ 單片機定時中斷實驗

跟你理清一下思路,你的問題就解決了。首先,你的程序很簡單,就是讓發光二極體1秒亮1秒滅。因此,你前提是要定時1秒,但51單片機無法定時1秒,因此,你的程序就要定時50毫秒,每到了50毫秒,你就讓num自加1,當num加到20時,換句話說,已經定時50毫秒20次了,那就是1秒咯,所以此有led1=~led1;
//讓發光管狀態取反,達到程序目的。另外,定時50毫秒你要給th0和tl0賦給初值,因此
th0=(65536-45872)/256;
//重新裝載初值tl0=(65536-45872)%256;才會有這兩句,但定時50毫秒後,你的初值也會隨之消失,因此才會在void
t0_time()這個函數中重新賦初值。的確像你所說的初值是裝滿了開始執行中斷,其實從你tmod=0x01;
//設置定時器0位工作模式1(m1,m0位0,1)這句已經開始定時了,而賦初值是為了准確的定時50毫秒罷了。明白了沒有?
(其實你可以這樣理解,定時計數器就好比一個空的瓶子,當你給tmod=0x01時,水就開始一滴一滴的往瓶子你滴,當瓶子滿了的時候,中斷就發生了。假如從一個空的瓶子滴到滿的瓶子定時是80毫秒的話,可你只需要定時50毫秒就夠了,所以就要一開始往瓶子里倒水,使滴水的起點不是空瓶子,這就是賦初值的作用。當瓶子滿了後,瓶子就會自動清空,重新從零開始。而第二次你再想定時50毫秒,你就必須從新再往瓶子里倒水,這就是第二次賦初值的作用)

④ 單片機實驗「定時/計數器及中斷」的一些問題

1.1)主程序各行作用如下:
第一行:設置定時器模式
第二行:設置定時器高位寄存器初值
第三行:設置定時器低位寄存器初值

第四行:T0定時器中斷使能
第五行:總中斷使能

第六行:打開T0定時器

第七行:死循環(主程序停留在此行)
主程序整體實現的功能:初始化定時器T0
1.2)void Timer0_Int(void)是定時器0中斷函數,每行作用如下:
第一行:重新設定定時器高位寄存器初值
第二行:重新設置定時器低位寄存器初值
第三行:如果P1_0 IO口是高電平則改為低電平,如是低電平改為高電平

整體實現的功能:P1_0 IO口高低電平1秒切換一次

媽呀,這么多問題,網上找找,應該有的

閱讀全文

與單片機中斷實驗程序注釋相關的資料

熱點內容
中老年程序員寫代碼 瀏覽:14
加密貨幣白皮書怎麼寫 瀏覽:472
中文版的pdf 瀏覽:105
else在python的用法 瀏覽:547
if命令cmd 瀏覽:685
花書pdf 瀏覽:272
wps合成pdf文件 瀏覽:807
python教程pdf免費下載 瀏覽:959
程序員需求表 瀏覽:642
為什麼安卓不能用qq登錄 瀏覽:692
公開密鑰加密哪年 瀏覽:831
程序員向 瀏覽:471
滑鼠指針壓縮包下載 瀏覽:764
登錄認證失敗請檢查賬號伺服器地址 瀏覽:739
解壓游戲覆蓋方式 瀏覽:535
遺傳演算法的變異運算元怎麼實現 瀏覽:687
spring如何添加app 瀏覽:664
python循環import 瀏覽:552
怎樣把js代碼加密 瀏覽:800
frp伺服器百度雲 瀏覽:794