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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51+HD7279+ADS1110+PT100的测温系统程序.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51+HD7279+ADS1110+PT100的测温系统程序.docx

1、51+HD7279+ADS1110+PT100的测温系统程序#include #include typedef unsigned int uint;typedef unsigned char uchar;typedef unsigned short WORD;float code RTD_TAB_PT100151 = / 表格是以1度为一步,即-20, -19, -18. 88.22, 88.62 ,88.62, 89.40, 89.80, 90.19, 90.59, 90.98, 91.37, 91.77, / -30 -21 92.16, 92.55, 92.95, 93.34, 93.7

2、3, 94.12, 94.52, 94.91, 95.30, 95.69, / -20 -11 96.09, 96.48, 96.87, 97.26, 97.65, 98.04, 98.44, 98.83, 99.22, 99.61, / -10 -1 100.00,100.39,100.78,101.17,101.56,101.95,102.34,102.73,103.13,103.51, / 0 9 103.90,104.29,104.68,105.07,105.46,105.85,106.24,106.63,107.02,107.49, / 10 19 107.79,108.18,108

3、.57,108.96,109.35,109.73,110.12,110.51,110.90,111.28, / 20 29 111.67,112.06,112.45,112.83,113.22,113.61,113.99,114.38,114.77,115.15, / 30 39 115.54,115.93,116.31,116.70,117.08,117.47,117.86,118.24,118.62,119.01, / 40 49 119.40,119.78,120.16,120.55,120.93,121.32,121.70,122.09,122.47,122.86, / 50 59 1

4、23.24,123.62,124.01,124.39,124.77,125.16,125.54,125.92,126.31,126.69, / 60 69 127.07,127.45,127.84,128.22,128.60,128.98,129.37,129.75,130.13,130.51, / 70 79 130.89,131.27,131.66,132.04,132.42,132.80,133.18,133.56,133.94,134.32, / 80 89 134.70,135.08,135.46,135.84,136.22,136.60,136.98,137.36,137.74,1

5、38.12, / 90 99 138.50,138.88,139.26,139.64,140.02,140.39,140.77,141.15,141.53,141.91, / 100 109 142.29,142.66,143.04,143.42,143.80,144.17,144.55,144.93,145.31,145.68, / 110 119 146.06 / 120; /float code RTD_TAB_PT10041 = / 表格是以5度为一步,即-50, -45, - 40. / / 80.31, 82.29, 84.27 ,86.25, 88.22, 90.19, 92.1

6、6, 94.12, 96.09, 98.04, / -50 -5 / 100.00,101.95,103.90,105.85,107.79,109.73,111.67,113.61,115.54,117.47, / 0 45 / 119.40,121.32,123.24,125.16,127.08,128.99,130.90,132.80,134.71,136.61, / 50 95 / 138.51,140.40,142.29,144.18,146.07,147.95,149.83,151.71,153.58,155.46, / 100 145 / 157.33 / 50/; sbit be

7、ep = P35;/-ADS1110地址、配置字-/ #define ADS1110_WR_ADDRESS 0x92 / 1001 001 0 写 #define ADS1110_RD_ADDRESS 0x93 / 1001 001 1 读 #define ADS1110_CONFIG_REG 0x8C / 连续转换模式,16bit精度,PGA=1 sbit ADS1110_SDA = P15; / 模拟I2C数据传输位 sbit ADS1110_CLK = P16; / 模拟I2C时钟控制位/uchar TMR_H, TMR_L; / AD转换高8位,和低8位uint AD_Result25

8、;unsigned long nTmp;/* HD7279 函数定义 *void long_delay(void); / 长延时void short_delay(void); / 短暂延时void delay10ms(unsigned char); / 延时10MSvoid write7279(uchar, uchar); / 写入到HD7279uchar read7279(uchar); / 从HD7279读出void send_byte(uchar); / 发送一个字节uchar receive_byte(void); / 接收一个字节sbit cs =P07; / cs at P1.4s

9、bit clk=P06; / clk 连接于 P1.5sbit dat=P05; / dat 连接于 P1.2sbit key=P04; / key 连接于 P1.3sbit Hight_LED = P46;sbit Low_LED = P41;/* HD7279A 指令 *#define CMD_RESET 0xa4#define CMD_TEST 0xbf#define DECODE0 0x80#define DECODE1 0xc8#define CMD_READ 0x15#define UNDECODE 0x90#define RTL_CYCLE 0xa3#define RTR_CYC

10、LE 0xa2#define RTL_UNCYL 0xa1#define RTR_UNCYL 0xa0#define ACTCTL 0x98#define SEGON 0xe0#define SEGOFF 0xc0#define BLINKCTL 0x88/- AT24C04 变量声明 -sbit _24C02_SCL = P26; /AT24C04的时钟sbit _24C02_SDA = P25; /AT24C04的数据uchar BUF16; /数据缓存区uint code nDefaultDATA =/ nLowTMP nHightTMP nTMPAdj 480, 650, 0 / 默认

11、设置;uint nSettingDATA3 = 0, 0, 0; / 当前设置void Delay5us();void AT24C04_Start();void AT24C04_Stop();void AT24C04_SendACK(bit ack);bit AT24C04_RecvACK();void AT24C04_SendByte(uchar dat);uchar AT24C04_RecvByte();void AT24C04_ReadPage();void AT24C04_WritePage();/* 红外接收 *sbit IRIN = P33; /红外接收器数据线uchar IRCO

12、M7;uchar nFlag = 0;uchar nMode = 1; / nMode 0 1 2 3 / mean NULL nLowTMP nHightTMP nTMPAdjuint nLowTMP = 480; / 最低温度设定uint nHightTMP = 650; / 最高温度设定char nTMPAdj = 0; / 温度修正void send_ad_result(uchar temp);/*/HD 7279 函数/*/void write7279(uchar cmd, uchar dta) cs = 0; send_byte (cmd); send_byte (dta); cs

13、 = 1; uchar read7279(uchar command) cs = 0; send_byte(command); return(receive_byte(); cs = 1;void send_byte( uchar out_byte) uchar i; cs=0; long_delay(); for (i=0;i8;i+) if (out_byte&0x80) dat=1; else dat=0; clk=1; short_delay(); clk=0; short_delay(); out_byte=out_byte*2; dat=0;uchar receive_byte(v

14、oid) uchar i, in_byte; dat=1; / set to input mode long_delay(); for (i=0;i8;i+) clk=1; short_delay(); in_byte=in_byte*2; if (dat) in_byte=in_byte|0x01; clk=0; short_delay(); dat=0; return (in_byte);void delay10ms(uint time) /误差 -0.000000000001us uchar a,b,c; uint i; for (i=0;i0;c-) for(b=168;b0;b-)

15、for(a=24;a0;a-); void long_delay(void) unsigned char i; for (i=0;i0x30;i+);void short_delay(void) unsigned char i; for (i=0;i0;delay1ms-)/ for(b=222;b0;b-)/ for(a=12;a0;a-); / 11.0592M for( ; delay1ms 0; delay1ms-) for(b = 21; b 0; b-) for(a = 130; a 0; a-);void Delay5us() / 晶振11.0592M 误差 -0.0267650

16、46296us uchar a; for(a=12;a0;a-); _nop_(); void delay(uint delay) /STC11F60XE,12M,延时170us uchar a,b; / 12M/ for(;delay0;delay-)/ for(b=78;b0;b-)/ for(a=5;a0;a-); / 11.0592M for( ; delay 0; delay-) for( b = 2; b 0; b-) for( a = 232; a 0; a-);/- 数码管显示函数 - void Display_TMP(uint nTmp1) /send_byte(CMD_RE

17、SET); write7279(DECODE0,nTmp1/100%100); delay1ms(2); write7279(DECODE0+1,nTmp1/10%10); delay1ms(2); write7279(SEGON,15); delay1ms(2); write7279(DECODE0+2,nTmp1%10); delay1ms(2); write7279(SEGON,63); delay1ms(2); write7279(SEGON,62); delay1ms(2); write7279(SEGON,61); delay1ms(2); write7279(SEGON,60);

18、 delay1ms(2); write7279(SEGON,59); delay1ms(2);/ write7279(DECODE0+4,nTmp2/100%100);/ delay1ms(2);/ write7279(DECODE0+5,nTmp2/10%10);/ delay1ms(2);/ write7279(SEGON,47);/ delay1ms(2);/ write7279(DECODE0+6,nTmp2%10);/ delay1ms(2);/ write7279(SEGON,31);/ delay1ms(2);/ write7279(SEGON,30);/ delay1ms(2)

19、;/ write7279(SEGON,29);/ delay1ms(2);/ write7279(SEGON,28);/ delay1ms(2);/ write7279(SEGON,27);/ delay1ms(2); /delay10ms(1000); /send_byte(CMD_RESET);void Display_SETTMP(uint nTmp2) /send_byte(CMD_RESET); write7279(DECODE0+4,nTmp2/100%100); delay1ms(2); write7279(DECODE0+5,nTmp2/10%10); delay1ms(2);

20、 write7279(SEGON,47); delay1ms(2); write7279(DECODE0+6,nTmp2%10); delay1ms(2); write7279(SEGON,31); delay1ms(2); write7279(SEGON,30); delay1ms(2); write7279(SEGON,29); delay1ms(2); write7279(SEGON,28); delay1ms(2); write7279(SEGON,27); delay1ms(2); /delay10ms(1000); /send_byte(CMD_RESET);void Displa

21、y_SET() send_byte(CMD_RESET); if (nMode = 1) / set nLowTMP write7279(SEGON,1); delay1ms(2); write7279(SEGON,2); delay1ms(2); write7279(SEGON,3); delay1ms(2); write7279(DECODE0+4,nLowTMP/100%100); delay1ms(2); write7279(DECODE0+5,nLowTMP/10%10); delay1ms(2); write7279(SEGON,47); delay1ms(2); write727

22、9(DECODE0+6,nLowTMP%10); if (nMode = 2) / set nHightTMP write7279(SEGON,0); delay1ms(2); write7279(SEGON,1); delay1ms(2); write7279(SEGON,2); delay1ms(2); write7279(SEGON,4); delay1ms(2); write7279(SEGON,5); delay1ms(2); write7279(DECODE0+4,nHightTMP/100%100); delay1ms(2); write7279(DECODE0+5,nHight

23、TMP/10%10); delay1ms(2); write7279(SEGON,47); delay1ms(2); write7279(DECODE0+6,nHightTMP%10); if (nMode = 2) / set nTMPAdj write7279(SEGON,0); delay1ms(2); write7279(SEGON,1); delay1ms(2); write7279(SEGON,2); delay1ms(2); write7279(SEGON,4); delay1ms(2); write7279(SEGON,5); delay1ms(2); write7279(SEGON,6); delay1ms(2); if (nTMPAdj 0) write7279(DECODE0+5,nTMPAdj/10%10); delay1ms(2); write7279(DECODE0+6,nTMPAdj%10); /*/红外解码 函数-BEGIN/*/void IR_IN() interrupt 2 us

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1