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

正文內(nèi)容

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

2025-07-24 20:18 本頁面
 

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