完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1 概述
1.1 资源概述 开发板:正点原子STM32F103 Nano开发板 CUBEMX版本:1.3.0 MDK版本:5.23 主控芯片型号:STM32F103RBT6 1.2 实现功能 本实验,定时器以2ms时间刷新数码管,以1S周期时间,更新数码管显示,同时DS0闪烁 来指示程序运行。显示内容为HELLO。 2 硬件相关知识 2.1电路图 采用38译码器和移位寄存器实现。 2.2 字符查询 字符查询,极性是共阴,排列顺序是a-dp tips 如果我们要实现小数点,有一个捷径,不用重新生成字符,在原来字符上增加一个或0x01(共阴adp方式)的操作,如H.代码为0x6e|0x01 3 程序实现 此程序在正点原子的程序基础上进行修改 1,主程序 //共阴数字数组,字符内容 HELLO,全灭 u8 smg_num[]={0x6e,0x9e,0x1c,0x1c,0xfc,0x00}; int main(void) { HAL_Init(); //初始化HAL库 Stm32_Clock_Init(RCC_PLL_MUL9); //设置时钟,72M delay_init(72); //初始化延时函数 uart_init(115200); //初始化串口 LED_Init(); //初始化LED LED_SMG_Init(); //数码管初始化 TIM3_Init(19,7199);//2ms定时显示,可以修改此值修改亮度 while(1) { } } u8 smg_wei=0;//数码管位选 u8 smg_duan=0;//数码管段选 u16 t=0; //回调函数,定时器中断服务函数调用 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if((htim==(&TIM3_Handler))&&(LED0==GPIO_PIN_SET)) { for (smg_wei=0;smg_wei<5;smg_wei++)//5个数码管显示对应位置的字符 { LED_Write_Data(smg_num[smg_wei],smg_wei);//数码管显示 LED_Refresh();//刷新显示 } LED_Write_Data(smg_num[5],4);//将数码管位4熄灭 LED_LCLK=1; delay_us(1); LED_LCLK=0; } t++; if(t==500)//数码管每秒更新(2ms*500=1s) { t=0; LED0=!LED0; } } 主程序时序分析,中断触发刷新LED,总计刷新5个LED,在最后一次将LED灯全灭,等待下一个计时器中断到来。 2,相关函数 //74HC138驱动 //数码管位选 //num:要显示的数码管编号 0-7(共8个数码管) void LED_Wei(u8 num) { LED_A0=num&0x01; LED_A1=(num&0x02)>>1; LED_A2=(num&0x04)>>2; } //74HC595驱动 //数码管显示 //duan:显示的段码 //wei:要显示的数码管编号 0-7(共8个数码管) void LED_Write_Data(u8 duan,u8 wei) { u8 i; for( i=0;i<8;i++)//先送段 { LED_DS=(duan>>i)&0x01; LED_SCK=0; delay_us(1); LED_SCK=1; } LED_Wei(wei);//后选中位 } //74HC595驱动 //数码管刷新显示 void LED_Refresh(void) { LED_LCLK=1; delay_us(200);//调节此参数可以控制亮度 LED_LCLK=0; } 4 实验结果 5 TIPS 调整LED亮度的几种方式 1,电路方法:减小限流电阻阻值,从而增大LED的电流,达到增加亮度目的。 2,软件方法:增加LED在单位时间内的总亮时长,方式有两种,增加刷新频率以及增大单个刷新周期内的点亮时间。 3,物理方法:如果LED有透光保护膜,增加透光膜的透明度。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:35 , Processed in 0.726475 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号