999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Proteus 的單片機I/O 端口教學改革與實踐*

2022-08-04 07:48:56李紅波張曉娟孔令云
科技與創新 2022年15期
關鍵詞:單片機信號

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

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

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

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

1 I/O 端口電路設計

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

圖1 I/O 端口框圖

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

1.1 總線接口邏輯設計

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

1.2 端口功能設計

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

1.3 I/O 驅動電路設計

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

圖2 I/O 端口電路圖

2 I/O 端口仿真實驗

2.1 搭建系統仿真電路

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

2.2 編寫仿真用程序

在Keil uVision 環境下編寫MCS-51 單片機C51程序,以實施對端口讀寫操作,并通過調試察看匯編代碼功能,把其匯編代碼記錄下來。

/////////////////////////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 語言程序實現了對外部8 位端口地址X:00進行讀寫訪問的例子。語句(1)和(3)用于對端口寫操作賦值,語句(2)和(4)用于對端口進行讀操作,并把讀得的數據賦值給P1 口輸出。從匯編代碼來看,主要采用MOV(片內尋址)或MOVX(片外尋址)指令進行數據操作。當要輸出數據時,DPTR 寄存器被賦值為目標地址,A 寄存器被賦值為輸出數據,利用MOVX@DPTR,A 指令進行寫操作,以實現對端口的寫賦值;當要輸入數據時,通過MOVX A,@DPTR指令對端口引腳進行讀操作,之后利用MOV P1,A 指令進行數據輸出到P1 口。

2.3 仿真跟蹤

把HEX 程序加載到虛擬單片機中,啟動Proteus虛擬調試環境。進入調試環境后,連續執行指令,當遇到DBT 斷點時,就會停止運行,此時電路關鍵點邏輯電平信息可從邏輯狀態探針LOGICPROBE 中獲得。其中DBT1 和DBT4 斷點分別設置在WR 寫信號的低有效和高有效時刻,DBT2 和DBT3 斷點分別設置在RD 讀信號的低有效和高有效時刻。這樣設置可以有效跟蹤MOVX 指令的執行過程,以監控I/O 端口信號狀態變化的前后過程,有助于探明數據輸出細節。

2.3.1 輸出電平

輸入輸出狀態如圖3 所示。

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

從輸出后的圖3(b)圖知,鎖存器數據在CLK 高跳沿時,D 信號被鎖存到Q 端,同時/Q 端為0 電平,經驅動電路反相后,GPIO.0 和GPIO.7 由輸出前0 電平轉變為1 電平了,成功實現了數據D 到GPIO 的輸出控制。

2.3.2 輸入電平

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

從輸出后的圖3(d)知,在R[0..7]高跳沿時,三態緩沖門開啟,引腳數據GPIO.0 和GPIO.7 信號被傳送到數據總線D[0..7]上,D[0..7]由輸入前的11111111 B轉變為01111110 B,成功實現了引腳數據到數據總線的輸入獲取。

圖3 輸入輸出狀態

3 總結

從實驗過程和結果來看,采用單片機片外總線接口的I/O 端口電路較好地反映出單片機I/O 端口的結構原理、工作過程和電路信號傳輸轉變細節。通過I/O端口電路設計和信號跟蹤實驗,消除了由于封裝造成的單片機不透明性給學生帶來的疑惑,為學生理解單片機的總線工作機制、端口輸入輸出數據、信號產生和外設控制等方面奠定了基礎,而且補充完善了課程內容,為單片機外設電路設計提供了參考。

猜你喜歡
單片機信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
孩子停止長個的信號
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 激情国产精品一区| 青青草原国产av福利网站| 亚洲国产天堂久久综合226114| 99re热精品视频中文字幕不卡| 国产日韩欧美精品区性色| 精品久久人人爽人人玩人人妻| 国产精品19p| 亚洲最猛黑人xxxx黑人猛交| 久久夜夜视频| 色综合网址| 热这里只有精品国产热门精品| 久久国产成人精品国产成人亚洲 | 在线观看91香蕉国产免费| av无码久久精品| 久久综合九色综合97网| 毛片三级在线观看| 欧洲亚洲一区| 亚洲乱码视频| 制服丝袜一区| 亚洲日韩久久综合中文字幕| 久久精品只有这里有| 麻豆国产在线不卡一区二区| 青青国产成人免费精品视频| AV网站中文| 人妻精品久久无码区| 免费在线成人网| 不卡网亚洲无码| 伊人久久久大香线蕉综合直播| 亚洲天堂2014| 99无码中文字幕视频| 国产靠逼视频| 国产色爱av资源综合区| 伊人久久精品无码麻豆精品| 亚洲无卡视频| 人妻丰满熟妇αv无码| 久久夜色精品国产嚕嚕亚洲av| 国禁国产you女视频网站| 国产主播在线一区| 国产经典三级在线| 在线无码九区| 成人夜夜嗨| 呦系列视频一区二区三区| 国产女人喷水视频| 国产区精品高清在线观看| 免费观看精品视频999| 九九热视频精品在线| 欧美成人精品在线| 亚洲精品高清视频| 在线播放国产一区| 亚洲欧美日韩精品专区| 亚洲第一福利视频导航| 国产高清不卡| 伊人久久久久久久久久| 真人高潮娇喘嗯啊在线观看| 国产精品视频第一专区| 欧美无遮挡国产欧美另类| 日韩精品中文字幕一区三区| 亚洲欧美日韩中文字幕一区二区三区| 亚洲乱伦视频| 日韩不卡高清视频| 欧美日韩午夜| 久久国产精品麻豆系列| aⅴ免费在线观看| 亚洲人成在线精品| 欧美激情福利| 国产精品人莉莉成在线播放| 精品免费在线视频| 国产午夜看片| 国产精品自拍露脸视频 | 欧美日韩免费| 国产91久久久久久| 亚洲啪啪网| 波多野结衣一区二区三区AV| 中文字幕欧美成人免费| 国产真实乱子伦视频播放| 色播五月婷婷| 日韩天堂视频| 精品视频一区二区观看| 97视频在线观看免费视频| 视频二区中文无码| 在线观看无码a∨| 内射人妻无套中出无码|