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

正文內(nèi)容

多路數(shù)字測(cè)溫系統(tǒng)的設(shè)計(jì)畢業(yè)論文-資料下載頁

2025-06-27 13:51本頁面
  

【正文】 。80us延時(shí) DJNZ R7,$ RETDELAY: PUSH 00H PUSH 01H MOV R0,00HLP: MOV R1,00H DJNZ R1,$ DJNZ R0,LP POP 01H POP 00H RET。**************************************************** END 單片機(jī)與上位機(jī)通信源程序include include unsigned char key_s, key_v。unsigned char ch。 //定義個(gè)全局變量用于保存收到的字符unsigned char Txcount。 //發(fā)送計(jì)數(shù)char code str[] = 電子系統(tǒng)綜合設(shè)計(jì) \n\r。void send_init(void)。void send_str()。bit scan_key()。void proc_key()。void delayms(unsigned char ms)。void send_char(unsigned char txd)。sbit K1 = P1^4。main(){ send_init()。 TR1 = 1。 // 啟動(dòng)定時(shí)器1 while(1) { if(scan_key()) // 掃描按鍵 { delayms(10)。 // 延時(shí)去抖動(dòng) if(scan_key()) // 再次掃描 { key_v = key_s。 // 保存鍵值 proc_key()。 // 鍵處理 } } if(RI) // 是否有數(shù)據(jù)到來 { RI = 0。 ch = SBUF。 // 暫存接收到的數(shù)據(jù) P0 = ch。 // 數(shù)據(jù)傳送到P0口 send_char(ch)。 // 回傳接收到的數(shù)據(jù) } }}void send_init(void){ TMOD = 0x20。 // 定時(shí)器1工作于8位自動(dòng)重載模式, 用于產(chǎn)生波特率 TH1 = 0xFD。 // 波特率2400 TL1 = 0xFD。 SCON = 0x50。 // 設(shè)定串行口工作方式為方式1 PCON = 0X0。 // 波特率不倍增 IE = 0x0。 // 禁止任何中斷}bit scan_key()// 掃描按鍵{ key_s = 0x00。 key_s |= K1。 return(key_s ^ key_v)。}void proc_key()// 鍵處理{ if((key_v amp。 0x01) == 0) { // K1按下 send_str()。 // 傳送字串 }}void send_char(unsigned char txd)// 傳送一個(gè)字符{ SBUF = txd。 while(!TI)。 // 等特?cái)?shù)據(jù)傳送 TI = 0。 // 清除數(shù)據(jù)傳送標(biāo)志}void send_str(void)// 傳送字串{ Txcount=1。 SBUF = str[0]。 while(!TI)。 // 等特?cái)?shù)據(jù)傳送 TI = 0。 // 清除數(shù)據(jù)傳送標(biāo)志 }void delayms(unsigned char ms)// 延時(shí)子程序{ unsigned char i。 while(ms) { for(i = 0。 i 120。 i++)。 }}void uart(void) interrupt 4 //串口中斷{ if(RI) //接收中斷 { ch=SBUF。 //讀接收到的數(shù)據(jù) } else { if((key_v amp。 0x01) == 0) //or K1 ==1 { SBUF = str[0]。 //發(fā)字串 } else //回發(fā)收到的字符 { SBUF=ch。 } } if((str[Txcount] != 39。\039。) amp。amp。(key_v amp。 0x01) == 0)//非結(jié)束符且K1=0斷續(xù)發(fā)送字串 { SBUF = str[Txcount ++]。 } TI=0。 //發(fā)送完成清標(biāo)志}5 系統(tǒng)調(diào)試和運(yùn)行結(jié)果說明與分析 硬件設(shè)備偉福仿真器 H51/S單片機(jī)電路板 軟件環(huán)境 開發(fā)單片機(jī)系統(tǒng)的Wave單片機(jī)仿真調(diào)試器Proteus 7 Professional 電路仿真軟件SCommTest Awen串口調(diào)試助手 、演示效果及結(jié)果分析 驗(yàn)證過程1. 完成硬件連線、程序編譯運(yùn)行后,數(shù)碼管顯示一路溫度值,顯示到小數(shù)點(diǎn)后4位。通過人為提高所選通的DS18B20的溫度,觀察數(shù)碼管顯示變化,觀察到溫度數(shù)值上升。2. 按修改鍵值功能鍵,數(shù)碼管顯示報(bào)警上、下限溫度值,上限閃爍。再按一個(gè)數(shù)字鍵,上限十位顯示所按得數(shù)值,停止閃爍。再按一個(gè)數(shù)字鍵,上限十個(gè)位顯示所按得數(shù)值,停止閃爍。再按修改鍵值功能鍵,確認(rèn)并返回到溫度顯示狀態(tài)。3. 通過人為提高、降低所選通的DS18B20的溫度,觀察到溫度高于上限或低于下限時(shí),數(shù)碼管閃爍報(bào)警。4. 初始時(shí)報(bào)警功能為開啟,按一次開/關(guān)報(bào)警鍵,報(bào)警功能關(guān)閉,此時(shí)通過人為提高、降低所選通的DS18B20的溫度,觀察到溫度高于上限或低于下限時(shí),數(shù)碼管無變化、不報(bào)警。再按一次開/關(guān)報(bào)警鍵,報(bào)警功能開啟。5.按切換鍵,數(shù)碼管顯示另一路溫度值。6. 與第一路溫度時(shí)做相同的驗(yàn)證操作,各功能顯示正常。7. 使用虛擬串口模擬實(shí)際串口,連接仿真電路與串口調(diào)試助手。8. 仿真電路51單片機(jī)裝載HEX文件,設(shè)置串口比特率為2400。9.串口調(diào)試助手發(fā)送數(shù)據(jù)至模擬單片機(jī),單片機(jī)回發(fā)數(shù)據(jù)至串口調(diào)試助手顯示,顯示正常。仿真電路:窗口調(diào)試助手:仿真電路與串口調(diào)試助手:系統(tǒng)可實(shí)現(xiàn)雙路溫度測(cè)量,通過鍵盤切換顯示。實(shí)現(xiàn)了上下限報(bào)警,可修改上限報(bào)警值,鍵盤控制報(bào)警功能的開啟與關(guān)閉。運(yùn)行結(jié)果滿足設(shè)計(jì)要求。串口調(diào)試助手與仿真電路通過虛擬串口連接,串口調(diào)試助手發(fā)送數(shù)據(jù)至單片機(jī)并回發(fā)至串口調(diào)試助手顯示,數(shù)據(jù)顯示正確。當(dāng)開關(guān)按下時(shí),預(yù)定字符串自動(dòng)發(fā)送至串口調(diào)試助手顯示。6 思考1. 在編程調(diào)試中,曾遇到調(diào)用讀鍵值子程序后鍵值讀不進(jìn)來的情況。解決方法是在每條讀鍵值命令前加入延時(shí),以使程序運(yùn)行穩(wěn)定。2. 在中斷里修改完鍵值、回主程序后顯示不正確。這是因?yàn)樵谥袛囡@示子程序中只顯示了上下限的4位。屏蔽了其它位,所以在主程序調(diào)用的顯示子程序中,也應(yīng)加入同樣的控制命令,使所有位不被屏蔽。本設(shè)計(jì)的不足之處是沒有外接面包板擴(kuò)展設(shè)備,可通過外接揚(yáng)聲器實(shí)現(xiàn)聲控報(bào)警。1. 雙路溫度測(cè)量??赏ㄟ^鍵盤切換顯示。2. 通過鍵盤修改上限報(bào)警值,修改時(shí)以閃爍提示,每改一位,該位停止閃爍。3. 溫度超過上、下限時(shí),通過閃爍溫度值報(bào)警。4. 通過鍵盤控制報(bào)警功能的開啟與關(guān)閉。 參考文獻(xiàn)與附錄樓然苗 李光飛, 單片機(jī)課程設(shè)計(jì)指導(dǎo),29
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1