- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.51单片机数码管显示程序设计
C7数码管显示程序设计 山东职业学院 主要内容 发光二极管的工作参数 数码管的结构和工作原理 多位数码管动态显示电路原理图 编程练习:驱动一位数码管 发光二极管的工作参数 共阳极数码管 多位数码管动态显示电路原理图实验板数码管连接示意图 在第一位上显示5 编程练习1-驱动一位数码管 编程练习2-动态显示程序 动态显示参考程序1:定义变量 动态显示参考程序2:主程序 动态显示参考程序3:中断服务程序 动态显示参考程序4:中断服务程序 动态显示参考程序5:位段驱动码表 编程练习3 动态显示:前5位显示01234,使前两位闪烁,最后一位循环显示0-9,变化速度自定。 提示:只需要在练习2的基础上,改动主程序。(利用双重循环编一个延时程序) 练习3主程序参考: 编程练习4 秒表:前4位不显示,后两位循环显示00-59秒。 提示:只需要在练习2的基础上,定义29H单元存储秒的值,利用T0中断服务程序中的0.5秒信号产生1秒信号。主程序负责将秒的个位和十位分离并放入显示缓冲区。 练习4主程序参考: 练习4中断T0服务程序中的1秒计数参考: * * 发光二极管正常发光时,电流约为5~10mA,压降1V左右。 限流电阻 R=(5V-1V)/8mA=500 Ω P1.0 +5V 500 引脚输出低电平时,发光二极管导通。 com a b c dp dp a a b c d e f g b c d e f g dp 1 0 0 0 0 1 1 0 1 com ;共阳极7段数码管驱动段码表 ; pgfedcba TAB: DB ;0 DB ;1 DB ;2 DB ;3 DB ;4 DB ;5 DB ;6 DB ;7 DB ;8 DB ;9 共阳极数码管的结构是:将8个发光二极管排列成一个 “8.” 的形状,所有发光二极管阳极连接在一起做公共端com,阴极作为各个段的控制端a,b,c,d,e,f,g,dp。 P0.0 +5V com1 com2 com3 com4 com5 com6 a b c d e f g dp P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 位驱动 段驱动 六位共阳极数码管模块 相同的段驱动端都并联在一起。 P0.0 +5V com1 com2 com3 com4 com5 com6 a b c d e f g dp P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 位驱动P2.7输出0 段驱动P0口输出“5”的段码” 0 1 1 1 1 1 0 1 0 0 1 0 0 1 要求:在第一位显示连续变化的0-9,间隔时间自定。 开始 (R0)=0 Y (A)=(R0) 查段码表, 取得段驱动码 段驱动码送P0口 P2.7=0 延时 (R0)+1 (R0)=10? (R0)=0 N 参考课本P196页例1,在keil中编程,生产HEX文件。 在proteus中观察运行结果。(参考“ c6定时器应用程序调试” 介绍的方法) 要求:显示123.456。 T0中断 熄灭显示 提示: (1)使用内部RAM21H-26H单元做显示缓冲区。 (2)使用27H单元记当前显示位(位号1-6)。 (3)使用28H单元控制位闪烁,1闪烁,0不闪烁。 (4)使用显示缓冲区单元最高位控制小数点显示,在高位为1,表示该位显示小数点。 (5)fosc=11.0592MHz,使用定时器T0定时2.5ms进行扫描速率控制。 (6)T0中断服务程序使用工作寄存器组1工作。 重装初值 保护现场 选工作寄存器组 根据当前显示位 查得段驱动码 处理小数点 段驱动码送P0口 根据当前显示位 查得位驱动码 位驱动码送P2口 计算显示位 恢复现场 返回 ;--------------------------------------------------------- ;动态显示程序 ;--------------------------------------------------------- ;全局变量定义 FLAG EQU 20H ;标志位 DISSEG EQU P0 ;显示段驱动 DISBIT EQU P2 ;显示位驱动P2.7-P2.2 DISBUF
文档评论(0)