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

正文內(nèi)容

智能型充電器的電源和顯示的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-06-26 05:18本頁(yè)面
  

【正文】 第三章 軟件設(shè)計(jì)由于本人主要負(fù)責(zé)設(shè)計(jì)軟件部分,而本人之前對(duì)C語(yǔ)言這門(mén)課的學(xué)習(xí)不是非常的精通,因此在著手本章之前本人對(duì)C語(yǔ)言以及AVR單片機(jī)與C語(yǔ)言編程方面的書(shū)籍做了認(rèn)真仔細(xì)的回顧、學(xué)習(xí)和再研究,這樣才對(duì)下面設(shè)計(jì)工作的開(kāi)展打下了基礎(chǔ)。在本章里,本人將先介紹C語(yǔ)言開(kāi)發(fā)的優(yōu)勢(shì),然后介紹LCD的顯示原理、模塊的軟件特性等,接下來(lái)便是最主要的整個(gè)程序的設(shè)計(jì)。C語(yǔ)言是一種編譯型的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,具有簡(jiǎn)單的語(yǔ)法結(jié)構(gòu)和強(qiáng)大的處理功能,具有運(yùn)行速度快、編譯效率高,移植性好和可讀性強(qiáng)等多種優(yōu)點(diǎn),可以實(shí)現(xiàn)對(duì)系統(tǒng)便件的直接操作。用C語(yǔ)言來(lái)編寫(xiě)目標(biāo)系統(tǒng)軟件,可以大大縮短開(kāi)發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開(kāi)發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng)。其優(yōu)勢(shì)如下:(1) 可以大幅度加快開(kāi)發(fā)進(jìn)度,程序量越大,用C語(yǔ)言就越有優(yōu)勢(shì)。(2) 無(wú)需精通單片機(jī)指令集和具體的硬件,也能夠編出符合硬件實(shí)際專業(yè)水平的程序。(3) 可以實(shí)現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開(kāi)發(fā)小組計(jì)劃任務(wù)、分工合作。源程序的可讀性和可維護(hù)性都很好。(4) 省去了人工分配單片機(jī)資源的工作,在匯編語(yǔ)言中要為每一個(gè)子程序分配單片機(jī)的資源。在使用C語(yǔ)言后,只要在代碼中申明一下變量的類型,編譯器就會(huì)自動(dòng)分配相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機(jī)資源的差錯(cuò)。(5) 匯編語(yǔ)言的可移植性很差,而C語(yǔ)言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷?,就可以方便地移植到其它種類的單片機(jī)上。(6) C語(yǔ)言提供auto、static、flash等存儲(chǔ)類型,針對(duì)單片機(jī)的程序存儲(chǔ)空間、數(shù)據(jù)存儲(chǔ)空間及EEPROM空間自動(dòng)為變量合理地分配空間,而且C語(yǔ)言提供復(fù)雜的數(shù)據(jù)類型,極大地增強(qiáng)了程序處理能力和靈活性。C編譯器能夠自動(dòng)實(shí)現(xiàn)中斷服務(wù)程序的現(xiàn)場(chǎng)保護(hù)和恢復(fù),并且提供常用的標(biāo)準(zhǔn)函數(shù)庫(kù),供用戶使用。并且C編譯器能自動(dòng)生成一些硬件的初始化代碼。(7) 對(duì)于一些復(fù)雜系統(tǒng)的開(kāi)發(fā),可以通過(guò)移植(或C編譯器提供)的實(shí)時(shí)操作系統(tǒng)來(lái)實(shí)現(xiàn)。正由于C語(yǔ)言在系統(tǒng)開(kāi)發(fā)中的優(yōu)勢(shì),這次設(shè)計(jì)的所有程序設(shè)計(jì)都將采用C語(yǔ)言編寫(xiě),且通過(guò)ICCAVR編譯器操作AVR的硬件資源。 液晶顯示漢字或字符的原理 LCD本身不發(fā)光只是調(diào)節(jié)光的亮度,目前市面上的LCD顯示器都是利用液晶的扭曲一向列效應(yīng)制成,這是一種電場(chǎng)效應(yīng),夾在兩片導(dǎo)電玻璃電極間的液晶經(jīng)過(guò)一定處理,它內(nèi)部的分子呈直角扭曲,當(dāng)線性偏振光透過(guò)其偏振面便會(huì)旋轉(zhuǎn)一個(gè)直角。當(dāng)在玻璃電極上加上電壓后,在電場(chǎng)作用下,液晶的扭曲結(jié)構(gòu)消失,偏振光便可以直接通過(guò)。當(dāng)去掉電場(chǎng)后液晶分子又恢復(fù)取扭曲結(jié)構(gòu)。把這樣的液晶置于兩個(gè)偏振片之間,改變偏振片相對(duì)位置就可以得到白底黑子或黑底白字的顯示形式。結(jié)合以上知識(shí)具體顯示原理如下:( 1 ) 線段的顯示點(diǎn)陣圖形式液晶由M*N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對(duì)應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16*8=128個(gè)點(diǎn)組成,屏上64*16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的00H~00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000)=FFH時(shí),如屏的左上角顯示一條短亮線,長(zhǎng)度為8個(gè)點(diǎn);當(dāng)(3FFH)=FFH時(shí),則顯示屏的右下角顯示一條短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=FFH,(003H)=00H,…(00EH)=FFH,(00FH)=00H時(shí),則在屏的頂部顯示一條由8段亮線和8段暗線組成的虛線。這就是LCD顯示的基本原理。( 2 ) 字符的顯示用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由6*8或8*8點(diǎn)陣組成,既要找到和顯示屏上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同的位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮,這樣一來(lái)就組成某個(gè)字符。但對(duì)于內(nèi)帶字符發(fā)生器的控制器 (如HD61202)來(lái)說(shuō),顯示字符就比較簡(jiǎn)單了,可讓控制器工作在文本方式,根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。( 3 ) 漢字的顯示漢字的顯示一般采用圖形方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼,每個(gè)漢字占32B,分左右兩半部,各占16B,左邊為5…右邊為6…根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)可找到顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的一字節(jié),光標(biāo)位置加1,送第二字節(jié),按行按列對(duì)齊,送第三字節(jié)……直到32B顯示完就可在LCD上得到一個(gè)完整的漢字。 LCD模塊的指令說(shuō)明要完成顯示程序的設(shè)計(jì),必須了解LCD液晶模塊的指令系統(tǒng)。這里采用的LCD是北京精電蓬遠(yuǎn)顯示技術(shù)公司生產(chǎn)的MGLS系列圖形液晶顯示模塊,其內(nèi)藏KS0108B/HD61202控制器。KS0108B及其兼容控制驅(qū)動(dòng)器( HD61202 )的指令系統(tǒng)比較簡(jiǎn)單,一共只有7條指令,從作用上可分為兩類。第一條指令和第二條指令為顯示狀態(tài)設(shè)置類;其余指令為數(shù)據(jù)讀/寫(xiě)操作指令。下面是各個(gè)指令的功能:1. 讀狀態(tài)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0BUSY 0 ON/OFF REST 0 0 0 0狀態(tài)字是計(jì)算機(jī)了解HD61202及其兼容控制驅(qū)動(dòng)器當(dāng)前狀態(tài),或是HD61202及其兼容控制驅(qū)動(dòng)器向計(jì)算機(jī)提供其內(nèi)部狀態(tài)的唯一的信息渠道。狀態(tài)字為一字節(jié),其中僅有3位有效位,它們是:BUSY表示當(dāng)前HD61202接口控制電路運(yùn)行狀態(tài)。BUSY=1表示HD61202正在處理計(jì)算機(jī)發(fā)來(lái)的指令或數(shù)據(jù)。此時(shí)接口電路被封鎖,不能接受除讀狀態(tài)字以外的任何操作。BUSY=0表示HD61202接口電路已處于“準(zhǔn)備好”狀態(tài),等待計(jì)算機(jī)的訪問(wèn)。ON/OFF表示當(dāng)前的顯示狀態(tài)。ON/OFF=1表示關(guān)顯示狀態(tài);ON/OFF=0表示開(kāi)顯示狀態(tài)。RESET表示當(dāng)前HD61202的工作狀態(tài),即反映RST端的電平狀態(tài)。當(dāng)RST為低電平狀態(tài)時(shí),HD61202處于復(fù)位工作狀態(tài),RESET=1;當(dāng)RST為高電平狀態(tài)時(shí),HD61202為正常工作狀態(tài),RESET=0。在指令設(shè)置和數(shù)據(jù)讀寫(xiě)時(shí)要注意狀態(tài)字中的BUSY標(biāo)志。只有在BUSY=0時(shí),計(jì)算機(jī)對(duì)HD61202的操作才能有效,因此計(jì)算機(jī)在每次對(duì)HD61202操作之前,都要讀出狀態(tài)字以判斷BUSY是不為“0”。若不為“0”,則計(jì)算機(jī)需要等待,直至BUSY=0為止。2. 顯示開(kāi)關(guān)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 1 1 1 1 1 1/0該指令設(shè)置顯示開(kāi)/關(guān)觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)鎖存器的工作方式,從而控制顯示屏上的顯示狀態(tài)。D位為顯示開(kāi)/關(guān)控制位。當(dāng)D=1為開(kāi)顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所需的顯示效果。此時(shí)在狀態(tài)字中ON/OFF=0;當(dāng)D=0為關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被置零,顯示屏呈不顯示狀態(tài),但顯示存儲(chǔ)器并沒(méi)有被破壞,在狀態(tài)字中ON/OFF=1。3. 顯示起始行設(shè)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 1 顯示起始行( 063 ) 該指令設(shè)置了顯示起始行寄存器的內(nèi)容。HD61202有64行顯示的管理能力,該指令中L5~L0為顯示起始行的地址,取值在0~3FH( 1~64行)范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對(duì)應(yīng)的顯示存儲(chǔ)器的行地址。如果定時(shí)間隔地,等間距地修改( 如加1或減1)顯示起始行寄存器的內(nèi)容,則顯示屏將呈現(xiàn)顯示內(nèi)容向上或向下平滑滾動(dòng)的顯示效果。4. 頁(yè)面地址設(shè)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 01 0 1 1 1 頁(yè)號(hào)( 0~7 ) 該指令設(shè)置了頁(yè)面地址——X地址寄存器的內(nèi)容。HD61202將顯示存儲(chǔ)器分成8頁(yè),指令代碼中P2P0就是要確定當(dāng)前所要選擇的頁(yè)面地址,取值范圍為07H,代表第18頁(yè)。該指令規(guī)定了以后的讀/寫(xiě)操作將在哪一個(gè)頁(yè)面上進(jìn)行。5. 列地址設(shè)置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 1 顯示列地址( 0~63 )該指令設(shè)置了Y地址計(jì)數(shù)器的內(nèi)容,C5~C0=0~3FH( 1~64 )代表了某一頁(yè)面上的某一個(gè)單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個(gè)單元上進(jìn)行。Y地址計(jì)數(shù)器具有自動(dòng)加1功能,在每上次讀/寫(xiě)數(shù)據(jù)后它將自動(dòng)加1,所以在連續(xù)進(jìn)行讀/寫(xiě)數(shù)據(jù)時(shí),Y地址計(jì)數(shù)器不必每次都設(shè)置一次。頁(yè)面地址的設(shè)置和列地址的設(shè)置將顯示存儲(chǔ)器單元唯一的確定下來(lái),為后來(lái)的顯示數(shù)據(jù)的讀/寫(xiě)作了地址的選通。6. 寫(xiě)數(shù)據(jù)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1寫(xiě)  數(shù)   據(jù)該操作將8位數(shù)據(jù)寫(xiě)入先前已確定的顯示存儲(chǔ)器的單元內(nèi)。操作完成后列地址計(jì)數(shù)器自動(dòng)加1。7. 讀數(shù)據(jù)指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 1   讀  顯  示  數(shù)  據(jù)該操作將HD61202接口部的輸出寄存器內(nèi)容讀出,然后列地址計(jì)數(shù)器自動(dòng)加一。必須注意的是,進(jìn)行讀操作之前,必須有一次空讀操作,緊接著再讀才會(huì)讀出所要讀的單元中的數(shù)據(jù)。 液晶顯示界面本著簡(jiǎn)單明了的基本思想前面提到,結(jié)合液晶顯示模塊的相關(guān)知識(shí),設(shè)計(jì)出如下界面:智能型充電器   電池:   電壓: V節(jié)數(shù);   電流: A狀態(tài):   溫度: ℃圖31 LCD界面顯示這次設(shè)計(jì)采用的液晶顯示模塊本是由北京精電公司所造的圖形式的MGLS12864芯片,其用一片KS0107B或兼容驅(qū)動(dòng)器( HD61203 )作為行驅(qū)動(dòng)器和三片KS0108B或兼容驅(qū)動(dòng)器(HD61203) 作為列驅(qū)動(dòng)器組成的。液晶顯示的第一行為“智能型充電器”,由左起第四列開(kāi)始顯示,這樣正好左右平均分配。第二行左起頂格顯示“電池”,表示對(duì)充電電池的選擇,可進(jìn)行“鋰電、鎳鎘、鎳氫、鉛酸”四種電池的選取,第三行顯示電池的節(jié)數(shù),第四行顯示狀態(tài),可以在“快充、涓充、充滿、放電”四個(gè)選項(xiàng)間進(jìn)行選取,第二行到第四行左起分別顯示電壓、電流和溫度數(shù)值。由此可見(jiàn),左邊的兩選項(xiàng)在充放電的過(guò)程中是不變的,而右邊的三個(gè)參數(shù)在充電過(guò)程中隨時(shí)發(fā)生變化。 系統(tǒng)程序流程圖為了方便程序的設(shè)計(jì),使自己在設(shè)計(jì)過(guò)程中做到思路清晰,設(shè)計(jì)起來(lái)游刃有余。這里首先畫(huà)出了程序流程圖,后面根據(jù)次流程圖具體設(shè)計(jì)程序,現(xiàn)具體分析如下:(一)主程序流程圖這次設(shè)計(jì)課題的主要內(nèi)容是在充電器的充電過(guò)程中,采集參數(shù),進(jìn)行電壓、電流、溫度的實(shí)時(shí)顯示。其主流程圖設(shè)計(jì)如下:按 鍵 調(diào) 節(jié)采樣V、A、T顯示V、A、T 充滿?結(jié) 束YN 初 始 化采 集 電 池 電 壓>0開(kāi) 始Y有 電 池?zé)o 電 池等 待掃 描 按 鍵有鍵按下?YNN (1) 圖32 主程序流程圖(二)控制程序流程圖要想在液晶模塊上顯示一個(gè)字符或漢字,首先必須得對(duì)控制字進(jìn)行寫(xiě)指令代碼、寫(xiě)顯示數(shù)據(jù)和讀顯示數(shù)據(jù)3項(xiàng)操作。完成這3項(xiàng)工作都必須保證控制器處于不忙的情況下,這就必須有一個(gè)判忙子程序,其流程圖如下:開(kāi) 始讀左邊控制器的狀態(tài)字驅(qū)動(dòng)器忙?送 狀 態(tài) 字返 回YN 圖33 判忙程序流程圖 (三)顯示程序流程圖根據(jù)上面采用的方法設(shè)置漢字的初始值(lr、X、Y),當(dāng)顯示完第一列的8字節(jié)以后,跳到第二列又從上往下顯示。由于一個(gè)漢字每一列有16字節(jié),則當(dāng)一頁(yè)的16列顯示完,只相當(dāng)于顯示的漢字的上半部分,則再次跳到下一頁(yè)的初始位,進(jìn)行漢字下半部分的顯示,值到16列顯示完成,才表示一個(gè)漢字全部顯示結(jié)束。通過(guò)上面的介紹,一個(gè)漢字的顯示流程圖編寫(xiě)如下:滿16列?NY漢顯完成,繼續(xù)嗎?NY返 回設(shè)lr、X、Y初始值lr—選取控制器X—頁(yè)面值,Y—列地址值開(kāi) 始 顯 示顯示滿16列?NYX+1顯示下半部分開(kāi) 始初 始 化 圖34 漢字顯示流程圖按上面的流程圖,就可以進(jìn)行顯示程序的設(shè)計(jì)了。具體程序詳見(jiàn)附錄的程序清單。第四章 系統(tǒng)調(diào)試第一節(jié) 系統(tǒng)調(diào)試軟件介紹完成對(duì)系統(tǒng)的硬、軟件設(shè)計(jì)后,就可以對(duì)系統(tǒng)進(jìn)行調(diào)試了。本次設(shè)計(jì)本人采用了ICCAVR編譯器作為系統(tǒng)的開(kāi)發(fā)工具,進(jìn)行程序的燒錄和仿真。 ICCAVR編譯器簡(jiǎn)介(一) ICC AVR是ImageCraft公司針對(duì)AVR單片機(jī)而開(kāi)發(fā)的一個(gè)C語(yǔ)言編譯,它具有以下幾個(gè)特點(diǎn):。(STK200/300)。 AVR是一個(gè)運(yùn)行于Windows 9X/NT的集成開(kāi)發(fā)環(huán)境(ODE),它包括單片機(jī)軟件開(kāi)發(fā)所需要的編輯器、工程管理器和C編譯器。 AVR采用了工程的組織形式。程序的所有源文件全部以工程的一個(gè)要素保存在工程中,并且程序
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1