出租車計價器系統(tǒng)設計方案_第1頁
出租車計價器系統(tǒng)設計方案_第2頁
出租車計價器系統(tǒng)設計方案_第3頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、出租車計價器系統(tǒng)設計方案第一章 出租車計價器系統(tǒng)功能描述1.1 計價器整體功能描述結構 設計出租車計價器方案并進行仿真,完成白天晚上轉換計價,顯示路程、單 價、總金額。1.2 各部分電路功能描述1 不同情況具有不同的收費標準。a) 白天b) 晚上2 具有數(shù)據的復位功能3 IO 口分配的簡易要求a) 距離檢測使用霍爾開關 A44Eb) 白天/ 晚上收費標準的轉換開關c) 數(shù)據清零開關4 數(shù)據輸出5 按鍵a) 啟動計時開關b) 數(shù)據復位(清零)c) 白天 / 晚上轉換第二章 方案論證本系統(tǒng)可分 4 個模塊構成:主控電路、掉電保護模塊、信號采集模塊和顯示模塊。2.1 主控電路選擇方案一 使用數(shù)字電路

2、和模擬電路來完成設計要求。顯示器件有:LED顯示,VFD顯示,分段式數(shù)碼管等等,針對顯示單元電路這里可以使用分段式數(shù)碼管顯示, 分段式數(shù)碼管分為共陽極和共陰極兩種,對數(shù)碼管的驅動針對不同的類型采用不 同的芯片,共陰極數(shù)碼管通常采用TTL系列的74LS48驅動,而共陽極數(shù)碼管通常 采用CMO系列的CD4543來驅動;僅時鐘顯示電路框圖和實際電路就非常復雜, 整體電路將更加煩瑣。而且對于模式的切換需要用到機械開關,機械開關時間久 了會造成接觸不良,功能不易實現(xiàn);整體電路的規(guī)模較大,用到的器件多,造成 故障率高,難調試。方案二 使用單片機來完成設計要求。單片機功能強大,用較少的硬件和適 當?shù)能浖嗷?/p>

3、配合可以很容易的實現(xiàn)設計要求,且靈活性強,可以通過軟件編程 來完成更多的附加功能。 針對計費模式的切換, 通過軟件編程就可以容易的實現(xiàn)。 避免了機械開關帶來的不穩(wěn)定因素。確定方案 經過上面的兩種方案的比較, 顯然第二種方案具有更大的優(yōu)越性、 靈活性,所以我們采用第二種設計方案進行設計。2.2 顯示電路選擇方案一:采用液晶顯示器(LCD顯示。液晶屏顯示功能強大,可顯示各種 字體的數(shù)字、漢字、圖像,還可以自定義顯示內容,顯示內容較豐富;方便操作 者讀取信息及一些擴展功能的實現(xiàn)。占用系統(tǒng) IO 口較少,有效地節(jié)約系統(tǒng)資源, 使整個系統(tǒng)更加人性化。方案二:采用LED數(shù)碼管顯示。數(shù)碼管具有編程簡單,夜間

4、顯示效果好,但 只能顯示有限的符號和數(shù)碼字,而且顯示內容有限。能完成題目中的基本要求, 如果還要增加具體功能的提示,則比較難實現(xiàn)。確定方案 經過上面的兩種方案的比較,第一種方案具有更大的優(yōu)越性、靈 活性,所以我們采用第一種設計方案進行設計第三章計價器系統(tǒng)電路功能單元設計本系統(tǒng)的功能實現(xiàn)具體可分一下幾個單元實現(xiàn),總體電路圖參見附錄13.1電源模塊設計由于出租車提供的電源是12V的直流電源,所以我們要設計一個DC-DC專換 模塊給系統(tǒng)電路提供一個5V電源,開關電源控制芯片采用 MC34063 MC34063是 一單片雙極型線性集成電路,專用于直流-直流變換器控制部分。它能使用最少的 外接元件構成開

5、關式升壓變換器、降壓式變換器和電源反向器,輸出電壓V0=1.25 (1 + RB/RA),RB RA為反饋電阻。本電路中外接打印機驅動電流為3A所以要對MC34063進行擴流,除外接元器件外再加上 BU508A-NP型大功率三極管構成降壓 式變換器輸出5V-3A,為防止電源反接在輸入端添加一個保護二極管。電路如圖 3-1所示。里程計算是通過安裝在車輪上的霍爾傳感器 A44E檢測到的信號,送到單片機,經過單片機處理計算,輸送給顯示單元。其基本思路原理如圖3-2所示。圖3-2出租車計價器傳感器測距示意圖由于A44E屬于開關型的霍爾器件,其工作電壓范圍比較寬(4.518V),其 輸出的信號符合TTL

6、電平標準,可以直接接到單片機的10端口上,而且其最高 檢測頻率可達到1MHZ圖3-3集成開關型霍耳傳感器原理圖A44E集成霍耳開關(圖3-3 )由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、 差分放大器C、施密特觸發(fā)器D和0C門輸出E五個基本部分組成。在輸入端輸 入電壓CCV,經穩(wěn)壓器穩(wěn)壓后加在霍耳電勢發(fā)生器的兩端,根據霍耳效應原理, 當霍耳片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方 向上將會產生霍耳電勢差HV輸出,該H V信號經放大器放大后送至施密特觸發(fā) 器整形,使其成為方波輸送到0C門輸出。當施加的磁場達到工作點(即0PB )時, 觸發(fā)器輸出高電壓(相對于地電位),使三

7、極管導通,此時0C門輸出端輸出低電壓, 通常稱這種狀態(tài)為開。當施加的磁場達到釋放點(即rP B )時,觸發(fā)器輸出低電壓, 三極管截止,使0C門輸出高電壓,這種狀態(tài)為關。這樣兩次電壓變換,使霍耳開 關完成了一次開關動作。其集成霍耳開關外形及接線如圖3-4所示。圖3-4集成霍耳開關接線FO£VAmFD宓恥POLIAKFD我們選擇了 P3.2 口作為信號的輸入端,內部采用外部中斷0(這樣可以減少 程序設計的麻煩),車輪每轉一圈(我們設車輪的周長是 1米),霍爾開關就檢測 并輸出信號,引起單片機的中斷,對脈計數(shù),當計數(shù)達到1000次時,也就是1公 里,單片機就控制將金額自動的加增加,其計算公

8、式:當前單價X 公里數(shù)=金額。 3.3數(shù)據顯示單元的設計圖NL9hLprice= 2 usit>30: L Coe 1= 0607Di? -6609蟲哥營 Citd&V:3.4按鍵及數(shù)據顯示單元的設計根據要求我們設計了一個包括時間調整、車輪長度調整的功能鍵,還有單價上調和下調,復位,計價,液晶背光燈亮度控制等按鍵。按下對應按鍵時調用對應的程序執(zhí)行功能,其中復位按鍵還包含一個空車指示燈進行輔助顯示。顯示部分要求顯示單價、里程、總金額和另外擴展的時鐘顯示等各種信息,采用LCD顯示很容易滿足要求第四章 主要元器件選擇及介紹4.1單片機選擇89C51和89S51內核相同,但89S51針對

9、89C51的明顯的幾個升級如下:1. 程序存儲器寫入方式:二者的寫入程序的方式不同,89C51只支持并行寫入, 同時需要VPP燒寫高壓。89S51則支持ISP在線可編程寫入技術。串行寫入、速度 更快、穩(wěn)定性更好,燒寫電壓也僅僅需要 45V即可。2. 電源范圍:89S51電源范圍寬達45.5V,而89C51系列在低于4.8V和高 于 5.3V 的時候則無法正常工作。3. 工作頻率:目前89S11的性能遠高于89C51,89S51系列支持最高高達33MHZ 的工作頻率,而89C51 工作頻率范圍最高只支持到24M4. 市場價格:由于 89C51 已經全面停產,所以在市場方面,庫存的 89C51 的

10、 批發(fā)價格要比 89S51 貴。5. 兼容型:89S51向下兼容89C51,就是說用89S51可以替代89C51使用,同 樣的程序,運行結果相同。6. 加密功能:89S51系列全新的加密算法,這使得對于89S51的解密變?yōu)椴豢?能,程序的保密性大大加強,這樣就可以有效的保護知識產權不被侵犯。7. 抗干擾性:內部集成看門狗計時器,不再需要像 89C51 那樣外接看門狗計 時器單元電路。4.2 MCS-51 系列單片機內部結構及功能部件4.2.1 MCS-51 系列單片機的內部結構框圖分析圖 4-1 , 并按其功能部件劃分可以看出, MCS-51 系列單片機是由 8 大 部分組成的。圖4-2為按功

11、能劃分的MCS-51系列單片機內部結構簡化框圖。 這8 大部分是: 一個8位中央處理機CPU 128個字節(jié)的片內數(shù)據存儲器 RAM - 4 KB的片內程序只讀存儲器 ROM 或 EPROM 18 個特殊功能寄存器 SFR。 4個8位并行輸入輸出I/O接口: P0口、P1 口、P2 口、P3 口(共32 線), 用于并行輸入或輸出數(shù)據。 1 個串行 I/O 接口。 2個16位定時器/計數(shù)器。1 個具有 5個中斷源, 可編程為 2個優(yōu)先級的中斷系統(tǒng)。 它可以接收外部中斷申請, 定時器/計數(shù)器中斷申請和串行口中斷申請nrRAM曲址P2 .0 刃rr盧EPROM /ROM T41*,申斤口理室時HPi

12、n 柑JTR寄薦器揑制ALE斗 n- EtESET-;NtftB1 E-L-*i b X:A!.-0-PI 口 W#I;XTAF1JJ-P1.7rinwVf M圖4-1 MCS-51系列單片機內部結構框圖ponP2 口(運算部件)控制部件特殊功能(sfh) EPHOM/ROMf* 廈序存孺器;L三嚴三RAM881Sr弟口 TLn r rFP3圖4-2 MCS-51系列單片機內部結構簡化框圖422單片機外部引腳說明MCS-51系列單片機芯片均為40個引腳,HMOST藝制造的芯片采用雙列直插(DIP)方式封裝,其引腳示意及功能分類如圖4.3所示。CMOST藝制造的低功 耗芯片也有采用方型封裝的,但

13、為44個引腳,其中4個引腳是不使用的。豳叫一q RJU). Pj - w TXO. P- 11 irrm, phm ij 向',巴*一 13TO叫廠1*Tl.怙一 IS TFT 協(xié)-it HE pi+- i?ATAU-出畑片一 19I 1 I«沖站陽殆巧列對號3I1Q齊2CZ7262324埜22211 11 1圖4-3 MCS 51系列單片機引腳及總線結構(a)管腳圖;(b)引腳功能分類(1)主電源引腳Vcc和VssVCC(40腳):接+5 V電源正端;VSS ( 20腳):接+5 V電源地端。(2)外接晶體引腳XTAL1和XTAL2XTAL1 ( 19腳):接外部石英晶體的

14、一端。在單片機內部, 它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。當采用外部時鐘時, 對于HMOS單片機,該引腳接地;對于CHMO單片機,該引腳作為外部振蕩信號的輸入端。XTAL2(18腳):接外部晶體的另一端。 在單片機內部, 接至片內振蕩器的 反相放大器的輸出端。當采用外部時鐘時,對于HMOS單片機,該引腳作為外 部振蕩信號的輸入端;對于CHMO芯片,該引腳懸空不接。(3)控制信號或與其它電源復用引腳??刂菩盘柣蚺c其它電源復用引腳有:RST/VPD、ALE/ PROG、PSEN 和 EA/Vpp 等 4 種形式。A、RST/VPD(9腳):RST即為RESET VPD為備用電源

15、, 所以該引腳為單片 機的上電復位或掉電保護端。B、ALE/ PROG (30腳):當訪問外部存儲器時, ALE (允許地址鎖存信號) 以每機器周期兩次的信號輸出,用于鎖存出現(xiàn)在P0 口的低8位地址。C、PSEN (29腳):片外程序存儲器讀選通信號輸出端,低電平有效D、EA/Vpp (31腳):EA為訪問外部程序存儲器控制信號,低電平有效。(4 ) 輸入/ 輸出(I/O ):引腳 P0 口、P1 口、P2 口及 P3 口A、P0 口( 39腳32腳):P0.0P0.7統(tǒng)稱為P0 口。P0 口是一個三態(tài)雙向 口,可作為地址/數(shù)據分時復用口,也可作為通用I/O接口。B 、P1 口( 1腳8腳):

16、P1.0P1.7統(tǒng)稱為P1 口,可作為準雙向I/O接口 使用。C、P2 口(21腳28腳):P2.0P2.7統(tǒng)稱為P2 口,一般可作為準雙向I/O 接口。它具有通用I/O接口或高8位地址總線輸出兩種功能.D P3 口( 10腳17腳):P3.0P3.7統(tǒng)稱為P3 口。P3 口除了可作為通用 準雙向I/O接口外,每1根線還具有第2功能。(見圖4.4)引腳第2功能P3,0RXD(串行口輸入端P3.1TXD(串行口輸出端)P3.2INTO(外部中斷Q請求輸人端,低電平有效)P3, 3INTI(外部中斷1請求輸人端.低電平有效)Pl 4TO(宦時器/計敷器0計數(shù)脈沖輸入端P張5T1(宦時器/計數(shù)器1卄

17、數(shù)脈沖輸人端)PX6WR(外部紋據算儲器寫遼通信號輸出端,低電平有效)P3. 7RD(外部數(shù)據年儲器讀選通倩號輸出端.低電甲有效)圖4-4 P3 口第2功能表并行輸入/輸出接口對于四個并行輸入/輸出接口前面已經簡單介紹過了。本設計中主要用到了 P1 口現(xiàn)在著重介紹,一下 P1 口。P1 口為準雙向口其1位的內部結構如圖4-5所示。它在結構上與P0 口的區(qū)別在于輸出驅動部分,其輸出驅動部分由場效應管V1與內部上拉電阻組成。當 其某位輸出高電平時,可以提供拉電流負載,不必象P0 口那樣需要外接電阻。從功能上來看P1只有一種功能(對MCS-5仔系列),即通用輸入輸出I/O接口, 具有輸入、輸出、 端

18、口操作3種工作方式, 每1位口線能獨立地用作輸入或輸 出線。圖4-5 P1 口的結構原理圖4.3 1602字符液晶顯示簡介工業(yè)字符型液晶,能夠同時顯示 16x02即32個字符。(16列2行) 注:為了表示的方便,后文皆以1表示高電平,0表示低電平 管腳功能及引腳說明1602字符型LCD通常有14條引腳線或16條引腳線的LCD多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其中:引腳符號功能說明1VSS一般接地2VDD接電源(+5V3V0液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對 比度過高時會產生“鬼影”,使用時可

19、以通過一個10K的電位器調整對比度)。4RSRS為寄存器選擇,高電平1時選擇數(shù)據寄存器、低電平0時選擇指令寄存器。5R/WR/W為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。6EE(或EN)端為使能(enable)端,下降沿使能。7DB0底4位二態(tài)、 雙向數(shù)據總線0位(最低位)8DB1底4位二態(tài)、雙向數(shù)據總線1位9DB2底4位二態(tài)、雙向數(shù)據總線2位10DB3底4位二態(tài)、雙向數(shù)據總線3位11DB4咼4位二態(tài)、雙向數(shù)據總線4位12DB5咼4位二態(tài)、雙向數(shù)據總線5位13DB6咼4位二態(tài)、雙向數(shù)據總線6位14DB7咼4位二態(tài)、 雙向數(shù)據總線7位(最咼位)(也是busy flang

20、)15BLA背光電源正極16BLK背光電源負極寄存器選擇控制表RSR/W操作說明00寫入指令寄存器(清除屏等)01都busy flag (DB7,以及讀取位址計數(shù)器(DB0DB)值10與入數(shù)據寄存器(顯小各字型等)11從數(shù)據寄存器讀取數(shù)據注:關于E=H脈沖一一開始時初始化E為0然后置E為1,再清O.busy flag 1602 液晶模塊內部的字符發(fā)生存儲器(CGROM)經存儲了 160個不同的點陣字符圖形, 這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每 一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的

21、點陣字符圖形顯示出來,我們就能看到字母“A”。因為1602識別的是ASCII碼,試驗可以用ASCII碼直接賦值,在單片機編 程中還可以用字符型常量或變量賦值,如A'。以下是1602的16進制ASCII碼表:讀的時候,先讀上面那列,再讀左邊那行,如:感嘆號!的 ASCII為0x21, 字母B的ASCII為0x42 (前面加0x表示十六進制)。顯示地址1234567891011121314151600H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH指令

22、集1602通過D0D7勺8位數(shù)據端傳輸數(shù)據和指令。顯示模式設置: ( 初始化 )0011 0000 0x38 設置16X 2顯示,5X 7點陣,8位數(shù)據接口; 顯示開關及光標設置: ( 初始化 )0000 1DCB D顯示(1有效)、C光標顯示(1有效)、B光標閃爍(1有效)0000 01NS N=1(讀或寫一個字符后地址指針加 1 &光標加1),N=0(讀或寫一個字符后地址指針減1 &光標減1),S=1 且 N=1 ( 當寫入一個字符后,整屏顯示左移 ) s=0 當寫入一個字符后,整屏顯示不移動 數(shù)據指針設置:數(shù)據首地址為80H,所以數(shù)據地址為80H+地址碼(0-27H,40

23、-67H) 其他設置:01H(顯示清屏,數(shù)據指針=0,所有顯示=0) ; 02H(顯示回車,數(shù)據指針=0) 通常推薦勺初始化過程:延時 15ms寫指令 38H延時 5ms寫指令 38H延時 5ms寫指令 38H延時 5ms (以上都不檢測忙信號) (以下都要檢測忙信號)寫指令 38H寫指令 08H 關閉顯示寫指令 01H 顯示清屏寫指令 06H 光標移動設置 寫指令 0cH 顯示開及光標設置第五章 程序設計本系統(tǒng)的軟件設計主要可分為主程序模塊、定時計數(shù)中斷程序、里程計數(shù)中 斷服務程序、中途等待中斷服務程序、顯示子程序服務程序、鍵盤服務程序六大 模塊。下面對各部分模塊作介紹。5.1 系統(tǒng)主程序設

24、計在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初 始化、中斷向量的設計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還 需要設置啟動 /清除標志寄存器、里程寄存器和價格寄存器, 并對它們進行初始化。 然后,主程序將根據各標志寄存器的內容,分別完成啟動、清除、計程和計價等 不同的操作。當按下 S1 時,就啟動計價,將根據里程寄存器中的內容計算和判斷 出行駛里程是否已超過起價公里數(shù)。若已超過,則根據里程值、每公里的單價數(shù) 和起價數(shù)來計算出當前的累計價格,并將結果存于價格寄存器中,然后將時間和 當前累計價格送顯示電路顯示出來。當?shù)竭_目的地的時候,由于霍爾開關沒有送 來脈沖信號,

25、就停止計價,顯示當前所應該付的金額和對應的單價,到下次啟動 計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。5.2 定時中斷服務程序假設中斷計數(shù)一次代表車輪轉動 10 圈,每當霍爾傳感器輸出一個低電平信號 就使單片機中斷一次,計數(shù)值加一,程序根據計數(shù)值和車輪周長計算出里程數(shù), 然后程序又根據里程數(shù)和單價計算出總價。最后將結果送LCD顯示。5.3 里程計數(shù)中斷服務程序每當霍爾傳感器輸出一個低電平信號就使單片機中斷一次,當里程計數(shù)器對 里程脈沖計數(shù)滿 1000 次時,使微機進入里程計數(shù)中斷服務程序中。在該程序中, 需要完成當前行駛里程數(shù)和總額的累加操作, 并將結果存入里程和總額寄存器中。5.4

26、中途等待中斷服務程序當在計數(shù)狀態(tài)下霍爾開關沒有輸出信號, 片內的 T1 定時器便被啟動, 每當計 時到達 10 分鐘,就對當前金額加上中途等待的單價, 以后每十分鐘都自動加上中 途等待的單價。當中途等待結束的時候,也就自動切換到正常的計價。5.5 顯示子程序服務程序由于顯示部分采用液晶顯示,所以只要將液晶進行初始化,在需要顯示時調用顯示函數(shù)對相應的字符及數(shù)據在液晶屏的具體位置進行顯示。5.6 鍵盤服務程序鍵盤采用查詢的方式,放在主程序中,當沒有按鍵按下的時候,單片機循環(huán)主程序,一旦有按鍵按下,便轉向相應的子程序處理,處理結束再返回。5.7程序流程圖主程序+初始化變量設置定時器T1的參數(shù)電子鐘按

27、鍵掃描圖5-1主程序流程圖圖5-2里程計數(shù)中斷服務流程圖第六章 設計總結及致謝6.1 設計總結由于使用的是單片機作為核心的控制元件,以及靈敏的霍爾開關型器件,是 本出租車計價器具電路簡單、成本低的特點,加上經過優(yōu)化的程序,使其有很高 的智能化水平。但是在我們設計和調試的過程中,也發(fā)現(xiàn)了一些問題,譬如計價 的金額位數(shù)有限,實際的里程可能會很遠,會超出我們的顯示范圍。計價器的設 計還不夠人性化,比如加上語音的提示功能,可能會更有生命力。6.2 致謝本設計是對我們所學知識的用在實踐中一種考驗與拓展, 并培養(yǎng)我們的獨立 思考、設計和創(chuàng)新能力、解決遇到問題的能力和團隊合作能力,以及我們在走向 工作崗位后

28、能更好的發(fā)揮學以致用。在碰到困難時不急不燥,在自主解決的前提 下,結合團隊力量,解決問題并有所創(chuàng)新。在老師的親切關懷和悉心指導下,我們的設計從無到有,再到基本完成。老 師在設計思路上給予我們精心的指導和啟迪, 他引導我們積極思考, 獨立解決問 題,令我們茅塞頓開,受益匪淺。在設計中學會了一些疑難問題的探討和工作中的協(xié)調性,汲取知識的方式和 途徑。為今后的工作奠定了堅實的基礎。在設計的整個過程中,使我學習到很多 寶貴的知識。參考文獻1 張俊謨. 單片機中級教程原理與用應 M. 北京寒天出版社 .2006.62 余錫存 曹國華 . 單片機原理及接口技術 M. 陜西 : 西安電子科技大學出版社 20

29、00.73 雷麗文 等. 微機原理與接口技術 M. 北京:電子工業(yè)出版社 . 1997.24 張毅坤.單片微型計算機原理及應用 M. 西安電子科技大學出版社 . 1998.10附件附錄1M”lce;2 wait=39!+l CO St 000015 : 3000C1IC2 isTEO:3口i| 19«T£<PUIF13i 亍IIa 1i nrrh £IELIPDl'ACUPD.1MI1FUWPDJAI3皿伽PDSAISPIWR 托R8TPM畑門倔即慣9PZAIDwPZJA11ALEFltfAGERPZSAflPZAltFrf;AtspmP3nRXDp

30、tiF3JTOPP12pjsirraF13pjjTTTP1,iF3.4HDF1£力射ri訂左P3jMM.?P菊冊ATOCS1 訂曰eZEn iQLtm Tn附錄2#in clude<reg52.h>#define uchar un sig ned char#define uint un sig ned int day_cost(void);ni ght_cost(void);uint day_price,night_price;uchar code table1="Dayprice:2 wait=30:+1" uchar code table2=&qu

31、ot;Nightprice:3 wait=30:+1"uchar code table3="Cost:0000 Dis : 0000 "uchar code table4=" 00:00:00" uchar num,distance,count1,wait;uchar shi,fen,miao,s5num,count2;uint M500,date,waitcost;sbit Icde n=P3P;sbit rs=P3A1;sbit s仁 P2A2;sbit s2=P2A3;sbit s3=P2A4;sbit s5=P2A5;sbit s6=P

32、2A6;sbit s7=P2A7;sbit s8=P2A0;sbit s4=P3A2;void deIay(uint z);void write_com(uchar com)rs=0;Icden=0;P0=com;deIay(5);Icden=1;deIay(5);Icden=0;void write_date(uchar date)rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void init() waitcost=0;day_price=2;night_price=3;wait=0;count1=0;count2=0;M50

33、0=0;date=0000;distance=0000;EA=1;EX0=1;TCON=0x05;TMOD=0x10;TH1=(65536-50000)/256;TL1=(65536-50000)%256;ET1=1;TR1=1;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);write_com(0x80+0x40) ;for(num=0;num<32;num+)write_date(table4num);delay(5);/=void write_sfm(uc

34、har add,uchar date)uchar shi,ge;shi=date/10;date=date%10;ge=date;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);/=void write_price(uchar add,uint date)uchar qian,bai,shi,ge; qian=date/1000; date=date%1000;bai=date/100; date=date%100;shi=date/10; ge=date%10;write_com(0x80+0x40+add)

35、; write_date(0x30+qian);write_date(0x30+bai);write_date(0x30+shi); write_date(0x30+ge);/= void write_lucheng(uchar add,uint distance)uchar gewei,shiwei,baiwei;baiwei=distance/100; distance=distance%100;shiwei=distance/10; gewei=distance%10;write_com(0x80+0x40+add); write_date(0x30+baiwei);write_date

36、(0x30+shiwei); write_date(0x30+gewei);/電= 子鐘鍵盤掃描void dzz_keyscan()if(s5=0)delay(5);if(s5=0) s5num+;while(!s5);if(s5num=1)TR0=0;write_com(0x80+0x40+32);write_com(0x0f);if(s5num=2)write_com(0x80+0x40+29);if(s5num=3)write_com(0x80+0x40+26);s5num=0 ;write_com(0x0c);TR0=1;if(s5num!=0)if(s6=0)delay(5);if(

37、s6=0) while(!s6);if(s5num=1)miao+;if(miao=60)miao=0;write_sfm(31,miao);write_com(0x80+0x40+32); if(s5num=2)fen+;if(fen=60)fen=0;write_sfm(28,fen);write_com(0x80+0x40+29);if(s5num=3)shi+;if(shi=24)shi=0;write_sfm(24,shi);write_com(0x80+0x40+25);if(s7=0)delay(5);if(s7=0)while(!s7);if(s5num=1)miao-;if(

38、miao=-1) miao=59; write_sfm(31,miao); write_com(0x80+0x40+32);fen-;if(fen=-1)fen=59;write_sfm(28,fen); write_com(0x80+0x40+29);if(s5num=3)shi-;if(shi=-1)shi=23;write_sfm(25,shi); write_com(0x80+0x40+26);/=延時函數(shù) =void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/=選= 擇黑白天 = / 選擇黑夜the_night(void) write_com(0x01);for(num=0;num<24;n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論