📄 main.c
字号:
/*************************************************************************** *描述:本软件用于 试验 *硬件接法: *文件名: *作者: XUCONG *版本: V1.0 *日期: 2009-4-30 *说明: 1.MCU 内部 4MHz振荡, 外部RC复位方式. *参考文档: PIC16F883, DATASHEET *修改日期: *修改人: *修改原因: ************************************************************************** *应用语言: mplab8.30, hitech picc 9.6 *************************************************************************/ #ifndef _MAIN_C_#define _MAIN_C_#include "main.h" //__CONFIG ( UNPROTECT & PWRTEN & WDTEN & XT & BOREN ) ;__CONFIG( INTCLK & WDTDIS & PWRTEN & MCLREN & CP & DUNPROTECT & BOREN & IESODIS & FCMEN & LVPDIS & DEBUGDIS & BORV40 & WP2);//__CONFIG( INTIO & WDTDIS & PWRTEN & MCLREN & CP & DUNPROTECT & BOREN &// IESODIS & FCMEN & LVPDIS & DEBUGDIS & BORV40 & WP2);//#define TEST_MODE 1 //改变测试方式void TestReset(void){ PORTA = 0; PORTC = 0; cStep = 0; bError = 0; cErrTimes = 0; cTestTimes = 0; }void main(void){ uchar i = 0; vInitalSFR();//SFR初始化 SysFlag.byte = 0; PORTB = PORTB; RBIF = 0; GIE = 1; //全局允许中断 while(1) { TimeEnable(); if ( bSYSTime ) { KeyScan(); } if ( bStar_Button ) //如果启动键已按下 {// bStar_Button = 0; vDutTest();/* if ( TEST_POWER == 0) { TEST_POWER = 1; } if ( REMOTE_SW_CTRL == 0) { REMOTE_SW_CTRL = 1; } */ } else { TestReset(); } #ifdef TEST_MODE if ( cErrTimes > MAX_ERR_TIMES ) { //bError = 1; bStar_Button = 0; PORTA = 0; PORTC = 0; PORTB = PORTB; RBIF = 0; SLEEP(); //错误次数超限,进入休眠状态 NOP(); NOP(); TestReset(); }#else if ( cTestTimes > MAX_TEST_TIMES ) { key_time_2 = 0; //等待一分钟 if (cErrTimes < MAX_ERR_TIMES ) // MAX_TEST_TIMES次试验,错误次数小于MAX_ERR_TIMES 次 { NG_LAMP = 0; G_LAMP = 1; } else { NG_LAMP = 1; G_LAMP = 0; } REMOTE_SW_CTRL = 0; // while(key_time_2 <= TEST_PAUSE_TIME) { if( STAR_BUTTON_IN == 1) break; } TestReset(); } #endif }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -