完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
/*******************************************************************************
* Function Name : void Timer0_Init() * Description : 定时器初始化 *******************************************************************************/ void Time0_Init() { count = 0; min = 0; sec = 59; mTimer0Clk12DivFsys(); //T0定时器时钟设置 mTimer1Clk12DivFsys(); //T1定时器时钟设置 mTimer_x_ModInit(0,1); //T0定时器模式设置16位定时器 mTimer_x_ModInit(1,2); //T1定时器模式设置8位自动重装定时器 mTimer_x_SetData(0,0xC350); //T0定时器赋值5MS mTimer_x_SetData(1,0x4C00); //T1定时器赋值5MS mTimer0RunCTL(0); //T0定时器启动 mTimer1RunCTL(1); //T1定时器启动 ET0 = 1; //T0定时器中断开启 ET1 = 1; //T1定时器中断开启 EA = 1; } /******************************************************************************* * Function Name : mTimer0Interrupt() * Description : CH554定时计数器0定时计数器中断处理函数 *******************************************************************************/ voidmTimer0Interrupt( void ) interrupt INT_NO_TMR0 using 1 //timer0中断服务程序,使用寄存器组1 { mTimer_x_SetData(0,0xC350); //非自动重载方式需重新给TH0和TL0赋值 count++; if(count==10) { count=0; if(sec==0) { if(min!=0) { sec=59; min--; } else { mTimer0RunCTL(0); //T0定时器停止 } } else sec--; } } voidmTimer1Interrupt( void ) interrupt INT_NO_TMR1 using 2 { cnt++; if(cnt>=30) //计时3s { cnt=0; if(key1==1&&key2==1&&(min>0||sec>0)) { mTimer0RunCTL(1); //开启定时器0; } } } void main( ) { Time0_Init(); Init_1621(); //初始化HT1621 HT1621_all_off(); //清空LCD显示 while(1) { Write_1621(0,0xF0,4); if(key1==0) { delay_ms(100); if(key1==0) { if(min!=999) { min++; } } while(!key2); delay_ms(1000); while(!key2); } if(key2==0) { delay_ms(100); if(key2==0) { if(min!=0) { min--; } } while(!key1); delay_ms(1000); while(!key1); } min0=min/100%10; min1=min/10%10; min2=min/1%10; sec1=sec/10%10; sec2=sec/1%10; Display_Init(min0,min1,min2,sec1,sec2); } } |
|
相关推荐
4个回答
|
|
|
|
|
|
不知道ch552使用两个定时器有什么要求的吗?使用定时器1控制定时器0,调用函数有什么要求的吗,还是和51单片机兼容的?
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
531 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2907 浏览 2 评论
2402 浏览 1 评论
876浏览 2评论
693浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
423浏览 1评论
535浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
819浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 19:23 , Processed in 1.180113 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号