- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机接口 七段数码管
实 验 报 告
课程名称 : 微机原理与接口技术
实验项目 : 七段数码管
实验仪器 : TPC-USB实验系统
系 别: 光 电 学 院
专 业: 电子信息工程
班级/学号:
学生姓名:
实验日期: 2 0 1 2年 月
成 绩: ________________ _
指导教师:__________________
实验三 七段数码管
一、实验目的
掌握数码管显示数字的原理
二、实验设备
TPC-USB实验系统(块USB总线接口模块、一个扩展实验台及软件集成实验环境)
三、实验原理与内容
1、静态显示:按图5-1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动
输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。编程从键
盘输入一位十进制数字(0~9),在七段数码管上显示出来。
2、动态显示:按图5-2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0
接8255 C口的PC1,PC0。编程在两个数码管上显示“56”。
动态显示(选作):使用图5-2的电路,编程在两个数码管上循环显示“00-99”。
四、编程提示
1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码
管亮,位码加反相驱动器,位码输入端高电平选中。
七段数码管的字型代码表如下表:
五、参考流程图(见图5-3、图5-4)
六、汇编程序
LED1.ASM
data segment
io8255a equ 288h
io8255cw equ 28bh
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
mesg1 db 0dh,0ah,Input a num (0--9),other key is exit:,0dh,0ah,$
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data;data送到AX中
mov ds,ax;首地址
mov dx,io8255cw ;控制寄存器端口地址送DX;使8255的A口为输出方式
mov ax,80h;准备控制字,B
out dx,al;控制字送控制寄存器
sss: mov dx,offset mesg1 ;显示提示信息
mov ah,09h;显示每次中断的提示信息(DS:DX=字符缓冲首址)
int 21h;执行调用
mov ah,01 ;从键盘接收字符
int 21h;执行调用
cmp al,0 ;是否小于0
jl exit ;若是则退出
cmp al,9 ;是否大于9
jg exit ;若是则退出
sub al,30h ;将所得字符的ASCII码减30H
mov bx,offset led ;bx为数码表的起始地址
xlat ;求出相应的段码
mov dx,io8255a ;A口地址送到DX中
out dx,al;从8255的A口输出
jmp sss ;转SSS
exit: mov ah,4ch ;返回
int 21h;执行调用
code ends
end start
六、心得体会
自行解觉!
文档评论(0)