国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MCS—51單片機(jī)匯編過程

2018-03-30 02:26:56劉英會岳偉利張宗彩
電子技術(shù)與軟件工程 2017年16期
關(guān)鍵詞:匯編語言信號燈指令

劉英會 岳偉利 張宗彩

摘要

單片機(jī)與我們的生活息息相關(guān),由于其體積小,容易嵌入各種玩具,電器中,受到廣大廠商的歡迎??纱蟛糠质褂谜邔纹瑱C(jī)的工作原理并不清楚,尤其是單片機(jī)的匯編語言與機(jī)器語言的關(guān)系。本文中以信號燈閃爍系統(tǒng)的設(shè)計仿真為例,對其匯編過程進(jìn)行了詳細(xì)的分析。通過本文的闡述,幫助更多的初學(xué)者快速掌握單片機(jī)。

【關(guān)鍵詞】指令系統(tǒng) 閃爍系統(tǒng)

一個完整的單片機(jī)系統(tǒng)除了需要硬件電路的支持,軟件設(shè)計也必不可少。指令是單片機(jī)能夠識別和執(zhí)行的命令,一個單片機(jī)能夠執(zhí)行全部指令的集合稱為這個單片機(jī)的指令系統(tǒng)。由于單片機(jī)的硬件只能識別二進(jìn)制數(shù),因此最初的指令采用二進(jìn)制表示,后來用八進(jìn)制和十六進(jìn)制表示,這些都稱為機(jī)器語言。機(jī)器語言不易理解,編制程序容易出錯,為了便于閱讀和書寫,一些廠商根據(jù)指令功能和操作對象的不同,給出不同指令的英文縮寫符號,稱為助記符。用助記符表示的指令稱為匯編語言指令。

需要注意的是,匯編語言不能直接運(yùn)行,它要匯編為機(jī)器語言指令后才能運(yùn)行。但多數(shù)人對單片機(jī)的匯編過程并不了解,本文以信號燈的閃爍系統(tǒng)設(shè)計及仿真為例,闡述匯編語言編譯為機(jī)器語言的具體過程。

1 MCS-51系列單片機(jī)的指令系統(tǒng)

以數(shù)據(jù)傳送指令為例,單片機(jī)的數(shù)據(jù)傳送指令是編程時使用最多的指令。用到的助記符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP,根據(jù)這些指令作用的不同,將其分為內(nèi)部數(shù)據(jù)傳送指令、外部數(shù)據(jù)傳送指令、訪問程序存儲器指令、堆棧操作指令和數(shù)據(jù)交換指令5類。如“MOV A,Rn”對應(yīng)的機(jī)器語言“E8?EF”,再如“MOV A,direct”對應(yīng)的機(jī)器語言“E5 direct”。由此可見,匯編語言與機(jī)器語言之間存在一一對應(yīng)關(guān)系,而編譯為機(jī)器語言后占用多大的存儲空間,由字節(jié)數(shù)決定。

2 信號燈閃爍系統(tǒng)設(shè)計與仿真

通過制作一個最簡單的單片機(jī)系統(tǒng)——信號燈閃爍系統(tǒng),闡述匯編語言編譯為機(jī)器語言的過程。在單片機(jī)的P0.0端口上接上一個發(fā)光二極管L1,編制匯編程序使L1不停地一閃一滅,時間間隔為0.2S。

2.1 硬件設(shè)計

本系統(tǒng)采用單片機(jī)為51系列,硬件系統(tǒng)結(jié)構(gòu)由電源電路、時鐘電路、復(fù)位電路和LED信號燈電路。

2.2 軟件設(shè)計

從硬件設(shè)計的電路原理圖可以看出,當(dāng)P0.0端口輸出高電平時,根據(jù)發(fā)光二極管的單向?qū)щ娦钥芍?,L1熄滅,這里可以使用SETBP0.0指令使P0.0端口輸出高電平,當(dāng)P0.0端口輸出低電平時,L1點亮;

由于單片機(jī)指令的執(zhí)行時間很短,屬于微秒級,要求彩燈閃爍時間間隔為0.2秒,相對于微秒來說,相差太大,所以在執(zhí)行彩燈點亮和熄滅指令時,插入延時程序,達(dá)到我們的要求。

2.3 利用keil C51集成開發(fā)軟件編輯、編譯和連接程序

新建工程,選擇51芯片,新建文件編輯匯編源程序,將匯編文件保存為.asm形式,將文件添加進(jìn)工程里,單擊編譯按鈕,對匯編源文件進(jìn)行編譯、鏈接,在保存工程的文件夾中將生產(chǎn).hex文件。

單擊“debug”進(jìn)行程序的調(diào)試,start debug。

在程序由匯編語言轉(zhuǎn)化為機(jī)器語言過程中,編譯后存儲在程序存儲器以0000H為首地址的單元中。

由圖1可知,程序編譯后存儲在程序存儲器以0000H為首的地址單元中,每條匯編語言占用的字節(jié)數(shù)由指令決定,占用1-3字節(jié)不等。而每條匯編語言與機(jī)器語言間的一一對應(yīng)關(guān)系由上表清晰可見。

3 結(jié)論

通過單片機(jī)信號燈閃爍系統(tǒng)的設(shè)計過程可知,雖然在keil編程軟件中我們使用的匯編語言,但實際寫入單片機(jī)的是二進(jìn)制的機(jī)器語言,匯編語言的每一條指令與機(jī)器語言之間存在一一對應(yīng)的關(guān)系。初學(xué)者可以通過查詢相關(guān)資料對單片機(jī)的五類匯編語言的匯編過程有更深入的了解。

參考文獻(xiàn)

[1]曹建樹,代峰燕等.應(yīng)用型工科院校單片機(jī)課程教學(xué)改革與實踐[J].實驗室研究與探索,2012(03):129-131

[2]王愛華.淺談單片機(jī)匯編語言教學(xué)[J].黑龍江科技信息,2009(17):143.

[3]陳龍,張亞君.Proteus仿真軟件在單片機(jī)實驗教學(xué)中的應(yīng)用[J].實驗技術(shù)與管理,2009(08):73-75.

[4]許超,吳新杰,張丹.基于Proteus和Keil的單片機(jī)課程教學(xué)改革[J].遼寧大學(xué)學(xué)報(自然科學(xué)版),2011(01):27-29.

猜你喜歡
匯編語言信號燈指令
聽我指令:大催眠術(shù)
高等學(xué)校計算機(jī)專業(yè)課程教學(xué)改革實踐——以匯編語言與接口技術(shù)課程為例
匯編語言與C語言的混合程序設(shè)計技術(shù)研究
電子制作(2019年10期)2019-06-17 11:45:16
交通信號燈
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
信號燈為什么選這三個顏色?
提高《匯編語言程序設(shè)計》教學(xué)效率的思考與實踐
安裝在路面的交通信號燈
華人時刊(2016年19期)2016-04-05 07:56:05
交通信號燈控制系統(tǒng)設(shè)計
沅江市| 乌兰察布市| 醴陵市| 彰化市| 肥城市| 潞西市| 图木舒克市| 肇庆市| 漯河市| 宁阳县| 庄浪县| 土默特左旗| 大邑县| 吉隆县| 盐津县| 米泉市| 体育| 若羌县| 宕昌县| 宁陕县| 蓝山县| 阳城县| 定西市| 来凤县| 大石桥市| 佳木斯市| 金乡县| 珠海市| 文水县| 湄潭县| 金平| 凉城县| 莱西市| 三台县| 尼木县| 新绛县| 大港区| 鄂托克前旗| 西乌珠穆沁旗| 平邑县| 吉林省|