松翰單片機(jī)匯編程序的學(xué)習(xí)
這里是變量的定義。。所有程序中要用的變量,標(biāo)志都在這里。。
這里的初始化部分。。。就是各個(gè)IO口的初始化以及時(shí)間中斷等初始化的程序。。
中斷!在這程程序中。。最重要的就是時(shí)間了。。。時(shí)間由中斷產(chǎn)生,并累積。。如上圖中斷我們?cè)O(shè)置為50微秒(US)。。40次就是2毫秒
。。。這樣就可以積累成任意的時(shí)間。。。。當(dāng)然。在中斷里不可能積累到所有時(shí)間。。下面有一個(gè)時(shí)間程序
這個(gè)時(shí)間程序。。就是專門(mén)為各種時(shí)間積累而生成的。。2毫秒以上的時(shí)間都從這里產(chǎn)生。。每個(gè)時(shí)間設(shè)置一個(gè)標(biāo)志位。當(dāng)標(biāo)志位為1那么就表示這個(gè)時(shí)間達(dá)到了。。。。
這里是按鍵和LED顯示的程序。。。按鍵掃描也是用時(shí)間主導(dǎo)的。。2毫秒進(jìn)來(lái)一次。當(dāng)?shù)玫侥硞€(gè)按鍵按下時(shí)。就是這個(gè)按鍵對(duì)應(yīng)的標(biāo)志置1,然后退出。。這樣,每2毫秒進(jìn)來(lái)一次。。。當(dāng)有50次。。那么按鍵已經(jīng)按了100毫秒。。這100毫秒的時(shí)間里我們的程序并沒(méi)有停下來(lái)等,只是2毫秒進(jìn)來(lái)一次。。呵呵。。。其他程序內(nèi)容進(jìn)行中。。。在網(wǎng)上學(xué)習(xí)編程里常??吹胶芏嘟坛?。。都是把程序停止在按鍵處。等時(shí)間到了才算按鍵成功按下,這樣是不對(duì)的哦、、、
最后這里是數(shù)據(jù)輸出?;蛘哒f(shuō)是功能實(shí)現(xiàn)。。。
評(píng)論