蓝桥杯单片机之主函数设计技巧

主函数结构设计:

#include <main.h>//unsigned char time_fage_n=0;unsigned char time_flag_0=0;//bit name_mode_flag=0;bit mode_flag=0;bit ad_mode_flag=0;bit led_mode_flag=0;bit smg_mode_flag=0;//dat_para_setunsigned char da_para;void main(){//name_mode_init();Timer2Init();  //定时器2初始化,定时2mssmg_init();  //数码管初始化,即消隐board_init();  //继电器,蜂鸣器等初始化(关闭)led_init();  //led初始化(全部熄灭)while(1)   //进入循环{/*时间片循环*//*利用定时器中断产生一定时间片循环,并在该循环周期内执行特定的函数。其中利用time_flag_n++来产生循环时间片*//*利用time_flag_n%para是在time_flag_n清零前多次执行该函数*//*利用time_flag_n==para是在time_flag_n清零前只执行一次,不同参数将不同函数执行时刻分割开来*//*利用不同的time_flag可以产生多个不同的周期,使得各个周期内执行的函数互相隔离,不产生干扰*///key_scanif(time_flag_0%5==0){key_scan(); //每10ms一次按键扫描}//da_out_and_ad_in/*切记,如果程序中同时需要数模转换或者模数转换时,请把两个函数放在一起,否则会发生数模转换失败的风险,并且如果两个函数之间间隔的时间越长,失败的风险越大。间隔时间的单位是毫秒级!!!!*/if(time_flag_0 == 120){ ad_in();   //操作全局变量ad_para(定义在模块中),类型为unsigned int,如果定义为unsigned char在进行转换为实际电压时会发生溢出,导致数据发生异常da_out(da_para);  count = 0;}if(time_flag_0 == 60){tem_read();//操作全局变量tem_para,类型为unsinged int,避免计算过程中发生溢出}//fre_countif (time_flag_1 == 50){time_flag_1 = 0;fre_in();//操作全局变量fre_para,类型为u
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值