- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三七段数码管显示实验
亠.实验仪器
1. FX-A全析式单片机开发平台
实验用配套电子元件包,专用接线。
安装有WAVE编译器及FX-pro编程器软件的讣算机
二.电子元件列表
序号
名称
数量
序号
名称
数量
1
单片机AT89S51
1片
7
30P瓷片电容
2只
2
12M晶振
1个
8
200 Q电阻
1只
3
微动按键
1个
9
560 Q电阻
8只
4
晶体管8550
4只
10
2. 7K电阻
4只
5
10UF电容
1只
11
10K电阻
1只
6
共阳数码管
4只
实验U的
掌握查表指令的应用方法及应用效果。
掌握共阳七段数码管静态显示及共阳管驱动原理。
掌握数码管数字显示效果及数码管显示数字编码方法 四.实验步骤
认识并测量实验用电子元件,根据实验原理图在硬件扩展板实验区连接电
路。
检査所连接的电路,确保单片机芯片的正负极连接无误,系统电源接线无 误。
在计算机上利用 WAVE 编译器将实验源程序输入并进行编译操作。
使用FX-pro编程器软件和FX下载适配器将编译后的BIN文件烧录到单片 机 AT89S51 中。
在开发板的软件实验区中运行单片机 AT89S51,观察运行现象,进行软件 验证。
将 AT89S51 在开发板的硬件实验区中运行,观察运行结果是否与软件实验 区工作一致。
解读实验源程序,整理出编码数据及系统是如何使用查表指令来使数码管 进行显示。
实验成功,再次观察所连接的实验电路,回顾并总结实践动手过程,书写 实验报告。
五. 实验原理图
六 . 工作现象
系统上电,数码管 SM0 自动从 0 到 9 进行显示,显示到 9 后,数码管 SM0 显 示自动切换到数码管 SM1 上,当 SM1 从 0 显示到 9 时将切换到 SM2 上,当 SM2 显 示 到 9 时将切换到 SM3 上进行显示,如此循环。
七.主程序流程图
Pl If. P2 口瑞口初始化ROM 首地址传DPTR
数码骨SMO显示 初始化
八.实验源程序
;七段数码管实验,伪定义过程
ESMO BIT P0. 0 ;马驱动 SMO 管为 P0. 0
ESMI BIT P0. 1 ;驱动 SMO 管为 P0. 1
ESM2 BIT PO. 2 ;马驱动 SMO 管为 PO. 2
ESM3 BIT PO. 3 ;驱动 SMO 管为 PO. 3
P2 口SMDATA EQU P2 ;
P2 口
DLY1 EQU 40H;延时变量
DLY2 EQU 41H;延时变量
DLY3 EQU 42H;延时变量
;单片机AT89S51, 12M晶振
ORG 0000H;指令其始地址为0000H
MOV PO, #255;端口 PO 初始化
MOV P2, #255;端口 P2 初始化
MOV DPTR, #TABSM;查表指令首地址定位
;SMO显示过程
LOOP:MOV RI,#10;数码显示10个数字
CLR A;查表偏移地址初始为0
SETB ESM1; SM1禁止显示
SETB ESM2;SM2禁止显示
SETB ESM3; SM3 禁止显示
CLR ESMO; SMO允许显示
LOPO:PUSH ACC保护查表偏移地址
MOVC A, @A+DPTR;查表,读取 ROM 表中数据
MOV SMDATA, A;将查得数据送P2 口显示
LCALL DELAY;调用延时
POP ACC恢复被保护的查表偏移地址
INC A;偏移地址加1
DJNZ R1,LOP O判断十个数字是否显示完毕
;SM1 显示过程
MOV Rl,#10; 数码显示 10 个数字
CLR A;查表偏移地址初始为0
SETB ESMO;SMO禁止显示
SETB ESM2;SM2 禁止显示
SETB ESM3;SM3 禁止显示
CLR ESM1;SM1 允许显示
L0P1:PUSH ACC保护查表偏移地址
MOVC A, @A+DPTR;查表,读取 ROM 表中数据
MOV SMDATA, A ;将查得数据送 P2 口显示
LCALL DELAY;调用延时
POP ACC恢复被保护的查表偏移地址
INC A;偏移地址加1
DJNZ R1,LOP1;判断十个数字是否显示完毕
;SM2 显示过程
MOV Rl,#10; 数码显示 10 个数字
CLR A;查表偏移地址初始为0
SETB ESMO;SM0 禁止显示
SETB ESM1;SM1 禁止显示
SETB ESM3; SM3 禁止显示
CLR ESM2; SM2 允许显示
L0P2:PUSH ACC;保护查表偏移地址
MOVC A, @A+DPTR;查表,读取 ROM 表中数据
MOV SMDATA, A;将查得数据送P2 口显示
LCALL DELAY;调用延时
POP ACC恢复被保护的查表偏移地址
文档评论(0)