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

        ?

        基于Proteus 的單片機(jī)I/O 端口教學(xué)改革與實(shí)踐*

        2022-08-04 07:48:56李紅波張曉娟孔令云
        科技與創(chuàng)新 2022年15期
        關(guān)鍵詞:存器三態(tài)電平

        李紅波,張曉娟,孔令云,李 盛

        (西京學(xué)院理學(xué)院,陜西 西安710123)

        I/O 端口是單片機(jī)最為常用的簡單外設(shè)[1],學(xué)好教好I/O 端口內(nèi)容具有重要意義。因?yàn)閷?duì)初學(xué)單片機(jī)的學(xué)生來說,I/O 端口內(nèi)容是單片機(jī)課程的入門首選,更是通向微控制領(lǐng)域的必經(jīng)之路。另外,單片機(jī)的高度封裝和集成,其不透明性給學(xué)生理解帶來了障礙,同時(shí)在單片機(jī)課程講述中,往往是通過框圖的形式體現(xiàn)內(nèi)部電路組成和結(jié)構(gòu)原理[2],學(xué)生難以明白I/O 端口編程控制原理和電路信號(hào)細(xì)節(jié),對(duì)深入理解I/O 端口工作原理、理清程序和電路關(guān)系、探究程序控制邏輯電平的實(shí)質(zhì)和正確使用外設(shè)部件造成了阻礙。

        Proteus 軟件具有“單片機(jī)仿真軟件”和“虛擬實(shí)驗(yàn)室”的美稱[3-4],它提供有豐富的電子元器件和調(diào)試儀器,可以通過搭建單片機(jī)仿真電路,并借助豐富的工具,探究單片機(jī)運(yùn)行原理和信號(hào)跟蹤,是目前單片機(jī)課程教學(xué)中常用的軟件之一。眾多高校通過Proteus虛擬教學(xué)改革或虛實(shí)結(jié)合的Proteus 教學(xué)實(shí)踐[4]探索創(chuàng)新,取得了積極的效果[5]。為了使得學(xué)生深入認(rèn)知I/O端口工作原理,探究I/O 口輸出電平的實(shí)質(zhì),文中設(shè)計(jì)了片外I/O 端口電路及程序,跟蹤程序運(yùn)行,仿真和觀測(cè)電路細(xì)節(jié),揭開信號(hào)控制的秘密,詳細(xì)明確了程序執(zhí)行過程與電平的轉(zhuǎn)變過程,為理解芯片的可編程方法提供了設(shè)計(jì)思路,為理解單片機(jī)的I/O 端口軟件控制奠定了基礎(chǔ),提升了教學(xué)效果。

        1 I/O 端口電路設(shè)計(jì)

        I/O 端口是由總線接口邏輯、端口鎖存器和端口驅(qū)動(dòng)電路組成的,如圖1 所示。

        圖1 I/O 端口框圖

        CPU 通過三總線接口對(duì)其進(jìn)行訪問。CPU 和I/O端口部件按照總線要求和地址編號(hào)進(jìn)行相連,CPU 的AB 總線和CB 總線連接端口的總線接口邏輯,CPU 的DB 總線連接端口的鎖存器數(shù)據(jù)口,數(shù)據(jù)總線寬度一般為8 位的整數(shù)倍。CPU 對(duì)端口的訪問實(shí)質(zhì)上是對(duì)端口鎖存器進(jìn)行尋址讀寫訪問的。

        1.1 總線接口邏輯設(shè)計(jì)

        為了模擬按位尋址和并行尋址,設(shè)計(jì)了可按位按端口進(jìn)行訪問的總線邏輯接口,如圖2 所示。地址線對(duì)應(yīng)連接A0~A2,并由74HC138 譯碼器和三輸入或門OR_3 產(chǎn)生端口基地址片選CS_ALL 和端口位選信號(hào)CS0~CS7,兩者片選信號(hào)通過AORB 二選一選擇器切換。當(dāng)A0~A2 為X:000 時(shí),OR_3 或門輸出CS_ALL=0,AORB 選擇器輸出Q0=1,致使所有端位的讀寫控制與門AND_2 都被有效,此時(shí)全部端口位皆可訪問。當(dāng)A0~A2 非X:000 時(shí)(X:001~X:111),OR_3 或門輸出CS_ALL=1,AORB 選擇器輸出Q0=B0,而B0 受74HC138 譯碼器輸出CSx 控制,此時(shí)CSx=0的端口位可被訪問,其余被禁止訪問。所以,地址X:000是并行端口基地址,各B0~B7 位地址分別是X:000~X:111。另外,WR 線連W,RD 線連R,位選信號(hào)通過讀寫與門與W 和R 信號(hào)相與作為數(shù)據(jù)端口的最終位選信號(hào)。

        1.2 端口功能設(shè)計(jì)

        該端口功能只提供有輸入/輸出數(shù)據(jù)的能力。為了使得輸出的數(shù)據(jù)得以穩(wěn)定保持,通過數(shù)據(jù)鎖存器進(jìn)行有條件輸出。同時(shí),為了兼顧輸入的三態(tài)功能,采用三態(tài)門進(jìn)行控制輸入,如圖2 中的I/O 端口電路所示。該端口電路包括1 個(gè)鎖存器、2 個(gè)三態(tài)門、1 個(gè)電子開關(guān)及1 個(gè)上拉電阻。鎖存器提供有開鎖CL 信號(hào),用于對(duì)數(shù)據(jù)進(jìn)行輸出鎖存,確保數(shù)據(jù)的可靠穩(wěn)定,數(shù)據(jù)從/Q端輸出。三態(tài)門有3 種工作狀態(tài):導(dǎo)通高態(tài)、導(dǎo)通低態(tài)和高阻態(tài)。當(dāng)控制端有效時(shí),三態(tài)門導(dǎo)通,否則斷開。三態(tài)門主要用來提供數(shù)據(jù)輸入。內(nèi)部數(shù)據(jù)總線連接在鎖存器的D 端,內(nèi)部控制信號(hào)連接在CL 端,內(nèi)部地址信號(hào)通過地址總線連接在I/O 口的片選信號(hào)上。

        1.3 I/O 驅(qū)動(dòng)電路設(shè)計(jì)

        以MCS-51 單片機(jī)的通用雙向I/O 端口為例,I/O端口共8 位,每端口位都具有同樣的I/O 口電路結(jié)構(gòu),如圖2 驅(qū)動(dòng)電路所示,電子開關(guān)T 和上拉電阻R 用于輸入輸出的電平轉(zhuǎn)換。當(dāng)T 控制端高有效時(shí),開關(guān)閉合和地相接;低無效時(shí),開關(guān)斷開。利用MOS 管進(jìn)行輸出設(shè)計(jì),可以增大下拉電流,上拉通過電阻,使得拉電流較小。

        圖2 I/O 端口電路圖

        2 I/O 端口仿真實(shí)驗(yàn)

        2.1 搭建系統(tǒng)仿真電路

        以MCS-51 單片機(jī)為例,通過Proteus 建立單片機(jī)片外總線最小仿真系統(tǒng)電路,利用74HC373 地址鎖存芯片擴(kuò)展單片機(jī)片外總線,并與I/O 端口電路連接,然后在關(guān)鍵點(diǎn)添加信號(hào)電氣斷點(diǎn)RTDBREAK(DBT1~DBT4)和邏輯狀態(tài)探針LOGICPROBE 工具,以實(shí)時(shí)跟蹤獲知指令的執(zhí)行過程、指令數(shù)據(jù)以及I/O 口電平的變化。

        2.2 編寫仿真用程序

        在Keil uVision 環(huán)境下編寫MCS-51 單片機(jī)C51程序,以實(shí)施對(duì)端口讀寫操作,并通過調(diào)試察看匯編代碼功能,把其匯編代碼記錄下來。

        /////////////////////////C 語言程序///////////////////

        volatile char xdata LED_Data_at_0x00;//定義輸出地址

        void main(void)

        {

        while(1)

        {

        LED_Data=0x81; //(1)輸出0x81

        P1=LED_Data; //(2)輸入到P1

        LED_Data=0x00; //(3)輸出0x00

        P1=LED_Data; //(4)輸入到P1

        }

        }

        /////////////////////////匯編語言程序////////////////////

        main:

        MOV DPTR,#LED_Data(0x0000)//(DPTR)=0x0

        MOV A,#0x81 //(A)=0x81

        MOVX @DPTR,A //輸出0x81

        MOVX A,@DPTR //讀取

        MOV P1(0x90),A

        CLR A //(A)=0x00

        MOVX @DPTR,A //輸出0x00

        MOVX A,@DPTR //讀取

        MOV P1(0x90),A

        SJMP main

        //////////////////////////////////////////////////////////////////

        上述C 語言程序?qū)崿F(xiàn)了對(duì)外部8 位端口地址X:00進(jìn)行讀寫訪問的例子。語句(1)和(3)用于對(duì)端口寫操作賦值,語句(2)和(4)用于對(duì)端口進(jìn)行讀操作,并把讀得的數(shù)據(jù)賦值給P1 口輸出。從匯編代碼來看,主要采用MOV(片內(nèi)尋址)或MOVX(片外尋址)指令進(jìn)行數(shù)據(jù)操作。當(dāng)要輸出數(shù)據(jù)時(shí),DPTR 寄存器被賦值為目標(biāo)地址,A 寄存器被賦值為輸出數(shù)據(jù),利用MOVX@DPTR,A 指令進(jìn)行寫操作,以實(shí)現(xiàn)對(duì)端口的寫賦值;當(dāng)要輸入數(shù)據(jù)時(shí),通過MOVX A,@DPTR指令對(duì)端口引腳進(jìn)行讀操作,之后利用MOV P1,A 指令進(jìn)行數(shù)據(jù)輸出到P1 口。

        2.3 仿真跟蹤

        把HEX 程序加載到虛擬單片機(jī)中,啟動(dòng)Proteus虛擬調(diào)試環(huán)境。進(jìn)入調(diào)試環(huán)境后,連續(xù)執(zhí)行指令,當(dāng)遇到DBT 斷點(diǎn)時(shí),就會(huì)停止運(yùn)行,此時(shí)電路關(guān)鍵點(diǎn)邏輯電平信息可從邏輯狀態(tài)探針LOGICPROBE 中獲得。其中DBT1 和DBT4 斷點(diǎn)分別設(shè)置在WR 寫信號(hào)的低有效和高有效時(shí)刻,DBT2 和DBT3 斷點(diǎn)分別設(shè)置在RD 讀信號(hào)的低有效和高有效時(shí)刻。這樣設(shè)置可以有效跟蹤MOVX 指令的執(zhí)行過程,以監(jiān)控I/O 端口信號(hào)狀態(tài)變化的前后過程,有助于探明數(shù)據(jù)輸出細(xì)節(jié)。

        2.3.1 輸出電平

        輸入輸出狀態(tài)如圖3 所示。

        從輸出前的圖3(a)知,此時(shí)刻地址A0~A2=X:000,數(shù)據(jù)D[0..7]=10000001 B,讀寫與門皆開啟,已準(zhǔn)備好了輸出,就等WR 變高輸出。

        從輸出后的圖3(b)圖知,鎖存器數(shù)據(jù)在CLK 高跳沿時(shí),D 信號(hào)被鎖存到Q 端,同時(shí)/Q 端為0 電平,經(jīng)驅(qū)動(dòng)電路反相后,GPIO.0 和GPIO.7 由輸出前0 電平轉(zhuǎn)變?yōu)? 電平了,成功實(shí)現(xiàn)了數(shù)據(jù)D 到GPIO 的輸出控制。

        2.3.2 輸入電平

        從輸入前的圖3(c)知,此時(shí)刻地址A0~A2=X:000,數(shù)據(jù)D[0..7]=11111111 B,讀寫與門皆開啟,已準(zhǔn)備好了輸入,就等RD 變高輸入。

        從輸出后的圖3(d)知,在R[0..7]高跳沿時(shí),三態(tài)緩沖門開啟,引腳數(shù)據(jù)GPIO.0 和GPIO.7 信號(hào)被傳送到數(shù)據(jù)總線D[0..7]上,D[0..7]由輸入前的11111111 B轉(zhuǎn)變?yōu)?1111110 B,成功實(shí)現(xiàn)了引腳數(shù)據(jù)到數(shù)據(jù)總線的輸入獲取。

        圖3 輸入輸出狀態(tài)

        3 總結(jié)

        從實(shí)驗(yàn)過程和結(jié)果來看,采用單片機(jī)片外總線接口的I/O 端口電路較好地反映出單片機(jī)I/O 端口的結(jié)構(gòu)原理、工作過程和電路信號(hào)傳輸轉(zhuǎn)變細(xì)節(jié)。通過I/O端口電路設(shè)計(jì)和信號(hào)跟蹤實(shí)驗(yàn),消除了由于封裝造成的單片機(jī)不透明性給學(xué)生帶來的疑惑,為學(xué)生理解單片機(jī)的總線工作機(jī)制、端口輸入輸出數(shù)據(jù)、信號(hào)產(chǎn)生和外設(shè)控制等方面奠定了基礎(chǔ),而且補(bǔ)充完善了課程內(nèi)容,為單片機(jī)外設(shè)電路設(shè)計(jì)提供了參考。

        猜你喜歡
        存器三態(tài)電平
        低面積與低延遲開銷的三節(jié)點(diǎn)翻轉(zhuǎn)容忍鎖存器設(shè)計(jì)
        一種低成本的四節(jié)點(diǎn)翻轉(zhuǎn)自恢復(fù)鎖存器設(shè)計(jì)
        一種低功耗的容軟錯(cuò)誤鎖存器設(shè)計(jì)
        直線上空間非齊次三態(tài)量子游蕩的平穩(wěn)測(cè)度
        群文閱讀理念支撐下的課堂形態(tài)
        心律失常有“三態(tài)” 自我監(jiān)測(cè)要“三看”
        中老年健康(2016年5期)2016-06-13 01:54:49
        NPC五電平Z源逆變器的設(shè)計(jì)研究
        基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實(shí)踐
        基于NPC三電平變換器的STATCOM研究
        基于FPGA的三態(tài)總線設(shè)計(jì)
        日韩中文字幕版区一区二区三区| 国产自产c区| 男人的天堂av一二三区| 国产人妖在线视频网站| 久久无码字幕中文久久无码| 亚洲午夜福利在线观看| 九九九影院| 精品亚洲av一区二区| 4455永久免费视频| 丰满老熟妇好大bbbbb| 亚洲女同成av人片在线观看| 国产一区二区三区在线影院| 人妻av中文字幕久久| 亚洲视频免费一区二区| 极品嫩模高潮叫床| 999国产一区在线观看| 日本国主产一区二区三区在线观看| 国产一区二区视频在线看| 在线精品亚洲一区二区动态图| 97久久精品午夜一区二区| 久久亚洲国产欧洲精品一| 精品视频手机在线免费观看| 国产98色在线 | 国产| 国产偷国产偷亚洲清高| 国产免费的视频一区二区| 永久免费视频网站在线| 人妻丰满熟妇av无码区hd | 久久精品国产成人午夜福利| 中文字幕精品亚洲字幕| 中文字幕肉感巨大的乳专区| 91综合在线| 少妇特殊按摩高潮对白| 亚洲三区在线观看内射后入| 亚洲av无码成人精品区在线观看| 国产亚洲无码1024| 精品国内日本一区二区| 男女爽爽无遮挡午夜视频| 麻豆密入视频在线观看| 国产丝袜爆操在线观看| 日产亚洲一区二区三区| 无码不卡免费一级毛片视频|