新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機典型案例開發(一)

        單片機典型案例開發(一)

        作者: 時間:2012-05-28 來源:網絡 收藏

          圖3 智能泊車系統總體流程圖

          圖3 智能泊車系統總體流程圖
         3 各模塊測試及連接

          各模塊連接:小車舵機左轉輸入端接P3.4;小車舵機右轉輸入端接P3.5;小車驅動電機前進輸入端接P3.6;小車驅動電機后退輸入端接P3.7;光電避障模塊左傳感器輸出端接P1.0;光電避障模塊右傳感器輸出端接P1.1;光源引導模塊左傳感器輸出端接P1.2;光源引導模塊中間傳感器輸出端接P1.3;光源引導模塊右傳感器輸出端接P1.4。

          小車整體測試:把小車放在停車場入口處,打開小車電源,打開車庫中對應車庫位置的光源電源,小車避開障礙通過停車場下坡區,到達指定車庫前面,依靠光源引導入庫,停車。

           圖4 避障程序流程圖

          圖4 避障程序流程圖

          圖5 光源引導程序流程圖

          圖5 光源引導程序流程圖

          4 結 論

          本文設計的智能泊車系統可以在實驗室內實現小車的自動駛入指定停車位的功能。將小車停在停車場入口處,然后車主可以離開小車,此時小車就可以根據停車場內的車輛誘導信號(光源引導信號)將車引入停車場,從而實現自動泊車過程。

        四、基于的LED顯示數字電壓表

          1 引言

          是一種集成電路芯片,隨著計算機在社會領域的滲透, 的應用正在不斷地走向深入,同時帶動傳統控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。由于單片機具有簡單實用、高可靠性、良好的性能價格比以及體積小等優點,已經在各個技術領域得到了迅猛發展。數字電壓表(Digital Voltmeter)簡稱DVM,它是采用數字化測量技術,把連續的模擬量(直流輸入電壓)轉換成不連續、離散的數字形式并加以顯示的儀表。傳統的指針式電壓表功能單一、精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D 轉換器構成的數字電壓表,已被廣泛用于電子及電工測量、工業自動化儀表、自動測試系統等智能化測量領域,示出強大的生命力。與此同時,由DVM擴展而成的各種通用及專用數字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本設計重點介紹單片A/D 轉換器以及由它們構成的基于單片機的數字電壓表的工作原理。

          2 總體設計方案

          2.1 設路計思路

          按系統功能要求,決定控制系統采用AT89S51單片機,A/D轉換采用ADC0809.系統除能確保實現要求的功能外,還可以方便地進行其功能的擴展。本文采用AT89s51作為核心元件,AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案。

          采用NS公司的分辨率為8位的逐次比較型的高精度的模數轉換器ADC0809,ADC0809是帶有8位A/D轉換器、8路多路開關以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉換器,可以和單片機直接接口。把采取的電壓進行處理然后通過單片機的P口送到單片機然后經過程序處理,由LED電路把電壓數值顯示出來。單片機加上外圍的串口顯示電路由74LS245和數碼管三極管組成。

          器件采用ATMEL公司的高密度,非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89s51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。

          2.2 設計方框圖

          

          圖1 數字電壓表系統設計方案

        3 設計原理分析

          3.1 單片機AT89S51

          AT89S51單片機是美國ATMEL公司生產的低功耗,高性能CMOS 8位單片機,片內含4K bytes的可系統編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度,非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器,既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。

          3.2 AT89S51的特點

          40個引腳,4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器 此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產品的需求。

          主要特性在:

          ● 與MCS-51單片機產品兼容

          ● 4K字節在系統可編程Flash存儲器

          ● 1000次擦寫周期

          ● 全靜態工作:0Hz-33MHz

          ● 32個可編程I/O口線

          ● 2個16位定時器/計數器

          ● 6個中斷源

          ● 全雙工UART串行通道

          ● 低功耗空閑和掉電模式

          ● 掉電后中斷可喚醒

          ● 看門狗定時器

          ● 雙數據指針

          ● 靈活的ISP編程(字或字節模式)

          ● 4.0---5.5V電壓工作范圍

          3.3 ADC0809的內部邏輯結構

          八路數字電壓表主要利用A/D轉換器,處理過程是先用A/D轉換器對各路電壓值進行采樣,得到相應的數字量,再按數字量與模擬量成正比關系運算得到對應的模擬電壓值,然后把模擬值通過顯示器顯示出來。設計時假設待測的輸入電壓為八路,電壓值的范圍為0~5V,要求能在4位LED數碼管上輪流顯示或單路選擇顯示。測量的最小分辨率為0.0119V,c測量誤差為±0.02V。

          ADC0809是8路8位ADC芯片,片內有8路模擬開關、地址鎖存與譯碼、256電阻梯形網絡、電子開關樹、逐次逼近寄存器、比較器和3態輸出鎖存器等,特別適合與微機接口。時鐘頻率=1.26MHz,轉換時間=100μs,轉換誤差≤±1LSB,內含8路數據選擇器以便進行8路ADC。8路8位2進制碼LSTTL電平輸出,28腳封裝。ADC0809多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態輸出鎖器用于鎖存A/D轉換完的數字量,當OE端為高電平時,才可以從三態輸出鎖存器取走轉換完的數據。ADC0809的內部邏輯結構如圖3.1所示。

          

          圖2 ADC0809的內部邏輯結構

          3.4 引腳結構

          ADC0809具有8路模擬量輸入通道IN0~IN7,通過3位地址輸入端C、B、A(因腳23、24、25)進行選擇。引腳22為地址鎖存控制端ALE,當輸入為高電平時,C、B、A引腳輸入的地址鎖存與ADC0809內部的鎖存器中,經內部譯碼電路譯碼選中相應的模擬通道。引腳6為啟動轉換控制端START,當輸入一個2 us寬的高電平脈沖時,就啟動ADC0809開始對輸入通道的模擬量進行轉換。引腳7為A/D轉換的結束信號EOC。ADC0809為逐次比較型A/D轉換器,當開始轉換時,EOC信號為低電平,經過一定時間,轉換結束,轉換結束信號EOC輸出高電平,轉換結果存放與ADC0809內部的輸出數據鎖存器中。引腳9為A/D轉換數據輸出允許控制端OE,當OE為高電平時,存放與輸出數據存儲器中的數據通過ADC0809的數據線D0~D7輸出。引腳10為ADC0809的時鐘信號輸入端CLOCK。在連接時,ADC0809的數據線D0~D7與AT89S51的P0口相連,ADC0809的地址引腳、地址鎖存端ALE、啟動信號START、數據輸出允許控制端OE分別與AT89S51的P2口相連,轉換結束信號EOC與AT89S51的P3.7口相連。時鐘信號輸入端CLOCK信號,由單片機的地址鎖存控制端ALE提供。單片機的系統時鐘為12MHZ。

          IN0-IN7:8條模擬量輸入通道 。ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉換過程中保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。

          地址輸入和控制線:4條 。ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬量進轉換器進行轉換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。

          數字量輸出及控制線:11條 。ST為轉換啟動信號,當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態。D7-D0為數字量輸出線。

          CLK為時鐘輸入信號線。因ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為1MHZ,VREF(+),VREF(-)為參考電壓輸入。

          3.5 ADC0809應用說明

          ADC0809內部帶有輸出鎖存器,可以與AT89S51單片機直接相連。 初始化時,使ST和OE信號全為低電平。送要轉換的哪一通道的地址到A,B,C端口上。在ST端給出一個至少有100ns寬的正脈沖信號。是否轉換完畢,我們根據EOC信號來判斷。當EOC變為高電平時,這時給OE為高電平,轉換的數據就輸出給單片機。

          3.6 ADC0809工作原理

          8路模擬信號由ADC0809的IN0~IN7端輸入,AT89S51單片機的ALE端口輸出的脈沖信號送ADC0809的10腳作為ADC的時鐘信號(產生CLK信號的方法就得用軟件來產生)。A/D轉換完成之后,從EOC端返回AT89S51一個轉換結束信號,單片機隨即用信號將A/D轉換的數字輸出從D0~D7端經P0口數據總線讀入自己的存儲器中。A/D轉換過程全部結束。再經軟件程序轉換成a~g 7段碼輸出,驅動LED數碼管。各位數碼管由位控信號P3.0、P3.1、P3.2、P3.3控制,由74LS245反相驅動將依次巡回點亮數碼管。

          3.7 復位電路的設計

          本設計采用了上電自動復位和手動復位,上電自動復位是再加電瞬間電容通過充電來實現的,其電路如圖3.2所示。在充電瞬間,電容C通過復位電阻R充電,RST端出現正脈沖,以復位。只要電源VCC的上升時間不超過1MS,就可以實現自動復位,既接通電源就完成了系統的復位初始化,手動復位是通過按鈕實現的。

          

          圖3 復位電路

          3.8 時鐘電路的設計

          任何一塊單片機的正常工作都離不開時鐘信號,本設計中利用8951內部的高增益反相放大器,外加石英晶體以及兩個電容就構成了穩定的自激振蕩器。給單片機提供了時鐘信號,保持單片機按正常的時序工作。

          

          圖4 時鐘電路

        手機電池相關文章:手機電池修復


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        霍爾傳感器相關文章:霍爾傳感器工作原理


        霍爾傳感器相關文章:霍爾傳感器原理
        晶振相關文章:晶振原理
        脈沖點火器相關文章:脈沖點火器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兰西县| 临洮县| 汕尾市| 墨竹工卡县| 鸡西市| 孟津县| 康马县| 镇坪县| 佛山市| 从化市| 登封市| 友谊县| 西乌珠穆沁旗| 广饶县| 白城市| 金昌市| 安宁市| 阿城市| 共和县| 孙吴县| 平江县| 民和| 定南县| 贵阳市| 大兴区| 镇江市| 长葛市| 隆林| 安新县| 舞阳县| 云龙县| 当雄县| 阜康市| 班玛县| 彩票| 南涧| 库尔勒市| 武清区| 黔西| 富顺县| 嘉荫县|