




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、分布式電壓采集系統(tǒng)1目的利用單片機雙機通信實現(xiàn)多通道采集控制以及采集電壓的異地顯示。2系統(tǒng)組成1 系統(tǒng)組成3基本設(shè)計要求(1)甲機用于電壓信號的采集,要求采集 2 路電壓信號(信號源可由電位器分壓得到),將當(dāng)前采樣的通道號和電壓值在數(shù)碼管或 LCD進行顯示。2)實現(xiàn)甲機和乙機的數(shù)據(jù)通信,采用 RS-232 方式完成通信接口。3)乙機通過鍵盤設(shè)置甲機的采集電壓通道, 并將給信息發(fā)送給甲機。4發(fā)揮部分(1)乙機控制甲機電壓采集通道, 并接收甲機的采集電壓數(shù)據(jù)在乙機的數(shù)碼管或LCD上進行顯示。2)增加實現(xiàn) 2 路信號的同時采集的功能, 并進行采樣電壓的同時顯示。3)其他發(fā)揮。注:發(fā)揮部分前兩點可不用
2、同時滿足。留出相關(guān)測試點,程序固化到單片機中。電路圖:略 甲機程序:#include <reg52.h>#define uint unsigned int#define uchar unsigned char / 相關(guān)變量定義 / bit shift;uchar num,key;float temp;uchar val_int;uchar val_decimal;uchar flag=0;/I/O 口定義 /sbit STA_ALE = P 3八6;sbit EOC = P 3"sbit OE = P 3八7;sbit ADC_C = PSO;sbit ADC_B = P
3、 2"sbit ADC_A = P22;sbit W仁P 2八3;sbit W2=P 2八4;sbit W3=P 2八5;sbit W4=P 2八6;sbit wela=卩2八7;/ 帶小數(shù)點數(shù)碼管顯示編碼 / uchar data numtable_DE = Ox4O,Ox79,Ox24,Ox3O,Ox19,Ox12,OxO2,Ox78, OxOO,Ox1O;/ 不帶小數(shù)點數(shù)碼管顯示編碼 / uchar data numtable =OxbO,Oxf9,Oxa4,OxaO,Ox99,Ox92,Ox82,Oxf8, Ox8O,Ox9O;/ 數(shù)碼管動態(tài)顯示函數(shù)聲明 / void dis
4、p();/ 延時函數(shù) / void delay(uint x) uint a,b;for ( a = x; a > O; a-)for ( b = 110; b > 0; b-);/ 數(shù)碼管動態(tài)顯示函數(shù) / void disp()P0 = numtable_DEval_int; wela=1;W3=1; wela=0; delay(5);W3=0;P0 = numtable(val_decimal/10); wela=1;W2=1; wela=0; delay(5);W2=0;P0 = numtable(val_decimal)%10; wela=1;W1=1; wela=0; d
5、elay(5);W1=0;/ 通道編號的數(shù)碼管顯示函數(shù) / void disp_in(uchar a)P0 = numtablea; wela=1;W4=1; wela=0; delay(5);W4=0;/ 通道1的AD轉(zhuǎn)換函數(shù)/void ADC_1()STA_ALE = 0;ADC_C = 0;ADC_B = 0;ADC_A = 0;STA_ALE = 1; delay(5);STA_ALE = 0;/ 通道2的AD轉(zhuǎn)換函數(shù)/void ADC_2()STA_ALE = 0;ADC_C = 0;ADC_B = 0;ADC_A = 1;STA_ALE = 1;delay(5);STA_ALE =
6、 0;/ 判別是哪條通道AD轉(zhuǎn)換函數(shù)/ void ADC(uchar ad_dat)if (!shift)OE=0;ADC_1();delay(5); while(!EOC);OE=1;disp(); disp_in(1);ES=0;SBUF=0xaa; while(!TI);TI=0;SBUF=P1; while(!TI);TI=0;ES=1; if (shift)OE=0;ADC_2(); delay(5); while(!EOC);OE=1; disp(); disp_in(2);ES=0;SBUF=0xff; while(!TI);TI=0;SBUF=P1; while(!TI);TI
7、=0;ES=1;temp = ad_dat*0.0196078; val_int = (uchar) temp; val_decimal = (uchar) (temp - val_int)*100); / 初始化 void init() TMOD=0x21; TH1=0xfd; TL1=0xfd;TH0 =(65535-45872)/256;TL0 =(65535-45872)%256;TR1=1;ET0=1;SM0=0;SM1=1;REN=1; EA=1; ES=1;/ 主函數(shù) / int main () init(); while(!flag); while(1) if(key=0xa1
8、) TR0=0;shift=0;ADC(P1); if(key=0xb2) TR0=0;shift=1;ADC(P1);if(key=0xc3)TR0=1;ADC(P1);void T0_srv() interrupt 1TH0 =(65535-45872)/256;TL0 =(65535-45872)%256; num+;if(num=30)num=0;shift=!shift;void ser() interrupt 4RI=0;key=SBUF;flag=1;乙機程序:1602頭文件: #define uchar unsigned char #define uint unsigned i
9、nt sbit lcd_rs=P 3八5;sbit lcd_e n=P 3八4;void delay(uint z); void write_com(uchar com); void write_data(uchar date); void init();1602c文件 #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit lcd_rs=P 3八5;sbit lcd_e n=P 3八4; void delay(uint z)uint x,y;for(x=z;x>0;x-) fo
10、r(y=110;y>0;y-);void write_com(uchar com)lcd_rs=0;P0=com; delay(5); lcd_en=1;delay(5); lcd_en=0;void write_data(uchar date)lcd_rs=1;P0=date; delay(5);lcd_en=1; delay(5);lcd_en=0;void init()lcd_en=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01);主程序:#include<reg52.h> #in
11、clude<1602.h> #define uchar unsigned char #define uint unsigned int uchar key,ad_data,num,num1; float temp;uchar a,b,c;bit flag;sbit key仁卩3人2;sbit key2=卩3人3;sbit key3=卩3人6;uchar d2;uchar code table="tongdao1: " uchar code table1="tongdao2: " uchar val_int;uchar val_decimal;
12、void keyscan() /鍵盤掃描,并發(fā)送按鍵值if(key1=0)delay(10);if(key1=0)key=1;while(!key1);write_com(0x01);ES=0;SBUF=0xa1;while(!TI);TI=0;ES=1;if(key2=0)delay(10);if(key2=0)key=2;while(!key2);write_com(0x01);ES=0;SBUF=0xb2;while(!TI);TI=0;ES=1;if(key3=0)delay(10);if(key3=0)key=3;while(!key3);ES=0;SBUF=0xc3;while(!
13、TI);TI=0;ES=1;/1 通道顯示void display1(uchar a1,uchar b1,uchar c1)write_com(0x80);for(num=0;num<10;num+)write_data(tablenum);delay(5);write_data(a1+0x30); write_data('.');write_data(b1+0x30);write_data(c1+0x30); write_data('V');/2 通道顯示void display2(uchar a2,uchar b2,uchar c2)if(key=2)
14、write_com(0x80);else write_com(0x80+0x40); for(num=0;num<10;num+)write_data(table1num);delay(5);write_data(a2+0x30); write_data('.');write_data(b2+0x30);write_data(c2+0x30); write_data('V');void chuli()if(key=1)if(d0=0xaa) display1(a,b,c);if(key=2)if(d0=0xff) display2(a,b,c); if(key=3) if(d0=0xaa) display1(a,b,c); if(d0=0xff) display2(a,b,c);temp = ad_data*0.0196078;val_int = (uchar) temp;val_decimal = (uchar) (temp - val_int)*100); a=val_int;b=val_decimal/10; c=val_decimal%10;void init_kz()TMOD=0x20;TH1=0xfd
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國抗衰老肽護膚品行業(yè)市場全景分析及前景機遇研判報告
- 尿毒癥防治指南
- 設(shè)備采購培訓(xùn)課件
- 信用專題培訓(xùn)課件
- 2024年全球及中國汽車鋰電池鋁制包外殼行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 中國耐熱壓制玻璃行業(yè)市場深度調(diào)查評估及投資方向研究報告
- 2025年中國電子地圖市場運行態(tài)勢及行業(yè)發(fā)展前景預(yù)測報告
- 2025年 榆林市特崗教師招聘考試筆試試題附答案
- 可折疊超薄玻璃項目立項可行性報告
- 2025年 貴州行測考試試題省考附答案
- 人音版六年級下冊音樂教案及反思
- DL-T800-2018電力企業(yè)標(biāo)準(zhǔn)編寫導(dǎo)則
- 北師大版六年級下冊數(shù)學(xué)期末測試卷a4版可打印
- 五金材料采購?fù)稑?biāo)方案(技術(shù)方案)
- IATF16949不符合項整改8D報告
- 《電磁學(xué)》梁燦彬課后答案解析
- 產(chǎn)品保修卡模板
- 英國簽證申請資料表(請完整填寫)
- 苗木采購整體供貨方案
- 《建筑材料與構(gòu)造》課程標(biāo)準(zhǔn)
- 校園足球教師培訓(xùn)
評論
0/150
提交評論