单片机实训报告键盘和数码管显示_第1页
单片机实训报告键盘和数码管显示_第2页
单片机实训报告键盘和数码管显示_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机实训报告(一)班级:测控901学号:_姓名实验名称:键盘和数码管显示实验目的:熟悉掌握ZLG7289的功能和特性,ZLG7289芯片各引脚名称及功能和ZLG7289与微控制器的接口,ZLG7289的SPI接口和控制指令。同时进一步熟悉掌握keil软件的操作和编程。实验原理:ZLG7289是一款数码显示驱动和键盘扫描管理的芯片。主要有如下的特性:1. 直接驱动8位共阴式数码管或64只独立的LED;2. 管理多达64只按键,自动消除抖动;3. 段电流可达15mA以上,位电流可达100mA4. 具有左移、右移、闪烁、消隐、段点亮等多种功能;5. 与微控制器之间采用三线SPI总线接口,占用I/O

2、资源少。电路主要由芯片ZLG72898位共阴极数码管、64键的键盘矩阵以及单片机构成。ZLG7289的控制电路图:S-JLq,/Li.IIIUJ-SX.1IIIII:>hF-tfll:dlg抑:um*-*WwHTnnnhtmuUls-Mm电路的工作原理:当ZLG7289接收到单片机发出的指令(包括纯指令)后,经过读取、分析和处理,将会在数码管上显示相对应的操作指令。当ZLG7289检测到有效的按键时,KEY脚将从高电平变为低电平,并一直保持到按键结束。在此期间,如果ZLG7289接收到“读键盘数据指令”,则输出当前按键的键盘代码。ZLG7289芯片各引脚名称及功能引脚名称说明1、2RTC

3、GVcc接电源3、5NC悬空4Vss接地6/CS片选输入端,低电平时,可向其发指令或读键盘。7CLK问步时钟输入端,发句读数据时,上升沿数据有效。8DIO串行数据输入/输出端。9/INT按键有效输出端,检测到有效按键时,输出低电平。10-16SG/KR0-SA/KR6段G-段A驱动输出/键盘行信号0-6。17DP/KR7小数点驱动输出/键盘仃信节7。18-25DIG0/KC0-DIG7/KC7数码管位选信号0-7/键盘列信号0-7。26OSC2晶振输出信号。26OSC1晶振输入信号。28/RST复位信号,低电平有效。Zlg7289与微控制器的接口ZLG7289使用SPI串行总线与微控制器接口。

4、SPI接口SPI串行总线是Motorola公司推出的一种同步串行接口。通常它需要四条线,就可与微控制器之间实现全双工的同步串行通讯。SPI串行总线主要有如下的特性:1. 采用主从模式(MasterSlave)架构,支持多Slave模式,一般只支持单Master,Master控制时钟。2. 采用四线,实现全双工通信。图1SPI接口连线示意图SPI的数据传输时序模式SPI接口定义了四种数据传输的时序模式。SPI总线工作于那种时序模式下是由CPOL控制位和CPH如制位决定的。它们分别表示时钟极性选择和时钟相位选择。CPOL控制位决定了设备激活后,而没有进行数据传输时,SCLK的空闲(Idle)电平是

5、高电平还是低电平。CPHA®制位决定设备是在时钟信号的第一个跳变沿采样数据还是在第二个跳变沿采样数据。12345|678|SCLK(CPOL=0)SCLK(CPOL=1)L_TT_TLTTJ/SSIDATA(CPHA=0)DATA(CPHA=1)ZLG7289的SPI接口:ZLG7289与微控制器的接口采用3线制的SPI串行总线。三条分别是/CS、CLK和DIO。其中图3单字节指令时序图注:在图3中,T1是/CS信号的建立时间,大约需要50s。T2是时钟SCLK信号的高电平持续时间,大约是81s。T3正时钟SCLK信亏的低电干持织时间,大约正8s。图4带数据指令时序图X_1LSB图5

6、读数据指令时序图注:图4中,T5命令字与输出数据之间的时间间隔,大约25sT6输出数据建立时间,大约8s。T7是输出数据时SCLK高电平持续时间,大约8s。T8是DIO信号从输出状态切换到输入状态的时间,大约是5s。实验内容:作业1:测试ZLG7289的功能,编写一段程序,使8位LED数码管从高位到低位分别显示8、7、6、5、4、3、2、1,闪烁后并消隐。然后对这8位数字进行左移或者右移。程序流程图如下图所示:作业2:列出C51与ANSIC之间的主要差别:不同系列的嵌入式系统的C编译器,根据它所对应的不同芯片系列有其各自的特点,在这里,以KEIL公司的针对51系列的KEILC51编译器为例,简

7、要说明它与ANSI-C的主要区别,其它的编译系统与ANSI-C的差别,可具体参照指定编译系统手册,找出它们的不同之处。清楚嵌入式系统的C编译器与标准ANSI-C的区别是用C编译器系统进行嵌入式系统开发的前提条件。不同的嵌入式C编译系统之所以与ANSI-C有所不同,主要是由于它们所针对的硬件系统有其各自不同的硬件特点,对国内开发人员熟悉的51系列单片机,有着最为丰富的编译系统,其中最为出色的当属KEIL(也就是大家熟知的FRANKLING但FRANKLIN田相当于KEIL的早期产品,它是KEIL公司在美国销售时曾使用的一个品牌)。从头文件来说,51系列有不同的厂家,不同的系列产品,如仅ATMEL

8、公司就有大家熟悉的89c2051、89c51、89c52以及大家不熟悉的89s8252等系列产品。它们都是基于51系列的芯片,唯一不同之处在于内部资源如定时器、中断、I/O等数量以及功能的不同,为了实现这些功能,只需将相应的功能寄存器的头文件加载在程序中就可实现它们所指定的不同功能。因此,KEILC51系列头文件集中体现了各系列芯片的不同功能。从数据类型来说,由于8051系列器件包含位操作空间和丰富的位操作指令,直接嵌入式C与ANSI-C相比,比ANSI-C多一种位类型,使得它能如同汇编一样,灵活的进行位指令操作。从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片

9、内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLLCOMPACTLARG敬式,各种不同的模式对应不同的实际硬件系统,也将有不同的编译结果。从数据运算操作和程序控制语句以及函数的使用上来讲,它们几乎没有什么明显的不同,只是在函数的使用上,由于嵌入式系统的资源有限,它的编译系统不允许太多的程序嵌套,C语言的丰富的库函数对程序开发提供了很大的帮助,但它的库函数和ANSI-C也有一些不同之处,从编译相关的不同来说,由于51系列是8位机,扩展16位字符不被C51所支持,其次,ANSI-C所具备的递归特性不被C51所支持,在C51中,要使用递归特性,必须用REENTRANT行申明才能使用。KEILC51与标准ANSI-C在库函数,由于部分库函数不适

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论