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

?

單片機開發(fā)Keil C51與Proteus仿真聯(lián)合應用研究

2013-06-23 09:47:32申紅軍蔡亞永
電子設計工程 2013年17期
關鍵詞:對話框二極管流水

徐 磊,申紅軍,蔡亞永

(新疆工程學院 電氣與信息工程系,新疆 烏魯木齊 830091)

1 Keil C51單片機程序開發(fā)技術

1.1 硬件電路及原理

流水燈實際上是一個帶有八個發(fā)光二極管的單片機最小應用系統(tǒng),即為由發(fā)光二極管D1~D8、晶振Xl、電源VCC、單片機AT89C51和程序等組成的系統(tǒng)[1]。其具體硬件組成如圖1所示。

圖1 硬件電路Fig.1 Hardware circuit

從原理圖中可以看出,如果讓接在P2.0口的D1亮起來,那么只要把P2.0口的電平變?yōu)榈碗娖骄涂梢粤耍幌喾?,如果要接在P2.0口的D1熄滅,就要把P2.0口的電平變?yōu)楦唠娖?;同理,接在P2.1~P2.7口的其他7只發(fā)光二極管點亮和熄滅的方法同D1。因此,要實現(xiàn)流水燈功能,只要將發(fā)光二極管D1~D8依次點亮、熄滅,8只發(fā)光二極管便會一亮一暗的做流水燈了。在此還應注意一點,由于人眼的視覺暫留效應以及單片機執(zhí)行每條指令的時間很短,在控制二極管亮滅的時候應該延時一段時間,否則就看不到“流水”效果了[2]。

1.2 C語言編程

單片機的應用系統(tǒng)由硬件和程序組成,上述硬件原理圖搭建完成上電之后,還不能看到流水燈循環(huán)點亮的現(xiàn)象,要實現(xiàn)流水燈循環(huán)點亮,還要告訴單片機該怎么進行工作,即編寫程序控制單片機管腳電平的高低變化,以實現(xiàn)發(fā)光二極管的一亮一滅。下面以8個發(fā)光二極管循環(huán)點亮來介紹兩種C語言程序的編程方法。

1)位控法

位控方法采用順序程序結構,用位指令控制P2口的每一個位輸出高低電平,從而來控制相應發(fā)光二極管的亮滅。程序如下:

由上述程序得知:8個發(fā)光二極管循環(huán)點亮是通過逐個控制P2端口的每個位來實現(xiàn)的,因程序編制起來繁瑣。所以程序結構顯得較為復雜,而且程序編譯后,占用的存儲空間也比較大,上面的程序編譯后,占用100 Byte存儲空間。

一是操作過程:依有限元分析方法的主要思想,將待輸入的物理狀態(tài)參數(shù)作為已知量,根據(jù)分析計算的目標設定相關邊界條件參數(shù)和規(guī)定各物理條件狀態(tài),通過壓力求解器求解計算內流體模型的內流場壓強p、速度v、溫度t等未知量。

2)循環(huán)移位法

循環(huán)移位法利用循環(huán)移位指令,采用循環(huán)程序結構進行編程。在程序一開始就給P2口送一個數(shù),這個數(shù)本身就讓P2.0先低,其他位為高,然后延時一段時間,再讓這個數(shù)據(jù)向高位移動,然后再輸出至P2口,實現(xiàn)“流水”效果。具體編程如下所示,

上述兩種方法編寫的程序,經(jīng)軟件仿真和硬件開發(fā)板上測試驗證都可以實現(xiàn)8為彩燈循環(huán)點亮的目的。但是采用循環(huán)位移發(fā)編寫的程序,實現(xiàn)向右循環(huán)點亮后又向左循環(huán)點亮的效果,是第1種方法的2倍,但是經(jīng)編譯后的代碼,占用90Byte的存儲空間[3]。

表明在軟件開發(fā)過程中,采用合理的編程方法和算法結構,可以提高代碼的效率,節(jié)省單片機資源元件的存儲空間。

2 C51程序仿真與Proteus聯(lián)合調試技術

1)Proteus仿真調試

采用Proteus仿真時,分以下幾個個步驟進行:

①啟動Proteus仿真軟件

雙擊“isis”圖標,出現(xiàn)isis操作頁面。

②搭建單片機系統(tǒng)仿真電路

分“器件選取”、“器件放置”和“電路連接”三步進行操作。③創(chuàng)建和導入ASM源文件

進入菜單欄,選擇“Source”下“Add/Remove Source files…即彈出“Add/Remove Source Code Files”對話框。再點擊“New”按鍵,彈出“New Source Files”對話框,即可以創(chuàng)建(只在文件名欄目輸入一個文件名,后綴為ASM)或導入ASM源文件。確 定 后,“Add/Remove Source Code Files”對 話 框 中“Source Code Filename"欄目即有ASM源文件名及路徑,然后在“Code Generation Tool”欄目中選擇“ASEM51”,最后點擊“OK”按鍵,即完成了創(chuàng)建和導人ASM源文件。此后“Source”下即可以看到相應的ASM源文件。

④編譯ASM和導入HEX文件

編譯ASM文件的前提是已導人ASM文件,啟動編譯的方法有兩種:①進入菜單欄,選擇“Source"下“Build All”即彈出“BUILD LOG"提示框,提示編譯ASM文件的結果。②直接點擊器件放置和運行區(qū)下方的“運行”按鍵,若ASM文件內容有變化,即自動對其編譯,若問題即彈出“SOURCE CODE BUILD ERRORS”提示框,提示編譯ASM文件的結果。編譯ASM文件成功后即生成HEX文件,單片機導人HEX文件的方法是,打開單片機器件屬性對話框,在“Program Files"欄目里打開文件目錄,選擇裝入HEX文件即可。單片機此后按照該HEX文件的代碼運行程序[4-5]。

2)調試方法

進入菜單欄,選擇“Debug”下“Start/Resart Debugging”,即進入調試狀態(tài),此后可以進行單步運行、全速運行、斷點設置等功能操作。

3)Keil C uVision2與Proteus連接仿真調試

安裝Keil C uVision2軟件及vdmagdi程序

Keil的配置

①進入keil uVision2集成開發(fā)環(huán)境,創(chuàng)建一個新項目(Project),選定AT89C51單片機的CPU器件,并未該項目加入Keil C源程序(以上所編C語言程序)。

②單機“Projedt菜單/Option for Target”選項或者單擊工具欄的“Option for Target”,彈出窗口,點擊“Debug”按鈕,出現(xiàn)如圖2所示的頁面。

圖2 目標設置選項Fig.2 Goal setting options

在出現(xiàn)的對話框里在右欄上部的下拉菜單里選擇“Proteus VSM Simulator”。并且還要點擊一下“Use”前面表示選中的小圓點。

再點擊“Setting”按鈕,設置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一臺電腦,則需要在這里添上另一臺電腦的IP地址 (另一臺電腦也應安裝Proteus)。在“Port”后面添加“8000”。設置好的情形如圖3所示,點擊“OK”按鈕即可。最后將工程編譯,進入調試狀態(tài)并運行。

圖3 通信接口設置Fig.3 Communication interface settings

進入Proteus的ISIS。鼠標左鍵點擊菜單“Debug"。選中“use remote debuger monitor”,如圖4所示。此后,便可實現(xiàn)Keil C與Proteus連接調試[6]。

圖4 Proteus的設置Fig.4 Proteus settings

3 仿 真

單擊仿真運行開始按鈕,能清楚地觀察到每一個引腳的電平變化。淺色代表高電平,深色代表低電平。

在Proteus里的仿真結果如圖5所示。

圖5 Proteus仿真結果Fig.5 The simulation results of Proteus

4 結 論

單片機開發(fā)Keil C51與Proteus軟件的聯(lián)合仿真應用于單片機接口技術的課程教學,收到了良好的教學效果,教學質量得到明顯提高,學生對單片機學習興趣明顯增強。在教學過程中,每個實例都采用單片機開發(fā)Keil C51與Proteus[7-8]軟件聯(lián)合仿真、調試,學生可以直觀地看到電路輸出狀態(tài),比易讀懂并理解所調試的程序。這在一定程度上降低了學生學習單片機的難度,也提高了學生學習單片機的興趣。

[1]劉國光.任務驅動法在單片機教學中的應用[J].高等教育研究學報,2004(4):74-75.LIU Guo-guang.The application of task-driving method in the teaching of single-chip microcomputer[J].Journal of Higher Education Research,2004(4):74-75.

[2]全國電子專業(yè)人才考試教材編委會.單片機設計與開發(fā)[M].北京:科學出版社,2009.

[3]周國運.單片機原原理及應用(C語言版)[M].北京:中國水利電力出版社,2009.

[4]周靈彬,張靖武.PROTEUS的單片機教學與應用仿真[J].單片機與嵌入式系統(tǒng)應用,2008(1):76-79.ZHOU Ling-bin,ZHANG Jing-wu.MCU Teaching and application of simulation PROTEUS[J].Microcontrollers&Embedded Systems,2008(1):76-79.

[5]尹春雷.基于Proteus的《單片機機原理與應用》課程教學改革與實踐[C]//全國高等學校電子技術研究會論文集,2007:354-356.

[6]杜樹春.基于Proteus和Keil C51的單片機設計與仿真[M].北京:電子工業(yè)出版社,2012.

[7]王靜,徐斌,張凱,等.基于Proteus心血管測試儀前置放大端的研制[J].電子科技,2012,25(8):3-5.WANG Jing,XU Bin,ZHANG Kai,et al.Development of a proteus-based cardiovascular tester endpreamplifier[J].Electronic Science and Technology,2012,25(8):3-5.

[8]吳文忠.基于Proteus的自動撥號報警器仿真設計[J].現(xiàn)代電子技術,2011,34(10):55-58.WU Wen-zhong.Simulation design of an auto-dial annunciator based on Proteus[J].Modern Electronics Technique,2011,34(10):55-58.

猜你喜歡
對話框二極管流水
流水
文苑(2020年10期)2020-11-07 03:15:26
正?;謴吞摂M機
Bootlace Worms’Secret etc.
中學科技(2018年12期)2018-12-19 11:22:28
流水有心
天津詩人(2017年2期)2017-11-29 01:24:12
二極管及其典型應用電路仿真測試
電子制作(2016年19期)2016-08-24 07:49:58
前身寄予流水,幾世修到蓮花?
視野(2015年6期)2015-10-13 00:43:11
Diodes超速開關二極管提供超低漏電流
PIN二極管限幅器的電磁脈沖損傷特性試驗
有機發(fā)光二極管中三重態(tài)激子的單重態(tài)轉換
落紅只逐東流水
海峽姐妹(2014年5期)2014-02-27 15:09:38
烟台市| 盈江县| 抚宁县| 江华| 呼图壁县| 普兰县| 荥经县| 泽州县| 霍州市| 永丰县| 西城区| 陆河县| 剑川县| 油尖旺区| 荥阳市| 涟水县| 鞍山市| 牙克石市| 漳平市| 五大连池市| 莱芜市| 阿拉善右旗| 呼和浩特市| 杂多县| 武清区| 西畴县| 来凤县| 伊川县| 中宁县| 宝清县| 洛川县| 海兴县| 兰溪市| 罗定市| 凤冈县| 山西省| 建平县| 张家口市| 陈巴尔虎旗| 北安市| 崇礼县|