【正文】
end behav。 end if。 else c0=c0+1。 else c1=c1+1。 else c2=c2+1。 else c3=c3+1。 if c2=1001 then c2=0000。 then if c0=1001 then c0=0000。event and f=39。c0=0000。c2=0001。039。end process。min0=m0。amp。min1=39。 費用數(shù)據(jù)輸出km1=k1。cha1=c1。cha3=c3。039。039。 end if。 此IF語句得到en0使能信號 else en0=39。k000000010 then en0=39。 end if。 end if。 此IF語句完成公里脈沖計數(shù) if k1=1001 then k1=0000。139。 end if。en1=39。 end if。 此IF語句得到en1使能信號 else en1=39。m00000001then en1=39。 end if。 end if。 此IF語句完成分計數(shù) if m1=101 then m1=000。 then if w=59 then w=0。 elsif stop=39。k1=0000。m1=000。en0=39。en1=39。039。139。process(f_1)begin if f_139。 end if。 end if。 else f=39。139。 then f=f_15。 if en1=39。039。 此IF語句得到頻率為1Hz的信號 else q_1=q_1+1。f_1=39。 end if。f_16=39。139。 if q_16=14 then q_16=0。039。 此IF語句得到頻率為15Hz的信號 else q_15=q_15+1。f_15=39。039。039。039。039。q_16=0。039。139。計費部分源程序如下:feipin:process(clk_240,start)begin if clk_24039。最后感謝在百忙之中對我的論文進行評審并提出寶貴意見的老師們。再次感謝楊老師在課題研究中給予的指導(dǎo)和幫助。我從呂老師身上學(xué)到了很多。由于我的基礎(chǔ)比較差,楊老師更是耐心細致的進行了輔導(dǎo)。楊老師追求真理的作風,治學(xué)嚴謹?shù)膽B(tài)度及平易近人的品德使我受益匪淺,終身難忘,并且也是對我永遠的鞭策和激勵。另外通過本次設(shè)計,使我認識到自己理論知識的應(yīng)用能力有很大的欠缺,需要在以后的學(xué)習中進一步提高。這在以前的學(xué)習過程中是不曾學(xué)到的。經(jīng)過單元設(shè)計和系統(tǒng)設(shè)計鞏固了以前所學(xué)的專業(yè)知識,自己真正認識到理論聯(lián)系實際的重要性,為以后的學(xué)習和工作提供了很多有價值的經(jīng)驗。這次設(shè)計很好的把以前學(xué)到的理論知識應(yīng)用于實踐,使我認識到理論知識與實踐之間有一定的差距,只有通過不斷的努力學(xué)習和實踐才能很好的把理論知識應(yīng)用到實踐當中,也只有通過不斷的實踐才能對理論知識的理解。打印機連接電路圖如下所示:結(jié)論/展望在這段時間里,經(jīng)過自己努力,基本上完成了設(shè)計要求的內(nèi)容,在系統(tǒng)可行性分析、原理圖設(shè)計、PCB繪制等方面都作了許多實際工作,取得了一些成績,同時也遇到了一些問題,存在一些不足。這時打印機將BUSY 線置為忙(高電平) ,禁止新數(shù)據(jù)輸入。當出租車到達指定地點,司機翻起空車牌,便產(chǎn)生一個信號通知單片機AT89C51 ,單片機啟動打印服務(wù),將行車的中途等待時間、營運里程、單價、金額、日期及上下車時間等數(shù)據(jù)打印成出租車專用發(fā)票。 打印機接口打印機有并行和串行兩種接口方式,有些打印機只有并行接口信號或只有接口信號,而有些打印機兩者兼有。同時打印機還要打印輸出一行出錯信息。ERR:出錯信號,打印機輸出。ACK:打印機應(yīng)答信號,低電平有效。BUSY:打印機“忙”信號,打印機輸出的狀態(tài)信號。STB:數(shù)據(jù)選通信號,低電平有效的打印機輸入信號。按Centronic接口標準,μp系列打印機共有36條信號線,但在單片機系統(tǒng)中應(yīng)用時,都要進行信號簡化,只使用幾個必不可少的接口信號即可。 打印機概況單片機系統(tǒng)的打印機多采用價格便宜、接口方便的微型打印機。圖412 8255作鍵盤接口電路 打印模塊在單片機控制應(yīng)用系統(tǒng)當中,常用用紙介質(zhì)來記錄系統(tǒng)運行數(shù)據(jù)的需要,以備存檔或查閱。接口時,行線一端接輸入口,另一端懸空;而列線一端經(jīng)電阻接+5V電源,另一端接輸入口。鍵盤分為行線和列線,本鍵盤共有4條行線4條列線??梢哉f,前兩種掃描方式,CPU對鍵盤的監(jiān)視是主動進行的,而后一種掃描方式,CPU對鍵盤的監(jiān)視是被動進行的。定時掃描進了一大步,除了定時監(jiān)視一下鍵盤輸入情況處,其余時間可進行其他任務(wù)的處理,因此CPU效率提高了。3中斷工作方式鍵盤工作于編程狀態(tài)時,CPU要不間斷地對鍵盤進行掃描工作,以監(jiān)視鍵盤的輸入情況,直到有鍵被按下為止。而在執(zhí)行鍵入命令或處理鍵入進程當中,CPU不再響應(yīng)鍵入要求,直到CPU返回重新掃描鍵盤為止。鍵盤的工作方式通常有3種:編程掃描、定時掃描和中斷掃描。鍵盤的工作方式的選取應(yīng)根據(jù)實際應(yīng)用系統(tǒng)中CPU工作的忙、閑情況而定。矩陣式鍵盤的工作方式在單片機應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU工作內(nèi)容之一。以4*4鍵盤為例,可以編號為01H,02H,...,0FH,10H共16個。例如一個4*4鍵盤,14H鍵和21H鍵之間間隔13,因此不利于散轉(zhuǎn)指令。如12H表示第一行、第2列的按鍵、A4H表示第10行、第4列的按鍵等。矩陣式鍵盤的編碼對于獨立式按鍵鍵盤,由于按鍵的數(shù)目少,可根據(jù)實際需要靈活編碼。線所轉(zhuǎn)法的操作步驟也分兩步:第1步,將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出全為零電平,則行線電平由高到低所在行為按鍵所在行;第2步,則將行線編程為輸出線,列線為輸入線,并使輸出線輸出為全零電平,則列線中電平由高到低所在的列為按鍵所在列。圖411 存儲器擴展電路圖2線反轉(zhuǎn)法掃描法要逐列掃描查詢,當被按下的鍵處于最后一列時,則要經(jīng)過多次掃描才能最后獲得此按鍵所處的行列值。因此各按鍵彼此相互發(fā)生影響,所以必須將行、列信號配合起來并做適當?shù)奶幚?,才能確定閉合鍵的位置。這一點是識別矩陣式鍵盤是否被按下的關(guān)鍵。平時無按鍵動作時,行線處于高電平狀態(tài),而當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線電平?jīng)Q定。 按鍵設(shè)置在行、列線交點上,行、列分別連接到按鍵開關(guān)的兩端。如一個3*3的行、列結(jié)構(gòu)可以構(gòu)成一個有9個按鍵的鍵盤。,存儲容量2KB,該芯片為CMOS工藝,因此具有功耗低的特點。/E/P:雙重功能輸出控制線。VPP:編程電源。:圖49 2716引腳圖主要引腳功能如下:A10A0:11位地址D7D0:數(shù)據(jù)輸出/OE:輸出允許信號。存儲器的擴展包括:程序存儲器(ROM)的擴展和數(shù)據(jù)存儲器(RAM)的擴展。例如: 存儲區(qū)擴展模塊 引言AT89C51通過P0和P2口可為擴展存儲器提供16位地址,使擴展存儲器的尋址范圍達64KB。當為空車時,為了節(jié)電,只顯示時間,為供司機查看時間提供方便,當司機要查詢以往的營運數(shù)據(jù)時,按查詢鍵可提供顯示。由此可見,共陽極接法的段選碼與共陰極接法的段選碼是邏輯“非”關(guān)系。數(shù)字量與段的對應(yīng)關(guān)系如表42所示:表42 數(shù)碼管數(shù)字量與段的對應(yīng)關(guān)系表D7 D6 D5 D4 D3 D2 D1 D0dpgfedcba例如:當加到陽極的數(shù)字量為00111111B=3FH時,除dp,g不發(fā)光外,其他6段均發(fā)光,因此顯示一個0字符。共陽極接法是將LED顯示器的所有陽極并接后連到+5V電源上,當某一字段的陰極為0時,對應(yīng)的字段就點亮下面以共陰極接法說明顯示字符和數(shù)字量與段編碼關(guān)系。本設(shè)計中主要用7段LED顯示器,下面對其進行簡要介紹。顯示時通過位控信號采用掃描的方法逐位的循環(huán)點亮各位數(shù)碼管。(2)動態(tài)方式在多位LED顯示時,為了簡化電路,降低成本,將所有位的段選碼并聯(lián)在一起。N位靜態(tài)顯示器要求有N*8根I/O口線,占用I/O口資源較多。該電路每一位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。 LED顯示器的顯示方式(1)靜態(tài)方式:LED顯示器工作在靜態(tài)顯示方式下,共陰極或共陽極點連接在一起接地或+5V;每位的段選線(adp)與一個8位并行口相連。 硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標準的BCD碼即可,硬件接線有一定標準。動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。用單片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。在多位LED顯示時,為了簡化電路,降低成本,將所有位LED的段選線并接在一起,在某一刻時,將要顯示的字符段碼同時送到每一個顯示器的各段,但是只讓這一位LED顯示。段選線控制顯示字符的字型,而位選線控制顯示位的亮、暗。 如 8位LED顯示器有8根位選線和8χ8根段選線。共陽極與共陰極的段選碼互為反碼??刂撇煌M合的二極管導(dǎo)通,就能顯示各種字符。通常的七段LED顯示塊中有八個發(fā)光二極管,故也稱為八段顯示器。這種顯示塊有共陰極和共陽極兩種,如上圖所示,共陰極LED顯示塊的發(fā)光二極管陰極共地,如圖中所示,當某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮。 如圖47所示:七段LED顯示塊圖46 里程檢測電路連接圖圖47 LED管腳配置圖 LED顯示器原理LED顯示塊是由發(fā)光二極管顯示字段的顯示器件。為了觀察和監(jiān)視鍵盤輸入的信息,為了了解系統(tǒng)的工作情況以及得到系統(tǒng)完成任務(wù)的結(jié)果,系統(tǒng)應(yīng)設(shè)有顯示裝置。通過計算將脈沖增加體現(xiàn)在金額和里程上。當車輪轉(zhuǎn)動一圈時小磁鐵提供一個磁場,則霍爾傳感器A44E輸出一次低電平完成一次數(shù)據(jù)采集?;魻柶骷性S多優(yōu)點,它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高(可達1MHZ),耐震動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。用它們可以檢測磁場及其變化,可在各種與磁場有關(guān)的場合使用。當系統(tǒng)重新上電時,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的數(shù)據(jù)信息,讀到緩存單元中,供主程序使用,保存在AT24C02中的數(shù)據(jù)是不能隨意進行改動的,此外出租車營運過程中的一些營運數(shù)據(jù),如:單次出租的營運額和營運里程、一段時間內(nèi)的營運總額和總路程等,也存儲在AT24C02中,以便出租車公司及司機查詢,使出租車司機更方便的管理營運數(shù)據(jù),出租車行業(yè)得到更有效的管理。 ,其作用是減少A T24C02 的靜態(tài)功耗,AT24C02 采用I2C 總線與AT89C51相連, 作為它的串行數(shù)據(jù)線。當把WP接地時,允許芯片執(zhí)行一般讀寫操作;當把WP接到VCC時,則對芯片實施寫保護。WP:寫保護端。由于在EEPROM內(nèi)部,SCL和SDA是漏極開路結(jié)構(gòu)的,所以,使用時需要外接上拉電阻。在時鐘上升沿把數(shù)據(jù)寫入EEPROM;在時鐘為下降沿時把數(shù)據(jù)從EEPROM中讀出來。2. GND:地線。數(shù)據(jù)存儲部分的作用是在電源斷開時,存儲當前設(shè)定的單價信息。在本次設(shè)計中,我們選取晶振頻率為6MHz,C1和C2的值均為30uF?!?2MHz。其復(fù)位電路如下表示:表41 復(fù)位電路表PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P30FFHSCON00HIPXX000000HSBUF00HIE0X000000HPCON不定TMOD00H0XXX0000B 復(fù)位電路連接圖如下:圖42 復(fù)位電路連接圖 時鐘電路模塊圖43 時鐘電路連接圖時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才能為單片機的時鐘脈沖信號。按鍵手動復(fù)有電平方式和脈沖方式兩種。CPU從初始化工作,由狀態(tài)表可知,復(fù)位