亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        PROTEUS在單片機(jī)教學(xué)中的應(yīng)用

        2012-12-17 10:48:46惠州工業(yè)科技學(xué)校周彩云
        電子世界 2012年15期
        關(guān)鍵詞:數(shù)碼管個(gè)位子程序

        惠州工業(yè)科技學(xué)校 周彩云

        單片機(jī)是電氣信息類專業(yè)一門重要的專業(yè)課,實(shí)踐性非常強(qiáng),又非常抽象,學(xué)生普遍反映比較難學(xué)。通常,要做一次課堂演示實(shí)驗(yàn)要準(zhǔn)備計(jì)算機(jī)、仿真器或編程器、電源和實(shí)驗(yàn)電路板等設(shè)備。如果用仿真器做實(shí)驗(yàn),稍有不慎,仿真頭就可能從實(shí)驗(yàn)電路板中脫落而造成錯(cuò)誤,甚至損壞設(shè)備。如果用編程器寫芯片的方法來驗(yàn)證實(shí)驗(yàn)結(jié)果,那么就得多次在實(shí)驗(yàn)板與編程器之間拔、插芯片,很麻煩,效率低。即使勉強(qiáng)做,由于實(shí)驗(yàn)電路板上的器件較小,學(xué)生很難看清現(xiàn)象,教學(xué)效果不佳。伴隨著計(jì)算機(jī)軟件技術(shù)的飛速發(fā)展,出現(xiàn)了大量的軟件仿真工具,本文介紹的Proteus軟件可以在計(jì)算機(jī)上進(jìn)行單片機(jī)及其外圍器件的模擬仿真。

        一、Proteus簡(jiǎn)介

        Proteus是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。它是目前最好的仿真單片機(jī)及外圍器件的工具。該軟件的特點(diǎn)是:

        圖1 Proteus的工作界面

        圖2 4位時(shí)鐘電路原理圖

        圖3 選擇代碼生成工具

        1.實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。

        2.支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。

        3.提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2、MPLAB等軟件。

        圖4 4位時(shí)鐘的流程圖

        4.具有強(qiáng)大的原理圖繪制功能。

        二、Proteus仿真使用

        下面以AT89S51為控制芯片的4位時(shí)鐘為例,介紹怎樣利用PROTEUS軟件實(shí)現(xiàn)電路的硬件設(shè)計(jì)、軟件調(diào)試與系統(tǒng)仿真、實(shí)現(xiàn)單片機(jī)電路的功能要求,完成對(duì)控制方案的驗(yàn)證。在單片機(jī)教學(xué)中利用以上過程可以讓學(xué)生方便地進(jìn)行電路與程序調(diào)試,發(fā)現(xiàn)程序和電路設(shè)計(jì)中遇到的問題,引起學(xué)生的思考,進(jìn)而掌握解決這些問題的思路和方法,克服了老師反復(fù)講解和演示弊端,實(shí)現(xiàn)了單片機(jī)的一體化教學(xué)。

        1.電路原理圖設(shè)計(jì)。運(yùn)行Proteus軟件進(jìn)入其編輯環(huán)境,主界面如圖1所示。

        點(diǎn)擊對(duì)象選擇區(qū)的P命令即彈出元器件選擇(Pick Devices)對(duì)話框,調(diào)入所需元件仿真庫。將電路中的所用到的元件從元器件庫中調(diào)出來,放到繪圖區(qū)并編輯其屬性,接著進(jìn)行合理的布局后,就可以進(jìn)行連接了。與用Protel軟件繪制原理圖類似,Proteus軟件也具有自動(dòng)捕捉節(jié)點(diǎn)和自動(dòng)布線的功能,連線時(shí)當(dāng)標(biāo)的指針靠近一個(gè)對(duì)象的引腳時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)紅色小框,點(diǎn)擊鼠標(biāo)左鍵就可畫線了,需要拐彎時(shí)點(diǎn)擊一下即可,在終點(diǎn)再點(diǎn)擊確認(rèn)一下就畫出了一段導(dǎo)線,所有導(dǎo)線畫完后,再點(diǎn)擊工具欄的按鈕,即可出現(xiàn)可用的終端。在對(duì)象選擇器中的對(duì)象列表中,單擊POWER,在預(yù)覽窗口出現(xiàn)電源符號(hào),在需要放置電源的地方單擊,即可放置電源符號(hào)。放置接地符號(hào)(地線)的方法與放置電源類似,在對(duì)象選擇列表中單擊GROUND,然后在需要接地符號(hào)的地方單擊,就可以了。添加完必要的電源和接地符號(hào),原理圖的繪制就完成了,4位時(shí)鐘電路原理圖如圖2所示。

        圖5 4位時(shí)鐘軟件仿真效果

        2.軟件編程。程序的流程如圖3所示,具體完成程序及生成代碼的方法如下:

        通過菜單點(diǎn)擊“源代碼→添加/刪除源文件”,彈出對(duì)話框,如圖3所示。

        在“代碼生成工具”的下拉菜單中選擇代碼生成工具ASEM51,然后點(diǎn)擊“新建”按鈕,彈出選擇文件對(duì)話框,輸入4位時(shí)鐘程序的文件名保存并打開文件即可在PROTEUS提供的文體編程器中編輯源程序。

        程序編好后保存,再通過菜單“源代碼→全部編譯”編譯匯編源程序,生成目標(biāo)代碼文件。若編譯失敗,可對(duì)程序進(jìn)行修改調(diào)試直至編譯匯編成功,生成:4位時(shí)鐘.Hex文件。

        完整的4位時(shí)鐘程序如下(流程圖見圖4):

        ORG 0000H

        LJMP START

        ORG 0030H

        START:MOV 40H,#00H ;軟件計(jì)數(shù)器清零

        MOV 41H,#0F7H ;位選地址存儲(chǔ)單元

        MOV 42H,#50H ;數(shù)碼管顯存單元首地址

        MOV 50H,#00H ;顯示單元,秒個(gè)位

        MOV 51H,#00H ;顯示單元,秒十位

        MOV 52H,#00H ;顯示單元,分個(gè)位

        MOV 53H,#00H ;顯示單元,分十位

        MOV TMOD,#01H ;設(shè)置定時(shí)器T0工作在方式1

        MOV TH0,#0ECH ;設(shè)定5ms初值

        MOV TL0,#78H

        SETB TR0 ;啟動(dòng)定時(shí)/計(jì)數(shù)器T0

        MAIN:JNB TF0,$ ;不斷查詢T0有無溢出

        MOV TH0,#0ECH ;重新置初值

        MOV TL0,#78H

        CLR TF0 ;溢出標(biāo)志位清零

        ;;;;;;;;;;5ms定時(shí)時(shí)間到,執(zhí)行相應(yīng)的服務(wù)程序;;;;;;;;;;

        MOV P2,#0FFH ;關(guān)數(shù)碼管顯示,軟件仿真的使用,實(shí)際可省略

        LCALL DISP ;每5ms調(diào)用1次數(shù)碼管顯示子程序

        INC 40H ;軟件計(jì)數(shù)器加1

        MOV A,40H

        CJNE A,#200,MAIN ;判斷是否到200次,即1S,5ms*200次=1秒

        MOV 40H,#00H ;軟件計(jì)數(shù)器清零

        LCALL TIME ;分秒加1計(jì)時(shí)子程序

        LJMP MAIN

        ;;;;分秒加1計(jì)時(shí)子程序;;;;;

        TIME:INC 50H ;秒個(gè)位加1

        MOV A,50H

        CJNE A,#10,TIME1 ;判斷秒個(gè)位是否等于10

        MOV 50H,#00H ;秒個(gè)位等于10,將秒個(gè)位清零

        INC 51H ;秒十位加1

        MOV A,51H

        CJNE A,#6,TIME1 ;判斷秒十位是否等于6

        MOV 51H,#00H ;秒十位等于6,將秒十位清零

        INC 52H ;分個(gè)位加1

        MOV A,52H

        CJNE A,#10,TIME1 ;判斷分個(gè)位是否等于10

        MOV 52H,#00H ;分個(gè)位等于10,將分個(gè)位清零

        INC 53H ;分十位加1

        MOV A,53H

        CJNE A,#6,TIME1 ;判斷分十位是否等于6

        MOV 53H,#00H ;分十位等于6,將分十位清零

        TIME1:RET

        ;;;;;顯示子程序;;;;;

        DISP:MOV R0,42H ;數(shù)碼管顯示位送到R0

        MOV A,@R0 ;將顯示單元的數(shù)據(jù)送到A

        MOV DPTR,#TAB ;將表地址送到DPTR

        MOVC A,@A+DPTR ;查表

        MOV P0,A ;數(shù)據(jù)送到P0顯示

        MOV A,41H ;將位選地址送到累加器A

        MOV P2,A ;將位選數(shù)據(jù)送到P2

        CJNE A,#0FEH, DISP1 ;判斷是否選到最后一位數(shù)碼管

        MOV 41H,#0F7H ;是,則重新設(shè)置選擇第一位數(shù)碼管

        MOV 42H,#50H ;重新設(shè)置顯示單元為秒個(gè)位

        JMP DISP2 DISP1:RR A ;沒到最后一位數(shù)碼管,則右移選擇下一位數(shù)碼管

        MOV 41H,A ;移位后重新送到位選地址寄存單元

        INC 42H ;顯示單元加1

        DISP2:RET

        TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H ;顯示數(shù)字0-5的數(shù)據(jù)

        DB 82H,0F8H,80H,90H

        ;顯示數(shù)字6~9的數(shù)據(jù)

        END

        3.系統(tǒng)仿真

        運(yùn)行Proteus軟件,打開之前所畫電路圖“4dpy.dsn”文件。雙擊AT89S51芯片,將生成的“4位時(shí)鐘.hex”文件打開,按確定后返回Proteus軟件界面。

        三、結(jié)束語

        通過以上實(shí)例的仿真過程,可以看出利用PROTEUS虛擬實(shí)驗(yàn)環(huán)境,克服了硬件平臺(tái)的束縛,很好的解決學(xué)生理論與實(shí)踐脫節(jié)的矛盾。在模擬實(shí)驗(yàn)中做實(shí)驗(yàn),可以將大量教學(xué)信息直接地表現(xiàn)出來,調(diào)動(dòng)了學(xué)生的學(xué)習(xí)積極性和主動(dòng)性,極大地提高了單片機(jī)實(shí)驗(yàn)的教學(xué)效果。

        猜你喜歡
        數(shù)碼管個(gè)位子程序
        Arduino編程
        電腦報(bào)(2019年2期)2019-09-10 07:22:44
        MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
        個(gè)位與十位的故事
        個(gè)位與十位的故事
        單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
        基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        個(gè)位與十位的故事
        學(xué)習(xí)100以內(nèi)的數(shù)三要點(diǎn)
        淺談子程序在數(shù)控車編程中的應(yīng)用
        子程序在數(shù)控車加工槽中的應(yīng)用探索
        亚洲狼人社区av在线观看| 波多野结衣爽到高潮大喷| 久久国产劲暴∨内射| 日韩我不卡| 国产亚洲一区二区三区三州| 性生大片免费观看性少妇| 先锋五月婷婷丁香草草| 精品一品国产午夜福利视频| 国产精品欧美成人片| 日本人妻系列中文字幕| 吃奶呻吟打开双腿做受视频| 韩国三级中文字幕hd久久精品| 3亚洲日韩在线精品区| 女同恋性吃奶舌吻完整版| 少妇粉嫩小泬喷水视频| 久久人妻公开中文字幕| 视频一区视频二区亚洲免费观看| 成年人一区二区三区在线观看视频| 国产精品嫩草99av在线| 欧美日韩在线观看免费| 青青自拍视频成人免费观看| 神马影院日本一区二区| 亚洲中文字幕久在线| 亚洲AV秘 片一区二区三| 亚洲伊人av综合福利| 26uuu在线亚洲欧美| 秋霞午夜无码鲁丝片午夜精品| 亚洲欧美日韩高清一区二区三区 | 亚洲日韩国产精品第一页一区| 中国女人a毛片免费全部播放| 在线观看在线观看一区二区三区| 人妻中文字幕无码系列| 欧美aⅴ在线| 蜜臀久久久精品国产亚洲av| 国产欧美日韩一区二区加勒比| 欧美粗大无套gay| 91精品国产综合久久青草| 亚洲一区二区三区四区地址| av一区二区三区人妻少妇| 国产精品av在线一区二区三区| 国产内射一级一片内射高清视频1|