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

正文內(nèi)容

基于單片機的簡易數(shù)字電壓表的設計論文-資料下載頁

2024-11-04 07:03本頁面

【導讀】摘要本文是一種基于單片機的簡易數(shù)字電壓表的設計報告。該設計主要由三個。A/D轉(zhuǎn)換主要由芯片ADC0809. 來完成,它負責把采集到的模擬量轉(zhuǎn)換為相應的數(shù)字量在傳送到數(shù)據(jù)處理模塊。而且隨著電子技術的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所。以數(shù)字電壓表就成為一種必不可少的測量儀器。數(shù)字電壓表簡稱DVM,它是采

  

【正文】 is(dis_buf1)。 lcd_pos(1,9)。 str_dis(dis_buf2)。 for(。) { lcd_pos(1,4)。 Voltage = Get_ad()。 float_dis(Voltage,3)。 delay_1ms(100)。 } 基 于單片機的簡易數(shù)字電壓表的設計 第 25 頁 共 34 頁 } ADC0809 typedef unsigned char uchar。 typedef unsigned int uint。 include include define DATA_AD P1 define M 5 sbit clock=P2^0。 sbit start=P2^1。 //A/D 轉(zhuǎn)換開始信號 sbit eoc=P2^2。 //A/ D 轉(zhuǎn)換結(jié)束信號,輸出 sbit oe=P2^3。 //數(shù)據(jù)輸出允許信號,輸入 void init_0809() { TMOD = 0x02。 TH0=216。 TL0=216。 EA=1。 //開總中斷 ET0=1。 //開 T0 中斷 TR0=1。 start=0。 //復位 oe=0。 //輸出 } float Get_ad() { uchar i。 基 于單片機的簡易數(shù)字電壓表的設計 第 26 頁 共 34 頁 float s,ad_val=0。 uchar a[M]。 for(i=0。iM。i++) { start=0。 start=1。 //復位 start=0。 //開始轉(zhuǎn)換 DATA_AD=0xff。 while(eoc==0)。 //等待 eoc 變?yōu)?1 oe=1。 a[i]=DATA_AD。 oe=0。 //關輸出 } for(i=0。iM。i++) { ad_val=ad_val+a[i]。 } ad_val=ad_val/M。 //Ve=ad_val。 s=ad_val*。 return s。 } void timer_0() interrupt 1 { clock = ~clock。 } Delay 程序 typedef unsigned char uchar。 typedef unsigned int uint。 基 于單片機的簡易數(shù)字電壓表的設計 第 27 頁 共 34 頁 include include void delayUs2x(uint delay1us) { uint j。 for (。 delay1us0。 delay1us) for (j=200。 j0。 j)。 } void delay_1ms(uint z) { uint i,j。 for(i=z。 i0。 i) for(j=110。 j0。 j)。 } LCD1602 程序 typedef unsigned char uchar。 typedef unsigned int uint。 include include include define lcd_data P0 //define N 2 define A 4 sbit RS = P2^5。 sbit RW = P2^6。 基 于單片機的簡易數(shù)字電壓表的設計 第 28 頁 共 34 頁 sbit EN = P2^7。 uchar code dis_buf[]={0123456789 }。 void write_cmd(uchar cmd) //LCD 寫指令 { RS = 0。 RW = 0。 EN = 0。 lcd_data = cmd。 // delayUs2x(100)。 EN = 1。 delayUs2x(1)。 EN = 0。 } void write_dat(uchar dat) //LCD 寫數(shù)據(jù) { RS = 1。 RW = 0。 EN = 0。 lcd_data = dat。 //delayUs2x(100)。 EN = 1。 delayUs2x(1)。 EN = 0。 } void lcd_init() //LCD 初始化設置 { write_cmd(0x38)。 //設置 16 2 顯示, 5 7 點陣, 8 位數(shù)據(jù)接口 基 于單片機的簡易數(shù)字電壓表的設計 第 29 頁 共 34 頁 write_cmd(0x0c)。 //設置開顯示,不顯示光標 write_cmd(0x06)。 //寫一個字符后地址指針加 1 write_cmd(0x01)。 //顯示清 0,數(shù)據(jù)指針清 0 } void lcd_pos(uchar x,uchar y) //液晶操作位置定位 { switch(x) { case 0: write_cmd(0x80+y)。break。 case 1: write_cmd(0xc0+y)。break。 default: break。 } } /*顯示字符串 */ void str_dis(uchar *p) { while(*p 0) { write_dat(*p)。 p++。 } } /*顯示浮點數(shù) */ void float_dis(float number,uchar t) //t 為小數(shù)點后保留位數(shù) { // num 數(shù) t 小數(shù)位 浮點數(shù)顯示 char i=0,cheak=1,dis[A]。 int num。 基 于單片機的簡易數(shù)字電壓表的設計 第 30 頁 共 34 頁 for(i=0。 it。 i++) { number = number*。 } num = (int)(number)。 for(i=0。 iA。 i++) //拆分 bcd { dis[i] = num%10。 num = num/10。 } for(i=A1。 it。 i) //滅零 { if(dis[i] == 0) dis[i] = 10。 else break。 } for(i=A1。 i=0。 i) //逐個顯示 { if((i==t1)amp。amp。(cheak==1)) { write_dat(39。.39。)。 i++。 cheak = 0。 } else write_dat(dis_buf[dis[i]])。 } } 基 于單片機的簡易數(shù)字電壓表的設計 第 31 頁 共 34 頁 附 錄 II 仿真電路圖 基 于單片機的簡易數(shù)字電壓表的設計 第 32 頁 共 34 頁 附 錄 III 電路實物 基 于單片機的簡易數(shù)字電壓表的設計 第 33 頁 共 34 頁 附 錄 IV 元器件清單 名稱 型號 /規(guī)格 數(shù)量 單片機 AT89C51 1 AD 轉(zhuǎn)換 ADC0809 1 晶振 1 排阻 1k 歐姆 1 電容 33pf 2 電容 10uf 1 電阻 10k 歐姆 1 開關 1 基 于單片機的簡易數(shù)字電壓表的設計 第 34 頁 共 34 頁 致 謝 經(jīng)過一段時間的不懈努力,本次 課程設計 即將接近尾聲,由于是初次嘗試設計電路,由于知識及經(jīng)驗的匱乏,難免遇到很多困難,如果沒有導師的督促指導以及同學們的支 持,很難順利的完成此次 課程設計 。 從開始選題到論文的順利完成,都離不開老師、同學、朋友給以的幫助,在這里請接受我的謝意 ! 首選,在本次 課程設計 過程中,從選題、構思、資料收集到最后定稿的各個環(huán)節(jié)給予細心指引與教導,使我對課程的多方面的知識有了深刻的認識,使我得以最終完成 課程設計 ,在此表示衷心感謝。 其次,感謝一起做 課程設計 的同學們,感謝你們給我的幫助和鼓勵,感謝你們在我遇到困難時所給的幫助,正是有了你們的幫助和鼓勵,此次 課程設計 才得以順利的完成。 本次設計得以順利完成,也與學院其他老師的幫助分不開的,雖然他們沒 有直接參與我的論文指導,但在論文的形成過程中也給我提供了不少的意見,提出一些可行的建議,在此向他們表示感謝!同時也要感謝導師組的老師,他們在本文寫作的各個階段給出了許多寶貴意見。導師們的高深精湛的造詣與嚴謹求實的治學精神將永遠激勵著我。 最后,對大學四年以來曾經(jīng)關心支持過我的老師、同學,特別是我的親愛的室友們送上最真誠的謝意。對于給我們提供了良好學習環(huán)境的 江蘇理工學院 ,更是充滿了感激,由于母校的培養(yǎng),才使我成長為一個合格的大學生。
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1