《第十二集 复位系统》
一、看门狗复位
为了解决单片机死机问题,设计者给单片机设计了一种叫做看门狗的模块
二、软件复位
IAP_CONTR=0x60;触发软件复位,软件复位后从系统ISP区开始执行代码
三、实验
1、显示版本"U1.00"
条件有限只能先用虚拟数码管显示一下
- void SEG7_show_verion(void)
- {
- BYTE cod[8];
- cod[0] = 0x00;
- cod[1] = 0x00;
- cod[2] = 0x00;
- cod[3] = 0x00;
- cod[4] = 0x3e;
- cod[5] = 0x86;
- cod[6] = 0x3f;
- cod[7] = 0x3f;
- SEG7_ShowCode(cod);
- }
复制代码
2、按键复位
- void KEY_Task(void)
- {
-
- if(KEY1==0)
- {
- delay_ms(10);
- if(KEY1==0){
- LED2=~LED2;
-
- IAP_CONTR=0x60;
- }
- while(KEY1==0);
- }
复制代码
3、看门狗设置
-
- WDT_CONTR=0x24; //看门狗设置
- while(1)
- {
-
- Task_Pro_Handler_Callback(); //执行功能函数
-
- WDT_CONTR=0x34; //喂狗
复制代码
条件有限先完成这些
|