freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于at89s52單片機(jī)的多點(diǎn)溫度測(cè)量與監(jiān)控(文件)

2024-12-28 13:13 上一頁面

下一頁面
 

【正文】 常有效的方法。所有通訊事件和通訊錯(cuò)誤的列表,參閱 CommEvent 屬性。如果應(yīng)用程序需要訪問多個(gè)串行端口,必須使用多個(gè) MSComm 控件。例如,如果寫一個(gè)簡(jiǎn)單的電話撥號(hào)程序,則沒有必要對(duì)每接收一個(gè)字符都產(chǎn)生事件,因?yàn)槲ㄒ坏却邮盏淖址钦{(diào)制解調(diào)器的“確定”響應(yīng)。在 市場(chǎng)上的溫度自動(dòng)控制系統(tǒng)的價(jià)格在百元人民幣以上 ,故本系統(tǒng)具有高 性價(jià)比 。使得產(chǎn)品的生產(chǎn)成本降低,從而使系統(tǒng)的使用者獲得的利潤提高了。這個(gè)系統(tǒng)的實(shí)現(xiàn),改變了傳統(tǒng)的溫度控制方法,為溫度的控制開辟了一條新的道路。因此這種系統(tǒng)的設(shè)計(jì)具有比較好的社會(huì)效益。第一次靠用所學(xué)的專業(yè)知識(shí)來解決問題。 這次畢業(yè)設(shè)計(jì)基本的完成了任務(wù)書的要求,實(shí)現(xiàn)了溫度的控制。 同時(shí) 還要感謝幫助我的同學(xué),在我遇到困難時(shí)給予我耐心的幫助。//高溫限制 sbit PNP=P3^5。 void display(unsigned char *)。 void RS232_init(void)。 void temperature_send(unsigned char,unsigned char,bit)。 unsigned int count。 typedef struct { unsigned char H。 temperature T[5]。//開外部中斷 0 timer0_init()。 write_DS18B20(0x44)。j5。i8。//第一個(gè)被讀出的是低位 T[j].H=read_DS18B20()。 zf=1。 } temp=T[j].Lamp。T[j].H=T[j].H+temp。NPN=1。BUZZ=0。} if(T[j].LTmax) {T[j].alarm_flog=0。 deal(T[j].H,T[j].L,zf)。j++) { if(T[j].alarm_flog!=0) { send(66)。//發(fā)送“警報(bào)” send(39。139。)。 if(j==3) send(39。539。)。 } void interrupt2() interrupt 2 { TR0=0。TL0=0。 } } 附錄Ⅲ 子程序 DS18B20復(fù)位 .c include void delay8zus(unsigned char)。 DQ=0。 } DS18B20寫 .c include include sbit DQ=P1^2。i0。_nop_()。_nop_()。 DQ=zamp。 z=1。 unsigned char read_DS18B20(void) { unsigned char i。i++) { DQ=0。 delay8zus(110/8)。z)。a) for(b=125。 unsigned char p3[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}。 for(j=0。 extern unsigned char ROMdate[5][8]。//確定鍵 sbit cancel=P1^0。 void delay(unsigned char)。 while(i) { if(down==0) {delay(5)。} if(up==0) {delay(5)。} if(sure==0) {delay(5)。if(cancel==0) {while(!cancel)。 delay(1)。} } void set(unsigned char *p)//傳送要修改的 ds18b20的序列號(hào)的入口地址 { char i=1,TH,TL,th,tl。i8。 TL=read_DS18B20()。 th=TH。}if(TH==56) {TH=125。}if(TH==56) {TH=125。}} if(cancel==0) {delay(6)。}} P2=0Xfe。 P0=ca[TH/10%10]。 delay(1)。 } } i=1。TL。TL++。i=0。i=0。 P2=0Xfd。 P0=ca[1]。 delay(1)。i8。 write_DS18B20(TL)。 delay(200)。 TL0=0。 } 溫度轉(zhuǎn)換成顯示編碼 .c //預(yù)處理,將要顯示的十進(jìn)制數(shù)預(yù)先轉(zhuǎn)換成 8位數(shù)碼管可以顯示的編碼。 for(i=0。 if(TH=10) date[6]=0XBF。 date[0]=ca[(TL*625)%10]。 date[4]=date[4]amp。 TH1=0XFD。 SM0=0。 } 串口發(fā)送 .c include void send(unsigned char z) { ES=0。 ES=1。)。.39。 send((TL*625)/10%10+48)。)。設(shè)置返回接收緩沖區(qū)的大小,以字符為單位 = 2 If = True Then = False 39。以文本方式接收 If = False Then = True = 0 39。設(shè)置并返回產(chǎn)生 onm事件的字符數(shù),以字符為單位 = 1 = 0 39。波特率 9600bit/s,無校驗(yàn), 8位數(shù)據(jù), 1位停止位 = 1 39。 send(39。 send((TL*625)/1000%10+48)。 send(TH%10+48)。 void temperature_send(unsigned char TH,unsigned char TL,bit zhengfu) { if(zhengfu==0) send(39。 while(!TI)。 EA=1。 TR1=1。//date[4]=~(~(date[4])+0x80)。 date[2]=ca[(TL*625)/100%10]。 if(TH10) date[5]=ca[TH/10%10]。date[i]=0xff,i++)。//static extern unsigned char ca[12]。 TR0=1。 } 定時(shí)器初始化 .c include void timer0_init(void) { TMOD=TMOD|0X01。 write_DS18B20(0xcc)。 write_DS18B20(0x4e)。 write_DS18B20(0x55)。 } if(TL0) { P2=0Xfb。 delay(1)。 P0=ca[TL%10]。if(cancel==0) {while(!cancel)。} if(sure==0) {delay(6)。} if(up==0) {delay(6)。 while(i) { if(down==0) {delay(6)。 P0=0xbf。 if(TH99) { P2=0X0fb。 delay(1)。TH=th。if(sure==0) {while(!sure)。if(up==0) {while(!up)。if(down==0) {while(!down)。 TL=read_DS18B20()。 write_DS18B20(0xbe)。//先讀出高低溫限 write_DS18B20(0x55)。 loop:if(i) {return 0。}}//取消,則無條件轉(zhuǎn)移到最后 P2=0Xfe。i=0。num++。num。 bit select_a_ds18b20() //返回值為 1則表示修改成功, 0表示失敗 { bit i=1。 void write_DS18B20(unsigned char z)。//加鍵 sbit down=P1^1。P2=p3[j],P0=p[j],delay(2),j++)。 void delay(unsigned char)。b)。 for(a=z+1。 } 精確 8us級(jí)延時(shí) .c //延 時(shí)時(shí)間為 8*z+2+1個(gè) us,2為函數(shù)調(diào)用時(shí)間, 1為函數(shù)返回時(shí)間 void delay8zus(unsigned char z) { for(。 DQ=1。 for(i=0。 void delay8zus(unsigned char)。 delay8zus(40/8)。_nop_()。_nop_()。 _nop_()。 void write_DS18B20(unsigned char z) { unsigned char i。 DQ=1。 void restart() { DQ=1。 if(count2300)//300大約是 2秒, 2300大約是 20 秒 { count=0。 TR0=1。 while(ii) { display(date)。 } send(39。)。339。 if(j==1) send(39。)。send(79)。 for(j=0。BUZZ=1。NPN=0。} if(T[j].LTmax) {T[j].alarm_flog=1。=0X0F。temp=4。 T[j].H=!T[j].H。 Tmin=read_DS18B20()
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1