松翰单片机 SN8F5702程序例程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include "SN8F5702.h"

#include // for _nop_

void InitCPU(void); //单片机初始化

void Ram_init(void); //全局变量赋值

void Time_Fun(void); //基准走时函数

void SYSIspStart(unsigned int pageAddress);

//----------------------字节全局变量-------------------------------

u8 idata ISP_RAM[32] ; // IRAM 0xE0 to 0xFF

#define WenDu_Up ISP_RAM[1]

#define WenDu_Down ISP_RAM[2]

#define WenDu_Cha ISP_RAM[3]

// u8 WenDu_Up;

// u8 WenDu_Down;

u8 WenDu_HJ;

u8 ADC_WenDu_HJ;

u8 AD_key;

u8 Time_500ms_Cnt;

u8 Temp_ChaZhi_ID;//0显示环境温度,1显示差值闪烁

u8 SS_500Ms_Cnt;//500ms闪烁标志位

u8 IAP_Save_Cnt;//存储标志位

//--------------------位全局变量-----------------------------------

bit TimeFlag ;//定时标记

bit Buzz_Flag ;//蜂鸣器标志位

bit SS_500Ms_Flag ;//500ms闪烁标志位

bit ZiDong_ShouDong_Flag;//自动手动标志位

bit ShouDong_Out_Flag;//手动输出标志位

bit IAP_Save_Flag;//存储标志位

bit NTC_Error_Flag;//传感器错误

bit NTC_OK_Flag;//传感器错误

u8 code ISP_ROM[32] _at_ 0X0200;

//****************************************************************** #define ADC_GLOBAL

#include "..\inc\config.h"

/*****************************************************************/ #define AD_DATA_CNT 250

const u16 code TEMP_AD_DATA[AD_DATA_CNT+1]=

{

3138 , // 0

3100 , // 1

3061 , // 2

2982 , // 4 2941 , // 5 2899 , // 6 2857 , // 7 2815 , // 8 2771 , // 9 2728 , // 10 2684 , // 11 2639 , // 12 2595 , // 13 2550 , // 14 2504 , // 15 2459 , // 16 2413 , // 17 2367 , // 18 2321 , // 19 2276 , // 20 2230 , // 21 2184 , // 22 2139 , // 23 2093 , // 24 2048 , // 25 2003 , // 26 1959 , // 27 1914 , // 28 1870 , // 29 1827 , // 30 1784 , // 31 1741 , // 32 1699 , // 33 1658 , // 34 1617 , // 35 1577 , // 36 1537 , // 37 1498 , // 38 1459 , // 39 1421 , // 40 1384 , // 41 1348 , // 42 1312 , // 43 1277 , // 44 1243 , // 45 1209 , // 46

1144 , // 48 1112 , // 49 1082 , // 50 1052 , // 51 1022 , // 52 994 , // 53 966 , // 54 938 , // 55 912 , // 56 886 , // 57 861 , // 58 836 , // 59 812 , // 60 789 , // 61 766 , // 62 744 , // 63 723 , // 64 702 , // 65 682 , // 66 662 , // 67 643 , // 68 624 , // 69 606 , // 70 589 , // 71 572 , // 72 555 , // 73 539 , // 74 524 , // 75 509 , // 76 494 , // 77 480 , // 78 466 , // 79 453 , // 80 440 , // 81 427 , // 82 415 , // 83 403 , // 84 392 , // 85 381 , // 86 370 , // 87 360 , // 88 349 , // 89 340 , // 90

330 , // 91

321 , // 92

312 , // 93

303 , // 94

295 , // 95

287 , // 96

279 , // 97

271 , // 98

264 , // 99

};

void AD_fun(void) //

{

static u8 AD_Sum_Cnt = 0,AD_ID=0;

static u16 AD_Sum = 0;

static u8 Temp_Change_Cnt=0;

u8 i;

AD_Sum += Get_ADC(AD_ID);

AD_Sum_Cnt ++;

if(AD_Sum_Cnt >= 8)

{

AD_Sum_Cnt = 0;

AD_Sum >>= 3;

if(1)

{

if(!AD_ID)

{

if(AD_Sum<40||AD_Sum>4050)

{

NTC_Error_Flag = 1;

}

else

{

NTC_Error_Flag = 0;

}

AD_ID=1;

}

}

AD_Sum = 0;

}

}

相关文档
最新文档