完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include "main.h"
uint16_t lay[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极数码管0~9的显示 uint8_t c=120,g=55,y=60,r=115,z=120; int main() { GPIO_InitTypeDef GPIO_Def; NVIC_InitTypeDef NVIC_Def; tiM_TimeBaseInitTypeDef TIM_Def; SystemInit(); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE); GPIO_Def.GPIO_Pin= 0x00FF; GPIO_Def.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Def.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOA,&GPIO_Def); GPIO_Init(GPIOB,&GPIO_Def); GPIO_Init(GPIOE,&GPIO_Def); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_Def.NVIC_IRQChannel=TIM2_IRQn; NVIC_Def.NVIC_IRQChannelPreemptionPriority=1; NVIC_Def.NVIC_IRQChannelSubPriority=2; NVIC_Def.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_Def); TIM_Def.TIM_Prescaler=72000-1; TIM_Def.TIM_CounterMode=TIM_CounterMode_Up; TIM_Def.TIM_Period=1000-1; TIM_Def.TIM_ClockDivision=0; TIM_Def.TIM_RepetitionCounter=0; TIM_TimeBaseInit(TIM2,&TIM_Def); TIM_ClearFlag(TIM2,TIM_FLAG_Update); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); TIM_Cmd(TIM2,ENABLE); while(1) { if(c<=120&&c>=65) { GPIO_SetBits(GPIOE,0x01); //绿灯亮 GPIO_Write(GPIOA,lay[g/10]); GPIO_Write(GPIOB,lay[g%10]); //GPIOA GPIOB中写入数值,GPIOA显示秒表十位数字,GPIOB显示个位数字 } if(c<65&&c>=60) { GPIO_ResetBits(GPIOE,0x01); GPIO_SetBits(GPIOE,0x02); //黄灯亮 GPIO_Write(GPIOA,lay[y/10]); GPIO_Write(GPIOB,lay[y%10]); //GPIOA GPIOB中写入数值,GPIOA显示秒表十位数字,GPIOB显示个位数字 } if(c<60&&c>=5) { GPIO_ResetBits(GPIOE,0x02); GPIO_SetBits(GPIOE,0x04); //红灯亮 GPIO_Write(GPIOA,lay[r/10]); GPIO_Write(GPIOB,lay[r%10]); //GPIOA GPIOB中写入数值,GPIOA显示秒表十位数字,GPIOB显示个位数字 } if(c<5&&c>=0) { GPIO_ResetBits(GPIOE,0x04); GPIO_SetBits(GPIOE,0x02); //黄灯亮 GPIO_Write(GPIOA,lay[z/10]); GPIO_Write(GPIOB,lay[z%10]); //GPIOA GPIOB中写入数值,GPIOA显示秒表十位数字,GPIOB显示个位数字 } } return 0; } void change(uint8_t i) { c-=i; g-=i; y-=i; r-=i; z-=i; } |
|
相关推荐
3个回答
|
|
每定时一次,执行一次change函数?
|
|
|
|
瞄了一眼,貌似 while 里面 有个 return 0; ***。
|
|
|
|
瞄了一眼,貌似“return 0;”在while外面,你懂得 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1129 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1075 浏览 2 评论
2175 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1269 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1693 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 05:47 , Processed in 0.602643 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号