紅外光通信裝置-電賽報告_第1頁
紅外光通信裝置-電賽報告_第2頁
紅外光通信裝置-電賽報告_第3頁
紅外光通信裝置-電賽報告_第4頁
紅外光通信裝置-電賽報告_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2013年全國大學(xué)生電子設(shè)計競賽紅外光通信裝置(F題)【本科組】2013年9月6日目錄摘要31.系統(tǒng)方案設(shè)計 51.1設(shè)計任務(wù)51.2方案的設(shè)計與論證51.2.1紅外光通信裝置總體方案設(shè)計51.2.2單片機(jī)模塊的選擇61.2.3紅外發(fā)射接收裝置模塊的選擇71.2.4語音采集模塊方案的選擇72.單元硬件電路設(shè)計72.1發(fā)射部分電路的設(shè)計72.2中轉(zhuǎn)部分電路的設(shè)計82.3接收部分電路的設(shè)計83.程序設(shè)計93.1發(fā)射裝置程序流程圖93.2接收裝置程序流程圖104.系統(tǒng)測試105理論分析與計算116.結(jié)論12參考文獻(xiàn)12附錄13摘要隨著紅外技術(shù)的發(fā)展,紅外光通信已經(jīng)成為越來越普及的無線通信方式。在本次

2、設(shè)計作品中,紅外光通信裝置采用紅外光傳輸及無線工作機(jī)制,其組成結(jié)構(gòu)主要包括:紅外發(fā)射裝置、中繼轉(zhuǎn)發(fā)節(jié)點、紅外接收裝置三部分組成。紅外發(fā)射裝置主要是由聲音采集系統(tǒng)經(jīng)單片機(jī)存儲后發(fā)射,紅外接收裝置接收到的信息經(jīng)單片機(jī)存儲后再經(jīng)過D/A轉(zhuǎn)換播放。通過采用A/D,D/A轉(zhuǎn)換的方法達(dá)到了本次作品設(shè)計的目的。在電子消費領(lǐng)域當(dāng)中,紅外產(chǎn)品的使用較為普遍,它多用于簡單的近距離控制,如家電、玩具、各種抄表系統(tǒng)、工業(yè)控制、娛樂設(shè)施等領(lǐng)域。所以,其具有很強(qiáng)的現(xiàn)實意義。關(guān)鍵詞:紅外 通信 發(fā)射 接收 A/D轉(zhuǎn)換 D/A轉(zhuǎn)換AbstractWith the development of infrared, and in

3、frared optical communication has become more and more popular way of wireless communication.This design works, infra-red communication devices use infrared light transmission and wireless working mechanisms, its composition include: infrared emitting device, relay node, an infrared receiver unit is

4、composed of three parts. Infrared Launcher corresponds with sound collection system by single-chip computer memory after the launch, IR receiver receives the information via a single-chip storage, and then after d/a conversion play. Through the use of a/d,d/a conversion way to achieve the purpose of

5、 the production design.In the field of consumer electronics, using infrared products are more prevalent, it is used for simple control at close range, such as household appliances, toys, metering systems, industrial control, recreational facilities, and other fields. So, it has a lot of practical si

6、gnificance.Key words: Infrared Communication launch receive A/D conversion D/A conversion1 系統(tǒng)方案設(shè)計1.1 設(shè)計任務(wù)根據(jù)命題要求,設(shè)計并制作一個紅外光通信裝置。紅外光通信裝置利用紅外發(fā)光管和紅外接收模塊作為收發(fā)器件用來定向傳輸語音信號,傳輸距離為2m.傳輸?shù)恼Z音信號頻率范圍為3003400HZ,接收的聲音應(yīng)無明顯失真。此外,增加一路數(shù)字信道,實時傳輸發(fā)射端環(huán)境溫度,并能在接收端顯示。數(shù)字信號傳輸時延不超過10s,溫度測量誤差不超過,語音信號和數(shù)字信號能同時傳輸。同時,設(shè)計并制作一個紅外光通信中繼轉(zhuǎn)發(fā)節(jié)

7、點,以改變通信方向90,延長通信距離2m,中繼轉(zhuǎn)發(fā)節(jié)點采用V直流單電源供電,盡量減小轉(zhuǎn)發(fā)節(jié)點供電電流。1.2 方案的設(shè)計與論證.2.1紅外光通信裝置總體方案設(shè)計整套方案主要由紅外發(fā)射裝置、中繼轉(zhuǎn)發(fā)節(jié)點、紅外接收裝置三部分組成。先把傳輸進(jìn)紅外發(fā)射裝置的聲音經(jīng)過放大電路進(jìn)行放大,然后由STC12C5A08S2單片機(jī)自身帶有的A/D轉(zhuǎn)換功能把模擬信號轉(zhuǎn)換為數(shù)字信號對放大之后的語音進(jìn)行采集,同時把采集到的數(shù)字信號存儲到STC12C5A08S2單片機(jī)中。然后,經(jīng)555定時器電路產(chǎn)生38K載波,并利用三極管對單片機(jī)中存儲的數(shù)據(jù)和555定時器產(chǎn)生的38K載波進(jìn)行調(diào)制到達(dá)中繼轉(zhuǎn)發(fā)節(jié)點,并由1838紅外接收頭進(jìn)

8、行解調(diào),接著把解調(diào)后的信號編碼發(fā)送給中繼點上的單片機(jī)STC11F04E,并由此單片機(jī)對其數(shù)據(jù)進(jìn)行取反。再由555定時器電路產(chǎn)生38K載波,利用三極管對經(jīng)單片機(jī)取反后的數(shù)據(jù)和38K載波進(jìn)行調(diào)制,之后到達(dá)接收點。到達(dá)接收點的信號經(jīng)STC12C5A08S2進(jìn)行解碼,送給 TLC5615CP芯片構(gòu)建的D/A轉(zhuǎn)換電路把數(shù)字信號轉(zhuǎn)換為模擬信號,最后再將此模擬信號發(fā)送給耳機(jī),并由耳機(jī)播放。采用此方案的框圖如下:單片機(jī)發(fā)送中繼轉(zhuǎn)發(fā)節(jié)點顯示溫度音頻信號A/D采集單片機(jī)存儲紅外接收裝置單片機(jī)存儲DAC播放溫度信號放大系統(tǒng)溫度、音頻.2.2單片機(jī)模塊的選擇方案一:傳統(tǒng)51系列是的單片機(jī),受其結(jié)構(gòu)本身的限制很大,尤其

9、模擬功能部件的增加更顯困難,而且運行速度很慢,功耗比較高,抗干擾能力也不是很強(qiáng)。方案二:STM32系列具有一流的外設(shè)、低功耗、最大的集成度、簡單的結(jié)構(gòu)和易用的工具,是ARM公司的高性能Cortex-M3內(nèi)核。但我們對此系列的單片機(jī)的編程操作不太熟練。方案三:宏晶芯片STC12C5A08S2是增強(qiáng)型的51系統(tǒng)單片機(jī),具有一個時鐘,高速、高可靠、寬電壓、增加第二復(fù)位功能腳和外部掉電檢測電路,采用低功耗設(shè)計,最重要的是其內(nèi)部有AD外設(shè)和45K的EEPROM,我們可由此進(jìn)行模數(shù)轉(zhuǎn)換和信息存儲。 STC11F04E單片機(jī)超強(qiáng)抗干擾,超強(qiáng)抗靜電,速度快,輸入/輸出口多,超低功耗,在系統(tǒng)可編程,無需編程器,

10、無需仿真器,可遠(yuǎn)程升級。由于對于中繼點低功耗的要求,所以把此單片機(jī)用于中繼轉(zhuǎn)發(fā)節(jié)點?;谖覀儗Ω鞣N系列單片機(jī)運用的熟練程度和此次作品中所要實現(xiàn)的各項基本功能,我們決定在此方案設(shè)計中采用方案三。.2.3紅外發(fā)射接收裝置模塊的選擇方案一:紅外模擬信號。這種方法速度快,能達(dá)到實時傳輸效果。但是,在傳輸過程中,噪音比較大,容易受干擾。而且,傳輸?shù)木嚯x也比較近。方案二:紅外數(shù)字信號。將要發(fā)射出去的模擬信號轉(zhuǎn)換成數(shù)字信號,將數(shù)字信號送給紅外發(fā)射電路,經(jīng)該電路的調(diào)制轉(zhuǎn)變成紅外光信號在空中傳輸,到達(dá)中繼轉(zhuǎn)發(fā)節(jié)點后,轉(zhuǎn)發(fā)到紅外接收電路,接收電路收到該紅外光信號,經(jīng)過該電路的解調(diào),將此紅外光信號還原成可被單片機(jī)或

11、其他處理系統(tǒng)處理的信號,由單片機(jī)或其他處理系統(tǒng)內(nèi)部處理得到原來的數(shù)據(jù)編碼。比較方案一和方案二,又考慮到我們對模擬部分的知識和數(shù)字部分的知識的掌握程度,我們決定選擇方案二。.2.4語音采集模塊方案的選擇方案一:采用語音編解碼芯片。這種方法失真度小,信噪比較低,數(shù)據(jù)量大。但在數(shù)字圖像處理中,由于數(shù)據(jù)量大,算法難度高,因此實時性成為技術(shù)難點之一。而且,在傳輸過程中所運用的1838紅外接收頭傳輸信息速度慢,而語音編碼解碼芯片數(shù)據(jù)量過大,與后續(xù)裝置不協(xié)調(diào)。方案二:采用A/D,D/A轉(zhuǎn)換裝置。先把模擬信號轉(zhuǎn)換為數(shù)字信號,再經(jīng)中繼轉(zhuǎn)換節(jié)點在通信協(xié)議的控制下把數(shù)字信號轉(zhuǎn)換為模擬信號。比較兩種方案,并基于現(xiàn)實的

12、情況,此模塊選擇方案二。2 單元硬件電路設(shè)計2.1 發(fā)射部分電路的設(shè)計發(fā)射部分主要由雙運放NE5532組成的放大器、STC12C5A08S2單片機(jī)和NE555定時器構(gòu)建的電路組成。其電路圖如圖1:圖 12.2 中轉(zhuǎn)部分電路的設(shè)計中轉(zhuǎn)部分主要由1838紅外接收頭、STC11F04E單片機(jī)NE555定時器、三極管等搭建的電路組成,其電路圖如圖2:圖 22.3 接收部分電路的設(shè)計接收部分主要由1838紅外接收頭、STC12C5A08S2單片機(jī)、TLC5615數(shù)模轉(zhuǎn)換器、TL431可控精密穩(wěn)壓源等搭建的電路組成。其電路圖如圖3:圖 33程序設(shè)計系統(tǒng)程序主要由發(fā)射裝置程序和接收裝置程序兩部分組成。系統(tǒng)程

13、序流程圖如下所示。開始3.1發(fā)射裝置程序流程圖Y讀存儲結(jié)束?結(jié)束初始化采集信號單片機(jī)存儲存儲結(jié)束?讀存儲發(fā)送YNN結(jié)束Y讀存儲結(jié)束?NNYN   3.2接收裝置程序流程圖NYNY結(jié)束讀存儲D/A轉(zhuǎn)換結(jié)束?接收完成?單片機(jī)存儲接收初始化開始NYNY4系統(tǒng)測試傳輸距離測試:傳輸距離傳輸情況1m良好2m良好3m良好4m良好中繼點電流大?。?00MA左右溫度誤差:1°C無發(fā)射信號時無噪音800HZ信號輸出0.3V有信號時8個LED閃爍,無信號時LED不閃爍5理論分析與計算本系統(tǒng)使用數(shù)字信號傳輸,編碼規(guī)則自定,具體如下:每串?dāng)?shù)據(jù)有1.5MS高電平,2MS低電平的引導(dǎo)碼高電平時間0.5

14、低電平時間0.6MS代表二進(jìn)制數(shù)0高電平時間1.0MS代表二進(jìn)制數(shù)1 傳輸波形如圖: 波形 1 波形 2 波形 36結(jié)論本系統(tǒng)功能上和參數(shù)上都達(dá)到了題目的要求,基本上完成了題目的各項設(shè)計。并按照要求完成了其發(fā)揮部分,可以精確的顯示溫度,也可以利用中繼點進(jìn)行轉(zhuǎn)接,但是聲音信號傳輸延時較大。優(yōu)點:本系統(tǒng)采用數(shù)字信號傳輸數(shù)據(jù),能夠最大限度的減少干擾且傳輸距離較長,適用于信息量較少、環(huán)境干擾較大的情況傳輸數(shù)據(jù)。本系統(tǒng)的不足:由于紅外數(shù)字信號傳輸使用38K載波頻率,很大程度上限制了數(shù)據(jù)傳輸?shù)乃俣?,所以本系統(tǒng)不適合音頻等數(shù)據(jù)量較大的數(shù)據(jù)傳輸。所以本系統(tǒng)還有較大的提升空間,如聲音信號使用模擬信號傳輸、溫度信

15、號使用數(shù)字信號傳輸能達(dá)到聲音信號和溫度信號實時傳輸。參考文獻(xiàn)1閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版)M.北京:高等教育出版社,2006.2童詩白,華成英.模擬電子技術(shù)基礎(chǔ)(第四版)M.北京:高等教育出版社,2006.3黃智偉.全國大學(xué)生電子設(shè)計競賽技能訓(xùn)練(第2版)M.北京:北京航空航天大學(xué),2011.4代萬輝,陳松方.全國電子設(shè)計大賽培訓(xùn)寶典M.北京:北京航空航天大學(xué),2012.5求是科技.8051系列單片機(jī)C程序設(shè)計完全手冊M.北京:人民郵電出版社,2006.6楊欣,王玉鳳,劉湘黔.電子設(shè)計從零開始M.北京:清華大學(xué)出版社2005.附錄:源程序/*send message*/ #include

16、"STC12C5A60S2.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned chartypedef unsigned char BYTE;typedef unsigned int WORD;uchar code str1=0x28,0xA6,0x4A,0x0E,0x05,0x00,0x00,0x84;/ROM 1uchar code str2=0x28,0xA5,0x86,0x40,0x04,0x00,0x00,0x80;/ROM 2sbit D1=P37;sb

17、it DQ=P33;/*Define ISP/IAP/EEPROM command*/#define CMD_IDLE 0 /Stand-By#define CMD_READ 1 /Byte-Read#define CMD_PROGRAM 2 /Byte-Program#define CMD_ERASE 3 /Sector-Erase/*Define ISP/IAP/EEPROM operation const for IAP_CONTR*/#define ENABLE_IAP 0x80 /if SYSCLK<30MHzsfr ADC_DATA = 0XBD;sfr ADC_LOW =

18、0XBE;sbit CS=P20;sbit SCLK=P21;sbit DIN=P22;sbit left = P10;double j;uchar flag,t;void Delay(BYTE n);void IapIdle();BYTE IapReadByte(WORD addr);void IapProgramByte(WORD addr, BYTE dat);void IapEraseSector(WORD addr);uchar tvalue;/溫度值void Delay999ms()/30.000MHzunsigned char i, j, k;_nop_();_nop_();i

19、= 114;j = 226;k = 60;dodowhile (-k); while (-j); while (-i);/*ds1820 */void Delay1us()/30.000MHzunsigned char i;i = 5;while (-i);void Delay10us()/30.000MHzunsigned char i;_nop_();_nop_();i = 72;while (-i);void Delay48us()/30.000MHzunsigned char i, j;i = 2;j = 99;dowhile (-j); while (-i);void Delay70

20、0us()/30.000MHzunsigned char i, j;i = 21;j = 106;dowhile (-j); while (-i);void Delay1ms()/30.000MHzunsigned char i, j;i = 30;j = 43;dowhile (-j); while (-i);void rst_Ds18b20()DQ=1;Delay1us();DQ=0;Delay700us();/延遲700usDQ=1;Delay1ms();void writeDs18b20(uchar date)/寫數(shù)據(jù)uchar i;DQ=1;Delay1us();for (i=0;i

21、<8;i+) DQ=0;Delay10us();DQ=date&0x01;Delay48us();DQ=1;date>>=1;Delay1us();uchar readDs18b20() /讀數(shù)據(jù)uchar i,date;DQ=1;_nop_();for(i=0;i<8;i+)DQ=0;Delay10us();DQ=1;Delay1us();Delay1us();date>>=1;if(DQ=1)date=date+0x80;Delay48us();return date;void MatchromDs18b20(uchar a) /匹配ROMcha

22、r j;writeDs18b20(0x55); /發(fā)送匹配ROM命令if(a=1)for(j=0;j<8;j+)writeDs18b20(str1j);/發(fā)送18B20的序列號,先發(fā)送低字節(jié) if(a=2)for(j=0;j<8;j+)writeDs18b20(str2j);/發(fā)送18B20的序列號,先發(fā)送低字節(jié) uint read_temp(uchar z)/*讀取溫度值并轉(zhuǎn)換*/uchar a,b; rst_Ds18b20(); if(z=1)MatchromDs18b20(1); /匹配ROM 1if(z=2)MatchromDs18b20(2); /匹配ROM2writeD

23、s18b20(0x44);/*啟動溫度轉(zhuǎn)換*/delay(1000);rst_Ds18b20(); if(z=1)MatchromDs18b20(1); /匹配ROM 1if(z=2)MatchromDs18b20(2);/匹配ROM 2writeDs18b20(0xbe);/*讀取溫度*/ a=readDs18b20();b=readDs18b20();tvalue=(a>>4)|(b<<4);return(tvalue);void DAC(uchar w)/轉(zhuǎn)換,將數(shù)據(jù)寫入芯片 int a; CS=0; for(a=0;a<12;a+) SCLK=1; _no

24、p_();_nop_(); if(w&0x80)!=0)/判斷寫入數(shù)據(jù)從第一位開始,看是否有數(shù)據(jù)輸入 DIN=1;/將信號1寫入芯片中 else DIN=0;/將0寫入芯片中_nop_();_nop_();SCLK=0;/開啟下一個寫入數(shù)據(jù)w<<=1; CS=1; /關(guān)閉芯片void Timer1Init(void)/142微秒24.000MHzAUXR &= 0xBF;/定時器時鐘12T模式TMOD &= 0x0F;/設(shè)置定時器模式TMOD |= 0x10;/設(shè)置定時器模式TL1 = 0x7A;/設(shè)置定時初值TH1 = 0xFE;/設(shè)置定時初值TF1 =

25、0;/清除TF1標(biāo)志TR1 = 1;/定時器1開始計時 /*-initialization function-*/void init()EA = 1; /開總中斷ET1 = 1;/開定時器1中斷PT1 = 1;/定時器1中斷設(shè)為高優(yōu)先級P1M0 = 0XFF;P1M1 = 0;P1ASF = 0X01; /設(shè)置P1.0作為輸入 Timer1Init();/*-Software delay function-*/void Delay7us()/30.000MHzunsigned char i;i = 50;while (-i);/*-Software delay function-*/void

26、Delay(BYTE n) WORD x; while (n-) x = 0; while (+x); /*-Disable ISP/IAP/EEPROM functionMake MCU in a safe state-*/void IapIdle() IAP_CONTR = 0; /Close IAP function IAP_CMD = 0; /Clear command to standby IAP_TRIG = 0; /Clear trigger register IAP_ADDRH = 0x80; /Data ptr point to non-EEPROM area IAP_ADD

27、RL = 0; /Clear IAP address to prevent misuse/*-Read one byte from ISP/IAP/EEPROM areaInput: addr (ISP/IAP/EEPROM address)Output:Flash data-*/BYTE IapReadByte(WORD addr) BYTE dat; /Data buffer IAP_CONTR = ENABLE_IAP; /Open IAP function, and set wait time IAP_CMD = CMD_READ; /Set ISP/IAP/EEPROM READ c

28、ommand IAP_ADDRL = addr; /Set ISP/IAP/EEPROM address low IAP_ADDRH = addr >> 8; /Set ISP/IAP/EEPROM address high IAP_TRIG = 0x5a; /Send trigger command1 (0x5a) IAP_TRIG = 0xa5; /Send trigger command2 (0xa5) _nop_(); /MCU will hold here until ISP/IAP/EEPROM operation complete dat = IAP_DATA; /R

29、ead ISP/IAP/EEPROM data IapIdle(); /Close ISP/IAP/EEPROM function return dat; /Return Flash data/*-Program one byte to ISP/IAP/EEPROM areaInput: addr (ISP/IAP/EEPROM address) dat (ISP/IAP/EEPROM data)Output:-*/void IapProgramByte(WORD addr, BYTE dat) IAP_CONTR = ENABLE_IAP; /Open IAP function, and s

30、et wait time IAP_CMD = CMD_PROGRAM; /Set ISP/IAP/EEPROM PROGRAM command IAP_ADDRL = addr; /Set ISP/IAP/EEPROM address low IAP_ADDRH = addr >> 8; /Set ISP/IAP/EEPROM address high IAP_DATA = dat; /Write ISP/IAP/EEPROM data IAP_TRIG = 0x5a; /Send trigger command1 (0x5a) IAP_TRIG = 0xa5; /Send tri

31、gger command2 (0xa5) _nop_(); /MCU will hold here until ISP/IAP/EEPROM operation complete IapIdle();/*-Erase one sector areaInput: addr (ISP/IAP/EEPROM address)Output:-*/void IapEraseSector(WORD addr) IAP_CONTR = ENABLE_IAP; /Open IAP function, and set wait time IAP_CMD = CMD_ERASE; /Set ISP/IAP/EEP

32、ROM ERASE command IAP_ADDRL = addr; /Set ISP/IAP/EEPROM address low IAP_ADDRH = addr >> 8; /Set ISP/IAP/EEPROM address high IAP_TRIG = 0x5a; /Send trigger command1 (0x5a) IAP_TRIG = 0xa5; /Send trigger command2 (0xa5) _nop_(); /MCU will hold here until ISP/IAP/EEPROM operation complete IapIdle

33、();void Delay100us()/30.000MHzunsigned char i, j;i = 3;j = 232;dowhile (-j); while (-i);/*-擦除eeprom-*/void Eraseeeprom()uint i; double a;a=0;for(i = 0; i <90; i+)a = 512+a;IapEraseSector(a); /Erase current sector/*sendmess*/*/*發(fā)送紅外數(shù)據(jù)*/void send(uchar date)uchar i;/*發(fā)送驗證信息*/ TR0=0; TH0 = 0xF1; TL0

34、 = 0x5A; /裝入初值設(shè)置波延時為1.5msD1 = 1;/發(fā)送1.5ms的高電平TR0 = 1;/啟動定時器0while(!TF0);/等待TF0 = 0; TH0 = 0xEC; TL0 = 0x78;D1 = 0;/發(fā)送2ms的低電平while(!TF0);/等待TF0 = 0;/*發(fā)送數(shù)據(jù)*/for(i=0;i<8;i+) TL0 = 0x1E;/設(shè)置定時初值 0.5MSTH0 = 0xFB;/設(shè)置定時初值TR0=1;D1=1;while(!TF0);TF0=0;if(date&0x01)TL0 = 0x3C;/設(shè)置定時初值 1MS 發(fā)1TH0 = 0xF6;/設(shè)置

35、定時初值else TL0 = 0x24;/設(shè)置定時初值 0.6MS 發(fā)0TH0 = 0xFA;/設(shè)置定時初值 TH0 = 0xFD; /0為窄的低電平,持續(xù)時間 0.6msD1=0;while(!TF0);/等待TF0 = 0;date=date>>1;TL0 = 0x1E;/設(shè)置定時初值 0.5MSTH0 = 0xFB;/設(shè)置定時初值TR0=1;D1=1;while(!TF0);TF0=0;D1=0;/*結(jié)尾*/TH0 = 0x0EC; /延時2ms TL0 = 0x078;TR0=1;while(!TF0);TF0=0;TR0=0;void sendtem(uchar date

36、)uchar i;/*發(fā)送驗證信息*/ TR0=0; TH0 = 0xF1; TL0 = 0x5A; /裝入初值設(shè)置波延時為1.5msD1 = 1;/發(fā)送1.5ms的高電平TR0 = 1;/啟動定時器0while(!TF0);/等待TF0 = 0; TH0 = 0xE2; TL0 = 0xB4;D1 = 0;/發(fā)送3ms的低電平while(!TF0);/等待TF0 = 0;/*發(fā)送數(shù)據(jù)*/for(i=0;i<8;i+) TL0 = 0x1E;/設(shè)置定時初值 0.5MSTH0 = 0xFB;/設(shè)置定時初值TR0=1;D1=1;while(!TF0);TF0=0;if(date&0x

37、01)TL0 = 0x3C;/設(shè)置定時初值 1MS 發(fā)1TH0 = 0xF6;/設(shè)置定時初值else TL0 = 0x24;/設(shè)置定時初值 0.6MS 發(fā)0TH0 = 0xFA;/設(shè)置定時初值 TH0 = 0xFD; /0為窄的低電平,持續(xù)時間 0.6msD1=0;while(!TF0);/等待TF0 = 0;date=date>>1;TL0 = 0x1E;/設(shè)置定時初值 0.5MSTH0 = 0xFB;/設(shè)置定時初值TR0=1;D1=1;while(!TF0);TF0=0;D1=0;/*結(jié)尾*/TH0 = 0x0EC; /延時2ms TL0 = 0x078;TR0=1;while

38、(!TF0);TF0=0;TR0=0;/*main*/void main()read_temp(2);Delay999ms();/*sendinit*/AUXR &= 0x7F;/定時器時鐘12T模式TMOD &= 0xF0;/設(shè)置定時器模式TMOD |= 0x01;/設(shè)置定時器模式TR0=0;/*/sendtem(read_temp(2);Eraseeeprom(); /擦除EEPROMflag = 0;j =t=0;init(); while (1);void timer1() interrupt 3/send(0x55);TL1 = 0x7A;/設(shè)置定時初值TH1 = 0

39、xFE;/設(shè)置定時初值A(chǔ)DC_CONTR= 0xe8; Delay7us();/24.000MHzif(flag = 0)IapProgramByte(j, ADC_DATA); /寫EEPROMj+; if(j = 46079)flag = 1;j = 0;ADC_CONTR= 0x80;if(flag = 1)while(j!=46079)send(IapReadByte(j);j+;t+;if(t%500)=0)t=0;sendtem(read_temp(2);while(1);/DAC(IapReadByte(j); /讀EEPROM并DAC轉(zhuǎn)化/*j+;if(j = 46079)Er

40、aseeeprom(); /擦除EEPROM*/flag = 0;j = 0; -/*receive*/ #include "STC12C5A60S2.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned chartypedef unsigned char BYTE;typedef unsigned int WORD;uchar code str="Temperature"/*Define ISP/IAP/EEPROM command*/#defi

41、ne CMD_IDLE 0 /Stand-By#define CMD_READ 1 /Byte-Read#define CMD_PROGRAM 2 /Byte-Program#define CMD_ERASE 3 /Sector-Erase/*Define ISP/IAP/EEPROM operation const for IAP_CONTR*/#define ENABLE_IAP 0x80 /if SYSCLK<30MHzsbit CS=P20;sbit SCLK=P21;sbit DIN=P22;sbit re=P32;sbit test=P00;sbit test1=P01;sb

42、it lcden=P34;sbit lcdrs=P35;double LowTime, HighTime;/儲存高、低電平的寬度 0-65535uchar mess;uchar tem;double j;uchar flag,ge,shi;void Delay(BYTE n);void IapIdle();BYTE IapReadByte(WORD addr);void IapProgramByte(WORD addr, BYTE dat);void IapEraseSector(WORD addr);/*lcd1602程序*/void Delay4ms()/30.000MHzunsigned char i, j;i = 117;j = 184;dowhile (-j); while (-i);void

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論