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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)報(bào)告__-_重(編輯修改稿)

2025-01-07 07:16 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 17 四、參 考文獻(xiàn) [1] C 程序設(shè)計(jì)(第三版) . 譚浩強(qiáng) . 清華大學(xué)出版社 . [2] 新概念 51 單片機(jī) c 語(yǔ)言教程 . 郭天祥 . 電子工業(yè)出版社 [3] 傳感器與檢測(cè)技術(shù) . 胡向東 . 機(jī)械工業(yè)出版社 [4] 微控制其原理及應(yīng)用 . 向敏 . 人民郵電出版社 五、 附錄 附 錄 一:系統(tǒng)總體電路圖 圖 51 超聲波探測(cè)程序流程圖 18 附 錄 二:系統(tǒng)軟件源代碼 /* *************************************************** *課設(shè)名稱:基于 51 單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì) *硬件平臺(tái) : 超聲波模塊 +51 最小系統(tǒng) *顯示模塊: 4 個(gè)數(shù)碼管 *輸入模塊: 3 個(gè)按鍵 *實(shí)現(xiàn)的功能:用超聲波模塊把距離測(cè)量出來(lái),用數(shù)碼管顯示,可通過(guò)按鍵設(shè)置要報(bào)警的距離,低于設(shè)置 * 的值則自動(dòng)報(bào)警,一直按住調(diào)值的鍵會(huì)越加越快 ,超出量程( )則顯示 888 *接口說(shuō)明:數(shù)碼管位 P3^4 P3^5 P3^6 P3^7 * 超聲波發(fā)射 =P3^2 * 超聲波接收 =P3^3 按鍵用的接口是 P2 口 *待改進(jìn)的地方:溫度補(bǔ)償,提 高精度 *當(dāng)前的缺陷: 不能測(cè)出 4m 的距離 *測(cè)量單位:米( m) ****************************************************/ include include include include define uchar unsigned char define uint unsigned int //數(shù)碼管段選定義 設(shè) 0 1 2 3 4 5 6 7 8 9 uchar code smg_duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 //數(shù)碼管位選 uchar dis_smg[4] ={0,1,2,3}。 sbit smg_we1 = P3^4。 //數(shù)碼管位選端口 sbit smg_we2 = P3^5。 sbit smg_we3 = P3^6。 sbit smg_we4 = P3^7。 sbit c_send = P3^1。 //超聲波發(fā)射 sbit c_recive = P3^0。 //超聲波接收 uchar flag_hc_value。 //超聲波中間變量 sbit beep = P2^3。 //蜂鳴器 IO 口定義 19 uchar smg_i = 3。 //顯示數(shù)碼管的個(gè)數(shù): 3 bit flag_300ms 。 //主程序 300ms 處理一次的標(biāo)識(shí)符 bit key_500ms 。 //按鍵程序 500ms 處理一次的標(biāo)識(shí)符 long distance。 //定義測(cè)量距離 uint set_d。 //定義設(shè)定距離 uchar flag_csb_juli。 //超聲波超出量程 long flag_time0。 //按鍵的 IO 變量的定義 uchar key_can。 //按鍵值的變量 uchar zd_break_en,zd_break_value。 //自動(dòng)退出設(shè)置界面 uchar menu_ljsd = 10。 //用來(lái)控制連加的速度 bit flag_lj_en。 //按鍵連加使能 bit flag_lj_3_en。 //按鍵連 3 次連加后使能 加的數(shù)就越大了 uchar key_time。 //定時(shí)器用,作為連加的中間變量,按鍵時(shí)間 uchar flag_value。 //定時(shí)器用,作為連加的中間變量 uchar menu_1。 //菜單設(shè)計(jì)的變量 uchar a_a。 //設(shè)定值寫入單片機(jī)標(biāo)志符 /***********************數(shù)碼管位選函數(shù) *****************************/ void smg_we_switch(uchar i) { switch(i) { case 3: smg_we1 = 0。 smg_we2 = 1。 smg_we3 = 1。 smg_we4 = 1。 break。 case 2: smg_we1 = 1。 smg_we2 = 0。 smg_we3 = 1。 smg_we4 = 1。 break。 case 1: smg_we1 = 1。 smg_we2 = 1。 smg_we3 = 0。 smg_we4 = 1。 break。 case 0: smg_we1 = 1。 smg_we2 = 1。 smg_we3 = 1。 smg_we4 = 0。 break。 } } /***********************數(shù)碼管顯示函數(shù) *****************************/ void display() { static uchar i。 i++。 if(i = smg_i) //smg_i=3, i = 0。 smg_we_switch(i)。 //調(diào)用位選函數(shù) P1 = dis_smg[i]。 //段選 } 20 /******************把數(shù)據(jù)保存到單片機(jī)內(nèi)部 eepom 中 ******************/ void write_eepom() { SectorErase(0x2021)。 byte_write(0x2021, set_d % 256)。 //寫入 set_d 值 byte_write(0x2021, set_d / 256)。 byte_write(0x2058, a_a)。 //a_a 標(biāo)識(shí)符 } /******************把數(shù)據(jù)從單片機(jī)內(nèi)部 eepom 中讀出來(lái) *****************/ void read_eepom() { set_d = byte_read(0x2021)。 //讀出 set_d 值 set_d = 8。 set_d |= byte_read(0x2021)。 a_a = byte_read(0x2058)。 } /******************開(kāi)機(jī)自檢 eepom 初始化 ****************************/ void init_eepom() { read_eepom()。 //先讀 if(a_a != 1) //新的單片機(jī)初始單片機(jī)內(nèi)問(wèn) EEPOM { set_d = 100。 a_a = 1。 write_eepom()。 } } /****************獨(dú)立按鍵檢測(cè)函數(shù) ********************/ void key() { static uchar key_new = 0,key_old = 0,key_value = 0。 //key_new、 key_old按鍵標(biāo)識(shí)符, key_new=0 表示有鍵 瞬 間按下, //檢測(cè)確認(rèn)按鍵后 ,key_old=1. key_value 按鍵檢測(cè)中間變量 if(key_new == 0) //初始有鍵按下 { if((P2 amp。 0x07) == 0x07)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1