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

正文內(nèi)容

直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)-資料下載頁(yè)

2025-07-04 21:26本頁(yè)面
  

【正文】 //關(guān)閉 TMR1 TMR1IF=0。 //清中斷標(biāo)志位 ++n。 if(n==2) //檢測(cè)是否到達(dá)一秒 { n=0。 count1=count。 count=0。 } a=count1/100。 //取出轉(zhuǎn)速的百位 count1%=100。 b=count1/10。 //取出轉(zhuǎn)速的十位 count1%=10。 c=count1。 //取出轉(zhuǎn)速的個(gè)位 count1=0。 TMR1H=0X0B。 //設(shè)置初始值為 秒 TMR1L=0XDB。 TMR1ON。 }在上面這個(gè)測(cè)速模塊中關(guān)鍵是打開(kāi)定時(shí)器,單片機(jī)不聽(tīng)的檢測(cè) RB6 引腳上接收到的電平是否為低電平,是就說(shuō)明電機(jī)轉(zhuǎn)啦一圈,即單片機(jī)計(jì)數(shù),一旦中斷的到來(lái),就檢測(cè)是否一秒到來(lái),若一秒到啦則把記錄下的圈數(shù)存儲(chǔ)起來(lái),此時(shí)關(guān)閉 TMR1 定時(shí)器。下面則是對(duì)記錄下來(lái)的數(shù)據(jù)進(jìn)行處理,然后對(duì) TMR1 設(shè)置初值重新打開(kāi)定時(shí)器,以便測(cè)試下一秒的速度。注:以上是軟件的各個(gè)模塊的功能實(shí)現(xiàn),其實(shí)在整個(gè)軟件系統(tǒng)設(shè)計(jì)中,各個(gè)功能模塊是相對(duì)獨(dú)立的,各個(gè)模塊之間的聯(lián)系是比較明確的,對(duì)于鍵盤(pán)模塊直接判斷按下的究竟是哪個(gè)鍵,就可以執(zhí)行相應(yīng)的功能,對(duì)于液晶顯示就相對(duì)比較簡(jiǎn)單,直接要把顯示的內(nèi)容寫(xiě)入函數(shù)就行啦,PWM 模塊就通過(guò)按鍵來(lái)實(shí)現(xiàn)對(duì)脈寬的控制,而電機(jī)速度測(cè)試模塊是XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)完全獨(dú)立的,只要一秒的時(shí)間到來(lái)就進(jìn)入中斷,停止計(jì)數(shù)進(jìn)行中斷處理。這樣整個(gè)軟件系統(tǒng)就把各個(gè)模塊連接起來(lái)了,整個(gè)系統(tǒng)的源代碼請(qǐng)見(jiàn)附錄。六、仿真結(jié)果與實(shí)際結(jié)果,顯示如圖 20 所示:圖 20 電機(jī)打開(kāi) 21a 所示,當(dāng)再次按下此鍵我們可以看到電機(jī)速度加快,電機(jī)轉(zhuǎn)動(dòng)的位置發(fā)生變化,此時(shí)液晶顯示器上顯示速度增加(即脈寬增加了 10) ,脈寬變寬如圖 21b 所示:圖 21a 電機(jī)加速XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)圖 21b 按加速鍵后,,脈寬變窄,如一直按此鍵那么電機(jī)的速度最終為 0,脈寬也為 0,液晶顯示器上顯示相應(yīng)的操作狀態(tài),即減速操作,如圖 20 所示:圖 22 電機(jī)減速,則電機(jī)停止轉(zhuǎn)動(dòng),脈寬為 0,,液晶顯示器上顯示關(guān)電機(jī)的字符,仿真結(jié)果如下圖 23 所示:XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)圖 23 電機(jī)關(guān)閉,在軟件上仿真是完全正確的,但是我們要的不僅僅是軟件仿真的結(jié)果,軟件仿真結(jié)果正確,并不代表我們的設(shè)計(jì)就完全正確,其實(shí)不然,往往理論與實(shí)踐總是有區(qū)別的,我們真正要看到的是程序要在實(shí)實(shí)在在的電路板上運(yùn)行,并且是我們所要期望的結(jié)果,這樣整個(gè)系統(tǒng)才算是基本上設(shè)計(jì)完成啦,剩下的只是優(yōu)化軟件代碼,提高其運(yùn)行效率。我們把在 Protel 99 SE 軟件上畫(huà)的 PCB 印制板制作成電路板,并把元器件焊接上去,經(jīng)過(guò)調(diào)試我們所做的電路板沒(méi)有什么大問(wèn)題,只是一些小問(wèn)題,經(jīng)過(guò)解決以后,這樣我們把上面所設(shè)計(jì)的軟件代碼通過(guò)程序燒寫(xiě)器下載到單片機(jī)里,通過(guò)多次的調(diào)試達(dá)到了我們的預(yù)期效果,如圖 24 所示:圖 24 直流電機(jī)調(diào)速系統(tǒng)實(shí)際效果圖XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)七、結(jié)束語(yǔ)經(jīng)過(guò)三個(gè)多月的認(rèn)真與努力,終于把這個(gè)系統(tǒng)設(shè)計(jì)完成了,在設(shè)計(jì)過(guò)程中享受到一種設(shè)計(jì)的快樂(lè)與成就感。經(jīng)過(guò)多次修改和整理,它是一個(gè)比較不錯(cuò)的設(shè)計(jì),可以滿足人們的基本要求,但因?yàn)樗接邢?,此系統(tǒng)存在一定的問(wèn)題,譬如說(shuō)電機(jī)只能正轉(zhuǎn),而不,但過(guò)于復(fù)雜,本次設(shè)計(jì),我們感覺(jué)有很大的收獲:首先,通過(guò)學(xué)習(xí)使自己對(duì)課本上的知識(shí)可以應(yīng)用于實(shí)際,使理論與實(shí)際相結(jié)合,加深自己對(duì)課本知識(shí)的更好理解,同時(shí)這次設(shè)計(jì)也段練了我個(gè)人的動(dòng)手能力:能夠充分利用圖書(shū)館去查閱資料,增加了許多課本以外的知識(shí)。能達(dá)到學(xué)以致用的目的,對(duì)我們學(xué)生來(lái)說(shuō),理論與實(shí)際同樣重要,這是我們以后在工作中說(shuō)明自己能力的一個(gè)重要標(biāo)準(zhǔn)。在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中,使我深深的感受到了汪光宅老師與劉強(qiáng)老師對(duì)學(xué)生的那種悔人不卷的精神,老師一有時(shí)間就來(lái)給我們指導(dǎo),使我們少走彎路,順利完成了這次的設(shè)計(jì)任務(wù),請(qǐng)?jiān)试S我向汪老師以及劉老師致以崇高的敬意,謝謝兩位老師!XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)附 錄 附錄一 設(shè)計(jì)源程序includedefine RS RE0 define RW RE1 define E RE2unsigned char data。unsigned char tt。unsigned int j。unsigned char n=0。unsigned int count=0。 //轉(zhuǎn)速計(jì)數(shù)器unsigned int count1。unsigned char aa,bb,cc。 //轉(zhuǎn)速的百位、十位、個(gè)位unsigned char on[]=POWER ON!!! 。unsigned char off[]=POWER OFF!! 。unsigned char speed_up[]=SPEED UP: 。unsigned char speed_down[]=SPEED DOWN:。unsigned char sp[]=MOT SPEED:。void delay(unsigned int m) //*******延時(shí)函數(shù)**********{while(m){。}}void fanyi() //鍵值翻譯函數(shù){if(temp==0xee)tt=0x01。else if(temp==0xed)tt=0x02。else if(temp==0xeb)tt=0x03。else if(temp==0xe7)tt=0x0c。else if(temp==0xde)tt=0x04。else if(temp==0xdd)tt=0x05。else if(temp==0xdb)tt=0x06。else if(temp==0xd7)tt=0x0d。else if(temp==0xbe)tt=0x07。else if(temp==0xbd)tt=0x08。else if(temp==0xbb)tt=0x09。else if(temp==0xb7)tt=0x0e。else if(temp==0x7e)tt=0x00。else if(temp==0x7d)tt=0x0a。else if(temp==0x7b)tt=0x0b。else if(temp==0x77)tt=0x0f。else。data=table[tt]。}void keyscan() //**********鍵盤(pán)掃描******XXXX 大學(xué)本科畢業(yè)設(shè)計(jì){delay(500)。 //延時(shí)去抖動(dòng)temp=PORTC。PORTC=0x0e。delay(10)。temp1=PORTC。PORTC=0x0d。delay(10)。temp2=PORTC。PORTC=0x0b。delay(10)。temp3=PORTC。PORTC=0x07。delay(10)。temp4=PORTC。PORTC=0x00。if(temp==(temp1amp。0xf0))temp=temp1。if(temp==(temp2amp。0xf0))temp=temp2。if(temp==(temp3amp。0xf0))temp=temp3。if(temp==(temp4amp。0xf0))temp=temp4。fanyi()。} /********************************************************/void check_busy(void) //讀液晶忙信號(hào){TRISD=0XFF。 //在此處設(shè)為輸入 RS=0。 RW=1。 //讀數(shù)據(jù)asm(nop)。 while(1) { E=1。 asm(nop)。 if(RD7==0)break。 /*******檢測(cè)忙標(biāo)志位********/ asm(nop)。 E=0。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令), 繼續(xù)返回檢測(cè) } E=0。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令) asm(nop)。 TRISD=0X00。 //還原為輸出 }/***********************************************************/void zhiling(unsigned char zhi_l) /*******寫(xiě)指令*********/{check_busy()。XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)RS=0。 //(RS=0、R/W=0 時(shí)寫(xiě)入命令) RW=0。PORTD=zhi_l。E=1。 asm(nop)。E=0。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令) asm(nop)。}/*********************************************************/void shuju(unsigned char y) /********寫(xiě)數(shù)據(jù)*********/{ check_busy()。RS=1。 //(RS=R/W=0 時(shí)寫(xiě)入數(shù)據(jù))RW=0。PORTD=y。E=1。asm(nop)。E=0。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令) }void init_lcd(void) /*****液晶初始化********/{delay(100)。zhiling(0x38)。 //顯示模式設(shè)置 5*7 點(diǎn)陣,8 位數(shù)據(jù),16*2 顯示delay(7)。zhiling(0x0f)。 //D=1 開(kāi)顯示,C=1 開(kāi)光標(biāo),B=1 光標(biāo)閃爍 (00001DCB)delay(7)。zhiling(0x01)。 //01H 顯示清屏,02H 顯示回車delay(460)。zhiling(0x06)。 //顯示光標(biāo)移動(dòng)位置(000001NS)delay(7)。}void lcd_clear(void) /********顯示清屏*********/{ zhiling(0x01)。} void init_duankou(void) //*******端口初始化**********{ TRISB6=1。 RB6=1。 //將 RB6 置為高電平 OPTION=0X00。 //啟動(dòng)弱上拉功能 PORTB=PORTB。 GIE=1。 PEIE=1。 TMR1H=0X0B。 //設(shè)置初始值為 秒 TMR1L=0XDB。 TMR1IE==1。 T1CON=0XC0。 //設(shè)置預(yù)分頻壁為 8:1,暫時(shí)不打開(kāi) TMR1ONXXXX 大學(xué)本科畢業(yè)設(shè)計(jì) TMR1ON=1。 //打開(kāi)定時(shí)器開(kāi)始計(jì)數(shù)ADCON1=0X07。 //把 A,E 口都設(shè)置為 I/OTRISA=0X00。TRISC=0xf0。OPTION=0x00。TRISD=0X00。 //設(shè)置為輸出TRISE=0X00。 PORTC=0x00。asm(nop)。}void init_pwm(void) //***********脈寬調(diào)制初始化************{ TRISC2=0。 //波形輸出端 PR2=0XFF。 CCP1CON=0X0C。 CCPR1L=0X00。 T2CON=0X00。 TMR2IE=1。 T2CKPS1=1。 //預(yù)分頻比 16:1 TMR2ON=1。} void anjian(void) //按鍵識(shí)別{ if(RC7==0)keyscan()。 else if(RC6==0)keyscan()。 else if(RC5==0)keyscan()。 else if(RC4==0)keyscan()。}/*********PWM 控制部分*******************/void kongzhi(void) { if(TMR2IF==1) { if(data==10) //按鍵 10 打開(kāi)電機(jī) { RA1=0。 zhiling(0x0C)。 zhiling(0x80)。 //80H 地址是定義在第 1 行顯示 for(j=0。j13。j++) shuju(on[j])。 } if(data==3) //按鍵 2 關(guān)閉電機(jī) { RA1=1。 zhiling(0x0C)。 zhiling(0xC0)。 //C0H 地址是定義在第 2 行顯示 for(j=0。j13
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1