首先,將單片機看做一個狀態(tài)機,其發(fā)展就是主函數(shù)作為主干道,中斷作為支流。
那么如何進入支流呢,在單片機硬件內(nèi)有一個“開關(guān)”和引腳相連,比如INT0,INT1.
比如INT0電平 上跳變時觸發(fā)中斷,程序由主干道跳到支流上去,主干道的內(nèi)容被完整保留下來,等到支流走完后,回來再續(xù)前緣。
這些東西在Keil編程中表現(xiàn)為兩個函數(shù):
void main()
{}
void zhegemingzisuibianla () interrupt 0 using 0
{}
其中第一個函數(shù)就是主函數(shù)
第二個是中斷函數(shù),它的名字是不限定的,但應(yīng)該能突出其特點和優(yōu)先級。
那interrupt 0是干什么用的呢?
那個是告訴單片機是那個中斷開始了。
我們知道80c52中有5個中斷,按0-5的順序分別是INT0(外部中斷1,由外部的INT口觸發(fā)),T0(計時中斷),INT1,T1,串口中斷。
這里我們用interrupt 0就是說這個中斷程序是外部中斷0 觸發(fā)時啟動的程序。
;;文章倉促,不免有大小疏漏之處,歡迎指正。
;;理解方式比較通俗,適合入門的同學(xué)讀讀。
瘋子丶 發(fā)表于 2018-8-19 17:46
using 0 起什么作用呢?
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |