已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
目 錄題目1數(shù)字電壓表11設計要求及技術指標11.1設計要求11.2技術指標12系統(tǒng)的硬件設計12.1系統(tǒng)的論證及選擇12.1.1主控芯片12.1.2顯示芯片22.2原理框圖22.3單元電路設計32.3.1主控模塊32.3.2顯示模式53實驗調(diào)試及結果83.1調(diào)試過程83.2調(diào)試結果94參考文獻105元件清單116附錄a 軟件編程117附錄b 電路原理圖20天津職業(yè)技術師范大學課程設計題目 數(shù)字電壓表1 設計要求及技術指標1.1 設計要求1、題目:數(shù)字電壓表2、利用單片機at89s52與adc0809設計一個數(shù)字電壓表,能夠測量05v之間的直流電壓值,電流值及電阻值,lcd液晶顯示相應數(shù)據(jù)。1.2 技術指標1、單片機的定時中斷技術2、數(shù)字芯片a/d轉(zhuǎn)換技術3、單片機的數(shù)據(jù)處理技術4、單片機控制的lcd液晶顯示技術2 系統(tǒng)的硬件設計2.1 系統(tǒng)的論證及選擇2.1.1 主控芯片 方案1:選用專用電壓轉(zhuǎn)換芯片inc7107實現(xiàn)電壓的測量和現(xiàn)實。缺點是精度比較低,且內(nèi)部電壓轉(zhuǎn)換和控制部分不可控制。優(yōu)點是價格低廉。方案2:選用單片機at89s52和a/d轉(zhuǎn)換芯片adc0809實現(xiàn)電壓的轉(zhuǎn)換和控制,用液晶顯示出最后的轉(zhuǎn)換電壓結果。缺點是價格稍貴。優(yōu)點是轉(zhuǎn)換精度高,且轉(zhuǎn)換的過程和控制、顯示部分可以控制?;谡n程設計的要求,我們優(yōu)先選用了:方案2。2.1.2 顯示芯片 方案1:選用4個單體的共陽數(shù)碼管,將ah全部連接起來,然后接到單片機口的i/o上進行控制。缺點是焊接時比較麻煩,容易出錯。優(yōu)點是價格比較便宜。方案2:選用譯碼芯片74ls47和74ls138配合一個四聯(lián)的共陽數(shù)碼管顯示。缺點是價格較貴,焊接麻煩,單片機控制時比較麻煩。優(yōu)點是有效的節(jié)約了單片機的i/o口資源,適用于單片機i/o口不夠用的情況下。方案3:方案三:采用lcd液晶顯示器顯示。而lcd液晶顯示則耗能少,能夠顯示萬用表、電壓、電流、電阻等漢字,在顯示方面更加靈活,而且改變顯示時只要改變軟件設計就可以,不用改變硬件電路的設計,易于電路的功能擴展。電路的軟件設計也很簡單。另外,這種設計硬件更加簡潔。采用lcd液晶顯示方案的缺點是在顯示位數(shù)比較少時,價格略顯昂貴?;谝陨戏桨负驼n程設計的要求,我們優(yōu)先選用了:方案3。2.2 原理框圖at89s52 adc080912864lcd74hc74adc0809圖2-2 原理框圖2.3 單元電路設計2.3.1 主控模塊1、at89s52是一種低功耗、高性能cmos8位微控制器,具有 8k在系統(tǒng)可編程flash存儲器,32位i/o口線,三個16位定時器/計數(shù)器,另外,at89s52可降至0hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。2、引腳結構及作用at89s52管腳結構vcc : 電源gnd: 地p0口:p0口是一個8位漏極開路的雙向i/o口。作為輸出口,每位能驅(qū)動8個ttl邏輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入,當訪問外部程序和數(shù)據(jù)存儲器時,p0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,p0具有內(nèi)部上拉電阻。在flash編程時,p0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。p1口:p1口是一個具有內(nèi)部上拉電阻的8位雙向i/o口,p1輸出緩沖器能驅(qū)動4個ttl邏輯電平。對p1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(p1.0/t2)和定時器/計數(shù)器2的觸發(fā)輸入(p1.1/t2ex)。 p2口:p2口是一個具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖器能驅(qū)動4個ttl邏輯電平。對p2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行movx dptr)時,p2口送出高八位地址。在這種應用中,p2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri)訪問外部數(shù)據(jù)存儲器時,p2口輸出p2鎖存器的內(nèi)容。在flash編程和校驗時,p2口也接收高8位地址字節(jié)和一些控制信號。p3口:p3口是一個具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖器能驅(qū)動4個ttl邏輯電平。對p3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。p3口亦作為at89s52特殊功能(第二功能)使用,在flash編程和校驗時,p3口也接收一些控制信號。rst: 復位輸入。晶振工作時,rst腳持續(xù)2個機器周期高電平將使單片機復位??撮T狗計時完成后,rst腳輸出96個晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無效。disrto默認狀態(tài)下,復位高電平有效。ale/prog:地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(prog)也用作編程輸況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ale脈沖將會跳過。如果需要,通過將地址為8eh的sfr的第0位置 “1”,ale操作將無效。這一位置 “1”,ale僅在執(zhí)行movx或movc指令時有效。否則,ale將被微弱拉高。這個ale使能標志位(地址為8eh的sfr的第0位)的設置對微控制器處于外部執(zhí)行模式下無效。psen:外部程序存儲器選通信號是外部程序存儲器選通信號。當at89s52從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,psen將不被激活。ea/vpp:訪問外部程序存儲器控制信號。為使能從0000h到ffffh的外部程序存儲器讀取指令,ea必須接gnd。為了執(zhí)行內(nèi)部程序指令,ea應該接vcc。在flash編程期間,ea也接收5伏的電壓。xtal1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。2.3.2 顯示模式12864lcd工作原理在數(shù)字電路中,所有的數(shù)據(jù)都是以0和1保存的,對lcd控制器進行不同的數(shù)據(jù)操作,可以得到不同的結果。對于顯示英文操作,由于英文字母種類很少,只需要8位(一字節(jié))即可。而對于中文,常用卻有6000以上,于是我們的dos前輩想了一個辦法,就是將ascii表的高128個很少用到的數(shù)值以兩個為一組來表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼15。那么,得到了漢字的內(nèi)碼后,還僅是一組數(shù)字,那又如何在屏幕上去顯示呢?這就涉及到文字的字模,字模雖然也是一組數(shù)字,但它的意義卻與數(shù)字的意義有了根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀。12864是一種圖形點陣液晶顯示器,它主要由行驅(qū)動器/列驅(qū)動器及12864全點陣液晶顯示器組成。可完成圖形顯示,也可以顯示84個(1616點陣)漢字。12864lcd的引腳說明如表2-2所示。液晶顯示模塊的特殊寄存器說明:在使用12864lcd前先必須了解以下功能器件才能進行編程。12864內(nèi)部功能器件及相關功能如下:1. 指令寄存器(ir)表2-2 液晶模塊12864的管腳說明管腳號管腳名稱lever管腳功能描述1vss0電源地2vdd+5.0v電源電壓3v0-液晶顯示器驅(qū)動電壓4d/i(rs)h/ld/i=“h”,表示db7db0為顯示數(shù)據(jù)d/i=“l(fā)”,表示db7db0為顯示指令數(shù)據(jù)5r/wh/lr/w=“h”,e=“h”數(shù)據(jù)被讀到db7db0r/w=“l(fā)”,e=“hl”數(shù)據(jù)被寫到ir或dr6eh/lr/w=“l(fā)”,e信號下降沿鎖存db7db0r/w=“h”,e=“h”ddram數(shù)據(jù)讀到db7db07db0h/l數(shù)據(jù)線8db1h/l數(shù)據(jù)線9db2h/l數(shù)據(jù)線10db3h/l數(shù)據(jù)線11db4h/l數(shù)據(jù)線12db5h/l數(shù)據(jù)線13db6h/l數(shù)據(jù)線14db7h/l數(shù)據(jù)線15cs1h/lh:選擇芯片(右半屏)信號16cs2h/lh:選擇芯片(左半屏)信號17reth/l復位信號,低電平復位18vout-10vlcd驅(qū)動負電壓19led+-led背光板電源20led-led背光板電源ir是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對應。當d/i=0時,在e信號下降沿的作用下,指令碼寫入ir。2數(shù)據(jù)寄存器(dr)dr是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對應。當d/i=1時,在下降沿作用下,圖形顯示數(shù)據(jù)寫入dr,或在e信號高電平作用下由dr讀到db7db0數(shù)據(jù)總線。dr和ddram之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動執(zhí)行的。3忙標志:bfbf標志提供內(nèi)部工作情況。bf=1表示模塊在內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)。bf=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。利用status read指令,可以將bf讀到db7總線,從檢驗模塊之工作狀態(tài)。4顯示控制觸發(fā)器dff此觸發(fā)器是用于模塊屏幕顯示開和關的控制。dff=1為開顯示(display off),ddram的內(nèi)容就顯示在屏幕上,dff=0為關顯示(display off)。ddf的狀態(tài)是指令display on/off和rst信號控制的。5xy地址計數(shù)器xy地址計數(shù)器是一個9位計數(shù)器。高3位是x地址計數(shù)器,低6位為y地址計數(shù)器,xy地址計數(shù)器實際上是作為ddram的地址指針,x地址計數(shù)器為ddram的頁指針,y地址計數(shù)器為ddram的y地址指針。x地址計數(shù)器是沒有記數(shù)功能的,只能用指令設置。y地址計數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫入后,y地址自動加1,y地址指針從0到63。6顯示數(shù)據(jù)ram(ddram)ddram是存儲圖形顯示數(shù)據(jù)的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。ddram與地址和顯示位置的關系見ddram地址表。7z地址計數(shù)器z地址計數(shù)器是一個6位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當一行掃描完成,此地址計數(shù)器自動加1,指向下一行掃描數(shù)據(jù),rst復位后z地址計數(shù)器為0。z地址計數(shù)器可以用指令display start line預置。因此,顯示屏幕的起始行就由此指令控制,即ddram的數(shù)據(jù)從哪一行開始顯示在屏幕的第一行。此模塊的ddram共64行,屏幕可以循環(huán)滾動顯示64行。8. 字符顯示fyd12864-0402b每屏可顯示4行8列共32個1616點陣的漢字,每個顯示ram可顯示1個中文字符或2個168點陣全高ascii碼字符,即每屏最多可實現(xiàn)32個中文字符或64個ascii碼字符的顯示。fyd12864-0402b內(nèi)部提供1282字節(jié)的字符顯示ram緩沖區(qū)(ddram)。字符顯示是通過將字符顯示編碼寫入該字符顯示ram實現(xiàn)的。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示cgrom(中文字庫)、hcgrom(ascii碼字庫)及cgram(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:00000006h(其代碼分別是0000、0002、0004、0006共4個)顯示自定義字型,02h7fh顯示半寬ascii碼字符,a1a0hf7ffh顯示8192種gb2312中文字庫字形。字符顯示ram在液晶模塊中的地址80h9fh。字符顯示的ram的地址與32個字符顯示區(qū)域有著一一對應的關系,其對應關系如表2-3所示。表2-3 字符顯示ram在液晶模塊中的地址表80h81h82h83h84h85h86h87h90h91h92h93h94h95h96h97h88h89h8ah8bh8ch8dh8eh8fh98h99h9ah9bh9ch9dh9eh9fh3 實驗調(diào)試及結果3.1 調(diào)試過程首先根據(jù)電路原理圖焊接出實際電路,然后編寫簡單的程序進行電路的調(diào)試,在實際的電路中,p2.0p2.3接液晶顯示器的位進行控制,adc0809的數(shù)據(jù)輸出端接單片機p0口,adc0809的st、oe、eoc、clk分別由p3.3p3.6經(jīng)過或非門進行控制?,F(xiàn)在將在調(diào)試過程中的問題總結如下:問題1:在進行液晶顯示調(diào)節(jié)時,發(fā)現(xiàn)液晶不正常顯示,在確定程序正確的情況下,判定問題出在硬件電路中,仔細檢查后發(fā)現(xiàn),電路存在虛焊,用電烙鐵焊接后,通電測試,該液晶顯示正常。問題2:編寫好adc0809的程序,寫入單片機,發(fā)現(xiàn)顯示不對,懷疑是數(shù)據(jù)輸入錯誤或者數(shù)據(jù)處理錯誤,仔細檢查程序,發(fā)現(xiàn)定義的值太小,改正后,整機電路工作正常,可以實現(xiàn)從0v5v的顯示。數(shù)字萬用表完成的功能主要是對電壓、電流、電阻的測量,它主要由分流電阻、分壓電阻、51單片機最小系統(tǒng)、顯示部分、ad轉(zhuǎn)換和控制部分組成。物理量采集流程:開始被測物理量選擇電壓,電流,電阻的選擇信號轉(zhuǎn)換a/d信號采集轉(zhuǎn)換處理采集信號顯示數(shù)據(jù)返回數(shù)據(jù)。數(shù)字萬用表完成的功能主要是對電壓、電流、電阻的測量,它主要由分流電阻、分壓電阻、51單片機最小系統(tǒng)、顯示部分、ad轉(zhuǎn)換和控制部分組,。其它量的測量則要添加擴展功能。圖3-1 實物圖3.2 調(diào)試結果通過以上軟硬件電路調(diào)試,最終達到了題目的要求,實現(xiàn)了從0v5v的顯示,并且精度比較高。電阻是幾到幾k的測量,電流為1a一下的測量。顯示結果如下:圖3-2-1顯示單片機驅(qū)動電壓:圖3-2-1圖3-2-2顯示2.7k電阻值:圖3-2-2圖3-2-3顯示電流值:圖3-2-34 參考文獻1、單片機原理及應用 張毅剛、劉杰 哈爾賓工業(yè)大學2、單片機基礎第三版 李廣弟、朱月秀、冷祖祁 人民郵電3、單片機的c語言應用程序設計 馬忠梅、張凱北航大學4、51單片機應用開發(fā)案例精選 王為青 人民郵電5、51系列單片機 樓然苗、李光飛 北京航空航天大學5 元件清單元器件名稱參數(shù)備注單片機at89s52(12mhz)1晶體drystal 12mhz1a/d轉(zhuǎn)換adc08091或非門74hc01分頻器74hc741lcd顯示模塊lcd128641電阻1001電容47f5電容20pf2電容30f1按鍵button10電阻(上拉電阻)10k20電阻1k5滑動變阻器10k2電阻0.1k106 附錄a 軟件編程#include /52單片機頭文件#include #define uchar unsigned char /宏定義#define uint unsigned intsbit adc_a=p30; /聲明單片機i/o口sbit adc_b=p31;sbit adc_c=p32;sbit rd1=p33;sbit add=p34;sbit wr1=p35;sbit int=p36;sbit cs=p23; /片選信號,可以不定義但是必須連接rs 5sbit sid=p22; /數(shù)據(jù)傳輸線 rw 6sbit clk=p21; /時鐘 硬件中psb接地 4double getdata;/ad采集數(shù)據(jù)存放變量double dianyazhi;/double bijiaozhi; /幅值上限的設定值void delay(int t) /微秒極的延時 /uchar i; while(t-);/for(i=0;i40;i+); void fasong(uchar byte) /發(fā)送一個字節(jié) uchar i; for(i=0;i8;i+) sid=byte&0x80; /取最高位 clk=1; clk=0; /允許傳送 byte=byte1; /右移一位 void write(bit start,uchar temp) /寫數(shù)據(jù),寫指令 uchar start_data,hdata,ldata; if(start=0) /11111abc中的b=0 start_data=0xf8; /寫指令 else start_data=0xfa; /寫數(shù)據(jù) delay(1); /延時程序時序需要 hdata=temp&0xf0; /取高四位 ldata=(temp4)&0xf0; /取低四位 fasong(start_data); /發(fā)送指令 delay(1); fasong(hdata); /發(fā)送高四位 delay(1); fasong(ldata); /發(fā)送低四位 delay(1);void onit() /液晶的初始化write(0,0x30); /選取基本指令集write(0,0x0c); /開顯示,關光標,關閃爍write(0,0x01); /清屏write(0,0x06); /數(shù)據(jù)讀,寫操作后,ac自動加一/*液晶字符串函數(shù)*/void lcm_writestring(uchar *str)while(*str != 0) write(1,*str+); *str = 0; /*p1口初始化函數(shù)*/void init()p1=0xff; / p3=0xf8;/選擇int0通道/*adc0809轉(zhuǎn)換函數(shù)*/void adc0809() add=0;wr1=1;delay(5);/程序wr1=0;delay(5);wr1=1;while(int=1);rd1=0;getdata=p0;rd1=1;add=1;/*電壓顯示函數(shù)*/ void display1(double date) date=(date*5000/64); jishu0=(int)date%10+0x30; jishu1=(int)date%100/10+0x30; jishu2=(int)date%1000/100+0x30; jishu3=(int)date%10000/1000+0x30; jishu4=(int)date/10000+0x30; write(0,0x92); lcm_writestring(:); write(1,jishu4); write(1,jishu3); lcm_writestring(.); write(1,jishu2); write(1,jishu1); write(1,jishu0); lcm_writestring(v);/*電流顯示函數(shù)*/ void display2(double date) date=(date*3*5000/256); jishu0=(int)date%10+0x30; jishu1=(int)date%100/10+0x30; jishu2=(int)date%1000/100+0x30; jishu3=(int)date/1000+0x30; write(0,0x8a); lcm_writestring(:); write(1,jishu3); write(0,0x8b); lcm_writestring(.); write(1,jishu2); write(0,0x8c); write(1,jishu1); write(1,jishu0); lcm_writestring(a);/*電阻顯示函數(shù)*/ void display3(double date) date=(date*5/256); date=5*100/date-100; /date=(date*5000/256); / date=(1000/date-1); jishu0=(int)date%10+0x30; jishu1=(int)date%100/10+0x30; jishu2=(int)date%1000/100+0x30; jishu3=(int)date%10000/1000+0x30; jishu4=(int)date/10000+0x30; write(0,0x9a); lcm_writestring(:); write(1,jishu4); write(1,jishu3); lcm_writestring(.); write(1,jishu2); write(1,jishu1); write(1,jishu0);/ lcm_writestring();void delay2(int z)int i,j;for(i=0;iz;i+)for(j=0;j=17100) bijiaozhi=3000; if(bijiaozhi=2900) bijiaozhi=17000; if(queren=0) delay2(10);/延時10ms if(queren=0) break; while(!queren); write(0,0x80);lcm_writestring(幅值上限:);write(0,0x92);write(1,(int)bijiaozhi/10000+0x30);write(1,(int)bijiaoz
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年校園文化墻施工合同-校園文化墻設計與施工一體化服務協(xié)議3篇
- 年度耐蝕熱交換器銅合金管材產(chǎn)業(yè)分析報告
- 2025年度生態(tài)園林住宅區(qū)物業(yè)費預算與綠化養(yǎng)護合同3篇
- 2025年度汽車抵押貸款信息保密合同樣本4篇
- 2025年退休人員勞務合同范本:居家養(yǎng)老照料服務協(xié)議5篇
- 2024苗木購銷合同書
- 二零二五年度股權轉(zhuǎn)讓合同范本:某科技公司股權轉(zhuǎn)讓詳細條款2篇
- 高效減肥運動課程設計
- 2024版技術許可合同示范文本
- 二零二五年度食品飲料采購合同4篇
- 2025年度影視制作公司兼職制片人聘用合同3篇
- 兒童糖尿病的飲食
- 2025屆高考語文復習:散文的結構與行文思路 課件
- 干細胞項目商業(yè)計劃書
- 拉薩市2025屆高三第一次聯(lián)考(一模)語文試卷(含答案解析)
- 浙江省嘉興市2024-2025學年高一數(shù)學上學期期末試題含解析
- 2024年高考新課標Ⅱ卷語文試題講評課件
- 無人機航拍技術教案(完整版)
- 人教PEP版(2024)三年級上冊英語Unit 4《Plants around us》單元作業(yè)設計
- 《保密法》培訓課件
- 醫(yī)院項目竣工驗收和工程收尾階段的管理措施專項方案
評論
0/150
提交評論