1、个数AT89S52单片机运算处理DS1802传感器温度测量数码管LG5011BSR温度显示蜂鸣器温度报警变压器变压6整流桥交流变直流7三端稳压器7805稳定电压值8AT24C02掉电存储器元件清单元件名称单位(只)型号温度传感器DS18B20-55100度 5V单片机AT89S52220V变9V9V/8W整流二极管IN4007C1,C230PC3,C622UF/25VC4220UF/25VC52.2UF/25R1R6100欧姆1/8WR7R9510欧姆R1010KR11R154.7KR16,R17,R18D0发光二极管白发红D1白发蓝D2,D3,D5红发红稳压管LM7805Y1晶震11.059
2、2HZS1S3按键Q1Q38550NPNU10U15LG5011BSR7段数码管电路板2块掉电保护24c02电源线程序:#include#include absacc.hcode unsigned char seg7code11= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40; /显示段码sbit TMDAT =P31; /DS18B20 的数据输入/输出脚DQ,根据情况设定sbit jia=P21;sbit jian=P20;sbit hong=P10; /红色警告灯sbit sheng=P11; /蜂鸣器sbit lan=P1
3、2; /兰色灯bit write=0; /写24C08 的标志;j=30;unsigned int sdata;/测量到的温度的整数部分unsigned char xiaoshu1;/小数第一位unsigned char xiaoshu2;/小数第二位unsigned char xiaoshu;/两位小数bit fg=1; /温度正负标志/24C08 读写驱动程序/sbit scl=P34; / 24c08 SCLsbit sda=P35; / 24c08 SDAvoid delay1(unsigned char x) unsigned int i;for(i=0;ix;i+);void fl
4、ash() ; ; void x24c08_init() /24c08 初始化子程序scl=1; flash(); sda=1;void start() /启动(I方C)总线sda=1; scl=1; sda=0; scl=0;void stop() /停止(I方C)总线sda=0;void writex(unsigned char j) /写一个字节 unsigned char i,temp;temp=j;for (i=0;8;i+)temp=temp1; sda=CY;scl=0;unsigned char readx() /读一个字节unsigned char i,j,k=0;flash
5、();if (sda=1) j=1;else j=0;k=(k1)|j; return(k);void clock() /(I方C)线时钟unsigned char i=0;scl=1;while (sda=1)&(i255)i+;安全评价可针对一个特定的对象,也可针对一定的区域范围。/从24c02 的地址address 中读取一个字节数据/unsigned char x24c08_read(unsigned char address)一、环境影响评价的发展与管理体系、相关法律法规体系和技术导则的应用unsigned char i;环境的两个特点:start(); writex(0xa0);c
6、lock(); writex(address);另外,环境影响评价三个层次的意义,环境影响评价的资质管理、分类管理,建设项目环境影响评价的内容,规划环境影响评价文件的内容,环境价值的衡量还可能是将来考试的重点。 start();writex(0xa1); clock();i=readx(); stop();(1)安全预评价。delay1(10);return(i);/向24c02 的address 地址中写入一字节数据info/void x24c08_write(unsigned char address,unsigned char info)B.可能造成重大环境影响的建设项目,应当编制环境影
7、响报告书(4)化工、冶金、有色、建材、机械、轻工、纺织、烟草、商贸、军工、公路、水运、轨道交通、电力等行业的国家和省级重点建设项目;EA=0;在评估经济效益不能直接估算的自然资源方面,机会成本法是一种很有用的评价技术。机会成本法特别适用于对自然保护区或具有唯一性特征的自然资源的开发项目的评估。 writex(info);EA=1;(3)总经济价值的组成。我们可以用下式表示环境总经济价值的组成:delay1(50);4.环境影响评价工作等级的调整/*/24C08 读写驱动程序完/void Delay2(unsigned int tc) /延时程序while( tc != 0 )unsigned
8、int i; i100; i+);tc-;*/*显示延时程序*/void Delay(unsigned int tc)while( tc !80;/延时部分/void yanshi (unsigned int count) unsigned char i;while(count-)for(i=0;115;/发送复位/void fashong (void) TMDAT = 0; for(i=0;103;TMDAT = 1;4;bit tmrbit (void) /读一位/ unsigned int i;bit dat;i+; i+; /微量延时 /dat = TMDAT;return (dat)
9、;unsigned char tmrbyte (void) /读一个字节unsigned char i,j,dat;dat = 0;for (i=1;=8; j = tmrbit(); dat = (j 1);void tmwbyte (unsigned char dat) /写一个字节unsigned char j,i;bit testb;for (j=1;j 1;if (testb) TMDAT = 0; /写0elsevoid tmstart (void) /发送ds1820 开始转换fashong(); /复位yanshi(1); /延时tmwbyte(0xcc); /跳过序列号命令t
10、mwbyte(0x44); /发转换命令 44H, void tmrtemp (void) /读取温度unsigned char a,b;fashong ();yanshi (1);tmwbyte (0xcc);tmwbyte (0xbe); /发送读取命令a = tmrbyte (); /读取低位温度b = tmrbyte (); /读取高位温度if(b0x7f) /最高位为1 时温度是负a=a; b=b+1; /补码转换,取反加一fg=0; /读取温度为负时fg=0sdata = a/16+b*16; /整数部分xiaoshu1 = (a&0x0f)*10/16; /小数第一位xiaosh
11、u2 = (a&0x0f)*100/16%10;/小数xiaoshu=xiaoshu1*10+xiaoshu2; /小数void DS18B20PRO(void)tmstart();/yanshi(5); /如果是不断地读取的话可以不延tmrtemp(); /读取温度,执行完毕温度将存于void Led()if(fg=1) /温度为正时显示的数据 P2=P2&0xef;P0=seg7codesdata/10; /输Delay(2); P2=P2|0xf0;0xdf;P0=seg7codesdata%10|0x80; /输出个0xbf;P0=seg7codexiaoshu1; /输出小数点0x7
12、f;P0=seg7codexiaoshu2; /输出小Delay(1);P2=P2&0xf7;P0=seg7codej/10; /输出十位 P2=P2|0x0f;0xfb;P0=seg7codej%10|0x80; /输出个位 /*Delay(8); /输出个位Delay(4);if(sdatalan=1;hong=0;sheng=0;if(fg=0) /温度为负时显示的数据 P2=P2&P0=seg7code11; /负号P0=seg7codesdata/10|0x80;P0=seg7codesdata%10;main()fg=1;x24c08_init(); /初始化24C08j=x24c08_read(2);/读出保存的数据while(1)DS18B20PRO();Led();if(jia=0)Delay(200);j+;if(jian=0)j-;x24c08_write(2,j);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1