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

正文內(nèi)容

基于單片機(jī)的紅外遙控系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)-閱讀頁(yè)

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

【正文】 接之前要想清楚器件在板子上如何布局,在設(shè)計(jì)中我用紅色的軟線(xiàn)連接供電,黑色接地,黃色是I/0連接。,這樣算出來(lái)的波特率沒(méi)有誤差。在設(shè)計(jì)數(shù)碼管顯示電路的時(shí)候,我翻閱資料得到了經(jīng)驗(yàn)值,選擇470歐作為段選端的限流電阻 ,1838信號(hào)輸出端用22K上拉,~。Keil 提供了包括 C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。 Keil軟件的編譯的步驟包括輸入源程序,建立工程、對(duì)工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。有些程序尚未定型的產(chǎn)品可以一邊生產(chǎn),一邊完善,加快了產(chǎn)品進(jìn)入市場(chǎng)的速度,減小了新產(chǎn)品由于軟件缺陷帶來(lái)的風(fēng)險(xiǎn)。大部分STC89系列單片機(jī)在銷(xiāo)售給用戶(hù)之前已在單片機(jī)內(nèi)部固化有ISP系統(tǒng)引導(dǎo)程序,配合PC端的控制程序即可將用戶(hù)的程序代碼下載進(jìn)單片機(jī)內(nèi)部,故無(wú)須編程器(速度比通用編程器快)。STC_ISP下載器接口如圖41所示。第二步根據(jù)9針數(shù)據(jù)線(xiàn)連接情況選中COM端口,波特率一般保持默認(rèn),如果遇到下載問(wèn)題,可以適當(dāng)下調(diào)一些。第四步按下圖選中兩個(gè)條件項(xiàng),這樣可以使您在每次編譯KEIL時(shí)HEX代碼能自動(dòng)加載到STCISP,點(diǎn)擊“Download/下載”。軟件開(kāi)發(fā)流程如圖42所示。紅外接收正常,主機(jī)和解碼芯片之間的通訊都正常,能夠準(zhǔn)確的收發(fā)數(shù)據(jù)。而步進(jìn)電機(jī)最適合做數(shù)字控制,在數(shù)控機(jī)床,家用電器,步進(jìn)電機(jī)都得到了廣泛的應(yīng)用。同時(shí)我也深刻體會(huì)到了,學(xué)習(xí)和實(shí)踐是密不可分的,要用于動(dòng)手積極實(shí)踐才能深刻理解學(xué)到的知識(shí)。 設(shè)計(jì)改進(jìn)本設(shè)計(jì)中雖然能夠比較準(zhǔn)確的測(cè)量出步進(jìn)電機(jī)的轉(zhuǎn)速,能顯示出轉(zhuǎn)速,能正轉(zhuǎn)能反轉(zhuǎn),能加速能減速。這個(gè)是我的程序和所用的步進(jìn)電機(jī)的缺陷導(dǎo)致的。且我用的步進(jìn)電機(jī)也僅僅是實(shí)驗(yàn)用的步進(jìn)電機(jī),和工業(yè)現(xiàn)場(chǎng)用也的步進(jìn)電機(jī)有出入,所以本設(shè)計(jì)還有待我在以后的學(xué)習(xí)中繼續(xù)去完善。包建華老師知識(shí)淵博,平易近人、治學(xué)嚴(yán)謹(jǐn)、誠(chéng)懇待人,一絲不茍的工作作風(fēng)以及對(duì)我的認(rèn)真指導(dǎo)都令我感動(dòng)不已,專(zhuān)業(yè)學(xué)習(xí)中給我很多指導(dǎo),對(duì)我踏入社會(huì)起到了很大的幫助,為以后步入社會(huì)、適應(yīng)工作打下了一個(gè)好基礎(chǔ)。最后感謝評(píng)審論文的各位學(xué)院老師為本文提出的寶貴的意見(jiàn)。//正轉(zhuǎn)LED燈sbit light2=P1^1。//運(yùn)行LED燈sbit smg1=P1^4。//左起2數(shù)碼管位選端sbit smg3=P1^6。//左起4數(shù)碼管位選端sbit point=P0^7。//串行中斷接收的數(shù),8位置uchar milli_second=0。//秒數(shù)uint rev=0。//步數(shù)計(jì)pedometer ,統(tǒng)計(jì)轉(zhuǎn)過(guò)的步數(shù),8拍一步bit start_motor=0。//顯示默認(rèn)為等級(jí)bit direction=0。 //步進(jìn)電機(jī)的速度等級(jí) ,默認(rèn)為5級(jí)void delay(uint t)。 while(a) { for (k = 0。k ++) /* , */ { } }} /*******************************************函 數(shù):gain_code返回值:數(shù)碼管的段碼表p參 數(shù):顯示的數(shù) i,轉(zhuǎn)速或等級(jí)*****************************************/uchar gain_code(uchar C){ uchar p0。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。 } return(p0)。 uint k。//每分鐘的轉(zhuǎn)數(shù) a=k / 100。 b=k /10。 if(direction==1) P0=0xbf。 smg1=0。 smg1=1。 smg2=0。 smg2=1。 point=0。 delay(rate_grade)。 P0=gain_code(c)。 delay(rate_grade)。}/*************************************函 數(shù):Disply_Grade 參 數(shù):無(wú)返回值:無(wú)功 能:顯示速度的等級(jí),范圍是120級(jí)作 者:李燦鋒*************************************/void Disply_Grade()//顯示速度等級(jí),Grade:等級(jí){ uchar a,b。 b=rate_grade % 10。 else P0=0xff。 delay(rate_grade)。 P0=gain_code(0x0e)。 delay(rate_grade)。 P0=gain_code(a)。 delay(rate_grade)。 P0=gain_code(b)。 delay(rate_grade)。}/*******************************函 數(shù):Disply功 能:選擇顯示方式參 數(shù):無(wú)返回值:無(wú)作 者:李燦鋒*********************************/void Disply(){ if(show_model==0) { Disply_Grade()。//顯示轉(zhuǎn)速 }}/*****************************************************函 數(shù):Serial_initialize功 能:串行口初始化返回值:無(wú)參 數(shù):無(wú)*******************************************************/void Serial_initialize(void) //串口初始化{ SCON = 0x50。 //兩個(gè)定時(shí)器一起工作, 定時(shí)器0定時(shí)方式1 ,16位定時(shí)器//方式,定時(shí)器1是方式2,波特率發(fā)生器 TH1 = 0xfd。 PCON=0x00。//開(kāi)總中斷, ES=1。//串行中斷為優(yōu)先級(jí) PT0=0。 //啟動(dòng)串行口通訊 TH0 = 0x4c。 //計(jì)數(shù)值重裝 }//////////////////////////////////////////////////////////void time_init(){ TH0 = 0x4c。 //計(jì)數(shù)值重裝 milli_second=0。//開(kāi)啟中斷 TR0=1。 Disply()。 Disply()。 Disply()。 Disply()。 Disply()。 Disply()。 Disply()。 Disply()。}/*****************************************************函 數(shù):anticlockwise參 數(shù):無(wú)功 能:反轉(zhuǎn)返回值:無(wú)******************************************************/void anticlockwise()//反轉(zhuǎn)子程序,逆時(shí)針{ P2=0x01。 P2=0x09。 P2=0x08。 P2=0x0c。 P2=0x04。 P2=0x06。 P2=0x02。 P2=0x03。 P2=0xff。*****************************/void Handle() { uchar b。//查看是什么命令 switch(b) { case 0x68: // { show_model=~show_model。 case 0x30: //電機(jī)停止 { P2=0x00。//亮 yangshi(1000)。//滅 start_motor=0。 pedometer=0。//關(guān)閉定時(shí)器TO的中斷 TR0=0。//滅,低電平亮 }break。//電機(jī)置轉(zhuǎn)動(dòng)標(biāo)記 time_init()。 light3=0。 light3=1。//電機(jī)停止標(biāo)記 rev=0。 ET0=0。//停止定時(shí)器0 light3=1。 //延時(shí)時(shí)間縮短,速度增加 if(rate_gradeMinrate) rate_grade=Minrate。 light3=0。//顯示等級(jí) yangshi(1000)。 case 0x10: //減速 { rate_grade++。 P2=0x00。 //Disply_denji()。 //電機(jī)需要延時(shí)一定的時(shí)間才行 light3=1。 case 0x38: //正轉(zhuǎn) { direction=0。 light3=0。 //電機(jī)需要延時(shí)一定的時(shí)間才行 light3=1; }break。//反轉(zhuǎn)轉(zhuǎn)方向 P2=0x00。 yangshi(1000)。 }}/*****************************************176。8拍一步,一步轉(zhuǎn)過(guò) 8 * 176。;360176。= 512個(gè)8拍 ;512步一圈所以一步轉(zhuǎn)過(guò)的圈數(shù) = 1 / 512 = ******************************************/void time_chuli() //每秒鐘的時(shí)間處理{ //每分鐘60秒,所以速度*60的倍數(shù),然后60再放大10倍,保留一個(gè)小數(shù)點(diǎn) rate=60*10*pedometer*。//臨時(shí)速度清零}/**********************主程序入口**********************/void main(void){ uint i。//關(guān)閉電機(jī)輸出 ,上電關(guān)掉 Serial_initialize()。i10。//延時(shí),能感覺(jué)在閃爍 light1=~light1。//低電平亮 } for(。//正轉(zhuǎn),順時(shí)針 light1=0。//反轉(zhuǎn)燈滅 } else { anticlockwise()。//正轉(zhuǎn)燈滅 light2=0。//步數(shù)計(jì)增加 } else { P2=0x00。//滅 light2=1。//顯示 } }}/***************************************************函 數(shù):Time0interrupt功 能: 定時(shí)器0,50ms溢出中斷處理 由于定時(shí)器0工作在方式1,16位方式每次進(jìn)入 中斷要重新賦給一個(gè)定時(shí)初值。//暫時(shí)屏蔽定時(shí)器中斷 TR0=0。// TL0 = 0x00。6553519456 = 46080。*/ milli_second+=1。//每秒閃一次 } if(milli_second==20) { milli_second=0。 time_chuli()。//開(kāi)啟定時(shí)器0中斷 TR0=1。 uint n=0。//屏蔽串行口中斷 for(j=0。 if(n10000) { goto loop1 。//接收中斷標(biāo)志位,用于一幀信息是否接收完,RI必須要軟件軟件清0 receive_data[0]=SBUF。//接收的數(shù)據(jù)進(jìn)行處理,Handle ES=1。include define uchar unsigned char define uint unsigned intdefine Lead_min 7000 //引導(dǎo)碼的低電平范圍define Lead_max 8000 //引導(dǎo)碼 //引導(dǎo)碼的值約在7500左右,define Short_min 400 //一個(gè)短脈沖的周期最小值 define Short_max 600 //一個(gè)短脈沖的周期最大值//define Long_min 1300 //一個(gè)長(zhǎng)脈沖的周期最小值 define Long_max 1600 //一個(gè)長(zhǎng)脈沖的周期最大值//sbit Infrared_in=P3^2。uchar Decode_Data16[16] = {0}。//需要用到的數(shù)據(jù)碼uint Time。//燈/*****************************函 數(shù):delay功 能:延時(shí)參 數(shù):n返回值:無(wú)********************************/
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1