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

正文內(nèi)容

電動車里程表和電壓檢測(編輯修改稿)

2025-07-28 00:10 本頁面
 

【文章內(nèi)容簡介】 01*輸入方式設(shè)制00000001I/DS顯示狀態(tài)設(shè)制0000001DCB無標畫面滾動000001S/CRL**功能設(shè)置00001DLNF**CGRAM地址設(shè)制0001A5A4A3A2A1A0DDRAM地址設(shè)制001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫數(shù)據(jù)10數(shù) 據(jù)讀數(shù)據(jù)11數(shù) 據(jù)(3)寫命令字由表2可知當RS=0,R/W=0時,才可以通過單片機或用戶指令把數(shù)據(jù)寫到LCD模塊,此時就對LCD進行調(diào)制??刹捎貌樵兎绞剑合茸x入狀態(tài)字,再判斷忙標志位,最后寫命令字。 寫命令字流程圖1)定義光標位置顯示數(shù)據(jù)的某位,就是把顯示數(shù)據(jù)寫在相應(yīng)的DDRAM地址中,DDRAM地址占7位。Set DDRAM address命令如表3所示。光標定位,寫入一個顯示字符后,DDRAM地址會自動加1或減1,加或減由輸入方式設(shè)置。表3 Set DDRAM address命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001AC6AC5AC4AC3AC2AC1AC0第1行DDRAM地址與第2行DDRAM地址并不連續(xù),如表4所示。表4 DDRAM地址row12345…141516line180H81H82H83H84H…8dH8eH8fHline20c0H0c1H0c2H0c3H0c4H…0cdH0ceH0cfH2)LCD初始化從通電開始延時,先經(jīng)過判忙后再進行功能設(shè)置,過一段時間后可以設(shè)制顯示狀態(tài)(如設(shè)制行、位或陣列)再經(jīng)過延時清屏后才可以設(shè)置輸入方式。 LCD初始化流程圖2.LCD顯示程序設(shè)計LCD顯示程序的設(shè)計一般先要確定LCD的初始化、光標定位、確定顯示字符后。 LCD顯示程序流程圖 由于蓄電池的電壓比較大,超出ADC0832的采集電壓范圍值,所以采用分壓電路,來獲取采集電壓值。R1=15k,R2=1k如果Vp電壓≤80 那么獲得電壓范圍為0~5v,如果Vp電壓≤48,那么獲得的電壓范圍為0~3v。 ADC0832 主要特點ADC0832 是美國國家半導體公司生產(chǎn)的一種 8 位分辨率、雙通道 A/D 轉(zhuǎn)換芯片。由于它體積小,兼容性強,性價比高而深受單片機愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。其主要特點如下: 8位分辨率; 雙通道A/D轉(zhuǎn)換; 輸入輸出電平與TTL/CMOS相兼容; 5V電源供電時輸入電壓在0~5V之間; 工作頻率為250KHZ,轉(zhuǎn)換時間為32μS; 一般功耗僅為15mW; 8P、14P—DIP(雙列直插)、PICC 多種封裝; 商用級芯片溫寬為0176。C to +70176。C,工業(yè)級芯片溫寬為?40176。C to +85176。C; ADC0832管腳介紹 ADC0832引腳圖   CS_ 片選使能,低電平芯片使能?! ?CH0 模擬輸入通道0,或作為IN+/使用。   CH1 模擬輸入通道1,或作為IN+/使用。   GND 芯片參考0 電位(地)?! ?DI 數(shù)據(jù)信號輸入,選擇通道控制?! ?DO 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出?! ?CLK 芯片時鐘輸入?! ?Vcc/REF 電源輸入及參考電壓輸入(復用)。  ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。 的控制原理正常情況下 ADC0832 與單片機的接口應(yīng)為 4 條數(shù)據(jù)線,分別是 CS、CLK、DO、DI。但由于 DO 端與 DI 端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設(shè)計時可以將 DO 和 DI 并聯(lián)在一根數(shù)據(jù)線上使用。(見圖 3)當 ADC0832 未工作時其 CS 輸入端應(yīng)為高電平,此時芯片禁用,CLK 和DO/DI 的電平可任意。當要進行 A/D 轉(zhuǎn)換時,須先將 CS 使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端 CLK 輸入時鐘脈沖,DO/DI 端則使用 DI 端輸入通道功能選擇的數(shù)據(jù)信號。在第 1 個時鐘脈沖的下沉之前 DI 端必須是高電平,表示啟始信號。在第 3 個脈沖下沉之前 DI 端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能。TABLE Addressing:ADC0832SingleEnded MUXModeMUX AddressChannelSGL/DIFODD/SIGN0110+11+ COM is internally tied to A GND TABLE Addressing:ADC0832Differential MUX ModeMUX AddressChannelSGL/DIFODD/SIGN0100+01+   所示,當此 2 位數(shù)據(jù)為“1”、“0”時,只對 CH0 進行單通道轉(zhuǎn)換。當 2 位數(shù)據(jù)為“1”、“1”時,只對 CH1 進行單通道轉(zhuǎn)換。當 2 位數(shù)據(jù)為“0”、“0”時,將 CH0 作為正輸入端 IN+,CH1 作為負輸入端 IN進行輸入。當 2 位數(shù)據(jù)為“0”、“1”時,將 CH0 作為負輸入端 IN,CH1 作為正輸入端 IN+進行輸入。到第 3 個脈沖的下沉之后 DI 端的輸入電平就失去輸入作用,此后 DO/DI端則開始利用數(shù)據(jù)輸出 DO 進行轉(zhuǎn)換數(shù)據(jù)的讀取。從第 4 個脈沖下沉開始由 DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位 DATA7,隨后每一個脈沖下沉 DO 端輸出下一位數(shù)據(jù)。直到第 11 個脈沖時發(fā)出最低位數(shù)據(jù) DATA0,一個字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第 11 個字節(jié)的下沉輸出 DATD0。隨后輸出 8 位數(shù)據(jù),到第 19 個脈沖時數(shù)據(jù)輸出完成,也標志著一次 A/D 轉(zhuǎn)換的結(jié)束。最后將 CS 置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進行處理就可以了。 ADC0832時序圖作為單通道模擬信號輸入時 ADC0832 的輸入電壓是 0~5V 且 8 位分辨率時的電壓精度為 。如果作為由 IN+與 IN輸入的輸入時,可是將電壓值設(shè)定在某一個較大范圍之內(nèi),從而提高轉(zhuǎn)換的寬度。但值得注意的是,在進行 IN+與 IN的輸入時,如果 IN的電壓大于 IN+的電壓則轉(zhuǎn)換后的數(shù)據(jù)結(jié)果始終為00H。 ADC0832模塊 本系統(tǒng)軟件部分采用靈活,緊湊的C語言進行編程,由于需要計算的數(shù)據(jù)比較多復雜,包括速度的計算,lcd1602的顯示,adc0832的電壓采集處理等等,所以采用模塊化設(shè)計的方法很有必要,根據(jù)程序模塊的功能劃分為若干個子程序,整個過程用自頂向下的方法來實現(xiàn),使得程序組織清晰緊湊,便于閱讀。 程序流程圖程序開始時進入顯示界面“Digital Bike Meter Wele” , 2秒后進入時鐘設(shè)置界面,通過按按鈕,調(diào)整時鐘,確任后,接著進入輪胎直徑設(shè)置畫面,默認為40cm,對應(yīng)的尺寸為16寸,通過調(diào)節(jié),可以找到適合的直徑。確認之后,初始化,進入中斷狀態(tài),通過定時器T0刷新行駛時間和時鐘,中斷INT0刷新行駛里程和速度,中斷INT1改變顯示內(nèi)容選擇菜單頁。 uVision4 介紹單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN9NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。Keil C51集成開發(fā)環(huán)境主要由菜單欄、工具欄、源文件編輯窗口、工程窗口和輸出窗口五部分組成。工具欄為一組快捷工具圖標,主要包括基本文件工具欄、建造工具欄和調(diào)試工具欄,基本文件工具欄包括新建、打開、拷貝、粘貼等基本操作。建造工具欄主要包括文件編譯、目標文件編譯連接、所有目標文件編譯連接、目標選項和一個目標選擇窗口。調(diào)試工具欄位于最后,主要包括一些仿真調(diào)試源程序的基本操作,如單步、復位、全速運行等。在工具欄下面,默認有三個窗口。左邊的工程窗口包含一個工程的目標(target)、組(group)和項目文件。右邊為源文件編輯窗口,編輯窗口實質(zhì)上就是一個文件編輯器,我們可以在這里對源文件進行編輯、修改、粘貼等。下邊的為輸出窗口,源文件編譯之后的結(jié)果顯示在輸出窗口中,會出現(xiàn)通過或錯誤(包括錯誤類型及行號)的提示。S mTime 00:00:00累計行駛里程行駛計時V km\hVm \h當前速度最大速度Va km\ha \s2平均速度加速度Time Now00:00:00當前時間查詢Low voltage低電壓normal voltage正常電壓highl voltage高電壓在硬件設(shè)計完畢之后,接下來就是設(shè)計中最核心和最為主要的軟件部分設(shè)計。所謂軟件設(shè)計就是把軟件需求變換成軟件的具體設(shè)計方案(即模塊結(jié)構(gòu))的過程。模塊化結(jié)構(gòu)設(shè)計即是根據(jù)要求和硬件設(shè)計的結(jié)構(gòu),將整個系統(tǒng)的功能分成許多小的功能模塊,再根據(jù)這些小的功能模塊進行程序編寫的過程。這樣的設(shè)計方法,使得系統(tǒng)的整個功能和各部分的功能趨于明朗化。當系統(tǒng)出現(xiàn)問題,就可以根據(jù)功能設(shè)置找出問題的根源,從而更快地解決問題。所以說,在整個設(shè)計過程中,軟件設(shè)計必須與硬件設(shè)計緊密地結(jié)合在一起。 基于霍爾傳感器自行車的速度里程表的軟件設(shè)計包括上電初始化程序、中斷子程序、速度調(diào)用子程序、里程調(diào)用子程序、LCD顯示子程序、延時子程序等幾大部分。由于要實現(xiàn)很多功能,所以采用模塊化設(shè)計。主程序,初始化LCD,顯示歡迎信息,更改時鐘、直徑設(shè)置,開中斷、計時器等void main() { P0=0x00。 init_LCD()。 dispmore(1,1,Digital Meter,16)。 for(i=0。i25000。i++)。 dispmore(2,1, Wele ,16)。 for(i=0。i25000。i++)。 dispmore(2,1, Wele. ,16)。 for(i=0。i25000。i++)。 dispmore(2,1, Wele.. ,16)。 for(i=0。i25000。i++)。 dispmore(2,1, Wele... ,16)。 for(i=0。i25000。i++)。 dispmore(2,1, Wele.... ,16)。 for(i=0。i25000。i++)。 dispmore(2,1, Wele..... ,16)。 for(i=0。i30000。i++)。 wr(0x01)。 MODE=0。 // 模式菜單第一頁 qs=0。 //圈數(shù)置0 P2=0xff。 cgw=csw=cbw=cqw=cww=csww=cww2=0。 wr(0x01)。 dispmore(1,5,Set Time,8)。 //設(shè)置時鐘 clkp()。 while(1) { if(P23==0){for(i=0。i4000。i+
點擊復制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1