• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      單片機開發(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),通過壓力求解器求解計算內(nèi)流體模型的內(nè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)合調(diào)試技術

      1)Proteus仿真調(diào)試

      采用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)或?qū)階SM源文件。確 定 后,“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文件內(nèi)容有變化,即自動對其編譯,若問題即彈出“SOURCE CODE BUILD ERRORS”提示框,提示編譯ASM文件的結果。編譯ASM文件成功后即生成HEX文件,單片機導人HEX文件的方法是,打開單片機器件屬性對話框,在“Program Files"欄目里打開文件目錄,選擇裝入HEX文件即可。單片機此后按照該HEX文件的代碼運行程序[4-5]。

      2)調(diào)試方法

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

      3)Keil C uVision2與Proteus連接仿真調(diào)試

      安裝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”按鈕即可。最后將工程編譯,進入調(diào)試狀態(tài)并運行。

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

      進入Proteus的ISIS。鼠標左鍵點擊菜單“Debug"。選中“use remote debuger monitor”,如圖4所示。此后,便可實現(xiàn)Keil C與Proteus連接調(diào)試[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)合仿真應用于單片機接口技術的課程教學,收到了良好的教學效果,教學質(zhì)量得到明顯提高,學生對單片機學習興趣明顯增強。在教學過程中,每個實例都采用單片機開發(fā)Keil C51與Proteus[7-8]軟件聯(lián)合仿真、調(diào)試,學生可以直觀地看到電路輸出狀態(tài),比易讀懂并理解所調(diào)試的程序。這在一定程度上降低了學生學習單片機的難度,也提高了學生學習單片機的興趣。

      [1]劉國光.任務驅(qū)動法在單片機教學中的應用[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
      正常恢復虛擬機
      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)轉(zhuǎn)換
      落紅只逐東流水
      海峽姐妹(2014年5期)2014-02-27 15:09:38
      肃南| 大方县| 铁力市| 盱眙县| 镇安县| 四平市| 大名县| 将乐县| 黎平县| 侯马市| 铜山县| 安阳市| 左云县| 通州市| 苍山县| 贞丰县| 车险| 新闻| 金华市| 德州市| 富源县| 贺州市| 泸西县| 城固县| 韩城市| 洛隆县| 边坝县| 合阳县| 虞城县| 华容县| 高平市| 开平市| 深水埗区| 宁陕县| 濮阳市| 连山| 分宜县| 义乌市| 集贤县| 长岭县| 聂荣县|