【正文】
uchar Decode_Data16[16] = {0}。 if(n10000) { goto loop1 。 time_chuli()。// TL0 = 0x00。//步數(shù)計(jì)增加 } else { P2=0x00。//低電平亮 } for(。//臨時(shí)速度清零}/**********************主程序入口**********************/void main(void){ uint i。 }}/*****************************************176。 light3=0。 P2=0x00。 //延時(shí)時(shí)間縮短,速度增加 if(rate_gradeMinrate) rate_grade=Minrate。 light3=1。//關(guān)閉定時(shí)器TO的中斷 TR0=0。 case 0x30: //電機(jī)停止 { P2=0x00。 P2=0x03。 P2=0x0c。 Disply()。 Disply()。//開(kāi)啟中斷 TR0=1。//串行中斷為優(yōu)先級(jí) PT0=0。//顯示轉(zhuǎn)速 }}/*****************************************************函 數(shù):Serial_initialize功 能:串行口初始化返回值:無(wú)參 數(shù):無(wú)*******************************************************/void Serial_initialize(void) //串口初始化{ SCON = 0x50。 delay(rate_grade)。 delay(rate_grade)。 delay(rate_grade)。 smg2=1。 if(direction==1) P0=0xbf。 } return(p0)。 break。 break。k ++) /* , */ { } }} /*******************************************函 數(shù):gain_code返回值:數(shù)碼管的段碼表p參 數(shù):顯示的數(shù) i,轉(zhuǎn)速或等級(jí)*****************************************/uchar gain_code(uchar C){ uchar p0。//步數(shù)計(jì)pedometer ,統(tǒng)計(jì)轉(zhuǎn)過(guò)的步數(shù),8拍一步bit start_motor=0。//左起2數(shù)碼管位選端sbit smg3=P1^6。包建華老師知識(shí)淵博,平易近人、治學(xué)嚴(yán)謹(jǐn)、誠(chéng)懇待人,一絲不茍的工作作風(fēng)以及對(duì)我的認(rèn)真指導(dǎo)都令我感動(dòng)不已,專業(yè)學(xué)習(xí)中給我很多指導(dǎo),對(duì)我踏入社會(huì)起到了很大的幫助,為以后步入社會(huì)、適應(yīng)工作打下了一個(gè)好基礎(chǔ)。同時(shí)我也深刻體會(huì)到了,學(xué)習(xí)和實(shí)踐是密不可分的,要用于動(dòng)手積極實(shí)踐才能深刻理解學(xué)到的知識(shí)。第四步按下圖選中兩個(gè)條件項(xiàng),這樣可以使您在每次編譯KEIL時(shí)HEX代碼能自動(dòng)加載到STCISP,點(diǎn)擊“Download/下載”。有些程序尚未定型的產(chǎn)品可以一邊生產(chǎn),一邊完善,加快了產(chǎn)品進(jìn)入市場(chǎng)的速度,減小了新產(chǎn)品由于軟件缺陷帶來(lái)的風(fēng)險(xiǎn)。,這樣算出來(lái)的波特率沒(méi)有誤差。//說(shuō)明解碼錯(cuò)誤了 break。//數(shù)據(jù)位為0 } else if(TimeLong_min amp。i16。//開(kāi)啟中斷 TR0=1。//串行中斷為優(yōu)先級(jí); PT0=0。//獲得個(gè)位 c=k %10;//獲得小數(shù)位}(3)定時(shí)器,串口初始化函數(shù)void Serial_initialize(void) //串口初始化{ SCON = 0x50。void time_chuli() //每秒鐘的時(shí)間處理{ //每分鐘60秒,所以速度*60的倍數(shù) rate=60*10*pedometer*。),8拍一步,176。注意 由于這種方式下,計(jì)數(shù)初值在每次進(jìn)入中斷后都要重新賦值。本設(shè)計(jì)中TMOD = 0X21,定時(shí)器T1工作在方式2,是自動(dòng)重新裝入計(jì)數(shù)初值的8位定時(shí)器計(jì)數(shù)器/工作模式,用于串口通信中波特率發(fā)生器,16位的定時(shí)器/計(jì)數(shù)器被拆成兩個(gè)8位寄存器TH1,TL1,CPU在對(duì)它們初始化的時(shí)候必須裝入相同的定時(shí)器初值。表25 SCON寄存器SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0,SM1 = 00,方式0,8位同步移位寄存器,其波特率為fosc / 12[1]SM0,SM1 = 01,方式1,10位異步接收/發(fā)送,其波特率可變,由定時(shí)器1控制SM0,SM1 = 10,方式2,11位異步接收/發(fā)送,其波特率為fosc / 64,fosc / 32(SMOD)SM0,SM1 = 11,方式3,11位異步接收/發(fā)送,波特率可變,有定時(shí)器控制。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 圖27 步進(jìn)電機(jī)驅(qū)動(dòng)電路(6)步進(jìn)驅(qū)動(dòng)脈沖分配表正轉(zhuǎn)表:412驅(qū)動(dòng),8拍一步DDCCCBBBAAAD表23 正轉(zhuǎn)表P2端口值P2^0(D相)P2^1(C相)P2^2(B相)P2^3(A相)0x0110000x0311000x0201000x0601100x0400100x0c00110x0800010x091001反轉(zhuǎn)表:412驅(qū)動(dòng),8拍一步DDAAABBBCCCA表24 反轉(zhuǎn)表P2端口值P2^0(D相)P2^1(C相)P2^2(B相)P2^3(A相)0x0110000x0910010x0800010x0c00110x0400100x0601100x0201000x031100本設(shè)計(jì)中用4節(jié)5號(hào)電池來(lái)供電,4節(jié)5號(hào)電池提供的電壓是 5 * = 6V,不能直接加到系統(tǒng)里面,所以我用了IN2007這個(gè)二極管來(lái)分壓,6 = ,,可以作為供電電源。= 512步 )。= 4096 )。交流電機(jī),直流電機(jī)都是連續(xù)旋轉(zhuǎn)的,而步進(jìn)電機(jī)是一步一步的旋轉(zhuǎn),步進(jìn)電機(jī)每次能夠轉(zhuǎn)動(dòng)的最小的角度是步距角(176。反應(yīng)式的步進(jìn)電機(jī)的轉(zhuǎn)子上有小齒,不同的步進(jìn)電機(jī),轉(zhuǎn)子上齒的個(gè)數(shù)是不同的,定子上要有線圈(線圈按軸向分布,或徑向分布),反應(yīng)式步進(jìn)電機(jī)定子除了有軸向分布的繞組外,它的定子還分成幾個(gè)極.,一個(gè)極上一個(gè)繞組以及有小齒,轉(zhuǎn)子上也有小齒。將e極接在VCC上; ,當(dāng)基集是低電平的時(shí)候,管子導(dǎo)通,完成片選,集電極提供了數(shù)碼管驅(qū)動(dòng)電流。雙機(jī)通訊,主機(jī)和從機(jī)的波特率均是設(shè)定為9600bps。遙控器發(fā)射的信號(hào)和1838輸出的信號(hào)的區(qū)別如圖23所示。注意同一個(gè)遙控器,按哪個(gè)鍵用戶碼都是一樣的。信號(hào)發(fā)射,就是將某個(gè)按鍵所對(duì)應(yīng)的控制指令和系統(tǒng)碼,調(diào)制在38KHz的載波上,經(jīng)由放大,驅(qū)動(dòng)紅外發(fā)射管將信號(hào)發(fā)射出去。(2) 紅外解碼電路,包括STC12C2052做解碼芯片。本設(shè)計(jì)是紅外遙控步進(jìn)電機(jī),設(shè)計(jì)的工作主要包括以下幾個(gè)方面。 use infrared to transfer the data, this case does not require a physical connection, small size, low cost, function. In our daily lives, televisions, washing machines, air conditioners, space shuttle, the industrial field devices and so the use of the technology of infrared remote sender of this design using a dedicated transmitter chip to achieve the emission of infrared remote control code, and the remote control code format is the NEC receiving end of the popularity of the 1838 integration of infrared receiver, the infrared signal received through 1838 to receive the head, the optical / electrical conversion and demodulation of the 33 plete code sent to the decoder chip to plete the decoding.The design of the main chip is STC89C52. Serial munication between the main chip and decoder chip. System startup, the decoder chip decoding 8bit serial data code sent to the main chip, and then through the main chip to control the stepper motor forward, reverse, speed up, slow down.The design of the controlled object is a stepper motor, stepper motor is the most suitable for digital control. The stepper motor is the electrical pulses into angular displacement or linear displacement of the openloop control element. This design by controlling the number of pulses to control the amount of angular displacement, so as to achieve accurate positioning purposes。本設(shè)計(jì)中發(fā)射端采用專用的發(fā)射芯片來(lái)實(shí)現(xiàn)紅外遙控碼的發(fā)射,且遙控碼格式是NEC標(biāo)準(zhǔn)。本科生畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的紅外遙控系統(tǒng)設(shè)計(jì)論 文 題 目:畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說(shuō)明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。接收端采用市面上流行的1838一體化紅外接收頭,接收到的紅外信號(hào)經(jīng)由1838接收頭完成 光/電轉(zhuǎn)化和解調(diào)的工作,然后把33位的完整碼發(fā)送到解碼芯片中去完成解碼工作。 at the same time by controlling the pulse frequency to control the motor rotation speed and acceleration, so as to achieve the purpose of speed control.Key word: Stepper motor Infrared remote control SingleChip Microputer Control目 錄摘 要 IAbstract II1 緒論 1 課題研究背景及意義 1 本設(shè)計(jì)的主要工作 12 硬件設(shè)計(jì) 2 整體設(shè)計(jì)方案及框圖 2 系統(tǒng)功能模塊設(shè)計(jì) 3 紅外收發(fā)模塊 3 6 顯示模塊 7 步進(jìn)驅(qū)動(dòng)模塊 9 電源模塊 14 主機(jī)模塊 143 軟件設(shè)計(jì) 19 主程序設(shè)計(jì) 19 解碼程序設(shè)計(jì) 244 調(diào)試及開(kāi)發(fā)環(huán)境 28 硬件調(diào)試及開(kāi)發(fā)環(huán)境 28 305 總結(jié)和改進(jìn) 33 設(shè)計(jì)總結(jié) 33 設(shè)計(jì)改進(jìn) 33致 謝 34附錄一 35附錄二 56附錄三 57參考文獻(xiàn) 58VI江蘇師范大學(xué)本科生畢業(yè)設(shè)計(jì) 紅外遙控步進(jìn)電機(jī)1 緒論 課題研究背景及意義本設(shè)計(jì)采用紅外線來(lái)遙控步進(jìn)電機(jī)。(1)硬件電路設(shè)計(jì),包括紅外接收電路,紅外解碼電路,主電路,顯示電路,步進(jìn)驅(qū)動(dòng)電路的設(shè)計(jì),雙機(jī)通訊等。(3) 顯示部分 ,包括有3個(gè)運(yùn)行指示燈和4位8段數(shù)碼管。而接收電路采用紅外線接收和放大于一體的一體化紅外接收器,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號(hào)兼容的所有工作,而體積和普通的的塑料封裝的三極管大小一樣,它適用于各種紅外遙控和紅外線數(shù)據(jù)傳輸。最