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控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 手机在线看片不卡中文字幕| 久久网欧美| 久久人搡人人玩人妻精品一| 中文字幕在线观看日本| 国产精品美女在线| 国产经典在线观看一区| 日韩无码白| 亚洲水蜜桃久久综合网站| 啦啦啦网站在线观看a毛片 | 欧美午夜视频| 亚洲国产日韩在线观看| 亚洲伦理一区二区| 99热国产在线精品99| 亚洲久悠悠色悠在线播放| 色色中文字幕| 国产欧美视频综合二区| 丝袜亚洲综合| 欧美三級片黃色三級片黃色1| 日韩精品视频久久| 欧美在线伊人| www精品久久| 色网站在线视频| 1024你懂的国产精品| 97se亚洲综合在线韩国专区福利| jizz在线观看| 亚洲乱码视频| 欧美国产菊爆免费观看| 国产91蝌蚪窝| 老司机久久99久久精品播放| 91啪在线| 亚洲二三区| 国产自在自线午夜精品视频| 国产精品综合色区在线观看| 91精品人妻互换| aⅴ免费在线观看| 亚洲午夜18| 国产小视频在线高清播放| 国产网站免费看| 激情综合网址| 国产男女XX00免费观看| 日韩在线1| 伊人丁香五月天久久综合| 99久久国产综合精品女同| 久久综合结合久久狠狠狠97色| 免费一级毛片在线播放傲雪网| 成人精品区| 亚洲福利片无码最新在线播放| 亚洲视频免费在线看| 亚洲一级毛片免费看| 伊人成人在线视频| 特级精品毛片免费观看| 国产青青草视频| 亚洲一级毛片免费观看| 国产亚洲视频中文字幕视频| 国产成人精品高清在线| 国内99精品激情视频精品| 日本五区在线不卡精品| 欧美日韩v| 国产幂在线无码精品| 99无码中文字幕视频| 国产精品久久久免费视频| 在线播放91| 午夜三级在线| 亚洲三级影院| 丁香综合在线| 99国产精品国产高清一区二区| 国产精品无码在线看| 无码在线激情片| 一本大道无码日韩精品影视| 国产精品自在线拍国产电影| 五月天天天色| 老司国产精品视频91| 欧美视频二区| 欧美成人综合视频| www.日韩三级| 日本尹人综合香蕉在线观看 | 亚洲日韩精品综合在线一区二区| 中文字幕亚洲综久久2021| 在线观看免费黄色网址| 国产成人a在线观看视频| 日韩在线第三页| 亚洲日本www|