EEPROM外部程序存儲器實驗
一、實驗目的
1.掌握89C51單片機擴展外ROM的方法
2.了解EEPROM的使用方法
二、實驗說明
MCS-51型單片機芯片中,8031片內無ROM,必須擴展外ROM;80C51片內雖有4KB掩膜ROM,但寫入程序時需由生產商一次性輸入,使用起來很不方便;89C51芯片內有4KB EEPROM,若片內ROM不夠用,也需擴展片外ROM。
一、實驗目的
1、了解8155芯片結構及接口方式
2、掌握8155輸入、輸出的編程方法
二、實驗說明
1、本實驗利用8155可編程并行口芯片,實現(xiàn)數(shù)據(jù)的輸入、輸出。實驗中8155的PA口、PB口作為輸出口。與8255比,8155具有更強的功能,因為它除能提供并行接口外還包括有256字節(jié)RAM存儲器和14位定時器/計數(shù)器。8155具有三個可編程I/O口,其中PA、PB為八位口,PC口為6位口。PA口、PB口為通用的輸入輸出口,主要用于數(shù)據(jù)的I/O傳送,他們都是數(shù)據(jù)口,因此只有輸入輸出兩種工作方式。
2、了解實驗用到的芯片引腳及功能:
8155是一種可編程多功能接口芯片,功能豐富,使用方便,特別適合于擴展少量RAM和定時器/計數(shù)器的場合。其部
分引腳功能如下:
(1) AD0~AD7——地址/數(shù)據(jù)總線,雙向三態(tài)。
1)8155有256字節(jié)靜態(tài)RAM,每一字節(jié)均有相應地址,
輸入輸出數(shù)據(jù)均通過AD0~AD7口傳送。
2)8155內部有6個寄存器:A口,B口,C口,命令狀
態(tài)寄存器,定時/計數(shù)器低8位,定時/計數(shù)器高6位加2位
輸出信號形式,6個寄存器有各自相應的地址。地址及寫入或
讀出的數(shù)據(jù)均通過AD0~AD7傳送。
3)AD0~AD7傳送數(shù)據(jù)的方向由RD,WR信號控制。
(2) CE——片選信號,輸入,低電平有效。
(3) WR——寫信號,輸入,低電平有效。
(4) RD——讀信號,輸入,低電平有效。
(5) PA0~PA7——A口8位通用I/O線。
(6) PB0~PB7——B口8位通用I/O線。
(7) PC0~PC5——C口6位I/O線既可作通用I/O口,又可作A口和B口工作于選通方式下的控制信號。
(8) IO/M——I/O與RAM選擇信號。8155內部I/O口與RAM是分開編址的,因此要使用控制信號進行區(qū)分。IO/M=0,對RAM進行讀寫;IO/M=1,對I/O進行和計數(shù)器進行讀寫。
3、本實驗8155的端口地址由單片機的P0口和P2.7以及P2.0決定??刂瓶诘牡刂窞?F00H;PA口的地址為7F01H;PB口的地址為7F02H。
三、實驗內容及步驟
本實驗分兩種情況來進行:(一) PA口作為輸出口。 (二) PA口作為輸出口,PB口作為輸入口。
(一)PA口作為輸出口,接八位邏輯電平顯示,程序功能使發(fā)光二極管單只從右到左輪流循環(huán)點亮。
1、單片機最小應用系統(tǒng)的 P0口接8155的D0~D7口,8155的PA0~PA7接八位邏輯電平顯示JD10,單片機最小應用系統(tǒng)的P2.0、P2.7、RD、WR、ALE分別接8155的IO/M、CE、RD、WR、ALE,RESET接上最小系統(tǒng)的復位電路的RESET。
2、用串行數(shù)據(jù)通信線連接計算機與仿真器,把仿真器插到模塊的鎖緊插座中,請注意仿真器的方向:缺口朝上。
3、打開Keil uVision2仿真軟件,首先建立本實驗的項目文件,接著添加 8155_A.ASM源程序,進行編譯,直到編譯無誤。
4、進行軟件設置,選擇硬件仿真,選擇串行口,設置波特率為38400。
5、也可以把源程序編譯成可執(zhí)行文件,把可執(zhí)行文件用ISP燒錄器燒錄到89S52/89S51芯片中運行。(ISP燒錄器的使用查看附錄二)
(二)PA口作為輸出口,PB口作為輸入口,PA口讀入鍵信號送八位邏輯電平顯示模塊顯示。
1、單片機最小應用系統(tǒng)的 P0口接8155的D0~D7口,8155的PA0~PA7接八位邏輯電平顯示,PB0~PB7口接查詢式鍵盤模塊,單片機最小應用系統(tǒng)的P2.0、P2.7、RD、WR、ALE分別接8155的IO/M、CE、RD、WR、ALE,RESET接上復位電路的RESET。
2、打開8155_B.ASM源程序,編譯無誤后,全速運行程序。按查詢式鍵盤各鍵,觀察發(fā)光二極管的亮滅情況,發(fā)光二極管與按鍵相對應,按下為點亮,松開為熄滅。
5、也可以把源程序編譯成可執(zhí)行文件,把可執(zhí)行文件用ISP燒錄器燒錄到89S52/89S51芯片中運行。(ISP燒錄器的使用查看附錄二)
四、流程圖及源程序
置8155工作方式 |
讀8155PB口 |
寫8155PA口 |
開 始 |
延 時 |
置8155工作方式 |
置8155PA口 |
數(shù)據(jù)左移 |
開 始 |
延 時 |
源程序如下:
(一)PA口輸出:org 0hporta equ 7F01h ;A口Portb equ 7F02h ;B口caddr equ 7F00h ;控制字地址mov a,#03h ;方式0,PA、PB輸出mov dptr, #caddrmovx @dptr, aLoop:mov a, #0FEhmov r2, #8Output:mov dptr, #portamovx @dptr, acall Delayrl adjnz r2, Outputljmp LoopDelay:mov r6, #0mov r7, #0DelayLoop:djnz r6, DelayLoopdjnz r7, DelayLoopretend(二)PA口輸出,PB口輸入ORG 0mode equ 01h ;方式0,PA輸出,PB輸入PortA equ 7F01h ;A口PortB equ 7F02h ;B口CAddr equ 7F00h ;控制字地址SJMP STARTorg 30h mov a, #modemov dptr, #caddrmovx @dptr, aSTART:mov dptr, #PortBmovx a, @dptr ;讀入B口mov dptr, #PortAmovx @dptr, a ;輸出到A口call delaySjmp STARTend
五、思考題
試用8155PA口作為輸出口,PB作為輸入口,PC作為輸入口完成8155的輸入、輸出實驗(其中PA口LED數(shù)碼顯示,PB接撥斷開關,PC接查詢式鍵盤實驗模塊)。
評論