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

正文內(nèi)容

直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)(參考版)

2025-07-07 21:26本頁面
  

【正文】 j++。 //C0H 地址是定義在第 2 行顯示 for(j=0。 zhiling(0x0C)。j++) shuju(on[j])。 //80H 地址是定義在第 1 行顯示 for(j=0。 zhiling(0x0C)。 else if(RC4==0)keyscan()。 else if(RC6==0)keyscan()。 //預(yù)分頻比 16:1 TMR2ON=1。 TMR2IE=1。 CCPR1L=0X00。 //波形輸出端 PR2=0XFF。asm(nop)。 //設(shè)置為輸出TRISE=0X00。OPTION=0x00。 //把 A,E 口都設(shè)置為 I/OTRISA=0X00。 //設(shè)置預(yù)分頻壁為 8:1,暫時(shí)不打開 TMR1ONXXXX 大學(xué)本科畢業(yè)設(shè)計(jì) TMR1ON=1。 TMR1IE==1。 TMR1H=0X0B。 GIE=1。 //將 RB6 置為高電平 OPTION=0X00。} void init_duankou(void) //*******端口初始化**********{ TRISB6=1。 //顯示光標(biāo)移動位置(000001NS)delay(7)。 //01H 顯示清屏,02H 顯示回車delay(460)。 //D=1 開顯示,C=1 開光標(biāo),B=1 光標(biāo)閃爍 (00001DCB)delay(7)。 //顯示模式設(shè)置 5*7 點(diǎn)陣,8 位數(shù)據(jù),16*2 顯示delay(7)。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令) }void init_lcd(void) /*****液晶初始化********/{delay(100)。asm(nop)。PORTD=y。RS=1。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令) asm(nop)。 asm(nop)。PORTD=zhi_l。XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)RS=0。 TRISD=0X00。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令), 繼續(xù)返回檢測 } E=0。 /*******檢測忙標(biāo)志位********/ asm(nop)。 asm(nop)。 //讀數(shù)據(jù)asm(nop)。 //在此處設(shè)為輸入 RS=0。fanyi()。if(temp==(temp4amp。if(temp==(temp3amp。if(temp==(temp2amp。if(temp==(temp1amp。temp4=PORTC。PORTC=0x07。delay(10)。temp2=PORTC。PORTC=0x0d。delay(10)。 //延時(shí)去抖動temp=PORTC。data=table[tt]。else if(temp==0x77)tt=0x0f。else if(temp==0x7d)tt=0x0a。else if(temp==0xb7)tt=0x0e。else if(temp==0xbd)tt=0x08。else if(temp==0xd7)tt=0x0d。else if(temp==0xdd)tt=0x05。else if(temp==0xe7)tt=0x0c。else if(temp==0xed)tt=0x02。void delay(unsigned int m) //*******延時(shí)函數(shù)**********{while(m){。unsigned char speed_down[]=SPEED DOWN:。unsigned char off[]=POWER OFF!! 。unsigned char aa,bb,cc。unsigned int count=0。unsigned int j。在整個(gè)畢業(yè)設(shè)計(jì)過程中,使我深深的感受到了汪光宅老師與劉強(qiáng)老師對學(xué)生的那種悔人不卷的精神,老師一有時(shí)間就來給我們指導(dǎo),使我們少走彎路,順利完成了這次的設(shè)計(jì)任務(wù),請?jiān)试S我向汪老師以及劉老師致以崇高的敬意,謝謝兩位老師!XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)附 錄 附錄一 設(shè)計(jì)源程序includedefine RS RE0 define RW RE1 define E RE2unsigned char data。經(jīng)過多次修改和整理,它是一個(gè)比較不錯(cuò)的設(shè)計(jì),可以滿足人們的基本要求,但因?yàn)樗接邢?,此系統(tǒng)存在一定的問題,譬如說電機(jī)只能正轉(zhuǎn),而不,但過于復(fù)雜,本次設(shè)計(jì),我們感覺有很大的收獲:首先,通過學(xué)習(xí)使自己對課本上的知識可以應(yīng)用于實(shí)際,使理論與實(shí)際相結(jié)合,加深自己對課本知識的更好理解,同時(shí)這次設(shè)計(jì)也段練了我個(gè)人的動手能力:能夠充分利用圖書館去查閱資料,增加了許多課本以外的知識。六、仿真結(jié)果與實(shí)際結(jié)果,顯示如圖 20 所示:圖 20 電機(jī)打開 21a 所示,當(dāng)再次按下此鍵我們可以看到電機(jī)速度加快,電機(jī)轉(zhuǎn)動的位置發(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)動,脈寬為 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)行效率。注:以上是軟件的各個(gè)模塊的功能實(shí)現(xiàn),其實(shí)在整個(gè)軟件系統(tǒng)設(shè)計(jì)中,各個(gè)功能模塊是相對獨(dú)立的,各個(gè)模塊之間的聯(lián)系是比較明確的,對于鍵盤模塊直接判斷按下的究竟是哪個(gè)鍵,就可以執(zhí)行相應(yīng)的功能,對于液晶顯示就相對比較簡單,直接要把顯示的內(nèi)容寫入函數(shù)就行啦,PWM 模塊就通過按鍵來實(shí)現(xiàn)對脈寬的控制,而電機(jī)速度測試模塊是XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)完全獨(dú)立的,只要一秒的時(shí)間到來就進(jìn)入中斷,停止計(jì)數(shù)進(jìn)行中斷處理。 }在上面這個(gè)測速模塊中關(guān)鍵是打開定時(shí)器,單片機(jī)不聽的檢測 RB6 引腳上接收到的電平是否為低電平,是就說明電機(jī)轉(zhuǎn)啦一圈,即單片機(jī)計(jì)數(shù),一旦中斷的到來,就檢測是否一秒到來,若一秒到啦則把記錄下的圈數(shù)存儲起來,此時(shí)關(guān)閉 TMR1 定時(shí)器。 //設(shè)置初始值為 秒 TMR1L=0XDB。 //取出轉(zhuǎn)速的個(gè)位 count1=0。 //取出轉(zhuǎn)速的十位 count1%=10。 //取出轉(zhuǎn)速的百位 count1%=100。 count=0。 if(n==2) //檢測是否到達(dá)一秒 { n=0。 //關(guān)閉 TMR1 TMR1IF=0。 ++count。 //設(shè)置預(yù)分頻壁為 8:1,暫時(shí)不打開 TMR1ON TMR1ON=1。 TMR1IE==1。XXXX 大學(xué)本科畢業(yè)設(shè)計(jì) TMR1H=0X0B。 GIE=1。 //將 RB6 置為高電平 OPTION=0X00。void main(){ TRISB6=1。unsigned int count1。 19 所示:XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)圖 19 紅外測速流程includeunsigned char n=0。其工作過程如下:當(dāng)齒盤旋轉(zhuǎn)時(shí),由于輪齒的遮擋,紅外發(fā)射管與接收管之間的紅外線光路時(shí)斷時(shí)續(xù),信號處理電路將此變化的光信號轉(zhuǎn)換為電脈沖信號,一個(gè)脈沖信號即表示齒盤轉(zhuǎn)過一個(gè)齒。 //刷新脈寬值 }}3.把以上程序編譯后在 PROTUES 仿真軟件上仿真的結(jié)果如下圖 18 所示: 圖 18 PWM 的脈寬的輸出注:以上只是一個(gè) PWM 調(diào)試程序的仿真結(jié)果,向脈寬寄存器 CCPR1L 里送入值就是啦,即上面的仿真結(jié)果。 //開啟 TMR2 while(1) if(TMR2IF==1) //等待 TMR2 的時(shí)間到來 { TMR2IF=0。 //設(shè)定 TMR2,后分頻與預(yù)分頻為 1:1,暫//時(shí)不開啟 TMR2 T2CKPS1=1。 //PWM 輸出,脈寬低 2 位固定為 00 CCPR1L=0X00。 //設(shè)置 RC2 為 CCP1 脈寬調(diào)制輸出 PR2=0XFF。1. PWM 輸出的軟件流程如下圖 17 所示:XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)圖 17 PWM 的軟件流程圖在這個(gè)軟件的設(shè)計(jì)流程中,最關(guān)鍵的是判斷定時(shí)器 TMR2 的時(shí)間標(biāo)志位到來沒有,一旦時(shí)間到來,就刷新存儲脈寬值的專用寄存器 CCPR1L,CCPR1H。當(dāng)處于脈寬調(diào)制工作方式時(shí),可以在兩個(gè)引腳(RC1 , RC2) 輸出兩路分辨率高達(dá) 10 位的 PWM 信號。 CCP1 模塊和 CCP2 模塊是 PIC16F877A 芯片的重要組成部分。(2)控制端口E一定要在高電平跳變成低電平時(shí)才有效,即液晶模塊執(zhí)行命令。while(1)。j10。 //顯示字符zhiling(0xC0)。j9。 //01H 顯示清屏,02H 顯示回車zhiling(0x80)。 //調(diào)用端口初始化函數(shù)init_lcd()。}void lcd_clear() /********顯示清屏*********/{zhiling(0x01)。zhiling(0x06)。zhiling(0x01)。zhiling(0x0f)。zhiling(0x38)。E=0。E=1。 //(RS=R/W=0 時(shí)寫入數(shù)據(jù))RW=0。}void shuju(unsigned char y) /********寫數(shù)據(jù)*********/{ check_busy()。E=0。E=1。 //(RS=0、R/W=0 時(shí)寫入命令)RW=0。 //還原為輸出}void zhiling(unsigned char zhi_l) /*******寫指令*********/{check_busy()。 //E=0(E 由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令)asm(nop)。E=0。if(RD7==0)break。while(1){E=1。RW=1。}}void check_busy() //讀液晶忙信號{TRISD=0XFF。asm(nop)。 //把 A,E 口都設(shè)置為 I/OTRISD=0X00。XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)unsigned char off[]=POWER OFF!。 的軟件流程如下圖 15 所示:XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)圖15 LCD流程圖include define RS RE0 //三根控制線的宏定義define RW RE1define E RE2unsigned int j。(3)E 端為使能端,當(dāng)E 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。(2)RW 為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。(3)漢字的顯示漢字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼(一般用字模提取軟件),每個(gè)漢字占 32B,分左右兩半,各占 16B,左邊為 5……右邊為 6……根據(jù)在 LCD 上開始顯示的行列號及每行的列數(shù)可找出顯示 RAM 對應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一字節(jié),光標(biāo)位置加 1,送第二個(gè)字節(jié),換行按列對齊,送第三個(gè)字節(jié)……直到 32B 顯示完就可以 LCD 上得到一個(gè)完整漢字。這樣一來就組成某個(gè)字符。這就是 LCD 顯示的基本原理。}} Proteus 仿真軟件上仿真的結(jié)果如下圖 14 所示:圖 14 當(dāng)按下 1 鍵時(shí)在數(shù)碼管上的顯示(二)LCD1602 液晶顯示:(1)線段的顯示點(diǎn)陣圖形式液晶由 MN 個(gè)顯示單元組成,假設(shè) LCD 顯示屏有 64 行,每行有 128 列,每 8 列對應(yīng) 1 字節(jié)的 8 位,即每行由 16 字節(jié),共 168=128 個(gè)點(diǎn)組成,屏上 6416 個(gè)XXXX 大學(xué)本科畢業(yè)設(shè)計(jì)顯示單元與顯示 RAM 區(qū) 1024 字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。PORTD=data。else if(RC4==0)keyscan()。else if(RC6==0)keyscan()。XXXX 大學(xué)本科畢業(yè)設(shè)計(jì) PORTC=0x00。 ADCON1=0x07。//初始化 TRISC=0xf0。fanyi()。if(temp==(temp4amp。if(temp==(temp3amp。if(temp==(temp2amp。if(temp==(temp1amp。temp4=PORTC。PORTC=0x07。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1