版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的汽車倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)摘 要隨著社會(huì)經(jīng)濟(jì)的發(fā)展交通運(yùn)輸業(yè)日益興旺,汽車的數(shù)量在大副攀升。交通擁擠狀況也日趨嚴(yán)重,撞車事件屢屢發(fā)生,造成了不可避免的人身傷亡和經(jīng)濟(jì)損失,針對(duì)這種情況,設(shè)計(jì)一種響應(yīng)快,可靠性高且較為經(jīng)濟(jì)的汽車倒車防撞預(yù)警系統(tǒng)勢(shì)在必行。本設(shè)計(jì)是利用最常見的超聲波測(cè)距法來設(shè)計(jì)的一種基于單片機(jī)的汽車倒車?yán)走_(dá)系統(tǒng)。 本設(shè)計(jì)的主要是基于STC89C52單片機(jī)利用超聲波的特點(diǎn)和優(yōu)勢(shì),將超聲波測(cè)距系統(tǒng)和STC89C52單片機(jī)結(jié)合于一體,設(shè)計(jì)出一種基于STC89C52單片機(jī)的汽車倒車?yán)走_(dá)系統(tǒng)。該系統(tǒng)采用軟、硬件結(jié)合的方法,實(shí)現(xiàn)了汽車與障礙物之間距離的顯示以及危險(xiǎn)距離的
2、聲光報(bào)警等功能。 本設(shè)計(jì)論文概述了超聲波檢測(cè)的發(fā)展及基本原理,闡述了超聲波傳感器的原理及特性。在超聲波測(cè)距系統(tǒng)功能和STC89C52單片運(yùn)用的基礎(chǔ)上,提出了系統(tǒng)的總體構(gòu)成,對(duì)系統(tǒng)各個(gè)設(shè)計(jì)單元的原理進(jìn)行了介紹,并且對(duì)組成各單元硬件電路的主要器件做了詳細(xì)說明和選擇。本設(shè)計(jì)論文還介紹了系統(tǒng)的軟件結(jié)構(gòu),并通過編程來實(shí)現(xiàn)系統(tǒng)功能和要求。 關(guān)鍵詞:汽車倒車?yán)走_(dá)、STC89C52、超聲波、測(cè)量距離、顯示距離、聲光報(bào)警第一章 緒論 1.1 課題設(shè)計(jì)的目的和意義隨著汽車的普及,越來越多的家庭擁有了汽車。交通擁擠狀況也隨之出現(xiàn),撞車事件也是經(jīng)常發(fā)生,人們?cè)谙硎芷噹淼臉啡ず头奖愕?/p>
3、同時(shí),更加注重的是汽車的安全性,許多“追尾”事故都與車距有著密切的關(guān)系。為了解決這個(gè)安全問題,設(shè)計(jì)一種汽車測(cè)距防撞報(bào)警系統(tǒng)勢(shì)在必行。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲經(jīng)常用于距離的測(cè)量,如測(cè)距儀和物位測(cè)量儀等都可以通過超聲波來實(shí)現(xiàn)。利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡單。所以超聲波測(cè)距法是一種非常簡單常見的方法,應(yīng)用在汽車停車的前后左右防撞的近距離測(cè)量,以及在汽車倒車防撞報(bào)警系統(tǒng)中,超聲波作為一種特殊的聲波,具有聲波傳輸?shù)幕疚锢硖匦哉凵?,反射,干涉,衍射,散射。超聲波測(cè)距是利用其反射特性,當(dāng)車輛后退時(shí),超聲波測(cè)距傳感器利用超聲波檢測(cè)車輛后方的障礙物位置,并
4、利用LED顯示出來,當(dāng)?shù)竭_(dá)一定距離時(shí),系統(tǒng)能發(fā)出報(bào)警聲,進(jìn)而提醒駕駛?cè)藛T,起到安全的左右。通過本課題的研究,將所學(xué)到的知識(shí)用在實(shí)踐中并有所創(chuàng)新和進(jìn)步。該設(shè)計(jì)可廣泛應(yīng)用在生活、軍事、工業(yè)等各個(gè)領(lǐng)域,它需要設(shè)計(jì)者有較好的數(shù)電、模電知識(shí),并且有一定的編程能力,綜合運(yùn)用所學(xué)的知識(shí)實(shí)現(xiàn)對(duì)超聲波發(fā)射與接收信號(hào)進(jìn)行控制,通過單片機(jī)程序?qū)Τ暡ㄐ盘?hào)進(jìn)行相應(yīng)的分析、計(jì)算、處理最后顯示在液晶顯示屏上。第二章 設(shè)計(jì)原理及總體方案2.1 本設(shè)計(jì)的研究方法 本設(shè)計(jì)選用US-100超聲波傳感器。了解超聲波測(cè)距的原理的,只有對(duì)理論知識(shí)有一定的學(xué)習(xí)才能運(yùn)用到實(shí)際操作中。根據(jù)原理設(shè)計(jì)超聲波測(cè)距儀的硬件結(jié)構(gòu)電路。對(duì)設(shè)計(jì)的電路進(jìn)行
5、分析能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送和接收,從而實(shí)現(xiàn)利用超聲波測(cè)距的方法測(cè)量物體之間的距離。具體設(shè)計(jì)一個(gè)基于單片機(jī)的超聲波測(cè)距器,包括單片機(jī)控制電路,發(fā)射電路,接收電路,液晶顯示電路,聲光報(bào)警電路。2.2系統(tǒng)整體方案的設(shè)計(jì)由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測(cè)量。利用超聲波檢測(cè)距離,設(shè)計(jì)比較方便,計(jì)算處理也較簡單,并且在測(cè)量精度方面也能達(dá)到農(nóng)業(yè)生產(chǎn)等自動(dòng)化的使用要求。 超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的
6、頻率、功率、和聲波特性各不相同,因而用途也各不相同。目前在近距離測(cè)量方面常用的是壓電式超聲波換能器。根據(jù)設(shè)計(jì)要求并綜合各方面因素,本文采用STC89C52單片機(jī)作為控制器,超聲波驅(qū)動(dòng)信號(hào)用單片機(jī)的定時(shí)器。2.3 系統(tǒng)整體方案的論證超聲波測(cè)距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。實(shí)用的測(cè)距方法有兩種,一種是在被測(cè)距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計(jì);一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測(cè)距儀。此次設(shè)計(jì)采用反射波方式。測(cè)距儀的分辨率取決于對(duì)超聲波傳感器的選擇。超聲波傳感器是一種采用壓電效應(yīng)的傳感器,常用的材料是壓電陶瓷。由于超聲
7、波在空氣中傳播時(shí)會(huì)有相當(dāng)?shù)乃p,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測(cè)量時(shí)應(yīng)選擇頻率高的傳感器,而長距離的測(cè)量時(shí)應(yīng)用低頻率的傳感器。第三章 系統(tǒng)的硬件設(shè)計(jì)2.1 系統(tǒng)的總體框圖照系統(tǒng)設(shè)計(jì)的功能的要求,初步確定設(shè)計(jì)系統(tǒng)由單片機(jī)主控模塊、顯示模塊、超聲波收發(fā)模塊、聲光報(bào)警模塊共四個(gè)模塊組成。單片機(jī)主控芯片使用51系列STC89C52單片機(jī),該單片機(jī)工作性能穩(wěn)定,同時(shí)也是在單片機(jī)課程設(shè)計(jì)中經(jīng)常使用到的控制芯片。發(fā)射電路由單片機(jī)輸出端直接驅(qū)動(dòng)超聲波發(fā)送。接收電路使用三極管組成的放大電路,該電路簡單,調(diào)試工作小較小。圖3-1:系統(tǒng)設(shè)計(jì)框圖硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、
8、超聲波發(fā)射電路和超聲波接收電路、報(bào)警輸出電路、供電電路等幾部分。單片機(jī)采用STC89C52,系統(tǒng)晶振采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差。2.2 US-100超聲波收發(fā)模塊 該超聲波收發(fā)模塊可自己產(chǎn)生40kHz的方波,并經(jīng)放大電路驅(qū)動(dòng)超聲波發(fā)射探頭發(fā)射超聲波,發(fā)射出去的超聲波經(jīng)障礙物反射后由超聲波接收探頭接收。經(jīng)接收電路的檢波放大,積分整形,在ECHO引腳上產(chǎn)生方波脈沖,該脈沖寬度與被測(cè)距離成線性關(guān)系。具體過程如圖2所示。圖2 US-100超聲波收發(fā)模塊工作時(shí)序圖上圖表明:只需要在Trig/TX管腳輸入一個(gè)10us以上的高電平,系統(tǒng)便可發(fā)出8個(gè)40KHZ的超聲波脈沖,
9、然后檢測(cè)回波信號(hào),當(dāng)檢測(cè)到回波信號(hào)后,模塊還要進(jìn)行溫度值的測(cè)量,然后根據(jù)當(dāng)前溫度對(duì)測(cè)距結(jié)果進(jìn)行校正,將校正后的結(jié)果通過Echo/RX管腳輸出。在此模式下,模塊將距離值轉(zhuǎn)化為340m/s時(shí)的時(shí)間值的2倍,通過Echo端輸出一個(gè)高電平,可以根據(jù)此高電平的持續(xù)時(shí)間來計(jì)算距離值。即距離值為:(高電平時(shí)間*340m/s)/2設(shè)l為測(cè)量距離,t為往返時(shí)間差,超聲波的傳播速度為c則有(2-1)而聲波在空氣中的傳播速度為:(2-2)式中T為環(huán)境溫度;c為絕對(duì)溫度時(shí)的速度,是常數(shù)。從上述兩式可以推出:(2-3) 注:因?yàn)榫嚯x值已經(jīng)經(jīng)過溫度校正,所以在此不需考慮溫度補(bǔ)償問題,聲速選擇340m/s即可。使用US-1
10、00超聲波收發(fā)模塊進(jìn)行距離測(cè)量測(cè)量時(shí),單片機(jī)只需要輸出觸發(fā)信號(hào),并監(jiān)視回響引腳,通過定時(shí)器計(jì)算回響信號(hào)寬度,并換算成距離即可。該模塊簡化了發(fā)送和接收的模擬電路,工作穩(wěn)定可靠,其參數(shù)指標(biāo)如表1所示。電 氣 參 數(shù)US-100超聲波測(cè)距模塊工 作 電 壓DC 2.4V5.5V靜 態(tài) 電 流2mA工 作 溫 度-20+70度輸 出 方 式電平或UART(跳線帽選擇)感 應(yīng) 角 度小于15度探 測(cè) 距 離2cm-450cm探 測(cè) 精 度0.3cm+1%UART模式下串口配置波特率9600,起始位1位,停止位1位,數(shù)據(jù)位8位,無奇偶校驗(yàn),無流控制。表1 US-100模塊參數(shù) 應(yīng)注意測(cè)量周期必須在60毫秒
11、以上,防止發(fā)射信號(hào)對(duì)回響信號(hào)的影響。模塊共有兩個(gè)接口,即模式選擇跳線和5pin接口。模式選擇跳線接口設(shè)置為當(dāng)安裝上短路帽時(shí)為UART(串口)模式,拔掉時(shí)為電平觸發(fā)模式。2.3 單片機(jī)電路 單片機(jī)選用高性能的STC89C52,其管角如圖3所示: 圖3 STC89C52單片機(jī)管腳圖該芯片為52內(nèi)核8位單片機(jī),兼容Intel等52內(nèi)核單片機(jī),支持ISP下載,適用于常用檢測(cè)控制電路。由STC89C52組成的單片機(jī)系統(tǒng)原理圖如圖4所示。圖中TRIG引腳為單片機(jī)發(fā)送觸發(fā)信號(hào)的引腳,ECHO引腳為US-100模塊送回回響信號(hào)的引腳,接至單片機(jī)外部中斷P3.2腳上,可以利用外部中斷測(cè)量回響信號(hào)寬度。當(dāng)測(cè)量距離
12、小于20cm時(shí),單片機(jī)通過管腳P3.6發(fā)出燈光報(bào)警信號(hào),觸發(fā)LED報(bào)警燈亮,同時(shí)通過管腳P3.7發(fā)出聲音報(bào)警信號(hào),該信號(hào)用以觸發(fā)蜂鳴器鳴響報(bào)警。圖4 單片機(jī)系統(tǒng)及超聲波模塊接口原理圖2.4 蜂鳴器報(bào)警電路圖5所示為蜂鳴器報(bào)警電路。由于單片機(jī)管腳的輸入比輸出電流大,因此電路設(shè)計(jì)為低電平輸出時(shí)蜂鳴器響,高電平關(guān)閉。當(dāng)P3.7腳輸出低電平時(shí),PNP型三極管8550導(dǎo)通,有集電極電流通過,蜂鳴器鳴響。當(dāng)P3.7腳輸出高電平時(shí),三極管截止,蜂鳴器關(guān)閉。圖5 蜂鳴報(bào)警電路2.5顯示電路表2 液晶屏技術(shù)指標(biāo)顯示部分采用SMC 1602液晶屏進(jìn)行數(shù)據(jù)顯示,其主要技術(shù)參數(shù)為:顯示容量16*2個(gè)字符芯片工作電壓4
13、.55.5V工作電流2.0mA(5.0V)模塊最佳工作電壓5.0V字符尺寸2.95*4.35(WXH)mm接口信號(hào)說明表 如表3表3 液晶屏借口信號(hào)說明編號(hào)符號(hào)引腳說明編號(hào)符合引腳說明1VSS電源地9D2Data I/02VDD電源正極10D3Data I/03VL液晶顯示偏壓信號(hào)11D4Data I/04RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/05R/W讀/寫選擇端(H/L)13D6Data I/06E使能信號(hào)14D7Data I/07D0Data I/015BLA背光源正極8D1Data I/016BLA背光源負(fù)極與單片機(jī)的接口電路如圖6所示圖6 LCD與單片機(jī)的接口電路2.6
14、 系統(tǒng)總電路圖 通過對(duì)單片機(jī)主控模塊、顯示模塊、超聲波收發(fā)模塊、聲光報(bào)警模塊共四個(gè)模塊進(jìn)行結(jié)合,可以繪出系統(tǒng)總的電路圖如圖7:圖7 系統(tǒng)總電路圖第四章 系統(tǒng)的軟件設(shè)計(jì)3.1軟件流程圖 本設(shè)計(jì)軟件主程序流程圖如圖8所示, (a)為主程序流程圖,(b)為外部中斷子程序流程圖。 (a) 主程序流程圖 (b) 外部中斷流程圖圖8 程序流程圖3.2 主程序詳見附錄3.3 程序說明系統(tǒng)加載5V電壓后啟動(dòng),數(shù)據(jù)、定時(shí)器、LCD1602進(jìn)行初始化,程序進(jìn)入while循環(huán),超聲波測(cè)距模塊觸發(fā),發(fā)射超聲波并檢測(cè)有無回波,如果有回波,則超聲波模塊發(fā)射電平信號(hào),驅(qū)使單片機(jī)進(jìn)行計(jì)算,將數(shù)據(jù)顯示在LCD1602上,如果無
15、回波則跳過判斷。程序在計(jì)算完距離后與20cm進(jìn)行比較,如果小于20cm,則驅(qū)動(dòng)蜂鳴器和LED報(bào)警燈進(jìn)行報(bào)警,如果大于20cm,則進(jìn)入一個(gè)60ms的延時(shí),繼續(xù)while循環(huán)進(jìn)行測(cè)量。3.4 硬件設(shè)計(jì)圖結(jié)論本文主要講述了倒車?yán)走_(dá),即超聲波測(cè)距儀的原理和設(shè)計(jì)方法,設(shè)計(jì)的最終結(jié)果是使超聲波測(cè)距儀能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測(cè)量物體間的距離,并以數(shù)字的形式顯示測(cè)量距離,在距離小于50cm時(shí)發(fā)出報(bào)警。超聲波測(cè)距的原理是利用超聲波的發(fā)射和接收,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。超聲波測(cè)距儀硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波接收電路三部分。
16、單片機(jī)采用STC89C51,采用12M 高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差。單片機(jī)控制超聲波發(fā)射與接收模塊進(jìn)行信號(hào)的發(fā)射與接收。顯示電路采用LCD顯示屏進(jìn)行顯示。 附錄:(1) 頭文件和一些宏定義/*/*超聲波測(cè)距儀*/*(液晶屏顯示)*/*晶振 11.0592MHz*/#include <reg52.h>#include "1602.h"typedef unsigned char U8; /* defined for unsigned 8-bits integer variable無符號(hào)8位整型*/typedef signed char S8;
17、/* defined for signed 8-bits integer variable有符號(hào)8位整型*/typedef unsigned int U16; /* defined for unsigned 16-bits integer variable無符號(hào)16位整型*/typedef signed int S16; /* defined for signed 16-bits integer variable有符號(hào)16位整型*/typedef unsigned long U32; /* defined for unsigned 32-bits integer variable無符號(hào)32位整
18、型*/typedef signed long S32; /* defined for signed 32-bits integer variable 有符號(hào)32位整型*/typedef float F32; /* single precision floating point variable (32bits)單精度浮點(diǎn)數(shù)32位長度*/typedef double F64; /* double precision floating point variable (64bits)雙精度浮點(diǎn)數(shù)64位*/定時(shí)器0的定時(shí)值為1mS,即11059/12=922個(gè)時(shí)鐘脈沖,其補(bǔ)為65536-922=646
19、14#define SYSTEMCLK 921600 /11059200/12#define T0CLK 921600 /11059200/12#define T1CLK 921600 /11059200/12#define T1PERIOD 1000000/921600 /T1周期時(shí)間,以微秒為單位,約為1.085uS#define TIMER0H 0xFC /64614/256=252#define TIMER0L 0x66 /54447%256=102(2) 管腳、常量、變量定義和函數(shù)聲明/管腳定義sbit Trig = P13;sbit Echo = P32; /回波必須接在外部中斷引
20、腳上sbit LedAlarm = P36; /報(bào)警燈,低電平亮sbit Beep = P37; /報(bào)警蜂鳴器/定義標(biāo)志volatile bit FlagSucceed = 0; /測(cè)量成功標(biāo)志volatile bit FlagDisplay = 0; /顯示標(biāo)志/定義全局變量U16 DisplayCount=0;U16 time=0;U32 distance=0;/函數(shù)聲明void delay_20us();void Start_Module();void INT0_Init(void);void Data_Init();void Timer0_Init();void Timer1_Init
21、(); (3) 各子程序/20us延時(shí)程序,不一定很準(zhǔn)void delay_20us() U16 bt ; for(bt=0;bt<100;bt+); /8M晶振是100 /數(shù)據(jù)初始化void Data_Init()Trig = 0;distance = 0;DisplayCount = 0;/外部中斷初始化函數(shù)void INT0_Init(void) IT0 = 0; /負(fù)邊沿觸發(fā)中斷 EX0=0; /關(guān)閉外部中斷/外部中斷處理用做判斷回波電平void INT0_ISR (void) interrupt 0 time =TH1*256+TL1; /取出定時(shí)器的值 FlagSucceed
22、 = 1; /置成功測(cè)量的標(biāo)志 EX0=0; /關(guān)閉外部中斷/定時(shí)器0初始化,16位定時(shí)模式,初始化為1ms中斷一次。void Timer0_Init()TMOD = 0x11; /定時(shí)器0和1工作在16位方式TH0 = TIMER0H;TL0 = TIMER0L; TR0 = 1; /啟動(dòng)定時(shí)器ET0 = 1; /允許定時(shí)器0中斷/定時(shí)器0中斷,用做顯示計(jì)時(shí)void Timer0_ISR(void) interrupt 1 / 定時(shí)器0中斷是1號(hào) TH0 = TIMER0H; TL0 = TIMER0L; DisplayCount +; if (DisplayCount >= 1000
23、) /1秒鐘顯示一次 FlagDisplay = 1;DisplayCount = 0; /定時(shí)器1初始化,16位計(jì)數(shù)模式,時(shí)鐘為11059200/12=921600Hz/60ms計(jì)數(shù)為55296,即0xD800void Timer1_Init()TMOD = 0x11; /定時(shí)器0和1工作在16位方式TH1 =0;TL1= 0;ET1 = 1;/啟動(dòng)模塊,Trig管腳20us正脈沖void Start_Module() /啟動(dòng)模塊 Trig=1; /啟動(dòng)一次模塊 delay_20us(); Trig=0;/* 名稱 : Main()* 功能 : 主函數(shù)*/void main() U16 i,
24、 j; EA = 0; INT0_Init();Timer0_Init(); /定時(shí)器0初始化Timer1_Init(); /定時(shí)器1初始化 Data_Init();EA = 1;L1602_init();L1602_string(1,1,"Welcome to my ");L1602_string(2,1,"distance meter! ");/延時(shí)for (i=0;i<1000;i+) for (j=0;j<1000;j+) ;while(1) EA= 0; /以下為一次檢測(cè)過程:先發(fā)出Trig電平,打開外部中斷,清零T1,/最后在外部
25、中斷下降沿觸發(fā)時(shí)取出T1當(dāng)前值,計(jì)算出Trig脈沖寬度。 Start_Module(); while(Echo=0); /等待Echo回波引腳變高電平FlagSucceed = 0;EX0=1;TH1= 0;TL1= 0;TF1= 0; TR1=1; /啟動(dòng)定時(shí)器1開始計(jì)數(shù)EA = 1;while (TH1<80) ; /盲區(qū)TR1 = 0 ; /關(guān)閉定時(shí)器1EX0 = 0; /關(guān)閉外部中斷 if(FlagSucceed=1) /一次測(cè)試成功,則計(jì)算距離,單位為厘米 distance = time * 1.085 ; /計(jì)算得到脈沖時(shí)間(以微秒為單位) /將微秒時(shí)間轉(zhuǎn)變成厘米距離的算法:
26、 Y米=(X秒*344)/2 / X秒=( 2*Y米)/344 =X秒=0.0058*Y米 =厘米=微秒/58 distance /=58; /如果距離小于20cm,則聲光報(bào)警 if (FlagSucceed = 1) && (distance < 20) LedAlarm = 0; Beep = 0; else LedAlarm = 1; Beep = 1; if (FlagDisplay = 1) /1秒顯示時(shí)間到 if(FlagSucceed=0) /LCD提示無回波 L1602_string(1,1,"OutOfRange(0-4m)"); L
27、1602_string(2,1," - "); else /LCD顯示數(shù)據(jù) L1602_string(1,1,"Distance Result:"); L1602_string(2,1," cm "); L1602_int(2, 5, distance ); FlagDisplay = 0;3、顯示程序/* 文件名 : 液晶1602顯示.c* 描述 : 該程序?qū)崿F(xiàn)了對(duì)液晶1602的控制。*/#include "1602.h"#include "math.h"/* 名稱 : delay()* 功能
28、 : 延時(shí),延時(shí)時(shí)間大概為140US。* 輸入 : 無* 輸出 : 無*/void delay()int i,j;for(i=0; i<=10; i+)for(j=0; j<=2; j+);/* 名稱 : Convert(uchar In_Date)* 功能 : 因?yàn)殡娐吩O(shè)計(jì)時(shí),P0.0-P0.7接法剛好了資料中的相反,所以設(shè)計(jì)該函數(shù)。* 輸入 : 1602資料上的值* 輸出 : 送到1602的值*/uchar Convert(uchar In_Date) /* uchar i, Out_Date = 0, temp = 0; for(i=0; i<8; i+) temp =
29、 (In_Date >> i) & 0x01; Out_Date |= (temp << (7 - i); return Out_Date;*/ return In_Date;/* 名稱 : enable(uchar del)* 功能 : 1602命令函數(shù)* 輸入 : 輸入的命令值* 輸出 : 無*/void enable(uchar del)P0 = Convert(del);RS = 0;RW = 0;E = 0;delay();E = 1;delay();/* 名稱 : write(uchar del)* 功能 : 1602寫數(shù)據(jù)函數(shù)* 輸入 : 需要寫入
30、1602的數(shù)據(jù)* 輸出 : 無*/void write(uchar del)P0 = Convert(del);RS = 1;RW = 0;E = 0;delay();E = 1;delay();/* 名稱 : L1602_init()* 功能 : 1602初始化,請(qǐng)參考1602的資料* 輸入 : 無* 輸出 : 無*/void L1602_init(void)enable(0x01);enable(0x38);enable(0x0c);enable(0x06);enable(0xd0);/* 名稱 : L1602_char(uchar hang,uchar lie,char sign)* 功能 : 改變液晶中某位的值,如果要讓第一行,第五個(gè)字符顯示"b" ,調(diào)用該函數(shù)如下 L1602_char(1,5,'b')* 輸入 : 行,列,需要輸入1602的數(shù)據(jù)* 輸出 : 無*/void L1602_char(uchar hang,uchar lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;enable(a);write(sign);/* 名稱 : L1602_string(uchar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高新技術(shù)研發(fā)廠房租賃合同3篇
- 2024版汽車租賃合同樣本6篇
- 二零二五年度駕校學(xué)員駕駛技能競賽組織與管理合同3篇
- 二零二四企業(yè)銷售合同合規(guī)性審核與風(fēng)險(xiǎn)防范協(xié)議3篇
- 2025年度西餐廳桌椅設(shè)計(jì)采購及裝修合同模板3篇
- 2025年度科技企業(yè)戰(zhàn)略合作伙伴股權(quán)調(diào)整協(xié)議書3篇
- 二零二五年度航空航天器打膠工藝優(yōu)化合同2篇
- 2025版汽車金融臨時(shí)借款合同范例4篇
- 二零二五年度環(huán)保產(chǎn)品認(rèn)證服務(wù)合同環(huán)保條款3篇
- 二零二四年農(nóng)產(chǎn)品電商平臺(tái)會(huì)員服務(wù)及積分獎(jiǎng)勵(lì)合同3篇
- 二零二五年度無人駕駛車輛測(cè)試合同免責(zé)協(xié)議書
- 北京市海淀區(qū)2024-2025學(xué)年高一上學(xué)期期末考試歷史試題(含答案)
- 常用口服藥品的正確使用方法
- 2025年湖北華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員52名歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年鉆探工程勞務(wù)協(xié)作協(xié)議樣式版B版
- 《心肺復(fù)蘇機(jī)救治院內(nèi)心搏驟?;颊咦o(hù)理專家共識(shí)》解讀
- 計(jì)算機(jī)二級(jí)WPS考試試題
- 智聯(lián)招聘行測(cè)題庫及答案
- 2023中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- GB∕T 2099.1-2021 家用和類似用途插頭插座 第1部分:通用要求
- 超潔凈管道(CL-PVC)施工技術(shù)
評(píng)論
0/150
提交評(píng)論