- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“简易电子秒表”项目需求分析 “简易秒表”的关键问题 如何运用单片机实现计时 如何显示时间 如何利用按键实现对秒表的控制 问题引入: LED显示器如何显示出指定数字/字符? LED八段数码管的结构 知识2:单片机驱动一个LED 数码管的字型编码表 2个LED数码管和单片机的连接1 “简易电子秒表”项目实施 电路设计 显示部分电路说明 P0口输出并联控制二个数码管的8个段选端 P2.0、P2.1分别控制2个LED数码管的公共端,把各个数码管的公共端称为“位选端” 这是典型的动态显示电路接法 各数码管共用段选线,通过位选控制线分别选择在某位数码管显示信息。 按键连接 三个按键采用独立式键盘接法 两个按键连接到外部中断INT0、INT1的输入引脚P3.2和P3.3,第3个按键接到定时器1的外部脉冲输入引脚P3.5 按键1为启动按钮,按键2为停止按钮,按键3为清零按钮。 “简易秒表”程序设计 “简易秒表”程序运行及演示 主程序调试通过后,当无键按下时,将一直显示初值“00”。 分别调试四个中断服务子程序:当按键KE0按下时,程序将会进入对应按键0的中断服务程序,启动各定时器开始计时,这时若在CONT中断服务子程序中设置断点,全速运行程序后将会停在断点处,表明程序运行状态正确; 当按键KE1按下时,停止定时器工作,秒表显示内容保持不变; 当按键KE2按下时,停止定时器工作,秒表显示清零.最后将各模块联调实现全部功能 知识3:单片机驱动多个LED的动态显示 电路特点:数码管数量增多,采用静态显示方式,将需要更多的单片机I/O资源 可采用动态连接的方式 多个LED数码管和单片机的连接 简单的程序流程 用循环的程序流程 问题1:当数码管显示数字时,怎样使用查表程序? 问题2:从缓冲区取数据的查表方法 根据缓冲区的数据显示 动手做 :点亮六个不同的数字 注意字型表的建立。 待显示的数字以十六进制的方式写入内存的显示缓冲区。 静态、动态显示方式总结 静态显示连接 所有LED的位选均共同连接到+VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口。 原理简单;显示无闪烁;占用I/O资源较多。 动态显示连接 所有LED的段选线共同连接在一起共用一个 8位I/O口 而每个LED的位选分别由一根相应的I/O口线控制。 因此必须采用动态扫描显示方式。 知识4:单片机与按键的接口 按键的特点及输入原理 按键的分类: 触点式:机械;无触点式:电气 键输入原理: 通过按键的接通与断开,产生两种相反的逻辑状态 低电平“0”与高电平“1”。 键功能的实现: 对于一组键或一个键盘,需通过接口电路与单片机相连。可采用查询或中断方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器ACC,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。 键盘接口需要解决的问题 独立式按键 ORG 0000H KB: MOV P1,#0FFH MOV A,P1 CPL A ANL A,#07H JZ KB LCALL D10MS MOV A,P1 CPL A ANL A,#07H JZ KB 独立式按键项目实例-“简易密码锁” 基本功能: “简易密码锁”电路设计 “密码锁”程序流程 矩阵式按键 键按下/释放判断 按键识别——扫描法 流程: 当第0列处于低电平时,逐行查找是否有行线变低,若有,则第0列与该行的交叉点按键按下;若无,则表示第0列无键按下,再让下一列处在低电平,依此循环,这种方式称为键盘扫描。 键号=行首键号(0、4、8、12)+列号(0、1、2、3) 矩阵键盘扫描程序流程 关键:如何判断键号? 3 2 1 0 4 7 6 5 11 10 9 8 15 14 13 12 +5V P1.4 P1.3 P1.0 MCS-51 P1.7 P1.6 P1.5 P1.2 P1.1 接口电路: 特点:按键识别应采用扫描法或线路反转法 编程较为复杂,节省口资源,8键以上使用 键盘扫描子程序一般包括以下内容: 1.判别有无键按下; 2.扫描获取闭合键的行、列值;
文档评论(0)