- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实训报告 键盘和数码管显示
单片机实训报告(一)
班 级:测 控 9 0 1
学 号:
姓 名
实验名称:键盘和数码管显示
实验目的:熟悉掌握ZLG7289的功能和特性,ZLG7289芯片各引脚名称及功能和ZLG7289与微控制器的接口,ZLG7289的SPI接口和控制指令。同时进一步熟悉掌握keil软件的操作和编程。
实验原理:ZLG7289是一款数码显示驱动和键盘扫描管理的芯片。主要有如下的特性:
1.直接驱动8位共阴式数码管或64只独立的LED;
2.管理多达64只按键,自动消除抖动;
3.段电流可达15mA以上,位电流可达100mA;
4.具有左移、右移、闪烁、消隐、段点亮等多种功能;
5.与微控制器之间采用三线SPI总线接口,占用I/O资源少。
电路主要由芯片ZLG7289、8位共阴极数码管、64键的键盘矩阵以及单片机构成。
ZLG7289的控制电路图:
电路的工作原理:
当ZLG7289接收到单片机发出的指令(包括纯指令)后,经过读取、分析和处理, 将会在数码管上显示相对应的操作指令。当ZLG7289检测到有效的按键时,KEY脚将从高电平变为低电平,并一直保持到按键结束。在此期间,如果ZLG7289接收到“读键盘数据指令”,则输出当前按键的键盘代码。
ZLG7289芯片各引脚名称及功能:
引脚 名称 说明 1、2 RTCC、Vcc 接电源 3、5 NC 悬空 4 Vss 接地 6 /CS 片选输入端,低电平时,可向其发指令或读键盘。 7 CLK 同步时钟输入端,发送或读数据时,上升沿数据有效。 8 DIO 串行数据输入/输出端。 9 /INT 按键有效输出端,检测到有效按键时,输出低电平。 10-16 SG/KR0 -SA/KR6 段G-段A驱动输出/键盘行信号0-6。 17 DP/KR7 小数点驱动输出/键盘行信号7。 18-25 DIG0/KC0-DIG7/KC7 数码管位选信号0-7/键盘列信号0-7。 26 OSC2 晶振输出信号。 26 OSC1 晶振输入信号。 28 /RST 复位信号,低电平有效。 Zlg7289与微控制器的接口
ZLG7289使用SPI串行总线与微控制器接口。
SPI接口
SPI串行总线是Motorola公司推出的一种同步串行接口。通常它需要四条线,就可与微控制器之间实现全双工的同步串行通讯。SPI串行总线主要有如下的特性:
采用主从模式(Master Slave)架构,支持多Slave模式,一般只支持单Master,Master控制时钟。
采用四线,实现全双工通信。
图1 SPI接口连线示意图
SPI的数据传输时序模式
SPI接口定义了四种数据传输的时序模式。SPI总线工作于那种时序模式下是由CPOL控制位和CPHA控制位决定的。它们分别表示时钟极性选择和时钟相位选择。
CPOL控制位决定了设备激活后,而没有进行数据传输时,SCLK的空闲(Idle)电平是高电平还是低电平。
CPHA控制位决定设备是在时钟信号的第一个跳变沿采样数据还是在第二个跳变沿采样数据。
图2 SPI的四种数据传输时序模式示意图
ZLG7289的SPI接口:
ZLG7289与微控制器的接口采用3线制的SPI串行总线。三条分别是/CS、CLK和DIO。其中DIO信号是双向的,在与微控制器相接时,要接到控制器的双向I/O上。操作ZLG7289 的SPI接口,主要有三种时序。分别是单字节指令、带数据指令和读数据指令。如下所示:
图3单字节指令时序图
注:在图3中,
T1是/CS信号的建立时间,大约需要50μs。
T2是时钟SCLK信号的高电平持续时间,大约是8μs。
T3是时钟SCLK 信号的低电平持续时间,大约是8μs。
图4带数据指令时序图
图5读数据指令时序图
注:图4中,
T5命令字与输出数据之间的时间间隔,大约25μs
T6输出数据建立时间,大约8μs。
T7是输出数据时SCLK高电平持续时间,大约8μs。
T8是DIO信号从输出状态切换到输入状态的时间,大约是5μs。
实验内容:
作业1:
测试ZLG7289的功能,编写一段程序,使8位LED数码管从高位到低位分别显示8 、7、6、5、4、3、2、1,闪烁后并消隐。然后对这8位数字进行左移或者右移。
程序流程图如下图所示:
作业2:
列出C51与ANSI C之间的主要差别:
不同系列的嵌入式系统的C编译器,根据它所对应的不同芯片系列有
文档评论(0)