松翰单片机sn8f5702程序例程.docx
- 文档编号:1232032
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:14
- 大小:17.66KB
松翰单片机sn8f5702程序例程.docx
《松翰单片机sn8f5702程序例程.docx》由会员分享,可在线阅读,更多相关《松翰单片机sn8f5702程序例程.docx(14页珍藏版)》请在冰豆网上搜索。
松翰单片机sn8f5702程序例程
#include
#include"SN8F5702.h"
#include
voidInitCPU(void);//单片机初始化
voidRam_init(void);//全局变量赋值
voidTime_Fun(void);//基准走时函数
voidSYSIspStart(unsignedintpageAddress);
//----------------------字节全局变量-------------------------------
u8idataISP_RAM[32];//IRAM0xE0to0xFF
#defineWenDu_UpISP_RAM[1]
#defineWenDu_DownISP_RAM[2]
#defineWenDu_ChaISP_RAM[3]
//u8WenDu_Up;
//u8WenDu_Down;
u8WenDu_HJ;
u8ADC_WenDu_HJ;
u8AD_key;
u8Time_500ms_t;
u8Temp_ChaZhi_ID;//0显示环境温度,1显示差值闪烁
u8SS_500Ms_t;//500ms闪烁标志位
u8IAP_Save_t;//存储标志位
//--------------------位全局变量-----------------------------------
bitTimeFlag;//定时标记
bitBuzz_Flag;//蜂鸣器标志位
bitSS_500Ms_Flag;//500ms闪烁标志位
bitZiDong_ShouDong_Flag;//自动手动标志位
bitShouDong_Out_Flag;//手动输出标志位
bitIAP_Save_Flag;//存储标志位
bitNTC_Error_Flag;//传感器错误
bitNTC_OK_Flag;//传感器错误
u8codeISP_ROM[32]_at_0X0200;
//******************************************************************
#defineADC_GLOBAL
#include"..\inc\config.h"
/*****************************************************************/
#defineAD_DATA_T250
constu16codeTEMP_AD_DATA[AD_DATA_T+1]=
{
3138,//0
3100,//1
3061,//2
3022,//3
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
1176,//47
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
};
voidAD_fun(void)//
{
staticu8AD_Sum_t=0,AD_ID=0;
staticu16AD_Sum=0;
staticu8Temp_Change_t=0;
u8i;
AD_Sum+=Get_ADC(AD_ID);
AD_Sum_t++;
if(AD_Sum_t>=8)
{
AD_Sum_t=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;
}
}
u16Get_ADC(ucharn)
{
u16dat;//
dat=0;
if(!
n)
{
ADM=_1000_0000b;//AIN0通道
}
elseif(n==1)
{
ADM=_1000_0110b;//AIN6通道
}
elseif(n==2)
{
ADM=_1000_0111b;//AIN7通道
}
elseif(n==3)
{
ADM=_1000_1000b;//AIN8通道
}
_nop_();
_nop_();
ADM|=_0100_0000b;//开始转换
while(!
(ADM&_0010_0000b));//转换中
_nop_();
_nop_();
ADM&=_1101_1111b;
dat=ADB;
dat<<=4;
dat+=(ADR&0x0f);
_nop_();
_nop_();
returndat;
}
voidSYSIspStart(unsignedintpageAddress)
{
ISP(pageAddress,ISP_RAM);
}
/***************************************************************
硬件初始化函数:
硬件初始化输入输出定时器开关AD初始化
****************************************************************/
voidInitCPU(void)//单片机初始化
{
EAL=0;//关总中断
CLKSEL=_0000_0101b;//内部32MRCFhosc/4分频
CLKCMD=0x69;//时钟开关启动
CKCON=_0011_0001b;
//------------------------------I/O口输出--------------------------
//---------------P0---------------
P0M=_1111_1111b;//P07=BUZZP06=6P05=5P04=4
P0UR=_0000_0000b;//P03=3P02=2P01=1P00=LED1
P0=_0000_0000b;
//---------------P1---------------
//P1W=_0000_1000b;
P1M=_0011_1110b;//P17=ADC7P16=ADC6P15=LED2P14=?
P1UR=_0000_0000b;//P13=?
P12=?
P11=?
P10=ADC0_温度
P1=_0000_0000b;
//---------------P2---------------
P2M=_1111_1101b;//P27=?
P26=?
P25=?
P24=?
P2UR=_0000_0000b;//P23=?
P22=?
P21=ADC6P20=REY_OUT
P2=_0000_0000b;
//------------------------------INT--------------------------------
//PEDGE|=0x03;//EX0G电平变换触发,双沿
//EX0=1;//INT0isrenable
//PEDGE|=0x04;//EX1G=0x01:
INT1Risingedgetrigger
//EX1=1;//INT1isrenable
//
//PEDGE|=0x30;//EX1G=0x11:
Bothrisingandfallingedgetrigger(Levelchangetrigger).
//IEN4|=0x40;//INT2isrenable(EX2)
//====================PWM1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 sn8f5702 程序 例程