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

正文內(nèi)容

基于單片機(jī)出租車多功能計(jì)價(jià)器設(shè)計(jì)(編輯修改稿)

2025-07-24 19:23 本頁面
 

【文章內(nèi)容簡介】 燈。如圖214所示等待黑夜查詢空車圖214指示燈電路圖這些指示燈能對(duì)計(jì)程車的每一種狀態(tài)進(jìn)行指示,空車時(shí)空車指示燈亮,查詢時(shí)查詢指示燈亮,當(dāng)車速小于5km/h時(shí)等待指示燈亮。如果選擇的模式為黑夜時(shí)黑夜指示燈亮,白天時(shí)不亮。數(shù)碼管顯示電路由8個(gè)LED數(shù)碼管組成, LED數(shù)碼管是由發(fā)光二極管排列組成的顯示器件。它采用低電壓掃描驅(qū)動(dòng),具有耗電少、使用壽命長、成本低、故障少、視角大、可視距離遠(yuǎn)等特點(diǎn)。此外,它的響應(yīng)時(shí)間短(),亮度也比較高。它的缺點(diǎn)是工作電流比較大,每一段的工作電流在10mA左右。其中每位數(shù)碼管內(nèi)部由8個(gè)LED組成,其中A—G代表7個(gè)發(fā)光二極管構(gòu)成7筆字形,余下一個(gè)DP構(gòu)成小數(shù)點(diǎn),稱為8段LED。8段LED數(shù)碼管可以顯示0~9等10個(gè)數(shù)字和小數(shù)點(diǎn),使用非常廣泛。如圖215所示。圖215段數(shù)碼管圖這類數(shù)碼管可以分為共陽極和共陰極兩種,本設(shè)計(jì)采用共陰極數(shù)碼管共陰極則是把所有LED的陰極連接到共同接點(diǎn),而每個(gè)LED的陽極分別為a、b、c、d、e、f、g、dp。共陽極則相反。如圖216(a)、(b)所示。圖216(a)8段共陽數(shù)碼管 (b)8段共陰數(shù)碼管通過控制這個(gè)公共端,可使該位對(duì)應(yīng)的LED亮或暗。當(dāng)共陰極端接地或共陽極接高電平,該位顯示器有效,反之無效。本設(shè)計(jì)采用共陰LED數(shù)碼管。其段選碼如表24所示:表24共陰數(shù)碼管的段選碼03FH106H25BH34FH466H56DH67DH707H87BH96FH數(shù)碼管有靜態(tài)顯示和動(dòng)態(tài)顯示兩種顯示方式,本設(shè)計(jì)采用動(dòng)態(tài)顯示。靜態(tài)顯示的特點(diǎn):數(shù)據(jù)穩(wěn)定,占用CPU時(shí)間少,每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的硬件較多;動(dòng)態(tài)顯示的特點(diǎn):有閃爍感,占用的CPU時(shí)間多,使用的硬件少,能節(jié)省線路板空間,更重要的是能節(jié)省成本。相比較而言,采用動(dòng)態(tài)顯示方式,比較節(jié)省I/O口,硬件電路也較靜態(tài)顯示簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多是,CPU要依次掃描,占用CPU較多時(shí)間。本設(shè)計(jì)中使用的8個(gè)LED數(shù)碼管接P0口作為段選,接P2口作為位選??哲嚂r(shí)顯示當(dāng)前時(shí)間,開始計(jì)價(jià)時(shí)前四位顯示里程,后四位顯示金額。當(dāng)查詢等待時(shí)間時(shí)顯示為等待時(shí)間。如圖217所示。圖217數(shù)碼管顯示電路圖由于數(shù)碼管內(nèi)部二極管點(diǎn)亮?xí)r需要10mA以上的電流,而單片機(jī)的輸出電流還不到1mA,所以數(shù)碼管與單片機(jī)連接時(shí)需加驅(qū)動(dòng)電路,可以使用上拉電阻的方法,也可以使用專門的驅(qū)動(dòng)芯片,考慮到復(fù)用單片機(jī)I/O接口,節(jié)省單片機(jī)I/O資源,此次設(shè)計(jì)采用74HC573鎖存器驅(qū)動(dòng)LED數(shù)碼管段選端,其輸出電流較大,電路接口簡單且可直接驅(qū)動(dòng)數(shù)碼管顯示。用三極管驅(qū)動(dòng)LED數(shù)碼管的位選端。因而本次數(shù)碼管顯示部分用到三極管驅(qū)動(dòng)電路、8位數(shù)據(jù)鎖存器74HC573鎖存電路、8位LED數(shù)碼管顯示,74HC573用于連接51單片機(jī)和LED數(shù)碼管,~~g和dp,對(duì)應(yīng)A段點(diǎn)亮,以次類推。74HC573的管腳圖如圖218所示:圖218 74HC573管腳圖OE:為三態(tài)允許輸入端(低電平有效),也可稱作輸出允許端;1D8D為數(shù)據(jù)輸入端;1Q8Q為數(shù)據(jù)輸出端;LE為鎖存允許端。本次設(shè)計(jì)中LE接高電平,OE接低電平。74HC573的真值表如表25所示,其中H表示高電平,L低電平,Qo數(shù)據(jù)保持不變,Z高阻態(tài)。 表25 74HC573真值表DnLEOEQnHHLHLHLLXLLQoXXHZ DS1302時(shí)鐘電路設(shè)計(jì)計(jì)價(jià)器在出租車空車行駛時(shí)需要顯示實(shí)時(shí)時(shí)鐘,因?yàn)樗臅r(shí)鐘作為白天/晚上單價(jià)自動(dòng)轉(zhuǎn)換的一個(gè)基準(zhǔn),且計(jì)價(jià)器的時(shí)鐘顯示能為司機(jī)和乘客提供方便。DS1302是美國DALLAS公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,采用SPI三線接口與CPU進(jìn)行同步通信;始終可提供秒、分、時(shí);通過設(shè)置DS1302的控制/狀態(tài)寄存器選擇日歷,時(shí)鐘方式經(jīng)過初始校準(zhǔn)后即可工作使用;~ V,采用雙電源供電(主電源和備用電源),并設(shè)置備用電源充電方式,提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力,在沒有主電源的情況下啟用備用電源能保存時(shí)間信息及數(shù)據(jù)[14]。DS1302的管腳圖如圖219所示:圖219DS1302管腳圖表26 DS1302管腳說明管腳名稱管腳功能VCC1后備電源VCC2主電源XX2振蕩源RST復(fù)位/片選線I/O串行數(shù)據(jù)輸入輸出端SCLK輸入端GND外接電源地DS1302由VCC1或VCC2兩者中的較大者供電;當(dāng)VCC2大于VCC1+,VCC2給DS1302供電;當(dāng)VCC2小于VCC1時(shí),DS1302由VCC1供電。X1和X2是振蕩源。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能。首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí)在Vcc≥,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK始終是輸入端。本設(shè)計(jì)連接圖如圖220所示,其中CI和C2起微調(diào)晶振的作用[14]。圖220 DS1302電路圖第三章 系統(tǒng)的軟件設(shè)計(jì)本系統(tǒng)的軟件設(shè)計(jì)主要可分為主程序模塊、定時(shí)計(jì)數(shù)中斷程序、里程計(jì)數(shù)中斷服務(wù)程序、中途等待中斷服務(wù)程序、顯示子程序服務(wù)程序、鍵盤服務(wù)程序六大模塊。下面對(duì)各部分模塊作介紹。 系統(tǒng)主程序設(shè)計(jì)本設(shè)計(jì)中采用了主程序調(diào)用各個(gè)子程序的方法。在main函數(shù)編寫開始,要進(jìn)行初始化,包括對(duì)系統(tǒng)初始化和對(duì)硬件設(shè)備進(jìn)行初始化,并使硬件處于就緒狀態(tài)。在主程序模塊中,需要完成對(duì)各接口芯片的初始化、出租車起價(jià)和單價(jià)的初始化中斷向量的設(shè)計(jì)以及開中斷、循環(huán)等待等工作。主程序流程圖如圖31所示:圖31 主函數(shù)流程圖void main(){ uchar i=0。 KongChe_Led=0。 init_device()。 SDA = 1。 SCL = 1。 while(1) { data_process()。 keyscan()。 } } 定時(shí)中斷服務(wù)程序在定時(shí)中斷服務(wù)程序中,每 10ms 產(chǎn)生一次中斷,當(dāng)產(chǎn)生 100次中斷的時(shí)候,也就到了一秒,送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r(shí)顯示。 當(dāng)選擇定時(shí)/計(jì)數(shù)器作為定時(shí)器工作時(shí),計(jì)數(shù)器的加1,信號(hào)由振蕩器(晶振)的12分頻產(chǎn)生,即每經(jīng)過1個(gè)機(jī)器周期,計(jì)數(shù)器增1,直至計(jì)數(shù)溢出為止。顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。 本設(shè)計(jì)的晶振頻率為12MHZ。由于晶振的頻率為12MHz,則計(jì)數(shù)周期為: T=1/(12000000Hz)*12=1us ,本設(shè)計(jì)選用定時(shí)器0,TMOD=0X11, 選用模式1,故T0、T1為16位計(jì)數(shù)器,計(jì)數(shù)最大值為65536 。要定時(shí) 10 ms,需要計(jì)數(shù)10000個(gè)1us(計(jì)數(shù)周期)計(jì)數(shù)初值=最大值計(jì)數(shù)周期數(shù)=6553610000=5553655536轉(zhuǎn)換為十六進(jìn)制即為D8F0,計(jì)數(shù)器從D8F0開始計(jì)數(shù),計(jì)數(shù)到65536溢出,產(chǎn)生定時(shí)中斷。定時(shí)中斷服務(wù)程序流程圖如圖32所示:開始保護(hù)現(xiàn)場重置計(jì)數(shù)初值否中斷100次是數(shù)據(jù)送顯示子程序調(diào)用子程序恢復(fù)現(xiàn)場中斷返回圖32 定時(shí)中斷服務(wù)程序流程圖 里程計(jì)數(shù)中斷服務(wù)程序每當(dāng)霍爾傳感器輸出一個(gè)低電平信號(hào)就使單片機(jī)中斷一次,當(dāng)里程計(jì)數(shù)器對(duì)里程脈沖計(jì)滿1000 次時(shí),使微機(jī)進(jìn)入里程計(jì)數(shù)中斷服務(wù)程序中。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。,要使用外部中斷,必須對(duì)中斷允許控制寄存器IE和定時(shí)器/計(jì)數(shù)器控制寄存器TCON進(jìn)行如下設(shè)計(jì):void int0_init(){ EX0=1。 //外中斷0 允許 IT0=1。 //外中斷0 觸發(fā)方式設(shè)為 下降沿觸發(fā)}每當(dāng)車輪轉(zhuǎn)動(dòng)一圈,車輪的磁鐵與霍爾傳感器感相遇時(shí),霍爾傳感器就會(huì)產(chǎn)生一個(gè)下降沿的脈沖信號(hào)。,外部中斷請(qǐng)求源INT0,單片機(jī)就會(huì)產(chǎn)生一次中斷。根據(jù)源代碼:void int0() interrupt 0 using 1 INT0——霍爾脈沖計(jì)數(shù){ EA=0。Count++。 EA=1。 if(count=1000){count=0。}}Count為車輪轉(zhuǎn)動(dòng)圈數(shù),總路程等于圈數(shù)乘以車輪周長,把總路程的數(shù)據(jù)送到里程相識(shí)單元顯示。再按照里程收費(fèi)標(biāo)準(zhǔn),將價(jià)格數(shù)據(jù)送到計(jì)費(fèi)顯示單元。里程技術(shù)中斷服務(wù)程序流程圖如圖33所示:開始初始化中斷請(qǐng)求?開外中斷Count++Count=0NY計(jì)Count=10000?NY圖33 里程計(jì)數(shù)中斷服務(wù)程序流程圖 中途等待程序60s到了嗎?加1處理1s到了嗎?定時(shí)器T0啟動(dòng)當(dāng)出租車的速度5km/h時(shí),等待時(shí)間開始計(jì)時(shí),出租車進(jìn)入中途等待模式時(shí),片內(nèi)的T0定時(shí)啟動(dòng),中途等待程序流程圖如34所示:開始否是否是分鐘數(shù)加1數(shù)據(jù)送顯示子程序返回圖34 中途等待程序流程圖void timer0() interrupt 1 using 2 T0等待時(shí)間計(jì)算{ TH0=0XD8。 TL0=0XF0。 Count1++。 if(Count1==100) 脈沖記滿100 { Count1=0。 脈沖清零 Second++。 加一秒 if(Second==60) 有60S? { Second=0。 秒清零 Minute++。 分加一 } }} 鍵盤掃描子程序鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。鍵盤掃描子程序流程圖如圖35所示:功能鍵。按下時(shí)進(jìn)入白天黑夜選擇模式,再按回到實(shí)時(shí)時(shí)間顯示狀態(tài)。切換鍵。按功能鍵進(jìn)入白天黑夜選擇模式后再按此鍵可進(jìn)行白天和黑夜之間切換。停止鍵。運(yùn)行狀態(tài)按下此鍵即停止計(jì)程計(jì)費(fèi)。清除鍵。按下時(shí)清除里程和金額等數(shù)據(jù)信息,并將此次信息送入存儲(chǔ)電路儲(chǔ)存。查詢、確認(rèn)鍵。功能選擇模式時(shí)按下此鍵確認(rèn)選擇,運(yùn)行時(shí)按下此鍵可查詢等待時(shí)間,再次按下回到顯示里程數(shù)、金額狀態(tài)。圖35 鍵盤掃描子程序流程圖計(jì)算程序根據(jù)里程數(shù)分別進(jìn)入不同的計(jì)算公式。如果里程大于3公里,則執(zhí)行公式:總金額=起步價(jià)+(里程3)*單價(jià)+等待時(shí)間*等待單價(jià);否則,執(zhí)行公式:總金額=起步價(jià)+等待時(shí)間*等待單價(jià);如果進(jìn)入中途等待模式,每等待五分鐘相當(dāng)于加1公里,因?yàn)檩嗛L設(shè)為1m,采集脈沖數(shù)為n,總里程=n*1/1000+等待分鐘/5。計(jì)算程序流程圖如圖36所示:里程3?總金額=起步價(jià)總金額+=(里程3)*單價(jià)調(diào)用計(jì)算程序總金額+=等待時(shí)間*等待單價(jià)返回總金額=起步價(jià)總金額+=等待時(shí)間*等待單價(jià)圖36計(jì)算程序流程圖void data_process(){ LiCheng=(uint)(Count*LunChang)/100+Minute*10/5。 if(LiCheng=30) { JinEr=80。 } else { JinEr=80+(DanJia*(LiCheng30))/10。 }}結(jié)束語本次設(shè)計(jì)中,遇到了許多問題,有許多以前沒有接觸過的芯片,霍爾傳感器A44E、DS130AT24C02以及8位鎖存器74HC573,對(duì)于他們的管腳和用法還不熟悉,因此查閱了許多相關(guān)資料,在了解了各個(gè)部件的功能的基礎(chǔ)上加以設(shè)計(jì),最終完成了出租車計(jì)價(jià)器的設(shè)計(jì)。本次設(shè)計(jì)核心器件是AT89C51,采用軟硬件相結(jié)合的原理,利用AT89C51的豐富的I/O口,控制靈活的特點(diǎn),軟件設(shè)計(jì)部分用C語言編程實(shí)現(xiàn),硬件部分把各個(gè)模塊分別與單片機(jī)的I/O口相連接。在設(shè)計(jì)硬件電路的時(shí)候,發(fā)現(xiàn)單片機(jī)的驅(qū)動(dòng)電流太小,不足以驅(qū)動(dòng)數(shù)碼管里面的二極管顯示,于是采用了三極管驅(qū)動(dòng)電路和8位74HC573數(shù)據(jù)鎖存器驅(qū)動(dòng),在設(shè)計(jì)鍵盤電路的時(shí)候,發(fā)現(xiàn)鍵盤在按下和釋放的時(shí)候容易出現(xiàn)抖動(dòng),查閱資料是說可以通過C語言編程去抖,于是在鍵盤程序部分加入延時(shí),起到了去抖的效果。在指示燈電路設(shè)計(jì)的時(shí)候,加入了空車指示燈,使乘客能夠一目了然的知道出租車的運(yùn)行情況,為乘客和司機(jī)提供了便利。在利用PROTUES仿真的時(shí)候因?yàn)榘褦?shù)碼管選成了共陽(CA)的數(shù)碼管,顯示時(shí)候出現(xiàn)亂碼。后來替換元器件改成共陰數(shù)碼管(CC),不再出現(xiàn)亂碼,但是A段卻不顯示,排查原因后發(fā)現(xiàn)是A段的網(wǎng)絡(luò)標(biāo)簽沒弄好。重新標(biāo)識(shí)之后,數(shù)碼管能夠正常顯示示數(shù),切換不同的按鍵,能模擬不同的工作模式。原先設(shè)想再加入語音播報(bào)模塊和打印機(jī)模塊,使出租車計(jì)價(jià)器更具有多功能的特性,但由于本人的能力有限,最終沒能有效的使他們銜接在一起,只好舍棄之前的想法,在今后的生活中還要繼續(xù)學(xué)習(xí),完善自己的知識(shí)面,不斷給自己充電。致謝通過不斷努力
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1