【正文】
37 4L S 1 41 2U47 4L S 1 4116R 2A5 .1K116R 3A1 0K+ 5V + 5V+ 5V 圖 32 霍爾傳感器外部連接電路 15 脈沖整形 電路 信號(hào)預(yù)處理電路如 圖 33 所示。 在輸入端輸入電壓 V1,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場中時(shí),在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢差 Vh 輸出,該 Vh 信號(hào)經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到 OC 門輸出。 位 5 至位 1( A4~ A0):指示操作單元的地址 。突發(fā)模式寄存器如 圖 28 所示。在 24 小時(shí)模式時(shí),位 5 是第二個(gè) 10 小時(shí)位。 SCLK:串行時(shí)鐘,輸入 。 DS1302 的結(jié)構(gòu)與工作原理 DS1302 簡介 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片,附加 31 字節(jié)靜態(tài) RAM,采用 SPI 三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和 RAM 數(shù)據(jù)。 LED 數(shù)碼管 外觀及內(nèi)部原理圖如圖 23 所示。當(dāng)電壓超過開啟電壓時(shí),電流就急劇上升,筆段發(fā)光。其中 和 沒有定義,用戶不能訪問這些位,它們是保留為以后的 AT89 產(chǎn)品作擴(kuò)展用途。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。石晶振蕩和陶瓷振蕩均可采用。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次 PSEN 有效。在平時(shí), ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的 1/6。當(dāng) P3 口寫入 “1” 后,它們被內(nèi)部上拉為高電平,并用作輸入。 P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入, P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 P0 口是三態(tài)雙向 口 ,通稱數(shù)據(jù)總線口 ,因?yàn)橹挥性摽谀苤苯佑糜趯ν獠看鎯?chǔ)器的讀 /寫操作。它集 Flash程序存儲(chǔ)器既可在線編程( ISP)及通用 8 位微處理器于單片芯片中, ATMEL公司的功能強(qiáng)大,低價(jià)位 AT89S51 單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合 ,可靈活應(yīng)用于各種控制領(lǐng)域。 用 4 位數(shù)碼管實(shí)時(shí)顯示里程數(shù),單位為公里,最后一位為小數(shù)位;用 4 位數(shù)碼管實(shí)時(shí)顯示金額,單位為金額數(shù),單位為元,最后一位為小數(shù)位。避免了機(jī)械開關(guān)帶來的不穩(wěn)定因素。從傳統(tǒng)的全部由機(jī)械元件組成的機(jī)械式,到半電子式即用電子線路代替部分機(jī)械元器件的出租車計(jì)價(jià)器;再從集成電路式到目前的單片機(jī)系統(tǒng)涉及的出租車計(jì)價(jià)器。該計(jì)價(jià)器能實(shí)現(xiàn)里程計(jì)價(jià)與顯示 、數(shù)據(jù)存儲(chǔ)與查詢、時(shí)鐘顯示、等功能。 系統(tǒng)工作原理 當(dāng)車子啟動(dòng)時(shí),計(jì)價(jià)開關(guān)閉合,由霍爾傳感器監(jiān)測到的脈沖信號(hào),經(jīng)過處理送到單片機(jī)里程寄存器中進(jìn)行計(jì)算,判斷出行駛里程是否已經(jīng)超過起價(jià)公里數(shù),若已超過,則根據(jù)里程值、每公里的單價(jià)數(shù)和起價(jià)數(shù)來計(jì)算出當(dāng)前的累計(jì)價(jià)格,并將結(jié)果存于價(jià)格寄存器中,再將時(shí)間和當(dāng)前累計(jì)價(jià)格送往顯示電路顯示出來??捎?5V 電壓編程 ,而且擦寫時(shí)間僅需 10 毫秒,僅為 8751/87C51 的擦除時(shí)間的百分之一 ,與 8751/87C51 的 12V 電壓擦寫相比,不易損壞器件,沒有兩種電源的要求,改寫時(shí)不拔下芯片,適合許多嵌入式控制領(lǐng)域。 P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù) /地址的第八位。在給出地址 “1” 時(shí), 它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí), P2 口輸出其特殊功能寄存器的內(nèi)容。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。另外,該引腳被略微拉高。 XTAL2:來自反向振蕩器的輸出。此外, AT89S51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。 這些中斷如 圖 22。 LED 數(shù)碼管等效于多只具有發(fā)光性能的 PN 結(jié)。右圖 共 陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣 的,只是它們的電源極性不同而已。 二、 動(dòng)態(tài)顯示驅(qū)動(dòng): 數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃 “ a,b,c,d,e,f,g,dP” 的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位元選通控制電路,位元選通由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)輸出字形 碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對位元選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。 DS1302 用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄,因此廣泛應(yīng)用于測量系統(tǒng)中。 圖 26 DS1302 有關(guān)日歷、時(shí)間的寄存器 11 小時(shí)寄存器( 85h、 84h)的位 7 用于定義 DS1302 是運(yùn)行于 12 小時(shí)模式還是 24 小時(shí)模式。當(dāng) WP位為 1 時(shí),寫保護(hù)位防止對任一寄存器的寫操作。DS1302 的控制字如 圖 29。 圖 210 數(shù)據(jù)讀寫時(shí)序 具體操作見驅(qū)動(dòng)程序。 圖 212 A44E 霍爾傳感器連接電路 14 第三章 整體電路的設(shè)計(jì) 模塊電路的設(shè)計(jì) 里程電路的設(shè)計(jì) 出租車中需要一個(gè)能準(zhǔn)確獲得車輪轉(zhuǎn)動(dòng)即路程計(jì)量信號(hào)的裝置,以獲得標(biāo)準(zhǔn)的脈沖信號(hào)送入單片機(jī)的定時(shí) /計(jì)數(shù)器 T0 即 腳,利用單片 機(jī)的 T1 計(jì)數(shù)功能完成一百次的計(jì)數(shù)后產(chǎn)生一中斷來完成路程的測量(設(shè)車輪周長為 1 米,則霍爾傳感器每產(chǎn)生 100 個(gè)脈沖便表示車已經(jīng)行程 ,根據(jù)實(shí)際情況在程序中進(jìn)行設(shè)置 ) .汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍爾傳感器集成芯片 A44E 檢測并輸出脈沖,其工作原理 圖 如 圖 31 所示,霍爾傳感器集成芯片 A44E 有信號(hào)轉(zhuǎn)換、電壓放大、整形輸出等功能,為增加其抗干擾的能力,經(jīng)過 74LS14 對信號(hào)整形后再通過光耦送入單片機(jī)相應(yīng)引腳 ,如 圖 32 所示。一般共陰極可以不需要接電阻,但共陽極接法中發(fā)光二極管必須外接電阻。靜態(tài)顯示器接口電路,在位數(shù)較多時(shí),電路比較復(fù)雜,需要的接口芯片較多,成本也較高。 P1 口和 P2 口輸出的位選碼是 “ 000000 0010B” ,只有 呈現(xiàn)高電位, VT9 導(dǎo)通, LED9 位被選中因而具備發(fā)光的使能條件; PA 口的段選碼 “ 01001001B” , PA0、 PA PA PA P0A6 呈現(xiàn) 低 電位,數(shù)碼管的 a、c、 d、 f、 g 字段被點(diǎn)亮 , LED9 就顯示出 “5” 字,而 LED7,LED8 和 LED10則不會(huì)被點(diǎn)亮。 18 MR1V C C2G N D3P F 14W D O8R S T7W D 16P F 05U5M A X 8 13+ 15 VR S TW D 1圖 3 .1 .5 ( 1 ) 掉電存儲(chǔ)電路原理圖 (吳世光 ) 圖 37 AT24C02 掉電存儲(chǔ)電路原理圖 圖中 R R10 是上拉電阻,其作用是減少 AT24C02 的靜態(tài)功耗,由于AT24C02 的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線 SCL(移位脈沖)和 SDA(數(shù)據(jù) /地址)與單片機(jī)傳送數(shù)據(jù)。 當(dāng)達(dá)到目的地時(shí),由于霍爾傳感器沒有送來脈沖信號(hào),就停止計(jì)價(jià),顯示當(dāng)前所應(yīng)該付的金額和對應(yīng)的里程數(shù),到下次啟動(dòng)計(jì)價(jià)器時(shí),按下 S2 鍵,系統(tǒng)會(huì)顯示清零,并重新進(jìn)行初始化過程。 Proteus 軟件提供多種現(xiàn)實(shí)存在的虛擬儀器儀表。在計(jì)算機(jī)上學(xué)習(xí)電工基礎(chǔ),模擬電路、數(shù)字電路、單片機(jī)應(yīng)用系統(tǒng)等課程,并進(jìn)行電路設(shè)計(jì)、仿真、調(diào)試等。 圖 47 程序加載窗口 25 五、 電路仿真 點(diǎn)擊運(yùn)行開關(guān),按下查看開關(guān)按鍵即可查看行駛價(jià)錢,如果是單程以單程價(jià)錢計(jì)費(fèi),在路途中也可以實(shí)現(xiàn)暫停計(jì)費(fèi)。 松香 修復(fù)、優(yōu)化焊點(diǎn),去除焊盤氧化物、輔助熱傳導(dǎo) 。 27 電路板的焊接 焊接流程 一、 焊接開始前,整理好桌面及周邊環(huán)境,為電路焊接工作準(zhǔn)備各個(gè)有條理、整潔的環(huán)境。 四、 單排插針等接插件,可不分次序,便于焊接就好。 在論文的編寫過程中,查閱了不少的相關(guān)資料,使我對 AT89S51 單片機(jī)、 8155 等芯片有了更進(jìn)一步的了解和掌握,同時(shí)也體現(xiàn)了自己專業(yè)知識(shí)學(xué)得不扎實(shí),特別是在電路制作過程中,由于缺少實(shí)際經(jīng)驗(yàn),對單片機(jī)的很多功能還不能熟練的掌握。 bit flag,fgdc,fgwf,fgcx。l0。 TL1=(6553650000)%256。 if(flag==1) { flag=0。 TL1=(6553650000)%256。 } } 34 if(wf==0) { delay(10)。 TR1=1。 disPbuf[4]=x%10。 disPbuf[0]=x%10。 disPbuf[0]=i/1000。 disPbuf[5]=y/100。 } P2=disPbit[disPcount]。 flag=1。 } } } } 39 附錄二: 基于 AT89S51 單片機(jī)出租車計(jì)價(jià)器系統(tǒng) 整體電路 設(shè)計(jì) P 1P 2P 3P 4P 5P 6P 7P 8R S T9P ( R X D )10P ( T X D )11P ( I N T O )12P ( I N T 1)13P ( T 0)14P ( T 1)15P ( W R )16P ( R D )17X T A L 118X T A L 219GND20V C C40P 39P 38P 37P 36P 35P 33P 34P 32E A / V P P31A L E / P R O G30P S E N29P 28P 27P 26P 25P 24P 23P 22P 21U2A T 89 S 51CED I OS C L KS C LS D AD I NL O A DC L KR S TP HRW D I10 u F / 25 VC A P A C I T O RR1 K+ 5VY112 M H zC520 p FC620 p FS1S W P BS2S3S4P P P MR1V C C2GND3P F 14W D O8R S T7W D 16P F 05U5M A X 81 3+ 5VR S TW D 1C1C A PC3C A P12J1C O N 2C2E L E C T R O 1 C4E L E C T R O 1V i n1GND2+ 5V3U1U A 78 051234D1B R I D G E 1GND4X23X12V C C。 if(sec==60) { sec=0。 } } } void t0() interruPt 1 { T0count++。 disPbuf[7]=y%10。 disPbuf[1]=i/100。 disPcount8。 disPbuf[3]=x%10。 disPbuf[7]=x%