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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機的超聲波測距系統(tǒng)設(shè)計實驗報告__-_重-免費閱讀

2025-01-03 07:16 上一頁面

下一頁面
  

【正文】 //500ms flag_value ++。 TL1 = 0x30。 //每 300ms 加一次 if(zd_break_value 100) //30 秒后自動退出設(shè)置界面 { menu_1 = 0。 //測距離函數(shù) smg_display()。 0x7f。 i5。 char i。i++) { k=i。 if(temp 380) //如果大于 就超出超聲波的量程 { temp = 888。 break 。 //關(guān)定時器 0 定時 flag_hc_value = 0。i) { _nop_()。 //開總中斷 TMOD = 0X11。 23 } if(key_can == 3) //得到 k4 鍵值(減) { set_d 。 //500ms 加減一次 else menu_ljsd = 1。 } if(menu_1 == 1) //設(shè)置界面 { menu_ljsd = 1。 //初始化標識符 } 22 /*******************按鍵處理數(shù)函數(shù) ***************************/ void key_with() { if(key_can == 1) //得到 k2 鍵值(設(shè)定鍵) { menu_1 ++。 (key_old == 1)) //確認有鍵按下 { switch(P2 amp。 //自動退出設(shè)置界使能 zd_break_value = 0。 write_eepom()。 0x07) == 0x07) //松手檢測( 5 次) key_value ++。 set_d |= byte_read(0x2021)。 smg_we_switch(i)。 case 0: smg_we1 = 1。 smg_we3 = 1。 //菜單設(shè)計的變量 uchar a_a。 //按鍵的 IO 變量的定義 uchar key_can。 //超聲波中間變量 sbit beep = P2^3。 //數(shù)碼管位選 uchar dis_smg[4] ={0,1,2,3}。 //處理距離顯示函數(shù) if(zd_break_en == 1) //自動退出設(shè)置界面程序 { zd_break_value ++。 ( 2)主程序源代碼 void main() { send_wave()。 ④ 聲光報警模塊。 給超聲波 Trig 口 至少 10us 的高電平,啟動測量,定時 器 T0計時,通過計算測得距離。通過分時輪流控制各個數(shù)碼管的的 COM 端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。其引腳圖如圖 23 所示: a 引腳圖 b 實物圖 圖 23 STC89C52引腳圖 6 HCSR04 超聲波模塊 HCSR04 超聲波模塊具有性能穩(wěn)定、測度距離精確、模塊高精度、盲區(qū)小等特點,使用簡單易操作,常用于距離測量。工作電壓: ~ 。超聲波回波信號輸入單片機,經(jīng)單片機綜合分析處理后實現(xiàn)其預(yù)定功能。超聲波測距具有非接觸式、測量快速、計算簡單、應(yīng)用性強的特點,在汽車倒車雷達系統(tǒng)、液位測量等方面應(yīng)用廣泛。其中由STC89C52 單片機最小系統(tǒng)、 HCSR04 超聲波模 塊、電源接口電路、 4位共陽極數(shù)碼管顯示電路、三極管驅(qū)動電路、蜂鳴器聲光報警電路及鍵盤電路構(gòu)成硬件系統(tǒng)??臻e模式下, CPU 停止工作,允許 RAM、定時器 /計數(shù)器、串口、中斷繼續(xù)工作。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極 COM 接到 +5V,當某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。 12 ( 5) 聲光報警電路的設(shè)計 聲光報警電路如圖 214 所示: 圖 214 聲光報警電路 聲光報警電路由一個蜂鳴器、一個三極管、一個發(fā)光二極管、兩個電阻構(gòu)成。 由鍵盤檢測函數(shù)及鍵盤處理函數(shù)組成。 ⑥ 定時器模塊。 clock_h_l()。 14 } } } key()。 sbit c_send = P3^1。 //定義測量距離 uint set_d。 //按鍵連 3 次連加后使能 加的數(shù)就越大了 uchar key_time。 break。 smg_we3 = 0。 } } /***********************數(shù)碼管顯示函數(shù) *****************************/ void display() { static uchar i。 byte_write(0x2058, a_a)。 write_eepom()。 //關(guān)閉連加的使能 flag_lj_3_en = 0。 key_new = 0。 zd_break_value = 0。 //得到 k3 鍵值(加) case 0x03: key_can = 3。 dis_smg[2] = smg_duan[distance / 100 % 10] amp。 dis_smg[3] = 0x88。 dis_smg[2] = smg_duan[set_d / 100 % 10] amp。 0x7f 。 //允許定時器 1 定時 } /****************延遲函數(shù)( 10us,超聲波發(fā)射需要) ********************/ void delay() { int i=10。 TH0 = 0。 flag_csb_juli = 2。 //讀出定時器 0 的時間 temp = temp * 256 + TL0。 void choise(int *a,int n) //選擇法排序 { 25 int i,j,k,temp。 a[i]=a[k]。 iBuff[1] = iBuff[0]。 //關(guān)中斷 dis_smg[0] = smg_duan[distance % 10]。 //蜂鳴器報警 } } else { value = 0。 //報警函數(shù) send_wave()。 //按鍵函數(shù) if(key_can 4) { key_with()。 } if(value % 25 == 0) { if(flag_lj_en == 1) //按下按鍵使能 50ms { key_time ++。 //3 次后 秒后連加大些 } } } } } 。 if(value = 150) //300ms 中斷一次 { value = 0。 zd_break_value = 0。 //初始化 eepom(讀取 set_d) while(1) { if(flag_300ms == 1) //300ms 執(zhí)行一次 { flag_300ms = 0。 if(distance = set_d) { value ++。 //調(diào)用 choise 函數(shù),冒泡排序 di
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1