- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UESTC微机原理第四次实验
* * 实验六 基于ARM的键盘及数码管驱动实验 * * 一、实验目的 1.掌握键盘及数码管驱动原理。 2.掌握ZLG7290芯片的使用方法。 3.掌握I2C总线的协议标准。 4.掌握Linux下键盘驱动的实现方法。 二、实验内容 编写测试程序控制键盘和数码管。 * * 三、预备知识 1.了解ARM9处理器结构 2.了解i2c协议 四、 实验设备与工具 硬件:ARM嵌入式开发平台,PC 机Pentium100 以上。 软件:PC机Linux操作系统+MINICOM + AMRLINUX开发环境 * * 五、 实验原理与说明 1、ZLG7290寄存器介绍 ZLG7290内部有16个8bits寄存器,访问这些寄存器需要通过I2C 总线接口来实现.访问内部寄存器要通过“I2C总线地址+子地址”的方式来实现。ZLG7290B 的I2C 总线器件地址是70H(写操作)和71H(读操作)。 * * 键值寄存器Key(地址:01H) 如果某个普通键(K1~K56)被按下,则微控制器可以从键值寄存器Key中读取相应的键值1~56。如果微控制器发现ZLG7290 的INT 引脚产生了中断请求,而从Key 中读到的键值是0,则表示按下的可能是功能键。键值寄存器Key 的值在被读走后自动变成0。 * * 显示缓冲区DpRam0~DpRam7(地址:10H~17H) DpRam0~DpRam7 这8 个寄存器的取值直接对应8个数码管的显示内容。每个寄存器的8 个位分别对应数码管的a,b,c,d,e,f,dp 段,MSB 对应a,LSB 对应dp。例如大写字母H 的字型数据为6EH(不带小数点)或6FH(带小数点)。 * * 命令缓冲区CmdBuf0 和CmdBuf1(地址:07H 和08H) 通过向命令缓冲区写入相关的控制命令可以实现段寻址、下载显示数据、控制闪烁等功能。 * * 2、ZLG7290控制命令介绍 寄存器CmdBuf0(地址:07H)和CmdBuf1(地址:08H)共同组成命令缓冲区。通过向命令缓冲区写入相关的控制命令可以实现段寻址、下载显示数据、控制闪烁等功能。 * * 下载数据并译码(Download) 在指令格式中,高4 位的0110 是命令字段;A3A2A1A0 是数码管显示数据的位地址(其中A3 留作以后扩展之用,实际使用时取0 即可),位地址编号依次为0,1,2,3,4,5,6,7,代表8个数码管,dp 控制小数点是否点亮,0-点亮,1-熄灭;flash 表示是否要闪烁,0-正常显示,1-闪烁;d4d3d2d1d0 是要显示的数据,包括10 种数字和21 种字母。显示数据按照表一中的规则进行译码: * * 表一 下载数据并译码命令规则 * * 闪烁控制(Flash) 在命令格式中,高4 位的0111 是命令字段;xxxx 表示无关位,通常取值0000;第2 字节的Fn(n=0~7)控制数码管相应位的闪烁属性,0-正常显示,1-闪烁。复位后,所有位都不闪烁。 * * 3、 Linux下i2c驱动接口函数介绍 Linux为我们提供了一系列的接口函数,通过调用这些函数可以很方便的访问到我们的I2C设备,达到对它的操作和控制。在本实验中,就是通过调用这些函数,完成对zlg7290内部寄存器的配置,从而驱动键盘和数码管按照我们需要的方式工作。下面对接口函数进行介绍: * * 3、 Linux下i2c驱动接口函数介绍 打开设备: 在linux下编程实现对具体设备的操作,首先要做的就是打开要操作的设备文件,zlg7290设备的设备文件是“/dev/zlg7290/0”。 具体实现函数是: fd=open(“/dev/zlg7290/0”,O_RDWR) * * 向设备写数据(1/2): 具体实现过程是先写入要配置的寄存器的地址,然后写入要配置的值,具体实现函数是: unsigned char temp[2]; //定义一个数组用于存放要发送的数据,包括寄存器地址和要写入该寄存器内的值 temp[0]=address; //将要配置的寄存器的
您可能关注的文档
- SPSS的双因子ANOVA.ppt
- SPSS行业应用实例医学分析.ppt
- spss使用教程ppt.ppt
- spss数据的编码录入与整理.ppt
- SQE供应商质量管理研修班.ppt
- spss简单案例分析.ppt
- SQLServer事务和并发控制.ppt
- SQLServer基础.ppt
- SQLServer安全管理.ppt
- SQLServer安装注册与熟悉.ppt
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)