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

正文內(nèi)容

基于單片機(jī)的出租車計(jì)費(fèi)器的設(shè)計(jì)與研究(參考版)

2024-11-20 19:49本頁(yè)面
  

【正文】 。 //將百位數(shù)字的字符常量寫入 LCD } } 致 謝 本 設(shè)計(jì) 雖然凝聚著自己的汗水,但卻不只個(gè)人智慧的產(chǎn)品,沒(méi)有老師、同學(xué)、朋友的幫助和支持, 本次設(shè)計(jì)也不會(huì)順利完成 。 // 從第 2 行第 6 列開(kāi)始顯示 WriteData(digit[D11])。 //計(jì)算個(gè)位數(shù)字 D11=a9/10。i4。 //將小數(shù)點(diǎn)的字符常量寫入 LCD WriteData(digit[D7])。.39。 //將百位數(shù)字的字符常量寫入 LCD WriteData(digit[D8])。 //計(jì)算百位數(shù)字 29 WriteAddress(0x44)。 //計(jì)算個(gè)位數(shù)字 D8=(b8%100)/10。 //將千位數(shù)字的字符常量寫入 LCD WriteData(digit[D5])。 //計(jì)算十位數(shù)字 WriteAddress(0x0d)。 //將個(gè)位數(shù)字的字符常量寫入 LCD D5=h%10。)。 //將十位數(shù)字的字符常量寫入 LCD WriteData(39。 //將千位數(shù)字的字符常量寫入 LCD WriteData(digit[D3])。 //計(jì)算千位數(shù)字 WriteAddress(0x04)。 //計(jì)算十位數(shù)字 D3=(a7%1000)/100。} D1=a7%10。 if(SW2==1) { h=b1/10。} if(SW4==1) TR0=0。b6=0。a5=0。b4=0。a0=0。 } if(SW3==0) {TH0=0。 a7=b5+a4*(a6a5)。(SW1==1)) {b3=a020。} if((SW2==0)amp。(SW1==1) ) //晚上 28 {a7=a2。} if((SW2==0)amp。a7=b4+a3*(a5a6)。(SW2==1)) {b3=a020。} if((SW1==1)amp。(SW2==1)) //白天 {a7=a1。 } if((a0=20)amp。(SW8==0)) //設(shè)置晚上起步價(jià) {a4=a41。 } if((SW7==0)amp。(SW8==0)) //設(shè)置晚上起步價(jià) {a4=a4+1。 } if((SW6==0)amp。(SW8==0)) //設(shè)置白天起步價(jià) {a3=a31。 } if((SW7==0)amp。(SW8==0)) //設(shè)置白天起步價(jià) {a3=a3+1。 } if((SW6==0)amp。 a2=b2。(SW5==0)amp。 while(SW6==0)。(SW8==1)) //設(shè)置晚上起步價(jià) { b2=b2+10。 } if((SW6==0)amp。 //a8=b1。(SW8==1)) //設(shè)置白天起步價(jià) {b1=b110。 } if((SW7==0)amp。 a1=b1。(SW5==1)amp。) { while(1) { a0=(TH08)+TL0。 //指向字符數(shù)組的第 1 個(gè)元素 while(string3[i] != 39。 //指向下字符數(shù)組一個(gè)元素 } WriteAddress(0x4a)。) { WriteData(string1[i])。 //指向字符數(shù)組的第 1 個(gè)元素 while(string1[i] != 39。 //指向下字符數(shù)組一個(gè)元素 } WriteAddress(0x40)。) { WriteData(string2[i])。 //指向字符數(shù)組的第 1 個(gè)元素 while(string2[i] != 39。 //指向下字符數(shù)組一個(gè)元素 26 } WriteAddress(0x0a)。) { WriteData(string[i])。 //指向字符數(shù)組的第 1 個(gè)元素 while(string[i] != 39。 //延時(shí) 10ms,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteAddress(0x00)。 LcdInitiate()。 //計(jì)數(shù)器 T0 高 8 位賦初值 TL0=0。 //不使用定時(shí)器 T0 的中斷 TR0=1。//加價(jià) EA=0。 sbit SW5=P2^1。//SW3 復(fù)位 sbit SW4=P1^3。//SW1, SW2 控制白天黑夜 sbit SW2=P1^1。 //使能 信號(hào)位,將 E 位定義為 引腳 sbit BF=P0^7。 //寄存器選擇位,將 RS 位定義為 引腳 sbit RW=P2^6??梢允钩鲎廛囉?jì)費(fèi)器具有清零、等待、設(shè)置單價(jià)、設(shè)置起步價(jià)、根據(jù)時(shí)間的不同采用 不同收費(fèi)標(biāo)準(zhǔn)的功能,可以顯示總金額、單價(jià)、起步價(jià)、行走路程等信息,是一款實(shí)用型的出租車計(jì)費(fèi)器。 黑夜 轉(zhuǎn)白天 的計(jì)費(fèi)結(jié)果如表 7 所示 。 白天轉(zhuǎn)黑夜的計(jì)費(fèi)結(jié)果如 表 5 所示 。計(jì)費(fèi)結(jié)果精確到 元。當(dāng)路程大于 2km 時(shí),路程每增加 ,計(jì)費(fèi)結(jié)果刷新一次。 在調(diào)試時(shí)設(shè)白天起步價(jià)為 10 元,晚上起步價(jià)為 11 元,白天單價(jià)為 3 元,晚上單價(jià)為 4 元,為 19 了方便測(cè)試設(shè)定當(dāng)路程小于 2km 時(shí)車輪每轉(zhuǎn)一圈,路程就增加 ,直至增加到 2km,之后車輪每轉(zhuǎn) 10 圈路程增加 。給電 路提供 5V的工作電壓,使電路正常工作并且工作誤差較小的情況下進(jìn)行測(cè)試。即該電路為在實(shí)際運(yùn)行的效果比較好。不過(guò)由于差異較小,即本設(shè)計(jì)的精度較高,認(rèn)為是理論值。 如果在系統(tǒng)調(diào)試時(shí)出現(xiàn)問(wèn)題,就要調(diào)節(jié)電路元件的各種參數(shù),使電路工作正常。 由于元器件參數(shù)的分散性和 焊接 工藝分布參數(shù)的影響, 焊接 完成 后 或經(jīng)過(guò)修理的電路或電子設(shè)備。 在 proteus 軟件上進(jìn)行調(diào)試的程序如圖 18 所示。這樣就非常有利于語(yǔ)法錯(cuò)誤的改正。 此過(guò)程中調(diào)試的主要目的是發(fā)現(xiàn)在編寫程序過(guò)程中出現(xiàn)的語(yǔ)法錯(cuò)誤,然后認(rèn) 真檢查出現(xiàn)語(yǔ)法錯(cuò)誤的原因并改正錯(cuò)誤。系統(tǒng)調(diào)試主要目的是發(fā)現(xiàn)電路在實(shí)際運(yùn)行過(guò)程中存在的問(wèn)題,并在硬件和軟件上對(duì)電路進(jìn)行優(yōu)化,使系統(tǒng)功能更加強(qiáng)大,更加穩(wěn)定。軟件調(diào)試的目的是發(fā)現(xiàn)程序中存在的問(wèn)題,并改寫程序,對(duì)程序進(jìn)行優(yōu)化。 在系統(tǒng)調(diào)試時(shí)首先進(jìn)行的是硬件調(diào)試,在硬件調(diào)試過(guò)程中主要是發(fā)現(xiàn)硬件電路的問(wèn)題并改正。 圖 17 系統(tǒng)調(diào)試流程圖 開(kāi)始調(diào)試 硬件調(diào)試 軟件調(diào)試 系統(tǒng)調(diào)試 調(diào)試結(jié)束 18 硬件調(diào)試的任務(wù)是排除所焊接電路故障。 5 系統(tǒng)調(diào)試 與仿真 系統(tǒng)調(diào)試包括軟件調(diào)試和硬件調(diào)試。 這些對(duì)應(yīng)于硬件就是通過(guò)按下各個(gè)控制開(kāi)關(guān),來(lái)分別進(jìn)行不同的動(dòng)作,最后根據(jù) 按鍵的信息 LCD 液晶屏 顯示不同的數(shù)據(jù)。 通過(guò)判斷是否有按鍵按下,按下哪個(gè)按鍵來(lái)判斷出租車處于哪種工作模式,然后確定起步價(jià) 、 單價(jià),然后經(jīng)過(guò)各種運(yùn)算,計(jì)算出總金額。本次 設(shè)計(jì)中,軟件設(shè)計(jì)主要采用模塊化操作,且各個(gè)模塊之間是相互聯(lián)系的,采用主程序調(diào)用子程序的方法,因此程序更加通俗易懂,結(jié)構(gòu)明確。設(shè)圈數(shù)為 a0,公里數(shù)為 h。路程顯每增加 ,路程就刷新一次,計(jì)費(fèi)結(jié)果也刷新一次,即 100 米。為了方便測(cè)試,設(shè)置開(kāi)始前 2km 時(shí)每轉(zhuǎn)一圈為 100m,此時(shí)總金額顯示為起步價(jià)。當(dāng)磁鐵靠近霍爾傳感器時(shí),霍爾傳感器就輸出低電平,當(dāng)磁鐵遠(yuǎn)離霍爾傳感器時(shí),霍爾傳感器輸出高電平,因此當(dāng)輪子轉(zhuǎn)動(dòng)時(shí)霍爾傳感器輸出一系列的方波信號(hào)。 ( 1 表示按鍵不閉合, 0 表示按鍵閉合。 當(dāng) 按鍵 按鍵2 都為 1 時(shí),進(jìn)入白天計(jì)費(fèi)模式,當(dāng)按鍵 1 為 1,按鍵 2 為 0 時(shí),進(jìn)入白天轉(zhuǎn)晚上的計(jì)費(fèi)模式,當(dāng)按鍵 1 為 1,按鍵 2 為 0 時(shí),進(jìn)入晚上計(jì)費(fèi)模式,當(dāng)按鍵 按鍵 2 都為 0 時(shí),進(jìn)入晚上轉(zhuǎn)白天的計(jì)費(fèi)模式。( 1 表示按鍵不閉合, 0 表示按鍵閉合。當(dāng)按鍵 7 為 1 時(shí),單價(jià)不變,當(dāng)按鍵 7 為 0 時(shí),單價(jià)加 1,當(dāng)按鍵 8 為 1 時(shí),單價(jià)不變,當(dāng)按鍵 8 為 0 時(shí),單價(jià)減 1。當(dāng)按鍵 5 為 1 時(shí)進(jìn)入單價(jià)設(shè)置,當(dāng)按鍵 5 為 0 時(shí)退出單價(jià)設(shè)置。( 1 表示按鍵不閉合, 0 表示按鍵閉合。當(dāng)按鍵 7 為 1 時(shí),起步價(jià)不變,當(dāng)按鍵 7為 0 時(shí),起步價(jià)加 1,當(dāng)按鍵 8 為 1 時(shí),起步價(jià)不變,當(dāng)按鍵 8 為 0 時(shí),起步價(jià)減 1。當(dāng)按鍵 5 為 1時(shí)退出起步價(jià)設(shè)置,當(dāng)按鍵 5 為 0 時(shí)進(jìn)入起步價(jià)設(shè)置。( 1 表示按鍵不閉合,0 表示按鍵閉合。當(dāng)按鍵 4 為 1 時(shí),不實(shí)現(xiàn)等待功能,當(dāng)按鍵 4 為 0 時(shí),實(shí)現(xiàn)等待功能。( 1 表示按鍵不閉合, 0 表示按鍵閉合。當(dāng)按鍵 3 為 1 時(shí),不進(jìn)行清零,當(dāng)按鍵 3 為 0 時(shí),進(jìn)行清零。 程序 設(shè)計(jì)及 流 程圖 本系統(tǒng)程序主要由主程序、 LCD 初始化與顯示程序 、路程計(jì)算程 序等組成。如果用較多按鍵(每個(gè)按鍵只有一個(gè)功能且單獨(dú)使用)這樣操作雖然簡(jiǎn)單,但是會(huì)造成浪費(fèi),成本的增加。用按鍵可以輕松地實(shí)現(xiàn)轉(zhuǎn)換功能,但是不同按鍵的組合,可以用更加少的按鍵實(shí)現(xiàn)相同的功能。 最后, 是按鍵功能和按 鍵個(gè)數(shù)問(wèn)題。首行顯示的內(nèi)容為總金額和單價(jià),第二行顯示的內(nèi)容為行走路程和起步價(jià)。然后再確定顯示內(nèi)容。因此運(yùn)用霍爾開(kāi)關(guān)就可以非常簡(jiǎn)單地算出行走路程。將霍爾開(kāi)關(guān)的輸出端接到單片機(jī)的 ,用 T0 來(lái)計(jì)算外部脈沖數(shù)。將磁鐵粘貼在車輪上,并固定霍爾開(kāi)關(guān)的位置。 首先需要考慮如何進(jìn)行路程計(jì)算的問(wèn)題。 表 3 C 語(yǔ)言的優(yōu)點(diǎn) 編號(hào) 優(yōu)點(diǎn) 1 不要求了解單片機(jī)的指令系統(tǒng),僅要求對(duì) 8052 的存儲(chǔ)結(jié)構(gòu)有初步了解 2 寄存器分配,不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理 3 程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化 4 具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性 5 關(guān)鍵字及運(yùn)算符可用近似人的思維方式使用 6 編程及程序調(diào)試時(shí)間顯著縮短,從而提高效率 7 提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能 力 8 已編好的程序可容易地植入新程序,因?yàn)樗哂蟹奖愕哪K化編程技術(shù) 軟件設(shè)計(jì) 本次設(shè)計(jì)的 基于單片機(jī)的出租車計(jì)費(fèi)器要實(shí)現(xiàn)起步價(jià)、單價(jià)可以隨意設(shè)置,白天黑夜計(jì)費(fèi)方式不同,顯示路程,起步價(jià),單價(jià),總金額等功能。 因此本設(shè)計(jì)采用 C 語(yǔ)言編程 ,使編程更加簡(jiǎn)單,程序結(jié)構(gòu)更清晰。它具有高效、靈活、功能豐富、表達(dá)力強(qiáng)和較高的移植性等特點(diǎn),在程序員中備受青睞。 C 語(yǔ)言可以用許多機(jī)器級(jí)函數(shù)直接控制操作 8051 硬件。 并且 使用匯編語(yǔ)言相對(duì)于使用高級(jí)語(yǔ)言編程難度要大一些,且程序可讀性低,開(kāi)放性差,從系統(tǒng)開(kāi)發(fā)時(shí)間來(lái)看,效率不是很高。但是缺乏通用性,程序不易移植。匯編語(yǔ)言能編寫出最優(yōu)化的程序,且能反映計(jì)算機(jī)的實(shí)際運(yùn)行情況。 由于匯編語(yǔ)言的 助記符指令和機(jī)器指令一一對(duì)應(yīng)?;魻杺鞲?器 測(cè)距示意圖如圖 8 所示(劉堯等, 2020),霍爾傳感器 的電路如圖 9 所 示。 設(shè) 車輪每轉(zhuǎn) 10 圈 時(shí)行走路程 為 ,霍爾開(kāi)關(guān)就檢測(cè)并輸出信號(hào),單片機(jī) T0 計(jì)霍爾 VCC GND OUT VO 5v 0 工作點(diǎn) VCC OUT
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1