第七章 常用程序练习.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 常用程序练习 7.1 键盘及其接口 7.1.1 独立式键盘接口 独立式按键结构 2.应用实例 例7-1-1 某单片机系统键盘结构如图8-1-2所示。试编写简单的按键处理程序,fosc=12MHz。程序中应当考虑到键盘去抖动的问题。 7.1.2 行列式键盘接口 按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态 . 键识别方法 1)查询是否有键按下。 2)查询按键所在行列位置。 3)对所在的行号列号译码得到键值 。 4)键的抖动处理。 例7-2-2 根据图7-1-3,写出键盘处理程序。 源代码见程序清单 7.2 LED显示器接口 7.2.1 LED显示器结构与原理 七段LED显示块中有八个发光二极管,故也有人叫做八段显示器。其中七个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。显示块有共阴极与共阳极两种。 段选码(字形码) 7.2.2 LED显示方式 7.2.2.1 LED静态显示方式 7.2.2.2 LED动态显示方式 八位LED动态显示电路只需要两个8位I/O口。其中一个控制段选码,另一个控制位选。要想每位显示不同的字符,必须利用人的视觉暂留,采用扫描方式。 动态显示与静态显示的比较 对相同个数的数码管来说,采用动态显示占用的I/O口线更少,但是因为需要CPU经常刷新显示内容,因此占用更多的CPU时间。 7.2.3 LED显示器接口实例 7.2.3.1 硬件译码器LED显示器接口 硬件译码器是使用BCD七段十六进制锁存、译码驱动芯片来完成BCD码到段选码的转换和显示驱动。当每个位的段选线上,使用一个芯片时为静态显示;若N位共用一个芯片作段选控制时为动态显示。常用的硬件译码器有MC14495、MC14499、CD4511等,应用时请详细查阅有关电气特性资料。 7.2.3.2 软件译码LED显示器接口 部分源程序 void display(uchar idata *p) { uchar sel,i; COM8155=0x03h; //PA、PB口输出方式 sel=0x01; for(i=0;i8;i++) { PB8155=table[*p]; //输出段选码 PA8155=sel; //输出位选码 delay(1); p--; //取下一位待显示数据 sel=sel1; //选择下一位 } } 7.2.4 LED显示管理芯片MAX7219 MAX7219是美国MAXIM公司生产的串行输入/输出共阴极显示驱动器。该芯片可直接驱动最多8位7段数字LED显示器,或64个LED和条形图显示器。它与微处理器的接口非常简单,仅用3个引脚与微处理器相应端连接即可实现最高10MHz串行口。MAX7219的位选方式独具特色,它允许用户选择多种译码方式译码选位,而且,每个显示位都能个别寻址和刷新,而不需要重写其他的显示位,这使得软件编程十分简单且灵活。 7.2.4.1 引脚说明 该芯片采用24脚DIP和SO封装,工作电压4.0~5.5V,最大功耗1.1W。 7.2.4.2 基本工作原理及使用方法 对于MAX7219,串行数据是以16位数据包的形式从Din脚串行输入,在CLK的每一个上升沿一位一位地送入芯片内部16位移位寄存器,而不管Lout脚的状态如何。Load脚必须在第16个CLK上升沿出现的同时或之后,但在下一个CLK上升沿之前变为高电平,否则移入的数据将丢失。操作者只需编程发送16位数据包,就能简单地操作LED的位选以及段选,设置和改变MAX7219的工作模式。 16位数据包格式 D7~D0:8位数据位,D7最高位,D0为最底位;  D11~D8:4位地址位; D15~D12:无关位,通常全取1。 MAX7219通过D11~D8 4位地址位译码,可寻址14个内部寄存器,分别是8个LED显示位寄存器,5个控制寄存器和1个空操作寄存器。LED显示寄存器由内部8×8静态RAM构成,操作者可直接对位寄存器进行个别寻址,以刷新和保持数据,只要V+超过2V(一般为+5V)。 内部RA M 地址01~08H 分别对应于DIG0~ DIG7。 几个控制寄存器的设置 停机寄存器(地址0CH):当D0=0时,MAX7219处于停机状态;当D0=1 ,正常工作状态。 译码模式选择寄存器(地址=09H);共有4种译码模式供选择,当数据位全0时选择“非译码方式”。在此方式下,8个数据位

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档