ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:45KB ,
资源ID:4517907      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4517907.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(单片机程序例程.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

单片机程序例程.doc

1、 . #include #include "SN8F5702.h" #include // for _nop_ void InitCPU(void); //单片机初始化 void Ram_init(

2、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]

3、 // u8 WenDu_Up; // u8 WenDu_Down; u8 WenDu_HJ; u8 ADC_WenDu_HJ; u8 AD_key; u8 Time_500ms_t; u8 Temp_ChaZhi_ID;//0显示环境温度,1显示差值闪烁 u8 SS_500Ms_t;//500ms闪烁标志位 u8 IAP_Save_t;//存储标志位 //--------------------位全局变量----------------------------------- bit TimeFlag ;//定时标记 bit

4、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; //********************************************

5、 #define ADC_GLOBAL #include "..\inc\config.h" /*****************************************************************/ #define AD_DATA_T 250 const u16 code TEMP_AD_DATA[AD_DATA_T+1]= { 3138 , // 0 3100 , // 1 3061 , // 2 3022 , // 3 2982 , // 4 2941 , /

6、/ 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

7、 , // 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 1

8、312 , // 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

9、 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 , /

10、/ 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

11、 , // 99 }; void AD_fun(void) // { static u8 AD_Sum_t = 0,AD_ID=0; static u16 AD_Sum = 0; static u8 Temp_Change_t=0; u8 i; 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_Su

12、m>4050) { NTC_Error_Flag = 1; } else { NTC_Error_Flag = 0; } AD_ID=1; } } AD_Sum = 0; } } u16 Get_ADC( uchar n) { u16 dat;// dat = 0; if(!n) { ADM = _1000_0000b;//AIN0通道 } else if(n==1) { ADM = _1000_0110b;//AIN6通道

13、 } else if(n==2) { ADM = _1000_0111b;//AIN7通道 } else if(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_(

14、); _nop_(); return dat; } void SYSIspStart(unsigned int pageAddress) { ISP(pageAddress, ISP_RAM); } /*************************************************************** 硬件初始化函数: 硬件初始化 输入输出 定时器开关 AD初始化 *************************

15、/ void InitCPU(void) //单片机初始化 { EAL=0; //关总中断 CLKSEL = _0000_0101b;//内部32MRC Fhosc/4 分频 CLKCMD = 0x69;//时钟开关启动 CKCON = _0011_0001b; //------------------------------I/O口输出-------------------------- //---------------P0--------------- P0M=_1111_

16、1111b; //P07=BUZZ P06=6 P05=5 P04=4 P0UR = _0000_0000b; //P03=3 P02=2 P01=1 P00=LED1 P0 = _0000_0000b; //---------------P1--------------- // P1W = _0000_1000b; P1M=_0011_1110b; //P17=ADC7 P16=ADC6 P15=LED2 P14=? P1UR = _0000_0000b; //P13=? P12=? P11=? P10=ADC0_温度 P1 =

17、 _0000_0000b; //---------------P2--------------- P2M=_1111_1101b; //P27=? P26=? P25=? P24=? P2UR = _0000_0000b; //P23=? P22=? P21=ADC6 P20=REY_OUT P2 = _0000_0000b; //------------------------------INT-------------------------------- // PEDGE |= 0x03; // EX0G 电平变换触发,双沿 // EX0

18、 1; // INT0 isr enable // PEDGE |= 0x04; // EX1G = 0x01 : INT1 Rising edge trigger // EX1 = 1; // INT1 isr enable // // PEDGE |= 0x30; // EX1G = 0x11 : Both rising and falling edge trigger (Level change trigger). // IEN4 |= 0x40; // INT2 isr enable (

19、EX2) //====================PWM1设置====================== // PW1M = _1010_0000b; // PW1CH = _0001_0000b; // PW1YH = 0; // PW1YL = 26; // PW1DH = 0; // PW1DL = 7; // PW1A = 5; // PW1B = PW1D; //------------------------------T0-------------------------------- TMOD = _0110_0110b;

20、 // T0 T1 8位自动装载 TH0 = 131; // Initial values TL0 = 131; TCON0 = _0010_0011b; // T0 = Fhsoc/32. T1 = Fhsoc/16 ET0 = 1; // Timer 0 isr enable TR0 = 1; // enable Timer 0 Run control //--------------------------

21、T1-------------------------------- TH1 = 6; // Initial values TL1 = 6; ET1 = 0; // Timer 1 isr enable TR1 = 0; // enable Timer 1 Run control IP0 = _0000_1000b; IP1 = _0000_1000b; //----------------------AD配置---------------------------

22、 //----------------------AD配置-------------------------------------- ADM = _1000_0000b; //AIN3通道 ADR = _0101_0000b;// [ADR.5 ADR.4]00 = Fhosc/16, 01 = Fhosc/8, 10 = Fhosc/1, 11 = Fhosc/2 VREFH = _0000_0011b; //参考电压VDD P1CON = _1100_0001b; P2CON = _0000_0010b; //-----

23、 EAL=1; //开总中断 } void Ram_init(void) { u8 i; NTC_OK_Flag=0;//NTC 测温OK后才继电器开始工作 WenDu_Up=30; WenDu_Down=20; WenDu_HJ=25; Temp_ChaZhi_ID=0;//0显示环境温度,1显示差值闪烁 _clrwdt(); for(i=0;i<20;i++) { ISP_RAM[i]=ISP

24、ROM[i]; } _nop_(); _nop_(); if(ISP_RAM[0]==0x55) { if(WenDu_Up>99||WenDu_Down>99||WenDu_Cha>18) { ISP_RAM[0]=0x55; ISP_RAM[1]=30; ISP_RAM[2]=20; ISP_RAM[3]=9; _clrwdt(); SYSIspStart(0X0200); } } else { ISP_RAM[0]=0x55; ISP_RAM[1]=30; ISP_RAM

25、[2]=20; ISP_RAM[3]=9; _clrwdt(); SYSIspStart(0X0200); } _nop_(); _nop_(); } //*****************************************************************// // 主函数 // //*****************************************************************//

26、void main(void) { u8 i; InitCPU(); i=200; while(i) { i --; _clrwdt(); } Ram_init(); while(1) { if(TimeFlag) { TimeFlag=0; Time_Fun(); //基准时间函数 } _clrwdt(); _nop_(); } } //*****************************************************************// //

27、时间走时函数 // //*****************************************************************// void Work_Fun(void) { } //*****************************************************************// // 时间走时函数 // //*************************

28、// void Time_Fun(void) { static u8 Time_4ms_t = 0,Time_10ms_t = 0,Time_100ms_t = 0,Time_250ms_t = 0; static u8 Buzz_t=0; //***************充放电判断********************* LedDisplay(); Time_4ms_t ++; if(Time_4ms_t>=2) { Time_4ms_t=0; AD_fun(

29、); } Time_10ms_t ++; if(Time_10ms_t>=5) { Time_10ms_t=0; KeyDataProcess(); } Time_100ms_t++; if(Time_100ms_t>=50) { Work_Fun(); Time_100ms_t=0; } } //*****************************************************************// // 中断函数

30、 // //*****************************************************************// void Timer0_ISR(void) interrupt ISRTimer0 // Vector 0x0B { static u8 Time2MS = 0; Time2MS ++; if(Time2MS >= 16) //2MS中断函数 { Time2MS = 0; TimeFlag = 1; } if(Buzz_Flag) BUZZ=!BUZZ; else BUZZ=0; //*************************************** } void Timer1_ISR(void) interrupt ISRTimer1 // Vector 0x1B { ; } . .word..

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服