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

正文內容

數(shù)字式電壓表-at89c51單片機-ad轉換-數(shù)據處理-資料下載頁

2024-12-07 09:06本頁面

【導讀】傳統(tǒng)的模擬式電壓表已有100多年的歷史,雖然不斷的改進與完善,仍無法滿足現(xiàn)代電子測量的需求。數(shù)字式電壓表作為數(shù)字化儀表的基礎和核心,已成為。在電子和電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等領域中應用最廣泛的一種儀表,并顯示出其強大的生命力。建了測量范圍在0~300V的數(shù)字式電壓表。電壓表分為三個檔位:6V、30V、300V。模擬數(shù)據的采集處理模塊由輸入電路部分完成。A/D轉換模塊主要由芯。AT89C51單片機進行數(shù)據處理。顯示模塊是將單片機處理好的數(shù)據傳送到LCD顯示器。1602液晶顯示器介紹......

  

【正文】 由于電源內阻導致的各電路的相互干擾 。 第二,解決運放飽和輸出的方案。在實驗過程中 發(fā)現(xiàn)滿足不了各檔位的最高電壓輸出,原因在于輸入電壓值經衰減后仍超過運放最大飽和輸出電壓。實驗中使用正負電源使運放工作,在理想狀態(tài)下 LM324 最大輸出為 +5V 電壓,而在實驗過程中 最大 飽和輸出電壓為,即 左右電壓值。后選定運放基準電壓為 3V。所以我們需要對輸入電壓進行衰減,衰減率分別為 1/ 1/ 1/100。衰減所用的電阻擬定為 100K、 50K、 10K,1K。 實驗結果分析 由調試的結果可以看出, 在 0~5V檔位上,該數(shù)字電壓表基本沒有誤差。但在 0~300V檔位上,誤差有所增大,但也控制在 。這是因為信號發(fā)射器輸入的電壓信號受到輸入電阻的影響,而且誤差的大小與輸入電阻的大小成反比。在輸入回路中,還有一個由儀器內部引起的流入或流出的零電流,此電流引起的誤差與信號源內阻成正比。因此,數(shù)字電壓表在測量有一定內阻的信號源電壓時,由輸入電阻和零電流所帶來的附加誤差應小于其測量允許誤差的 1/3~1/5。 經過查找資料知道了要想減少以上的誤差,就要使衰減器的分壓電阻及放大器的反饋電阻的阻值更精確。因而, 在電路圖中,精確了反饋電阻的阻值,從而提高了電壓表的精確度。 基于單片機的數(shù)字式電壓表 21 7 總結 這一次的課程設計 在 我 看來 是十分有意義的,首先它可以檢驗我們在大學中學到的理論知識是否可以化為實踐,其次這次課程設計為之后的畢業(yè)設計打下了基礎。 此次 電子 課程設計,我做的是數(shù)字 式 電壓表這個基礎的設計,雖然該設計十分簡單,但是上課所學的很多知識都能應用在這個電壓表設計中。 確定課設內容后,我查找大量相關材料,然后知識匯總,把有關課題的內容經過對比與分析,最后來完成課程設計。 電壓測量在很多參考書上都有介紹,但運用到軟件中時,出現(xiàn)各種不同 的錯誤,在參考別人的程序時,在老師的指導下,根據書本上所講的有關知識點加以改進,編了一個新的程序,來實現(xiàn)功能。 編程我運用的是 C 語言 , C 語言在很多領域的功能都很強大使用 C 語言,感覺比較簡潔清晰,函數(shù)關系較為清晰,并可以減少程序的冗長。 特別是在繪制 PCB 圖時,發(fā)現(xiàn)自己對 Protel99SE 軟件不太熟練,對硬件電路的設計缺乏一種整體感。 PCB 圖設計必須使用手動布線以增加準確性和美觀的效果,以后應該多加以注意。 通過這次課程設計我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經掌握, 但在運用到實踐的過程中仍有意想 不到的困惑 ,經過一番努力才得以解決。這也激發(fā)了我今后努力學習的興趣,我想這將對我以后的學習產生積極的影響。 總體來說,這次實習使我受益匪淺。在摸索該如何設計電路使之實現(xiàn)所需功能的過程中,特別有趣,培養(yǎng)了我的設計思維,增加了實際操作能力。在讓我體會到了設計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。通過這 三個 星期的學習讓我把書本上的知識轉換成實際可操作的東西,雖然也做過實驗,但課程設計這種系統(tǒng)和具有一定規(guī)模收獲是更多的。 三周的設計完滿結束了,經過自己的努力和同學的幫忙終于有了成果,特 別離不開指導老師張 老 師悉心教導, 給我很大的啟迪。感謝 老師不畏辛勞,熱情 精心的指導。在這里向 您 說聲謝謝 。基于單片機的數(shù)字式電壓表 22 參考文獻 [1] 宋 彩 利 , 孫友倉 , 吳宏岐 .單片 機原理與 C51 編程 [M].西安交通大學出版社 , [2] 沈任元 .模擬電子技術基礎 . [3] 沈任元 .數(shù)字電子技術基礎 .機械工業(yè)出版社, [4] 胡斌 .電子元器件應用實戰(zhàn) .電子工業(yè)出版社, [5] 周麗娜 .Protel99SE 電路設計技術基礎篇、案例篇 .中國鐵道出版社, [6] 趙輝 .Protel99 電子線路 , [7] 張毅剛 .單片機原理及應用 [M].高等教育出版社, 基于單片機的數(shù)字式電壓表 23 附錄 附錄一 : 程序源代碼 include define uchar unsigned char define uint unsigned int sbit rs=P1^2。//1602 液晶寫命令 /數(shù)據標志 ,0 時寫命令 sbit rw=P1^1。//1602 液晶寫入 /讀出標志 ,0 時寫入數(shù)據 sbit ep=P1^0。 sbit input=P1^4。 sbit output=P1^3。 sbit cs=P1^5。 sbit clk=P1^6。 sbit flag_1=P2^1。//定義電壓表檔位相關標志 sbit flag_2=P2^2。 sbit flag_3=P2^3。 uchar code tab0[]=V 。 //顯示的單位及有關的字符 uchar code tab1[]=MV。 uchar code tab2[]=Power:。 uchar code tab3[]=DigitalVoltmeter。 uchar t。 void delay(int z)//延時函數(shù) { int x,y。 for(x=z。x0。x) for(y=10。y0。y)。 } void write_(uchar )//往 1602 液晶寫命令函數(shù) { rs=0。 P0=。 delay(5)。 ep=1。 delay(5)。 基于單片機的數(shù)字式電壓表 24 ep=0。 } void write_dat(uchar dat)//往 1602 液晶寫數(shù)據函數(shù) { rs=1。 P0=dat。 delay(5)。 ep=1。 delay(5)。 ep=0。 } void init_1602()//對 1602 液晶的初始化函數(shù) { rs=0。 rw=0。 write_(0x38)。 delay(1)。 write_(0x0c)。 delay(1)。 write_(0x06)。 delay(1)。 write_(0x01)。 delay(1)。 } void init_timer0()//定時計數(shù)器 0 初值化函數(shù), { TMOD=0x01。//方式一 TH0=(6553650000)/256。//每 50ms 中斷一次 TL0=(6553650000)%256。 IE=0x82。//打開中斷 TR0=0。//定時器首先不可工作 } void display(uchar x,uchar y,uint dat)//顯示電壓值的函數(shù) ,x行 y列開始顯示 { uint add。 基于單片機的數(shù)字式電壓表 25 uchar i,a[5]。 switch(x) { case 1:add=0x80+0x40。break。 } add=add+y。 write_(add)。 for(i=0。i5。i++) { a[i]=dat%10。 dat=dat/10。 } write_dat(a[4]+0x30)。 write_dat(a[3]+0x30)。 write_dat(a[2]+0x30)。 write_dat(39。.39。)。 write_dat(a[1]+0x30)。 write_dat(a[0]+0x30)。 } void display_zifu(uchar x,uchar y,uchar *str)//顯示字符函數(shù) ,x行 y列開始顯示 { uint add。 switch(x) { case 1:add=0x80+0x40。break。 } add=add+y。 write_(add)。 while(*str!=39。\039。) { write_dat(*str)。 str++。 } } 基于單片機的數(shù)字式電壓表 26 void display_string(uchar x,uchar y,uchar *str1)// 顯 示 字 符 函 數(shù)(DigitalVoltmeter),x 行 y列開始顯示 { uint add。 switch(x) { case 0:add=0x80。break。 } add=add+y。 write_(add)。 while(*str1!=39。\039。) { write_dat(*str1)。 str1++。 } } uint read_AD(uchar con_way)//讀取 AD 轉換值操作函數(shù) { uint dat=0。 uchar i。 cs=0。 clk=0。 con_way=4。 for(i=0。i12。i++) { con_way=1。/*選擇 0通道,在輸入該控制數(shù)據的同時輸出前一次 AD轉結果 */ input=CY。 dat=1。 if(output)/*輸出 AD 轉換結果 */ dat=dat|0x01。 delay(2)。 clk=1。 delay(5)。 clk=0。 基于單片機的數(shù)字式電壓表 27 } cs=1。 return dat。 } uint read_value() { long float dq。 long float dat_v。 dq=read_AD(0)。//把讀取得的 AD 轉換值給變量 dq if(!flag_3) dat_v=(500*dq)/4096*100。//三檔 ,量程為 300V else if(!flag_2) dat_v=(50*dq)/4096*100。//二檔 ,量程為 30V else if(!flag_1) dat_v=(10*dq)/4096*100。//一檔 ,量程 6V return dat_v。 } void main() { long float dat。 init_timer0()。 init_1602()。 delay(10)。 while(1) { dat=read_value()。 if(dat=100)//當電壓值大于 1V 時 ,用 V顯示 ,否則用 mV 顯示 { display_string(0,0,tab3)。 display_zifu(1,1,tab2)。 display(1,7,dat)。 display_zifu(1,13,tab0)。 } else { display_string(0,0,tab3)。 display_zifu(1,1,tab2)。 基于單片機的數(shù)字式電壓表 28 display(1,7,dat*1000)。 display_zifu(1,13,tab1)。 } } } void timer0() interrupt 1//定時器中斷函數(shù) { TH0=(6553650000)/256。//重新放入初始值 TL0=(6553650000)%256。 t++。 }基于單片機的數(shù)字式電壓表 29 附錄二 :原理圖及 實物圖 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m b e r R e v i s i
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1