- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六 数码管显示实验
实验目的
掌握串行移位寄存器工作原理;
理解串行时序;
掌握4位数码管显示数字的方法原理。
实验内容
在实验5的基础之上新建74HC595.c、74HC595.h、Displays.c、Displays.h实现串行移位寄存器驱动数码管显示数字的功能。
预备知识
串行移位数据寄存器相关概念;
共阳极数码管显示原理;
实验设备及工具
硬件:PC机、STM32开发板、JLINK_V8仿真器;
软件:KEIL MDK4.12、JLINK_V8驱动。
实验原理及说明
74HC595简介:
74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,简单来说74HC595是一个8位串行数据转并行数据的一种元器件。
QA--QH: 八位 并行输出端,可以直接控制数码管的8个段。
74hc595外形图
QH:? 级联输出端。将它接下一个595的SI端。
SI:? 串行数据输入端。
74595的控制端说明:
/SCLR(10脚): 低电平时将移位寄存器的数据清零。通常我将它接Vcc。
SCK(11脚):上升沿时数据寄存器的数据移位。QA--QB--QC--...--QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级);
RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低点平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。
/G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。
注意:
74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25mA)比74595(35mA)的要小,14脚封装,体积也小一些。
74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。
595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输595是串入并出带有锁存功能移位寄存器,它的使用方法很简单,如下面的真值表,在正常使用时SCLR为高电平, G为低电平。从SER每输入一位数据,串行输入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。入时钟SCK上升沿有效一次,直到八位数据输入完毕,输出时钟上升沿有效一次,此时,输入的数据就被送到了输出端。详细信息请参考74HC595数据手册。
共阳极数码管简介
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
我们配套的STM32开发板板载4个0.36寸共阳极数码管,其原理图如下所示:
,其中3、8脚为COM公共端需要接入+5V电源,我们只要将对应的IO拉低对应的二极管就会亮起。
硬件设计
板载4位共阳极数码管驱动电路如下:
实验步骤
拷贝“实验5串口通信实验”工程文件并保存在..\STM32工程文件目录下并命名为“实验6数码管显示实验”,并修改对应的KEIL工程文件名称(实际步骤参考上节实验);
新建74HC595.c、74HC595.h、Displays.c、Displays.h,并保存在“实验6数码管显示实验”..\bsp目录下。
修改工程文件名称并打开工程文件
添加源文件到工程(相关操作参照实验1建立工程模板)
添加“74HC595.h”和”Displays.h”到“includes.h“文件
修改74HC595.c
#includeincludes.h
void Init_74HC595(void)
{
RCC-APB2ENR |=16;//使能PORTE时钟
/*初始化引脚控制位*/
GPIOE-CRL =0xF0F00FFF;//PE3 PE4 PE6
/*将对应的控制引脚配置为推挽输出模式*/
GPIOE-CRL |=0//PE3 PE4 PE6
}
从上面的一段代码前面的实验中我们已经讲了很多,在此我们不再赘述。
void Update_74HC595(void)
{
Update_L;
delay_us(50);
Update_H;
delay_us(50);
}
Update_74HC595主要完成更新595输出的功能,根据数据手册的说明,我们需要使更新数据引
文档评论(0)