单片机程序设计实践教程第09章_七段数码管和4×4.pptVIP

单片机程序设计实践教程第09章_七段数码管和4×4.ppt

  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文档。上传文档
查看更多
第九讲 七段数码管和4×4键盘控制 9.0 项目演示效果 9.1 项目目标设计 9.2 项目任务 9.3 系统板上硬件连线 9.4 程序流程图 9.5 C语言源程序(略) 9.6.2 对ZLG7290头文件的修改 9.6.3ZLG7290软件包的函数使用说明 9.7 项目扩展任务 * * 图XP_9_01 步骤1-打开电源后直接写显存功能启动 图XP_9_02 步骤2-测试下载数据功能启动 图XP_9_03 步骤3-测试不同扫描位数功能启动 图XP_9_04 步骤4-测试键盘功能 掌握ZLG7290键盘与显示控制芯片的控制和使用方法; 结合硬件原理图理解例程中各个函数的使用方法; 初步掌握I2C总线的原理和软件实现方法; 初步了解外部中断1的使用方法; 在达到以上四点目标之后,根据本章“项目扩展任务”中提出的问题,以组或个人为单位,在规定时间里完成项目任务。 图9-1 ZLG7290键盘与显示控制实验的电路原理图 本项目的任务是在开发板上完成ZLG7290芯片各个功能的演示,该芯片的功能包括测试直接写显存、下载数据、不同扫描位数、闪烁功能、段寻址功能及键盘功能。图9-1所示为基于ZLG7290键盘与显示控制芯片的电路原理图,这部分电路的设计 参照了教材中的参考文献【13】、【14】和【15】,例程的设计基本上源自参考文献【16】,只是为了适用于PMY单片机开发板,对一些端口进行了重新定义。 由于后续项目中的按键和七段LED显示控制都是以本次项目为基础的,因此希望读者提前阅读上文提及的4个参考文献,理解文献【16】中各个函数的使用方法,为顺利完成后续项目做好前期准备。 ZLG7290键盘与显示控制系统板硬件连线图如图9-2所示。 图9-2 ZLG7290键盘与显示控制系统板硬件连线图 ZLG7290键盘与显示控制C语言程序流程图如图9-3所示。 图9-3 ZLG7290键盘与显示控制C语言程序流程图 9.6 系统构成和程序分析 9.6.1 ZLG7290接口键盘及LED驱动管理芯片 简介 PMY单片机开发板的8位七段LED数码管显示和4×4键盘的控制由ZLG7290芯片完成,ZLG7290是一种I2C接口键盘及LED驱动管理器件,提供数据译码和循环、移位、段寻址等控制。它可采样64个按键或传感器,单片即可完成LED显示、键盘接口的全部功能。ZLG7290的从地址为70H,器件内部通过IIC总线访问的寄存器地址范围为00H~17H,任一寄存器都可按字节直接读写,并支持自动增址功能和地址翻转功能。因此,具有功能强、使用方便、厂家技术支持完善及与微处理器之间的连接线少(只有3根)等优点,适合在工业测控中进行应用。 对于PMY单片机开发板,在其上引入参考文献【16】中介绍的软件包时,只需对端口的定义进行重新的设置即可正常使用。参照图9-1,具体修改的地方是软件包中的I2C.h文件对模拟I2C总线的引脚定义,只要将原来的定义: sbit I2C_SCL = P1^6; sbit I2C_SDA = P1^7; 改为 sbit I2C_SCL = P1^1; sbit I2C_SDA = P1^0; 就可在PMY单片机开发板正常运行ZLG7290Demo项目文件,为了在使用中不与参考文献【16】介绍的软件包相混淆,CHP09_ZLG7290Demo即为随书光盘中修改后的项目名,请读者在使用时注意区别对待。 以测试直接写显存Test_DispBuf()函数为例,概略介绍一下源程序中的函数分析方法,更多的解释请参阅本章提及的参考文献。 ZLG7290Demo.c文件中,函数Test_DispBuf()的定义中包括code char DispDat[26]数组的定义,该数组定义了向ZLG7290显示缓存寄存器写入字符的显示译码,下面举例来说明如何确定这些译码。 以字符0的显示译码为例,如图9-4所示,字符0的段码g和dp不显示,因此为0;其余段码显示为1,编码按照a至g,dp由高到低的顺序进行排列(与ZLG7290内部架构有关),因此译码为0xFC,其余的字符译码方法依此类推。 在Test_DispBuf()函数中进行显示的函数是ZLG7290_WriteReg(reg,dat),其中reg为要显示字符在ZLG7290内部寄存器的地址,dat为要显示字符的译码。 图9-4 字符0的七段LED数码管显示译码过程 在本书后面的章节里,只要涉及到8位七段LED数码管显示和4×4键盘的项目,都会通过ZLG7290来进行控制,因此项目中的C源程序中必须包含以下两个头文件: #include I2C

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档