好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

热敏电阻参考程序.doc

4页
  • 卖家[上传人]:s9****2
  • 文档编号:490027082
  • 上传时间:2022-11-09
  • 文档格式:DOC
  • 文档大小:35.50KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • include #include #define WORD unsigned int#define BYTE unsigned char#define AD_LU 15//********************************************//WORD idata AD;float idata DIANYA,R,T_;BYTE code BCD_tab[] = {0x01,0x4f,0x12,0x06,0x4c,0x24,0x20,0x0f,0x00,0x04};BYTE code WM_tab[] = {0xFB,0xFD,0xFE};BYTE idata BCD_ZH[3];BYTE idata tt=0;BYTE idata t=0;WORD idata XIANSHI_JISHU=0;//*********************************************sfr DM = 0xA0;sfr WM = 0x80;//**********************************************bit XIANSHI_BIT = 0;bit FUHAO_BIT = 0;bit XIANSHI_BIT_=1;//********************************************void CONFIG(){//看门狗禁止,以方便调试 PCA0MD = 0x00; //看门狗禁止 REG0CN = 0x10; //内部LDO使能 PFE0CN = 0x20; //预取指令允许位置'1'//--------------------------------------- //交叉开关配置 XBR0 = 0x00; XBR1 = 0x40; P1MDIN = 0x7f; P1MDOUT = 0;//--------------------------------------- //系统时钟配置,采用内部晶振 CLKSEL = 0x00;//时钟乘法器 OSCICN = 0x87;//振荡器使能不分频//----------------------------------------//T2初始化 //T2工作于自动重装载定时方式,定时时间ms,PID运算时间最短为ms TMR2CN = 0x04;//开定时器 TMR2RLH = 0xe0;//定时器重装载高字节 TMR2RLL = 0x18;//低字节 TMR2H = 0xe0;//定时器高字节 TMR2L = 0x18;//低字节 IE |= 0x20;//允许TF2L或TF2H标志中断请求 //------------------------------------- //VREF初始化 REF0CN = 0x13;//基准电压.2v //-------------------------------------- //ADC0初始化 ADC0CN = 0x80;//ASC0处于使能状态,可以进行转换数据 ADC0CF = 0xf0; //-------------------------------------- EA = 1;//开启全局中断}//*************************************************************************void T2_INT()interrupt 5{//PID采样时间,最小间隔ms TMR2CN &= 0x7f;//清除TF2中断标志 XIANSHI_BIT = 1; if(tt<2){tt++;} else{tt=0;} WM = 255; DM = BCD_tab[BCD_ZH[tt]]; WM = WM_tab[tt]; XIANSHI_JISHU++; if(XIANSHI_JISHU<100){ XIANSHI_JISHU++; } else { XIANSHI_JISHU = 0; XIANSHI_BIT_ = 1; }}//AD转换函数//**************************************************************************WORD ADC0(){ BYTE x; WORD y; ADC0MX = AD_LU; ADC0CN |=0x10; x = ADC0CN&0x20; while(x==0){ x = ADC0CN&0x20; } ADC0CN = ADC0CN&0xdf; y = 256*ADC0H+ADC0L; return y;}//转换函数//*************************************************************void BCD_ZHUANHUAN(int x){ if(x<0){ x = -x; FUHAO_BIT = 1; } else{ FUHAO_BIT = 0; } BCD_ZH[0] = x%10; BCD_ZH[1] = x/10%10; BCD_ZH[2] = x/100;}//*****************************************************************float U_JISUAN(WORD x){ return (2.200*(float)(x)/4095);}float R_JISUAN(float x){return 3600.0*x/(2.58-x);}float T_JISUAN(float x){ float T; T = (1/(log(x/10000)/2800+1/298.15)); return T;}//*****************************************************************//主函数void mian(){ CONFIG(); while(1){ AD = ADC0(); DIANYA =U_JISUAN(AD); R=R_JISUAN(DIANYA); T_=T_JISUAN(R)-273.15; if(XIANSHI_BIT_==1){ BCD_ZHUANHUAN(T_*10); XIANSHI_BIT_=0; } }}。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.