8155显示实验指导书
- 格式:docx
- 大小:71.19 KB
- 文档页数:4
实验八、8155可编程并行I/O扩展接口实验一、实验目的1.熟悉8155并行接口芯片的基本工作原理及应用2.掌握单片机与8155的接口电路设计和编程二、实验设备1.仿真器2.8155可编程并行I/O扩展接口模块3.单片机最小系统模块4.数码管动态扫描显示模块5.矩阵式键盘模块三、实验要求连接单片机最小系统、8155扩展接口实验模块、数码管动态扫描显示模块、矩阵式键盘模块,要求在键盘按下时,8位LED动态显示器上最低位显示相应的字符,以前的各位字符向高位推进1位。
四、实验原理8155芯片内包含有256字节RAM,2个8位、1个6位的可编程并行I/O口,和1个14位定时器/计数器。
由于8155既具有RAM又具有I/O口,因而是单片机系统中最常用的外围接口芯片之一。
4.1引脚说明8155共40个引脚,采用了双列直插的封装,主要引脚功能如下:◆AD7—AD0:地址数据总线;单片机和8155之间的地址、数据、命令、状态信息都是通过它来传送的。
◆CE:片选信号线,低电平有效。
◆RD:存储器读信号线,低电平有效。
◆WR:存储器写信号线,低电平有效。
◆ALE:地址及片选信号锁存信号线,高电平有效。
在下降沿时将地址及片选信号锁存到器件中。
◆IO/M:IO接口与存储器选择信号线,高电平选择I/O,低电平选择存储器。
◆PA7—PA0:A口输出/输入线。
◆PB7—PB0:B口输出/输入线。
◆PC5—PC0:C口输出/输入或控制信号线,用作控制信号时其功能如下:◆PC0:A INTR(A口中断信号线)◆PC1:A BF(A口缓冲器满信号线)◆PC2:ASTB(A 口选通线)◆PC3:B INTR(B口中断信号线)图8-1 8155引脚与逻辑图◆PC4:B BF(B口缓冲器满信号线)◆PC5:BSTB(B 口选通线)表8-1 地址与寄存器映射◆TIMER OUT:定时器/计数器输出端;◆RESET:复位信号线。
◆8155引脚与逻辑如图8-1所示。
单片机实验8155并行I/O口扩展和动态扫描程序编制1.实验目的(1)掌握8155并行I/O芯片扩展和使用方法(2)掌握数码管动态扫描汇编语言的编制方法2.预习要点(1)8155芯片基础知识(2)51单片机的总线时序、地址译码的原理(3)数码管动态扫描显示方法3.实验设备计算机、单片机实验箱。
4.实验内容基本要求:通过实验板的上的8155显示电路(在电路板上已经固定连接字形和字位控制线的8155部分),并通过跳线确定8155的地址,在八位数码管上显示30H到33H 存储单元的内容。
扩展要求:假定30H~33H的存储单元内容为高四位和低四位分存不同的BCD码,请依序将他们显示在LED上实验2ORG 0000H ;OGR为伪指令,不占用地址,只负责分配地址SJMP MAIN;********************************;主程序ORG 0030HMAIN:MOV SP,#70H ;可以随意用的内部RAM为30H-7FH,习惯上设置栈指针为70H LCALL INIT ;调用初始化子程序LOOP:LCALL DISPLAY;循环调用显示子程序SJMP LOOP;*********************************;初始化子程序INIT:;设置显示缓存区显示缓存区一般习惯上设为30H-37HMOV 30H,#1MOV 31H,#2MOV 32H,#3MOV 33H,#4MOV 34H,#5MOV 35H,#6MOV 36H,#7MOV 37H,#8;初始化8155 ;8155地址:1、控制字**00H PA为**01H PB为**02H PC为**03HMOV DPTR,#0100H ;8155控制字地址MOV A,#03H ;03H=0000 0011B A口B口为输出C口为输入具体看第5章MOVX @DPTR,ARET;**********************************;显示子程序DISPLAY:MOV R0,#30H ;每次进显示子程序的时候先从显示缓存区的第一个开始显示MOV R3,#0FEH ;R3为字位,控制哪个数码管亮【注意,每次只点亮一个数码管】LD0: ;控制字位MOV DPTR,#0102H ;把字位端PB的地址送DPTRMOV A,R3 ;把字位送AMOVX @DPTR,A;把字位送PB口;查表MOV DPTR,#DTAB ;把字形表的首地址给DPTRMOV A,@R0 ;把要查的字送AMOVC A,@A+DPTR ;查到字形并赋给A;控制字形MOV DPTR,#0101H ;把字形端PA的地址送DPTRMOVX @DPTR,A;把字形送到PA口LCALL DELAY;延时INC R0MOV A,R3JNB ACC.7,LD1 ;判断最后一个管子是否亮了,亮了之后就退出显示程序RL A;让下一个管子亮,左移字位MOV R3,ALJMP LD0LD1:RET;*****************************************;字形表DTAB:DB 3FH,06H,5BH,4FH,66H ;0-F的字形DB 6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79HDB 71H;*******************************************;延时1ms的子程序DELAY:MOV R7,#02H ;具体延时时间T=250×2×2us=1000us=1ms (这个只是大概的,大概等于1ms而已)DEL1:MOV R6,#250 ;这个地方很多人直接写#0FFH了,这样误差也不大DEL2:DJNZ R6,DEL2 ;这条为双周期指令,所以上面250后面会乘以2 DJNZ R7,DEL1RET;********************************************实验2扩展ORG 0000HSJMP MAIN;**************************************;主程序ORG 0030HMAIN:MOV SP,#70HMOV 30H,#11H ;要显示的内容,这个自己可以随便改,MOV 31H,#22H ;只要能正确显示出来就可以了MOV 32H,#33HMOV 33H,#44HMOV DPTR,#0100H ;初始化8155 即控制字MOV A,#03HMOVX @DPTR,ALCALL SEPARA TE ;分离字LOOP:LCALL DISPLAY;循环调用显示程序SJMP LOOP;*****************************************SEPARA TE: ;分离字子程序MOV R0,#30H ;待分离的字MOV R1,#40H ;分离后的代显示的内容还是放在显示缓存区40H-47H里MOV R2,#04H ;要分离4个数据(字)R2为循环次数LP:MOV A,@R0ANL A,#0F0H ;取高4位SW AP AMOV @R1,A;存高4位INC R1MOV A,@R0ANL A,#0FH ;取低4位MOV @R1,A;存低4位INC R1INC R0 ;换下一个字DJNZ R2,LP;如果还没有转换完成就继续循环RET;*****************************************;显示子程序DISPLAY:MOV R0,#40H ;显示缓存区为40H-47H,其它的与实验二的一致)MOV R3,#0FEHLD0:MOV DPTR,#0102HMOV A,R3MOVX @DPTR,AMOV DPTR,#DTABMOV A,@R0MOVC A,@A+DPTRMOV DPTR,#0101HMOVX @DPTR,ALCALL DELAYINC R0MOV A,R3JNB ACC.7,LD1RL AMOV R3,ALJMP LD0LD1:RET;*****************************************;字形表DTAB:DB 3FH,06H,5BH,4FH,66H ;0-FDB 6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79HDB 71H;*****************************************;延时1msDELAY:MOV R7,#02HDEL1:MOV R6,#250DEL2:DJNZ R6,DEL2DJNZ R7,DEL1RET;*****************************************亲爱的朋友,上文已完,为感谢你的阅读,特加送另一篇范文,如果下文你不需要,可以下载后编辑删除,谢谢!道路施工方案1、工程概况2、编制说明及编制依据3、主要施工方法及技术措施3.1施工程序3.2施工准备3.3定位放线3. 4土方开挖3.5卵石路基施工3.6天然砾基层施工3. 7高强聚酯土工格楞3.8水泥稳定砂砾基层施工3.9路缘石施工3. 10玻璃纤维土工格栅施工3.11沥青面层施工3. 12降水施工4、质量控制措施5、雨季施工安排6、安全技术措施1.工程概况本项目建设的厂址位于新疆石河子市。
微机原理 8155输入、输出实验一、实验目的1、了解8155芯片结构及接口方式2、掌握8155输入、输出的编程方法二、实验说明1、本实验利用8155可编程并行口芯片,实现数据的输入、输出。
实验中8155的PA 口、PB 口作为输出口。
与8255比,括有256字节RAM 存储器和14PB 为八位口,PC 口为6位口。
PA 口、8155使用方便,特别适合于扩展少量RAM 器的场合。
其部分引脚功能如下:(1) AD0~AD7——地址/1)8155有256字节静态RAM,相应地址,输入输出数据均通过AD02)8155内部有6个寄存器:A 命令状态寄存器,定时/计数器低86位加2位输出信号形式,6AD0~AD7传送。
3)AD0~AD7(2) CE ——片选信号,输入,低电平有效。
(3) WR (4) RD (5) PA0~PA7——A 口8位通用(6) PB0~PB7——B 口8位通用(7) PC0~PC5——C 口6位I/O 线既可作通用I/O 口,又可作A 口和B 口工作于选通方式下的控制信号。
(8) IO/M ——I/O 与RAM 选择信号。
8155内部I/O 口与RAM 是分开编址的,因此要使用控制信号进行区分。
IO/M=0,对RAM 进行读写;IO/M=1,对I/O 进行读写。
3、本实验8155的端口地址由单片机的P0口和P2.7以及P2. 0 控制。
控制口的地址为7F00H ;PA 口的地址为7F01H ;PB 口的地址为7F02H 。
三、实验步骤实验 (一) PA 口作为输出口。
1、用8P 数据线连接单片机最小应用系统1模块的 P0口接8155I/O 扩展模块的D0~D7口,连接8155I/O 扩展模块的PA0~PA7到八位逻辑电平显示模块的D0-D7口,用二号导线分别连接单片机最小应用系统1模块的P2.0、P2.7、RD 、WR 、ALE 到8155I/O 扩展模块的IO/M 、CE 、RD 、WR 、ALE ,连接8255I/O 扩展模块的RESET 口到复位模块的复位口。
南京邮电大学实验报告实验名称基于8155的8LED显示函数信号发生器设计基于8155的8LED显示函数信号发生器设计一、实验目的本课程设计是在理论课程的基础上,重点培养学生的动手能力,通过电路设计、理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,并可能结合实际的实验板进行下载测试。
学习proteus软件的使用,学习汇编语言以及C语言在51编程上的使用,学习系统测试,自主实验。
二、实验设备(1)PC机一台(2) Keil c51单片机仿真软件(3)Proteus软件三、实验内容函数信号发生器类:基于8155的8LED显示函数信号发生器设计1 用存储器或算法得到信源。
2 用DA转换器输出一函数信号(正弦、方波、三角、锯齿等,频率1000Hz),可以用示波器进行波形观察。
3 用数码管或LCD显示输出参数。
4 用功能键切换各信号的输出。
发挥部分:1通过键盘,可修改波的频率。
每按一次键,频率值进给或后退1倍,频率范围不限。
2通过按键可以修改输出波形的幅度。
3按键时,蜂鸣器发出提示音,表示按键有效。
4数码管或LCD显示的内容可以用频率值和周期值切换表示。
动态显示格式:自定四、实验原理函数发生器是一种多波形的信号源。
它可以产生正弦波、方波、三角波、锯齿波,甚至任意波形。
有的函数发生器还具有调制的功能,可以进行调幅、调频、调相、脉宽调制和VCO控制。
函数发生器有很宽的频率范围,使用范围很广,它是一种不可缺少的通用信号源。
可以用于生产测试、仪器维修和实验室,还广泛使用在其它科技领域,如医学、教育、化学、通讯、地球物理学、工业控制、军事和宇航等。
单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
1.实现函数发生器的基本方法利用差分放大电路实现三角波——正弦波的变换波形变换的原理是利用差分放大器的传输特性曲线的非线性,波形变换过程如图2所示。
8155键盘及显示接口实验一、实验目的1.掌握8155接口电路的使用方法;2.掌握键盘及显示接口的设计方法。
二、实验内容单片机8031通过8155接口芯片对LED—KEYBOARD UNIT进行控制,实现输入及显示的功能。
三、实验电路连线8031 8155图3-9 硬件连接图四、实验说明1.8031如何通过8155对键盘进行控制。
2.8031`如何通过8155对显示接口进行控制。
3.编写程序装入系统后,用G=0000↙运行程序,按动键盘,数码块会显示相应的数字。
五、实验仪器和设备TDN-MI教学实验系统一台六、参考程序ORG 0000HLJMP MAINORG 1000HMAIN:MOV 52H,#00HMOV 53H,#00HMOV 51H,#00HMOV 50H,#00HMOV R5, #53HKEYSUB:MOV A,#03HMOV DPTR,#7F00HMOVX @DPTR,ABEGIN:ACALL DISACALL CLEARACALL CCSCANJNZ INK1AJMP BEGININK1:ACALL DISACALL DL1MSACALL DL1MSACALL CLEARACALL CCSCANJNZ INK2AJMP BEGININK2:MOV R2,#0FEHMOV R4,#00HCOLUM:MOV DPTR,#7F01HMOV A,R2MOVX @DPTR,AINC DPTRINC DPTRMOVX A,@DPTRJB ACC.0,LONEMOV A,#00HAJMP KCODELONE:JB ACC.1,NEXTMOV A,#04HKCODE:ADD A,R4ACALL PUTBUFPUSH ACCKON:ACALL DISACALL CLEARACALL CCSCANJNZ KONPOP ACCINC R4MOV A,R2JNB ACC.3,KERRRL AMOV R2,AAJMP COLUM KERR:AJMP BEGIN CCSCAN:MOV DPTR,#7F01HMOV A,#00HMOVX @DPTR,AINC DPTRINC DPTRMOVX A,@DPTRCPL AANL A,#03HRETCLEAR:MOV DPTR, #7F02HMOV A,#00HMOVX @DPTR,ARETDIS:PUSH ACCPUSH 00HPUSH 03HMOV A,#03HMOV DPTR,#7F00HMOVX @DPTR,AMOV R0,#50HMOV R3,#0F7HMOV A,R3 AGAIN:MOV DPTR,#7F01HMOVX @DPTR,AMOV A,@R0MOV DPTR,#DSEGMOVC A,@A+DPTRMOV DPTR,#7F02HMOVX @DPTR,AACALL DL1MSINC R0MOV A,R3JNB ACC.0,OUTRR AMOV R3,AAJMP AGAINOUT:POP 03HPOP 00HPOP ACCRETDSEG:DB 03FH,06H,05BHDB 04FH,066H,06DHDB 07DH,07HMOV R7,#01HDL0:MOV R6,#0FFHDL1:DJNZ R6,DL1DJNZ R7,DL0RETPUTBUF:PUSH 00HPUSH ACCMOV A,R5MOV R0,APOP ACCMOV @R0,ADEC R5CJNE R5,#04FH,GOBACKMOV R5,#53H GOBACK:POP 00HRETEND。
中北大学信息商务学院课程设计说明书
学生姓名:学号:
学院:
专业:电子信息工程
题目:专业综合实践之单片机信息处理部分:利用8155实现单片机的键盘、显示接口电路
职称: 副教授
2013 年 1月 7日
中北大学信息商务学院课程设计任务书
12/13 学年第一学期
学院:信息与通信工程学院
专业:电子信息工程
学生姓名:学号:
课程设计题目:专业综合实践之单片机信息处理部分:
利用8155实现单片机的键盘、显示
接口电路
起迄日期:2013年1月7日~1月18日
课程设计地点:510
指导教师:
系主任:
下达任务书日期: 2013年1月日
设计说明书应包括以下主要内容:
(1)封面:课程设计题目、班级、姓名、指导教师、时间
(2)设计任务书
(3)目录
(4)设计方案简介
(5)设计条件及主要参数表
(6)设计主要参数计算
(7)设计结果
(8)设计评述,设计者对本设计的评述及通过设计的收获体会(9)参考文献。
实验十一 8155 I/O 扩展实验一、实验目的1、了解8155芯片结构及接口方式2、掌握8155输入、输出的编程方法 二、实验说明1、本实验利用8155可编程并行口芯片,实现数据的输入、输出。
实验中8155的PA 口、PB 口作为输出口。
与8255比,8155具有更强的功能,因为它除能提供并行接口外还包括有256字节RAM 存储器和14PB 为八位口,PC 口为6位口。
PA 28155便,特别适合于扩展少量RAM 分引脚功能如下:(1) AD0~AD7——地址/1)8155有256字节静态RAM,输入输出数据均通过AD0~AD72)8155内部有6个寄存器:态寄存器,定时/计数器低8输出信号形式,6读出的数据均通过AD0~AD73)AD0~AD7(2) CE ——(3) WR ——(4) RD ——(5) PA0~PA7——A 口8位通用(6) PB0~PB7——B 口8位通用(7) PC0~PC5——C 口6位I/O 式下的控制信号。
(8) IO/M ——I/O 与RAM 选择信号。
8155内部I/O 口与RAM 是分开编址的,因此要使用控制信号进行区分。
IO/M=0,对RAM 进行读写;IO/M=1,对I/O 进行和计数器进行读写。
3、本实验8155的端口地址由单片机的P0口和P2.7以及P2.0决定。
控制口的地址为7F00H ;PA 口的地址为7F01H ;PB 口的地址为7F02H 。
三、实验内容及步骤本实验分两种情况来进行:(一) PA 口作为输出口。
(二) PA 口作为输出口,PB 口作为输入口。
(一)PA 口作为输出口,接八位逻辑电平显示,程序功能使发光二极管单只从右到左轮流循环点亮。
1、单片机最小应用系统的 P0口接8155的D0~D7口,8155的PA0~PA7接八位逻辑电平显示,单片机最小应用系统的P2.0、P2.7、RD 、WR 、ALE 分别接8155的IO/M 、CE 、RD 、WR 、ALE ,RESET 接上最小系统的复位电路的RESET 。
单片机原理课程设计报告设计题目:以8155作为接口的键盘显示系统的设计专业班级:自动化学号:姓名:指导教师:沈怀洋起止日期:2015年12月28日~2016年1月3日目录1.课程设计目的 (1)2.课程设计要求 (1)3.设计内容 (1)3.1设计方案 (1)3.2硬件各单元电路的设计 (2)3.2.1显示部分的设计 (2)3.2.2键盘部分的设计 (7)3.3软件设计 (10)3.3.1 程序框图 (11)3.3.2 程序清单 (12)4.总结 (14)参考文献 (14)附录 (15)1.课程设计目的(1)加深对单片机原理的理解;(2)培养实践动手能力,开发创新思维;(3)提高分析、解决问题的能力;(4)了解单片机系统开发流程。
2.课程设计要求(1)设计一个以8155作为单片机扩展并行接口的键盘显示系统;(2)设计以单片机为核心的键盘和显示系统硬件电路和软件程序,主要分为以下两部分设计:①设计单片机显示电路和显示部分软件程序;②设计单片机键盘电路和键盘部分软件程序;(3)设计总的实用电路并写出总的软件程序清单。
3.设计内容3.1设计方案根据课程设计要求,设计一个以8155作为接口的键盘显示系统,通过各硬件部分的连接原理,得到如图一所示的键盘显示系统。
图一以单片机为核心的键盘显示系统如图一所示的键盘显示系统,单片机使用8155的I/O端口扩展,通过PC口与键盘的连接接收来自键盘的信号,通过PA口发送位选信号到八段LED显示器的公共端,通过PB口发送段选信号分别连接到八段LED显示器的a—g和SP 引脚上。
这样由键盘和8155以及单片机构成键盘显示系统的键盘部分,由显示器和8155以及单片机构成键盘显示系统的显示部分,下面分别详细介绍设计。
3.2 硬件各单元电路的设计3.2.1显示部分的设计(1)显示部分概述单片机的键盘显示系统的显示部分是由8个八段LED显示器构成的。
八段LED 显示器是一种把8个LED显示段(分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段)集成在一起的显示设备,如图二所示,具有两种类型,一种是共阳型,一种是共阴型。
重庆交通大学学生实验报告实验课程名称单片机原理与应用实验名称8051和8255接口扩展与数码管显示实验实验类型设计性实验开课实验室电子实验室学院信息科学与工程学院学生姓名学号开课时间2012 至2013 学年第2 学期一、实验目的通过实验,掌握单片机在输入输出口线不够用时,怎样扩展接口的方法来支持8位LED 显示和16键盘集成实现。
熟悉8255、8279等芯片性能;掌握其编程方法。
掌握键盘子程序调试方法,掌握按一个键并将键值显示出来的编程方法,这是诊断硬件、测试硬件、产品开发、软件编程必须掌握的方法。
二、实验内容1、编写并调试出一个键盘实验子程序2、用子程序调用方法,分别调用键盘子程序和显示子程序,将按一个键的键值(0-f),在数码管上显示出来。
3、用C51必须重新编写上述实验内容的程序系统。
三、实验步骤1、打开keil程序,执行菜单命令“project”→”new project”创建“键盘数码管显示综合实验”项目,并选择单片机型号为AT89C51..2、执行菜单命令”file”→”new”创建文件,输入源程序,保存为“键盘数码管显示综合实验.A51“.在”project“栏的file项目管理窗口中右击文件组,选择”add file to group1“将源程序”键盘数码管显示综合实验.A51“添加到项目中。
3、执行菜单命令“project”→”options for target ’target 1’”,在弹出的对话框中选择“output”选项卡,选中“create hex file”4、执行菜单命令“project“→” build target”,编译源程序。
如果编译成功,则在”output window “窗口中显示没有错误,并创建了”键盘数码管显示综合实验.HEX“文件。
5、在protues仿真平台上建立参考图系统,并将程序上载到虚拟芯片上运行。
四、实验调试及结果五、实验分析#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar KeyScan(); //按键扫描子程序void delay10ms;uchar key_free();void key_deal();void main(){while(1){KeyScan();Key_free();Key_deal();}}uchar KeyScan(){unsigned char key,temp;P1=0xf0;if(P1&0xF0!=0XF0){ delay10ms();if(P1&0XF0!=0XF0) {P1=0xFE;temp=P1;temp=temp*0xF0; if(temp!=0xF0){switch(temp){case 0xE0:key=0;break;case 0xD0:key=4;break;case 0xB0:key=8;break;case 0x70:key=12;break;}}P1=0XFD;temp=P1;temp&=0xF0;if(temp1=0xF0) {switch(temp) {case 0xE0:key=1;break; case 0xD0:key=5;break; case 0xB0:key=9;break; case 0x70:key=13;break; }}P1=0XFB;temp=P1;temp&=0xF0;if(temp!=0xF0) {switch(temp) {case 0xE0:key=2;break; case 0xD0:key=6;break; case 0xB0:key=10;break; case 0x70:key=14;break; }}P1=0XF7;temp=P1; temp&=0xF0;if(temp!=0xF0){switch(temp){case 0xE0:key=3;break;case 0xD0:key=7;break;case 0xB0:key=11;break;case 0x70:key=15;break;}}}return(key);}}void delay10ms(){unsigned char i,j; for(i=0;i<10;i++)for(j=0;j<120;j++) {}}uchar key_free(){key=key_scan();P1=0xF0;while(P1&0XF0!=0XF0) {}return(key);}六、实验思考与总结本实验只有部分的参考程序,仿真图也需要做相应的修改,所以做起来相对要难一些,不过,也正是因为这样,使得我们需要花更多的功夫去了解所用单片机的引脚以及功能。
实验十一 8155 I/O 扩展实验
一、实验目的
1、了解8155芯片结构及接口方式
2、掌握8155输入、输出的编程方法 二、实验说明
1、本实验利用8155可编程并行口芯片,实现数据的输入、输出。
实验中8155的PA 口、PB 口作为输出口。
与8255比,8155具有更强的功能,因为它除能提供并行接口外还包括有256字节RAM 存储器和14PB 为八位口,PC 口为6位口。
PA 28155便,特别适合于扩展少量RAM 分引脚功能如下:
(1) AD0~AD7——地址/1)8155有256字节静态RAM,输入输出数据均通过AD0~AD72)8155内部有6个寄存器:态寄存器,定时/计数器低8输出信号形式,6读出的数据均通过AD0~AD73)AD0~AD7(2) CE ——(3) WR ——(4) RD ——(5) PA0~PA7——A 口8位通用(6) PB0~PB7——B 口8位通用(7) PC0~PC5——C 口6位I/O 式下的控制信号。
(8) IO/M ——I/O 与RAM 选择信号。
8155内部I/O 口与RAM 是分开编址的,因此要使用控制信号进行区分。
IO/M=0,对RAM 进行读写;IO/M=1,对I/O 进行和计数器进行读写。
3、本实验8155的端口地址由单片机的P0口和P2.7以及P2.0决定。
控制口的地址为7F00H ;PA 口的地址为7F01H ;PB 口的地址为7F02H 。
三、实验内容及步骤
本实验分两种情况来进行:(一) PA 口作为输出口。
(二) PA 口作为输出口,PB 口作为输入口。
(一)PA 口作为输出口,接八位逻辑电平显示,程序功能使发光二极管单只从右到左轮流循环点亮。
1、单片机最小应用系统的 P0口接8155的D0~D7口,8155的PA0~PA7接八位逻辑电平显示,单片机最小应用系统的P2.0、P2.7、RD 、WR 、ALE 分别接8155的IO/M 、CE 、RD 、WR 、ALE ,RESET 接上最小系统的复位电路的RESET 。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 8155_A.ASM 源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、也可以把源程序编译成可执行文件,把可执行文件用ISP 烧录器烧录到89S52/89S51芯片中运行。
(ISP 烧录器的使用查看附录二)
(二)PA 口作为输出口,PB 口作为输入口,PA 口读入键信号送八位逻辑电平显示模块显示。
1、单片机最小应用系统的 P0口接8155的D0~D7口,8155的PA0~PA7接八位逻辑电平显示,PB0~PB7口接查询式键盘模块,单片机最小应用系统的P2.0、P2.7、WR 、ALE 分别接8155的IO/M 、CE 、RD 、WR 、ALE ,RESET 接上复位电路的RESET 。
2、打开8155_B.ASM 源程序,编译无误后,全速运行程序。
按查询式键盘各键,观察发光二极管的亮灭情况,发光二极管与按键相对应,按下为点亮,松开为熄灭。
5、也可以把源程序编译成可执行文件,把可执行文件用ISP 烧录器烧录到89S52/89S51芯片中运行。
(ISP 烧录器的使用查看附录二) 四、流程图及源程序
源程序如下: (一)PA 口输出: ORG 0H
PORTA EQU 7F01H ;A 口 PORTB EQU 7F02H ;B 口 CADDR EQU 7F00H ;控制字地址 MOV A,#03H ;方式0,PA 、PB 输出 MOV DPTR, #CADDR MOVX @DPTR, A LOOP :
MOV A, #0FEH
MOV R2, #8
OUTPUT:
MOV DPTR, #PORTA
MOVX @DPTR, A
CALL DELAY
RL A
DJNZ R2, OUTPUT
LJMP LOOP
DELAY:
MOV R6, #0
MOV R7, #0
DELAYLOOP:
DJNZ R6, DELAYLOOP
DJNZ R7, DELAYLOOP
RET
END
(二)PA口输出,PB口输入
ORG 0
MODE EQU 01H ;方式0,PA输出,PB输入
PORTA EQU 7F01H ;A口
PORTB EQU 7F02H ;B口
CADDR EQU 7F00H ;控制字地址
SJMP START
ORG 30H
MOV A, #MODE
MOV DPTR, #CADDR
MOVX @DPTR, A
START:MOV DPTR, #PORTB
MOVX A, @DPTR ;读入B口
MOV DPTR, #PORTA
MOVX @DPTR, A ;输出到A口
CALL DELAY
SJMP START
END
五、思考题
试用8155PA口作为输出口,PB作为输入口,PC作为输入口完成8155的输入、输出实验(其中PA口LED数码显示,PB接拨断开关,PC接查询式键盘实验模块)。
六、电路图。