【正文】
. VSDA: IC總線數(shù)據(jù)線;2. VSCL:IC總線時鐘線;3. SLA:發(fā)送/接收尋址字節(jié)內(nèi)RAM存儲單元;4. NUMB:發(fā)送/接收數(shù)據(jù)字節(jié)數(shù)N內(nèi)RAM存儲單元;5. MTD:發(fā)送數(shù)據(jù)內(nèi)RAM存儲區(qū)首地址;6. MRD:接收數(shù)據(jù)內(nèi)RAM存儲區(qū)首地址;由于EPROM的半導體工藝特性,對EPROM的寫入時間需要510ms,但AT24C01串行EPROM芯片內(nèi)部設置了一個具有SRAM性質(zhì)的輸入緩沖器,稱為頁寫緩沖器。AT24C01/02 8字節(jié)/每頁。 總線必須由主器件(通常為微控制器CPU)控制,主器件產(chǎn)生串行時鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。主CPU發(fā)出尋址信號后,地址與自己相符的從器件便會產(chǎn)生一個應答信號。因此BMM(分米),M(米),SM(十米)加處理后不存儲AT24C01,而BM(),KM(公里),SKM(十公里),BKM(百公里)加處理后存儲AT24C01后再在數(shù)碼管上顯示。 初始化 讀AT24C01判內(nèi)部數(shù)據(jù)處理P1和P3規(guī)定作為電平拉高輸入口開總中斷和外部中斷,設堆棧指針SP開P0和P2口END 判內(nèi)部數(shù)據(jù)處理:AT24C01出廠時原有數(shù)據(jù)BM單元是否為0FFH,等于0FFH時,BM單元清0,寫到AT24C01中,不等于時再次判斷AT24C01出廠時原有數(shù)據(jù)KM單元是否為0FFH,等于0FFH時,KM單元清0, 寫到AT24C01中,以此類推,判斷到BKM單元為止。而中斷方式則為部,器件或外設主動請求。 I/O口的控制方式在單片機中,為了實現(xiàn)數(shù)據(jù)的輸入輸出傳送,通常使用三種控制方式。開發(fā)步驟:(1) 確定任務:a) 確定系統(tǒng)的功能,指標,成本 b) 完成期限(2) 總體設計:a) 調(diào)研 b) 機型選擇 c) 軟硬件任務劃分 I. 硬件開發(fā) 一.繪出線路圖 二.選購元器件 三.組裝 四.調(diào)試硬件 II. 軟件開發(fā)一.建立數(shù)學模型,確定算法,安排數(shù)據(jù)結(jié)構二.設計,編制各子程序模塊三.各子程序進行調(diào)試四.各子程序連接起來調(diào)試(3) 樣機聯(lián)調(diào): a) 軟,硬件結(jié)合起來調(diào)試 b) 找出錯誤,修改軟,硬件 c) 實時仿真,直至滿足設計要求(4) 產(chǎn)品定型: a) 形成工藝 b) 編寫技術文件 中斷控制和的中斷請求信號由外部產(chǎn)生并輸入,稱外部中斷,其余的中斷請求信號均由主機內(nèi)部產(chǎn)生,故稱為內(nèi)部中斷。 單片機應用軟件設計應用軟件應在硬件電路的支持下能可靠地實現(xiàn)應用系統(tǒng)的各種功能。LED數(shù)碼管結(jié)構圖,(a),(b)為共陰極型,(c)為共陽極型。一個IC總線系統(tǒng)里的所有外圍器件均采用器件地址和引腳地址的編址方式。 霍爾傳感器電路。AT89C52編程方法:1. 在地址線上加上要編程單元的地址信號。同時,AT89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。由于AT89系列內(nèi)部含有Flash存儲器,因此在系列的開發(fā)過程中可以十分容易地進行程序的修改,從而大大縮短了系統(tǒng)的開發(fā)周期。216。定時 計數(shù)器時鐘CPU串行口并行口ROM RAM單片機的典型結(jié)構(圖211)單片機與一般的非單片型微型機相比,具有以下特點:216。公家車的司機又需要增加里程數(shù)。最近電子式車速里程表逐步推廣,它不用軟軸,而是在變速箱輸出軸上安裝脈沖發(fā)生器,用導線把電脈沖傳到儀表里,用脈沖頻率指示速度,用脈沖計數(shù)器累計里程。汽車發(fā)動機的軸把動力傳給變速箱,從變速箱的輸出軸到車輪的傳動比是不變的?!坝浝锕能嚒本褪沁@樣的裝置,它是利用上述原理,再加上巧妙的機構使得車輪每轉(zhuǎn)一定圈數(shù)就自動敲一下鼓,此時只要有專人把它記下了,就可以得到所走里程。電動自行車里程表是電動自行車的重要配件,在電動自行車儀表中占重要位置,但幾十年來其發(fā)展變化并不大,現(xiàn)在國外很多車中使用了數(shù)字里程表,但在國內(nèi)還并不多見。而且車停下來之后誰也不知道這車曾經(jīng)走過多少里路,這是美中不足之處。軟軸通到車速表,使得指針能把車的行駛速度指示出來。 汽車里程表主要分為機械式和電子式兩種,目前市場上的大部分新車型都采用電子式里程表,而配備機械式里程表的大都屬于較老車型,在二手車市場上比較多見,像老款的捷達、普桑和富康,這些熱銷車型都是機械式里程表。 設計的主要內(nèi)容及技術指標單片機軟件設計程序主要包括里程設計模塊;存儲歷史里程數(shù)據(jù)設計模塊;里程的顯示設計模塊;里程公里數(shù)的累計設計模塊;里程公里數(shù)的清0設計模塊。 片內(nèi)帶有定時器/計數(shù)器。因此,AT89系列對于以8051為基礎的應用系統(tǒng)而言,是十分容易進行取代和構成的。3. 靜態(tài)時鐘方式AT89系列單片機采用靜態(tài)時鐘方式,可以節(jié)省電能。 XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。4. 在高電壓編程方式時,將/Vpp端加上+12V編程電壓。當顯示里程時,單片機首先向AT24C01發(fā)送讀信號,然后確認后,單片機從AT24C01內(nèi)部的地址向單片機的讀出單元字節(jié)讀出數(shù)據(jù),供顯示所用。里程數(shù)據(jù)存儲電路,: 時鐘電路 ,電容器C1和C2對振蕩頻率有微調(diào)作用,通常的范圍:30177。硬件是系統(tǒng)可靠運行的“載體”,是基礎,而軟件則是使“載體”產(chǎn)生動力的發(fā)電機,二者相輔相成,缺一不可。(3) 程序存儲區(qū),數(shù)據(jù)存儲區(qū)規(guī)劃合理,既節(jié)約內(nèi)存容量,又便于操作。中斷響應的過程:AT89C52的指令系統(tǒng)中設有兩條返回指令:RET和RETI。它們隨時處于“準備好”狀態(tài)方便數(shù)據(jù)的傳輸。 里程表的軟件設計 總體設計思路將各英寸的電動自行車輪胎車軸內(nèi)置一個小車輪,設小車輪周長約為150毫米(),以10毫米為單位分15等份,即15個脈沖,小車輪的轉(zhuǎn)動,方便大車輪的周長計算,更便于行駛公里數(shù)的計算,就不需要將圈數(shù)轉(zhuǎn)換成公里數(shù),避開了除法算法,降低了軟件程序的復雜度。BMM, M,SM,BM,KM,SKM,BKM單元加處理時,判斷是否到10進1,BMM,M,SM單元每加一次都不需要存人AT24C01和顯示,BM加處理后儲存AT24C01,并顯示。IC總線協(xié)議定義如下: 只有在總線非忙時才被允許進行數(shù)據(jù)傳送。 型號 種類 器件地址 引腳地址AT24C01 EEPROM 1010 A2A1A0AT24C01是美國ATMEL公司生產(chǎn)的串行EEPROM芯片,容量分別為1288位,主要特性如下: 具有頁寫功能,AT24C01為4B; 可擦寫次數(shù)100000次; 數(shù)據(jù)保存周期為100年; 8引腳DIP或SOIC封裝。AT24C系列PROM接口及地址選擇:由于IC總線可掛接多個串行接口器件,在IC總線中每個器件應有唯一的器件地址,按IC總線規(guī)則,器件地址為7位數(shù)據(jù)(即一個IC總線系統(tǒng)中理 論上可掛接128個不同地址的器件),它和1位數(shù)據(jù)方向位構成一個器件尋址字節(jié),最低位D0為方向位(讀/寫)。為了結(jié)束讀操作,主機必須在第9個周期間發(fā)出停止條件或者在第9個時鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。頁寫緩沖器的容量:,應在一頁寫完后,隔510ms重新啟動一次寫操作。 用一個開關,用于開電動自行車時里程的計數(shù),并點亮一個指示燈。每次只處理一個按鍵,其間對任何按鍵的操作對系統(tǒng)不產(chǎn)生影響,且無論一次按鍵時間有多長,系統(tǒng)僅執(zhí)行一次按鍵功能程序。它利用了人眼的“視覺暫留現(xiàn)象”,只要多個LED顯示器的選通掃描速率足夠快,人眼就觀察不到數(shù)碼管的閃爍現(xiàn)象。:Y按鍵閉合否?N點亮指示燈關 延時消抖動延 時顯 示BMD單元內(nèi)容放入P0開 延 時BKMD單元內(nèi)容放入P0關 KMD單元內(nèi)容放入P0延 時SKMD單元內(nèi)容放入P0開 里程公里數(shù)的累計功能設計小車輪周長設定為150毫米,分15等份,即15個脈沖,每個脈沖10毫米為單位,對電動自行車的周長進行測量,到100毫米(到10個脈沖),則BMM單元加1,當100個脈沖到來時,M單元加1,以此類推,即可點亮數(shù)碼管(BM,KM,SKM,BKM單元的內(nèi)容)。如果這段程序無語法或邏輯上的錯誤,則連續(xù)運行到設置的斷點處停止運行,返回監(jiān)控狀態(tài)。(1)對照程序流程圖,先對相對獨立的功能模塊,子程序,中斷服務程序等進行仔細地檢查,然后對整個主程序按其功能劃分成若干程序段進行分段檢查,逐步擴大到整個程序系統(tǒng)。3.源程序的調(diào)試源程序的調(diào)試一般可分為分調(diào),聯(lián)調(diào)和考機3步進行。開發(fā)工具應具備: (1)交叉匯編功能。d) 采用串行口與計算機通信,波特率自動設置,最高可達38400。 硬件、軟件仿真調(diào)試本系統(tǒng)的軟件系統(tǒng)全部采用C51來編寫,由于一般的仿真器對C51的支持有一定的缺陷,軟件調(diào)試比較復雜。仿真主控程序被存儲在仿真器芯片特殊的指定空間內(nèi),有一段特殊的地址段用來存儲仿真主控程序,仿真主控程序就象一臺電腦的操作系統(tǒng)一樣控制仿真器的正確運轉(zhuǎn)。 3.準備編程所需的資料 這些資料主要是編程語言方面的書籍、雜志等。這樣,事先準備得比較充分,即使在以后的程序編寫過程中遇到困難,也較易解決。如果仿真通過,那可能的原因就是芯片有問題,請重新檢查,或者換一塊片子 。3. 現(xiàn)在的程序用仿真器仿真通過,程序正常,然后把生成的文件燒寫到芯片里面去,系統(tǒng)沒有任何反應(用仿真器可以控制指示燈亮,將程序?qū)懙叫酒锶ブ缶筒涣亮耍?,將程序?qū)懙叫酒筮€需要如何處理。忙碌了兩個多月,我的畢業(yè)設計課題也終將告一段落。在此表示衷心的感謝! 本次畢業(yè)設計還得到了課題組的各位老師的大力協(xié)助,在此一并表示我們的感謝!參考文獻[1]張友德,趙志英,涂時亮. 單片微型機原理、應用與實驗[M].上海:復旦大學出版社,2000.[2]勒達. 單片機應用系統(tǒng)開發(fā)實例導航[M].北京:人民郵電出版社,2003.[3]薛鈞義,張彥斌. 單片微型計算機及其應用[D].西安:西安交通大學出版社,2001.[4][D].重慶:科學文獻出版社重慶分社,1987.[5][M].北京:人民郵電出版社,1995.[6][M].北京:北京航空航天大學出版社,1996.[7][M].上海:高等教育出版社, 1992.[8][M].北京:科學出版社, 1997.[9][M].哈爾濱:哈爾濱工業(yè)大學出版社 ,1997.[10][M].重慶:重慶大學出版社,2004.[11][J].中國學術期刊,2004,6(5):5661.[12][J].中國學術期刊,2006,3(8):1825.[13] method of developing 80C552 microcontroller on MCS51 device[J].East China Institute of Metallurgy,1998 ,14(27):101125.[14] an MCS51 Microcontronller to an 82527 CAN Controller[J]. Iondon Macmillan PRESS LTD,1996,5(80):3240.[15]Philips ICBus Specification Version()[J].USA,2000,17(35):7183.附錄1 中英文文獻The C Programming LanguageC is a highlevel programming language developed by Dennis Ritchie and Brian Kernighan at Bell Labs in the mid1970s. Although originally designed as a systems programming language, C has proved to be a powerful and flexible language that can be used for a variety of applications, from business programs to engineering. C is a particularly popular language for personal puter programmers because it is relatively smallit requires less memory than other languages.The first major program written in C was the UNIX operating sys