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

正文內(nèi)容

遙控小車控制系統(tǒng)的設(shè)計畢業(yè)設(shè)計(參考版)

2024-08-30 07:35本頁面
  

【正文】 。 delay1ms(on)。 delay1ms(100 on)。 while(1) { keyscan()。 houyou = 0。 qian = 0。 } } /****************************************** 主程序 ******************************************/ void main(void) { IE = 0x81。break。break。break。break。break。break。break。break。 } keys=IRCOM[2]。 }//end for k }//end for j if (IRCOM[2]!=~IRCOM[3]) { EX1=1。 //數(shù)據(jù)最高位補“ 0” if (N = 8) {IRCOM[j] = IRCOM[j] | 0x80。 if (N = 30) { return。 } while(IRIN) //計算 IR 高電平時長 { IRdelay(1)。k++) //每組數(shù)據(jù)有 8位 { while(IRIN) //等 IR 變?yōu)榈碗娖剑^ 的前導(dǎo)高電平信號 { IRdelay(1)。j++) //收集四組數(shù)據(jù) { for(k = 0。 } for(j = 0。 if (IRIN == 1) { return。 } /****************************************** 中斷讀取紅外鍵值程序 ******************************************/ void int0(void) interrupt 0 { uchar j,k,N = 0。 } /****************************************** 前燈程序 ******************************************/ void flight() { 32 qian = ~ qian。 houyou = 0。 } /****************************************** 停止程序 ******************************************/ void stop() { on = 0。 houyou = 1。 you = 1。 fan = 0。 keys = 0。 houzuo = 1。 zuo = 1。 } /****************************************** 左轉(zhuǎn) ******************************************/ void turn_lef() { zheng = 0。 houyou = 0。 you = 1。 fan = 1。 keys = 0。 houzuo = 0。 zuo = 1。 } /****************************************** 方向向前 ******************************************/ void go() { zheng = 1。 } /****************************************** 減速程序 ******************************************/ void dec() { if(on != 0) on = 10。 i++) {} } } 29 /****************************************** 加速程序 ******************************************/ void inc() { if(on != 100) on += 10。 while(x) { for(i = 0。 _nop_()。 _nop_()。 y 28 /****************************************** 延時 1ms 函數(shù) ******************************************/ void delay1ms(int ms) { uchar y。 sbit qian = P2^6。 sbit houzuo = P2^5。 sbit zuo = P2^3。 sbit zheng = P2^1 。 uchar keys = 0xff。 } 紅外接收端程序: include include define uint unsigned int define uchar unsigned char sbit IRIN = P3^2。 } else { irout = 0。 //按鍵標志清零 } } } /****************************************** 定時器中斷 ******************************************/ void timer0(void) interrupt 1 { count++。 //發(fā)送紅外編碼 delay1ms(500)。 if(keyflag) //若有新按鍵 { delay1ms(10)。 irout = 0。 count = 0。 //定時 13us 的 38K 紅 外波,晶振 24M TL0 = 0xE6。 //8 位自動裝載模式 ET0 = 1。 } /****************************************** 定時器初始化 ******************************************/ void init_timer() { EA = 1。 TR0 = 0。 TR0 = 1。 flag = 1。 TR0 = 0。 TR0 = 1。 flag = 0。 TR0 = 0。 TR0 = 1。 flag = 1。 //發(fā)送 8位數(shù)據(jù)反碼 sendcode_8()。 //發(fā)送 8 位數(shù)據(jù)碼 sendcode_8()。 //發(fā)送 16位系統(tǒng)碼的前 916位 sendcode_8()。 //發(fā)送 16位系統(tǒng)碼的前 18位 sendcode_8()。 TR0 = 0。 TR0 = 1。 flag = 0。 set_count = 320。 while(count set_count)。 count =0。 } } 24 /****************************************** 發(fā)送紅外數(shù)據(jù) ******************************************/ void sendcode(void) { set_count = 575。 TR0 = 0。 TR0 = 1。 } flag = 0。0x01) //判斷紅外編碼最低位 { set_count = 120。 TR0 = 0。 TR0 = 1。 //發(fā)送 38K 紅外波 flag = 1。i 8。 //按鍵 8 } } } 23 /****************************************** 發(fā)送 8位紅外數(shù)據(jù) ******************************************/ void sendcode_8(void) { uchar i。 //按鍵 7 case 0x7f: irdata = 0x08。 //按鍵 6 case 0xbf: irdata = 0x18。 //按鍵 5 case 0xdf: irdata = 0x52。 //按鍵 4 case 0xef: irdata = 0x5a。 //按鍵 3 case 0xf7: irdata = 0x4a。 //按鍵 2 case 0xfb: irdata = 0x0c。 //按鍵 1 case 0xfd: irdata = 0x5e。 //有按鍵標志 switch(keytemp) { case 0xfe: irdata = 0x42。 0xff。 if(keytemp != 0xff) { delay1ms(20)。 keytemp = P2 amp。 } } 22 } /****************************************** 按鍵掃描 ******************************************/ void keyscan(void) { uchar keytemp。 _nop_()。 y++) { _nop_()。 while(ms) { for(y = 0。 //16 位系統(tǒng)碼 uchar ircode,irdata。 //中斷計數(shù),設(shè)定中斷次數(shù) bit flag,keyflag。 //紅外管狀態(tài) sbit ir = P1^7。相信這些能力的提升都會對我以后的職業(yè)生涯有很大的幫助。硬件設(shè)計簡單可靠,結(jié)合軟件,實現(xiàn)了對小車的遠程控制。 本文介紹了基于紅外遙控技術(shù)的遙控小車控制系統(tǒng),以 STC89C52RC 單片機為核心,利用紅外遙控器來控制小車的運行方 向和速度。作品設(shè)計的過程中遇到了很多問題,幾度修改方案,成果雖不是非常完美,但還是能比較滿意。 ( 3)紅外接收模塊 實際調(diào)試過程中,直流電機依然不工作,經(jīng)過排查研究,原因是 18 程序中把直流電機的復(fù)位狀態(tài)設(shè)置為“速度為 0”,所以在實際運行環(huán)境中如果沒有先對直流電機進行加速使其速度不為 0 的話,是觀察不到直流電機工作的。調(diào)試過程中出現(xiàn)的問題主要是功能上得錯誤: ( 1)紅外發(fā)射模塊實際調(diào)試過程中,紅外發(fā)射管正常工作但是接收端收不到紅外信號,經(jīng)過排查研究,原因是定時器的初值設(shè)置出現(xiàn)問題,使得發(fā)射管發(fā)射的信號頻率不是 38KHz,調(diào)整定時器初值后接收端能收到發(fā)射端的紅外信號。而且在實際硬件電路上調(diào)試時如果出現(xiàn)故障時很難確定是硬件故障還是軟件故障,所以更多的還是得依靠開發(fā)板進行調(diào)試。 ( 2)紅外接收模塊調(diào)試過程中,一開 機指示燈便保持常亮、直流電機不工作,經(jīng)過排查研究,發(fā)現(xiàn)是 L298 外圍線路存在短路現(xiàn)象,排除故障之后指示燈正常,直流電機正常工作。在系統(tǒng)的硬件測試中,首先是經(jīng)過仿真軟件繪制電路圖進行仿真,驗證系統(tǒng)電路設(shè)計的可行性,之后在萬用板上焊接電路,焊接后檢查電路是否正確,是否存在開路、短路等現(xiàn)象,再檢查外圍電路是否正確連接,經(jīng)過這幾個方面的反復(fù)驗證,可確保電路板的準確無誤。 小車控制子程序根據(jù)紅外解碼子程序解出的碼值,查詢碼值所對應(yīng)的的操作,控制 16 單片機各 I/O 口,使小車進入相應(yīng)狀態(tài)。 紅外解碼是紅外編碼的反編碼。當(dāng)紅外接收端接收到紅外數(shù)據(jù)時,單片 機進入工作狀態(tài),紅外解碼子程序?qū)t外數(shù)據(jù)進行解碼,小車控制子程序根據(jù)碼值對應(yīng)的操作控制小車進入某一狀態(tài)。其
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1