freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的超聲波測(cè)距儀設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文(文件)

2025-12-01 02:41 上一頁面

下一頁面
 

【正文】 以單片機(jī)為核心的測(cè)距儀器可以實(shí)現(xiàn)預(yù)置、多端口檢測(cè)、顯示、報(bào)警等多種功能,并且成本低、精度高、操作簡(jiǎn)單、工作穩(wěn)定、可靠。位處理在開關(guān)決策、邏輯電路仿真、過程測(cè)控等方面極為有效;而 8 位處理則在數(shù)據(jù)采集和處理等方面具有明顯長(zhǎng)處 [8]。 可對(duì)測(cè)得數(shù)據(jù)優(yōu)化處理,并采用溫度補(bǔ)償,使測(cè)量誤差降到更低限度; AT89C51 還控制顯示電路,用動(dòng)態(tài)掃描法實(shí)現(xiàn) LED 數(shù)字顯示。 圖 31 超聲波測(cè)距儀系統(tǒng)結(jié)構(gòu)框圖 齊魯工業(yè)大學(xué) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 7 單片機(jī) AT89C52 單片機(jī)即單片微型計(jì)算機(jī) SCMC( Single Chip MicroComputer)。 AT89C51 是一個(gè)低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含 4k bytes 的可反復(fù)擦寫的 Flash 只讀程序存儲(chǔ)器和 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( RAM),器件采用 ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS51指令系統(tǒng),片內(nèi)置通用 8 位中央處理器和 Flash 存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的 AT89C51 提供了高性價(jià)比的解決方案 [9]。 AT89C52 的引腳 功能 有: 1) 主電源引腳 VSS—— 第 20 腳,電路接地電平。 XTAL1—— 第 18 腳,接外部晶振的另一個(gè)引腳,它是片內(nèi)反相放大器的輸 出端口。在 VCC 掉電期間,此引腳 (即 VPD)可接通備用電源,以保持片內(nèi) RAM 信息不受破壞。要注意的是:每當(dāng)訪問外部存儲(chǔ)器時(shí)將跳過一個(gè) ALE 脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的 PSEN 信號(hào)不出現(xiàn)。 Flash 存儲(chǔ)器編程時(shí),該引腳加上 +12V的編程允許電源 VPP,當(dāng)然這必須是該器件是使用 12V編程電壓 VPP。 P1 口 —— 第 1~8 腳,具有內(nèi)部上拉電路的 8 位準(zhǔn)雙向 I/O 端口。 P3 口 —— 第 10~17 腳,具有內(nèi)部上拉電路的 8 位準(zhǔn)雙向 I/O 端口。超聲波在恒定環(huán)境條件下的傳播速度不變。超聲波傳感器由兩個(gè)壓電晶片和一個(gè)共振板組成,當(dāng)壓電晶片的兩極加上頻率等于其固有諧振頻率的脈沖信號(hào)時(shí),壓電晶片產(chǎn)生共振,并帶動(dòng)共振板產(chǎn)生振動(dòng),同時(shí)帶動(dòng)壓電晶片也一起振動(dòng),將機(jī)械能轉(zhuǎn)換為電能,稱為超聲波接收器。 齊魯工業(yè)大學(xué)畢業(yè) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 10 第 4 章 硬件電路設(shè)計(jì) 超聲波發(fā)射電路 超聲波發(fā)射電路原理圖如圖 41所示。 圖 41 超聲波發(fā)射電路原理圖 超聲波接收電路 超聲波接收電路由超聲波傳感器、兩級(jí)放大電路和鎖相環(huán)電路組成。由于發(fā)送的超聲波頻 率為 40kHz,幫調(diào)整相關(guān)元件使鎖相環(huán)的中心頻率為 40kHz,只響應(yīng)該頻率的信號(hào),避免了其他頻率信號(hào)的干擾。動(dòng)態(tài)掃描時(shí),由 P2 口控制 LED 的當(dāng)前顯示位。為方便起見,本設(shè)計(jì)采用的是 9V電池供電,直流電送入三端穩(wěn)壓器 LM7805 穩(wěn)壓,輸出 +5V穩(wěn)恒直流電,作為電路的電源。本設(shè)計(jì)的主程序流程圖如圖 51 所示。 最后檢測(cè)按鍵 k2,若 k2 閉合,則調(diào)用溫度顯示子程序, LED 顯示溫度(溫度并非測(cè)量距離時(shí)用于補(bǔ)償?shù)臏囟?,而是?dāng)前溫度) 5s 后恢復(fù)顯示本次測(cè)量距離;若按鍵k2 沒有閉合,則顯示器恒定顯示最新一次的測(cè)量結(jié)果;若要進(jìn)行下一次測(cè)量,則先齊魯工業(yè)大學(xué)畢業(yè) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 14 要按下 k3 重新開始,再按下按鍵 k1 才執(zhí)行新一次測(cè)量。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器T1 停止計(jì)時(shí),并將測(cè)距成功標(biāo)志字賦值 1。 radical=sqrt(1+(temnum+273)/273)。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS51 單片機(jī)的匯編軟件有早期的 A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展, Keil 軟件是目前最流行開發(fā) MCS51 系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持 Keil 即可看出。它運(yùn)行于Windows 操作系統(tǒng)上,可以仿真、分析 (SPICE)各種模擬器件和集成電路,該軟件具有如下特點(diǎn):①實(shí)現(xiàn)了單片 機(jī)仿真和 SPICE 電路仿真相結(jié)合。③提供軟件調(diào)試功能。本章介紹 Proteus ISIS軟件的工作環(huán)境和一些基本操作 [6]。③測(cè)量 時(shí)在超聲波測(cè)距儀周圍沒有其他可反射超聲波的物體。實(shí)物圖如圖 53 所示。 本設(shè)計(jì)完整地做出之后可測(cè)量三米以內(nèi)的距離。 extern unsigned char _cror_ (unsigned char, unsigned char)。 extern unsigned int _irol_ (unsigned int, unsigned char)。 void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)。 void Decode(unsigned char ScanCode)。 unsigned char ReadStatusLCM(void)。 unsigned char code ASCII[17] = {39。,39。,39。,39。,39。,39。,39。,39。,}。 unsigned long S1=0。 unsigned char disbuff[8] ={ 0,0,0,0,0,0,0,0,}。 LCM_RW = 0。 } //寫指令 void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC 為 0 時(shí)忽略忙檢測(cè) { if (BuysC) ReadStatusLCM()。 LCM_E = 0。 LCM_RW = 1。 return(LCM_Data)。 LCM_E = 0。 Busy)。 //三次顯示模式設(shè)置 , 不檢測(cè)忙信 號(hào) Delay5Ms()。 Delay5Ms()。 //顯示清屏 WriteCommandLCM(0x06,1)。 X amp。 X |= 0x80。 ListLength = 0。= 0xF。 } } } //5ms 延時(shí) void Delay5Ms(void) { unsigned int TempCyc = 5552。 while(TempCycA) { TempCycB=7269。 齊魯工業(yè)大學(xué)畢業(yè) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 27 TH0=0。 DisplayOneChar(0, 1, ASCII[11])。 DisplayOneChar(4, 1, ASCII[12])。 DisplayOneChar(0, 1, ASCII[disbuff[0]])。 DisplayOneChar(4, 1, ASCII[12])。 齊魯工業(yè)大學(xué)畢業(yè) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 28 TH1=0。 DisplayOneChar(0, 0, ASCII[11])。 DisplayOneChar(4, 0, ASCII[12])。 DisplayOneChar(0, 0, ASCII[disbuff[3]])。 DisplayOneChar(4, 0, ASCII[12])。 //中斷溢出標(biāo)志 } 齊魯工業(yè)大學(xué)畢業(yè) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 29 void zd1() interrupt 3 //T0 中斷用來計(jì)數(shù)器溢出 ,超過測(cè)距范圍 { flag2=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 } void StartModule2() //啟動(dòng)模塊 { TX2=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 for(。 } } } /*********************************************************/ void main(void) { unsigned char TempCyc。 //延時(shí)片刻 (可不要 ) DisplayListChar(0, 0, mcustudio)。 TempCyc10。 //設(shè) T0 為方式 1, GATE=1; TH0=0。 TL1=0。 // DisplayOneChar(0, 1, ASCII。 EA=1。 ET0=1。 //延時(shí) DisplayListChar(0, 1, Cls)。 ReadDataLCM()。 //啟動(dòng)等待,等 LCM 講入工作狀態(tài) LCMInit()。ms) { while(i) { j=10。 TX2=0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 //啟動(dòng)一次模塊 _nop_()。 DisplayOneChar(7, 0, ASCII[15])。 //顯示點(diǎn) DisplayOneChar(2, 0, ASCII[disbuff[4]])。 disbuff[4]=S2%1000%100/10。 //顯示點(diǎn) DisplayOneChar(2, 0, ASCII[11])。 S2=(time2*)/100。 DisplayOneChar(7, 1, ASCII[15])。 //顯示點(diǎn) DisplayOneChar(2, 1, ASCII[disbuff[1]])。 disbuff[1]=S1%1000%100/10。 //顯示點(diǎn) DisplayOneChar(2, 1, ASCII[11])。 S1=(time1*)/100。 }。 } //400ms 延時(shí) void Delay400Ms(void) { unsigned char TempCycA = 5。 //顯示單個(gè)字符 ListLength++。= 0x1。 //發(fā)命令字 WriteDataLCM(DData)。 //限制 X不能大于 15, Y 不能大于 1 if (Y) X |= 0x40。 // 顯示開及光標(biāo)設(shè)置 } //按指定位置顯示一個(gè)字符 void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData) { Y amp。 //顯示模式設(shè)置 ,開始要求每次檢測(cè)忙信號(hào) WriteCommandLCM(0x08,1)。 Delay5Ms()。 } void LCMInit(void) //LCM 初始化 { 齊魯工業(yè)大學(xué)畢業(yè) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 25 LCM_Data = 0。 LCM_E = 1。 LCM_RS = 0。 LCM_E = 0。 LCM_E = 1。 LCM_RS = 0。 //若晶振速度太高可以在這后加小的延時(shí) LCM_E = 0。 //檢測(cè)忙 LCM_Data = WDLCM。 bit flag1 =0。 //顯示用指針 unsigned int time1=0。,39。,39。,39。,39。,39。,39。,39。,39。 unsigned char code [] = {qianfang }。 void WriteCommandLCM(unsigned char WCLCM,BuysC)。 void Delay5Ms(void)。 extern unsigned char _chkfloat_(float)。 extern unsigned long _lror_ (unsigned long, unsigned char)。 齊魯工業(yè)大學(xué)畢業(yè) 2020 屆本科畢業(yè)設(shè)計(jì)(論文) 19 參考文獻(xiàn) [1] 閻石 .數(shù)字電子技術(shù)基礎(chǔ) [M]. 第五版 . 北京:高等教育出版社, [2] 李建忠 .單片機(jī)原理及應(yīng)用 [M]. 第二版 . 西安:西安電子科技大學(xué)出版社, [3] 夏路易 ,石宗義 .電路原理圖與電路設(shè)計(jì)教程 Protel99SE[M]. 第一版 . 北京:希望電子出版社 , [4] 梅麗鳳 ,王艷秋 ,汪毓鐸等 .單片機(jī)原理及接口技術(shù) [M]. 第三版 . 北京:清華大學(xué)出版社,
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1