在網(wǎng)絡(luò)上幾乎很難找到匯編程序的學(xué)習(xí)資料。。本人也是跟著師傅慢慢學(xué)習(xí)。。才有所了解。
寫點(diǎn)小結(jié)吧。。對(duì)自己有個(gè)心理交待,想寫小結(jié)已經(jīng)非常久了。。一直沒有做到。。。并且目前大家都用C語言來寫,我也準(zhǔn)備步入C的行列。。。也許有一天我忘了匯編是怎么寫的。。還可以回來看看。。。呵呵
我?guī)煾档倪@種編程方式,架構(gòu),我非常喜歡,也讓我很快就能上手。。。相信如果你也會(huì)有如此的感覺。。。
1.易用,易讀,分層。。復(fù)制到別的程序中也是很容易的。
2.時(shí)序判斷積累更快速準(zhǔn)確,
下面以一個(gè)手控器的程序做介紹:
這是主程序,最前面是一些對(duì)程序的描述信息。以及每次變更的記錄也可以在這里寫上。。我覺得這是必要的,
然后就是所有子程序的調(diào)用,主循環(huán)也是在這里的。
第一步,應(yīng)該是要定義各個(gè)IO口的功能及命名哦。。如上圖。這樣的標(biāo)識(shí)。。是不是一目了然?
這里是變量的定義。。所有程序中要用的變量,標(biāo)志都在這里。。
這里的初始化部分。。。就是各個(gè)IO口的初始化以及時(shí)間中斷等初始化的程序。。
中斷!在這程程序中。。最重要的就是時(shí)間了。。。時(shí)間由中斷產(chǎn)生,并累積。。如上圖中斷我們?cè)O(shè)置為50微秒(US)。。40次就是2毫秒
。。。這樣就可以積累成任意的時(shí)間。。。。當(dāng)然。在中斷里不可能積累到所有時(shí)間。。下面有一個(gè)時(shí)間程序
這個(gè)時(shí)間程序。。就是專門為各種時(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)來一次。當(dāng)?shù)玫侥硞(gè)按鍵按下時(shí)。就是這個(gè)按鍵對(duì)應(yīng)的標(biāo)志置1,然后退出 。。這樣,每2毫秒進(jìn)來一次。。。當(dāng)有50次。。那么按鍵已經(jīng)按了100毫秒。。這100毫秒的時(shí)間里我們的程序并沒有停下來等,只是2毫秒進(jìn)來一次。。呵呵 。。。其他程序內(nèi)容進(jìn)行中。。。在網(wǎng)上學(xué)習(xí)編程里常?吹胶芏嘟坛獭。都是把程序停止在按鍵處。等時(shí)間到了才算按鍵成功按下,這樣是不對(duì)的哦、、、
最后這里是數(shù)據(jù)輸出。或者說是功能實(shí)現(xiàn)。。。