- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCS-对LED数码管的接口.ppt
微机原理与接口技术7.5 单片机对数码管/键盘的接口 显示器和键盘是两种重要外设 键盘用于输入数据和命令 显示器用于显示控制过程和运算结果 (一)LED数码管显示原理 共阴极数码管字形码表 2. 共阳极LED数码管 共阳极数码管字形码表 (二)MCS-51对LED数码管的显示 静态显示 各LED数码管同时点亮显示各自字形 动态扫描显示 各LED数码管轮流点亮显示各自字形 动态扫描显示原理 右边第1个数码管先亮1ms,然后第2个数码管亮1ms,再下来是第3个数码管亮1ms,……,如此下去,各数码管轮流点亮1ms,反复循环。由于人眼受视觉惰性的影响,似乎觉得各位数码管是同时在亮 动态扫描电路 根据硬件连接图,8155各端口地址是多少? P.272 例7.7 动态显示程序 已知MCS-51单片机与数码管的硬件连接如上图所示,编写在6个数码管上显示1998.7的动态显示程序 依题意,在片内RAM的70H开始设置显示缓冲区,其内容如图所示 按照题目要求,8155命令字应如何设置? 8155的初始化程序如何编写? 动态显示程序 程序用到的共阳字形码表 二、MCS-51对非编码键盘接口 (一)MCS-51对独立式按键的接口 (二) MCS-51对行列式键盘的接口 1.如何识别哪个键被按下 各列线同时送低电平 同时读各行线的值 全为1, 则无键按下 不全为1, 说明有键按下了 去抖动方法 硬件去抖动:用R-S触发器 软件去抖动:软件延时10~20ms以躲过抖动 依次使每条列线为低电平,读取行线值 全为1, 则按键不在这一列 不全为1, 按键就在这一列 行首键号:每行第0列的键号 列值:指列的序号 如R0列的列值为00H 如R1列的列值为01H 被按键的地址偏移量=行首键号+列值 通过查键值表得到被按键的键值 例如 2号键的列值是02H 2号键的行首键号是08H 地址偏移量 = 行首键号 + 列值 = 0AH 查键值表得知被按键为2 作业:P.299 题7.22 如何判断正数还是负数? 要求数码管从左到右显示,字位码起始值如何取? 取7FH还是DFH? 本题只要显示“0”或“1”,如何简化程序? 直接将0或1的字形码送显示 * 绪论 EXIT 微 机 原 理 与 接 口 技 术 一、MCS-51对LED数码管的接口 1. 共阴极LED数码管 sp g f e d c b a 显示2: 0 1 0 1 1 0 1 1 = 5BH sp g f e d c b a 显示b: 0 1 1 1 1 1 0 0 = 7CH sp g f e d c b a 显示2: 1 0 1 0 0 1 0 0 = A4H sp g f e d c b a 显示b: 1 0 0 0 0 0 1 1 = 83H P2.7脚接到8155的IO/M端 =8000H命令口 =8001H A口 =8002H B口 =8003H C口 × × × × × 0 0 0 × × × × × 0 0 1 × × × × × 0 1 0 × × × × × 0 1 1 1 × × × × × × × 1 × × × × × × × 1 × × × × × × × 1 × × × × × × × P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 任取项取0时 为什么71H单元的内容是13H? 什么叫显示缓冲区? 为什么I/O口方式取01而不是取00? 为什么字位码的起始值不是01H? 这条指令做什么用? 每个按键要占用一条I/O口线 这条指令做什么用? (1)判断是否有键按下──全扫描 (2)去抖动 (3)查找被按键──逐列扫描 (4)求键值 下次课前预习7.6节
文档评论(0)