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

正文內(nèi)容

基于單片機的電容測量儀設(shè)計優(yōu)秀畢業(yè)論文(編輯修改稿)

2025-07-24 20:18 本頁面
 

【文章內(nèi)容簡介】 了160個不同的點陣字符圖形,如表1所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H 中的點陣字符圖形顯示出來,我們就能看到字母“A”表1 CGROM和CGRAM中字符代碼與字符圖形對應(yīng)關(guān)系1602液晶模塊內(nèi)部的控制器共有11 條控制指令,其控制命令如下表所示。表2 LCD1602內(nèi)部11條控制指令它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1 為高電平、0 為低電平)指令1:清顯示,指令碼01H,光標復(fù)位到地址00H位置指令2:光標復(fù)位,光標返回到地址00H指令3:光標和顯示模式設(shè)置I/D:光標移動方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標B:控制光標是否閃爍,高電平閃爍,低電平不閃爍指令5:光標或顯示移位S/C:高電平時移動顯示的文字,低電平時移動光標指令6:功能設(shè)置命令DL:高電平時為4位總線,低電平時為8位總線N:低電平時為單行顯示,高電平時雙行顯示F低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符(有些模塊是 DL:高電平時為8位總線,低電平時為4位總線)指令7:字符發(fā)生器RAM地址設(shè)置指令8:DDRAM地址設(shè)置指令9:讀忙信號和光標地址BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)指令11:讀數(shù)據(jù)LCD1602液晶顯示模塊可以和單片機AT89C51直接接口,電路如下圖所示。圖16 LCD1602與AT89C51連接圖液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,下表是LCD1602的內(nèi)部顯示地址表3 LCD1602內(nèi)部顯示地址圖17 LCD1602顯示電路 各部分電路連接成整個電路圖當(dāng)各個部分的電路設(shè)計完成后,下面的工作就是組合成一個總的電路圖?,F(xiàn)今用的最多的電路設(shè)計軟件就是Proteus,Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持805HC1PIC10/12/16/18/24/30/DsPIC3AVR、ARM、8086和MSP430等,目前已增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。圖18 總電路圖3 基于單片機電容測量軟件設(shè)計 軟件設(shè)計軟件設(shè)計是一個創(chuàng)造性的過程,對一些設(shè)計者來說需要一定的資質(zhì),而最后設(shè)計通常都是由一些初步設(shè)計演變而來的。從書本上學(xué)不會設(shè)計,只能經(jīng)過實踐,通過對實際系統(tǒng)的研究和實踐才能學(xué)會。對于高效的軟件工程,良好的設(shè)計是關(guān)鍵,一個設(shè)計得好的軟件系統(tǒng)應(yīng)該是可直接實現(xiàn)和易于維護、易懂和可靠的。設(shè)計得不好的系統(tǒng),盡管可以工作,但很可能維護起來費用昂貴、測試困難和不可靠,因此,設(shè)計階段是軟件開發(fā)過程中最重要的階段。直到最近,軟件設(shè)計在很大程度上仍是一個特定過程。一般用自然語言給定一個需求集,預(yù)先作非正式設(shè)計,常常用流程圖的形式說明,接著開始編碼,當(dāng)系統(tǒng)實現(xiàn)時設(shè)計還需修改。當(dāng)實現(xiàn)階段完成后,設(shè)計往往已與起初形式相去甚遠以至于設(shè)計的原始文檔完全不適合對系統(tǒng)的描述。 軟件設(shè)計任務(wù) 軟件設(shè)計主要是針對硬件設(shè)計里面的控制部分的,這里指AT89C51單片機,一般的單片機均可用匯編語言和C語言進行編程。C語言直觀,相對比較的簡單,但占用的程序存儲器的內(nèi)存比較大,匯編語言是針對硬件設(shè)計的語言,如果想用匯編語言設(shè)計的話必須要對硬件有很大的了解,相對C語言就比較的復(fù)雜,但是比較的精簡,占用的程序存儲器的空間比較的小。作為還在學(xué)生階段的我們,用匯編語言進行編程對我們理解單片機的內(nèi)部結(jié)構(gòu)、資源都有很好的幫助,但是C語言編程在以后的實際工作中將會大大簡化自己的工作。因此本論文的程序都是基于C語言的。要完成的任務(wù)是:初始化程序設(shè)計、按鍵程序設(shè)計、中斷處理程序,計數(shù)器計數(shù)程序,顯示程序設(shè)計等。 軟件設(shè)計的工具本次畢業(yè)設(shè)計所選用Keil C51中的編譯/連接器軟件Keil uVision2作為編譯器/連接工具。 程序設(shè)計算法設(shè)計 整個程序設(shè)計過程中遇到的最大的問題的如何根據(jù)測量到的方波的頻率來計算所測量的電容的大小。在前面的介紹中我們知道:555時基芯片的輸出頻率跟所使用的電阻R和電容C的關(guān)系是:又因為,所以 (7)即: (8)如果單片機采用12M的晶振,計數(shù)器T0的值增加1,時間就增加1μS ,我們采用中斷的方式來啟動和停止計數(shù)器T0,中斷的觸發(fā)方式為脈沖下降沿觸發(fā),第一次中斷到來啟動T0,計數(shù)器的值為,第二次中斷到來停止T0,計數(shù)器器的值為,則測量方波的周期為,如何開始時刻計數(shù)器的值,則。簡單時序圖如下。T555輸出的方波啟動T0停止T0圖19 時序圖則: (9)單片機的計數(shù)器的值N=065535,為了測量的精度,N的取值一般在100~5000,當(dāng)電阻R越大,電容C的值就越小。我們?nèi)〔煌碾娮柚担偷玫讲煌碾娙轀y量的量程。第一檔: 1~50uF第二檔: ~5 uF第三檔: ~ uF第四檔: ~ uF為了編寫程序的方便,我們只計算,后面的單位可以根據(jù)使用的量程自行添加。~。 軟件設(shè)計流程流程圖是一種傳統(tǒng)的算法表示法,它利用幾何圖形的框來代表各種不同性質(zhì)的操作,用流程線來指示算法的執(zhí)行方向。由于它簡單直觀,所以應(yīng)用廣泛,特別是在早期語言階段,只有通過流程圖才能簡明地表述算法,流程圖成為程序員們交流的重要手段。本次畢業(yè)設(shè)計在軟件設(shè)計方面的難度是有點大。圖20為整個程序設(shè)計的流程。T0,INT0初始化啟動555有無中斷有無按鍵有無中斷啟動計數(shù)器T0停止計數(shù)器T0計算電容的大小顯示電容值有無按鍵NYnNYNYNY圖20 程序設(shè)計流程圖 編寫程序有了前面的對整個系統(tǒng)的分析后畫出的流程圖,下面的工作就是根據(jù)流程圖編寫程序。編寫程序是一個相當(dāng)復(fù)雜的過程,要求編程人員具有很強邏輯思維,而且要在對整個系統(tǒng)工作原理相當(dāng)熟悉的基礎(chǔ)上面才能完成任務(wù)。在編寫程序的時候要養(yǎng)成作注釋的習(xí)慣,這樣既利于自己以后的修改,又利于以后程序的維護。尤其是使用C語言編寫程序的時候更是要注釋,因為C語言是一門比較高級的語言,C語言比較的煩瑣。當(dāng)然編寫程序遇到困難的時候還需要很大技巧。根據(jù)上面的流程圖,編寫程序:include include//庫函數(shù)define DATA P0sbit RW=P2^1。//1602寫數(shù)據(jù)sbit RS=P2^0。//1602寫地址sbit EN=P2^2。 //1602工作使能sbit b_test=P3^7。 //開始測量電容的按鍵輸入sbit _reset=P3^5。 //555時基芯片工作控制信號unsigned int T_flag,N,C,i,Dis1,Dis0。unsigned int b[6]={0X13,0X0D,0X00,0X00,0X25,0X16}。 //顯示C=00UF/***********延時1MS******************/void Delay1ms(unsigned int mm){unsigned int i。 for(mm。mm0。mm) for(i=100。i0。i)。}/***************檢查忙否*****************/void Checkstates(){ unsigned char dat。 RS=0。 RW=1。 do{EN=1。//下降沿 _nop_()。//保持一定間隔 _nop_()。 dat=DATA。 _nop_()。 _nop_()。 EN=0。 }while((datamp。0x80)==1)。}/**************LCD寫命令函數(shù)*********/void wd(unsigned char cmd){ Checkstates()。 RS=0。 RW=0。 DATA=cmd。 EN=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 EN=0。}/****
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1