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

正文內(nèi)容

基于單片機(jī)的直流電機(jī)調(diào)速、測(cè)速以及顯示系統(tǒng)設(shè)計(jì)-資料下載頁

2024-12-06 05:31本頁面

【導(dǎo)讀】轉(zhuǎn)速進(jìn)行控制的方法。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。的高潮在全社會(huì)大規(guī)模地興起。學(xué)習(xí)單片機(jī)的最有效方法就是理論與實(shí)踐并重,本文用8051單片機(jī)自制了一個(gè)采用了專門的芯片組成了PWM信號(hào)的發(fā)生系統(tǒng),調(diào)節(jié),從而控制其輸入信號(hào)波形等均作了詳細(xì)的闡述。還對(duì)直流電機(jī)的速度進(jìn)行

  

【正文】 t0時(shí),延時(shí)( t*) s t=0時(shí)。延時(shí) */ /********************************************************/ unsigned char SD[4]={39。139。,39。239。,39。339。,39。439。}。//速度設(shè)定 unsigned char FK[4]={39。239。,39。239。,39。339。,39。439。}。//速度反饋 int D=0。//方向控制中間變量 unsigned int Pwm=0。//速度產(chǎn)生中間變量 unsigned int p=0。 unsigned int Value=0。 unsigned int Pwm_Value=0。 unsigned int m。 //unsigned int a,b,c,d。 sbit KEY1=P2^0。 sbit KEY2=P2^1。 sbit KEY3=P2^2。 sbit MotorA=P1^6。 sbit MotorB=P1^7。 bit SWTR。 bit SWTF。 unsigned int SWTV。 define Pwm_MAX 255 void Delay(unsigned int T) { 31 SWTV=T。 SWTR=1。 while(!SWTF)。 SWTR=0。 SWTF=0。 } void KEY() { if(KEY1==0) { Value=Value+1。 } if(KEY2==0) { Value=Value1。 } if(KEY3==0) { if(D==0) { D=1。 } else { D=0。 } } } void PWM_Init() { static unsigned char t=0。 t++。 if(tPwm_MAX)t=0。 if(t=Pwm_Value) { Pwm=1。 } else { Pwm=0。 } if(D==0) { MotorA=0。 32 MotorB=Pwm。 } else { MotorA=Pwm。 MotorB=0。 } } void Show_Value(unsigned char CH[]) { int i。 for(i=0。i4。i++) { LcdPutChar(CH[i])。 } } void Show_Init() { LcdWriteCmd(0x80)。 LcdPuts(速度設(shè)定 )。 LcdWriteCmd(0x90)。 LcdPuts(速度反饋 )。 LcdWriteCmd(0x88)。 LcdPuts(速度方向 )。 LcdWriteCmd(0x98)。 LcdPuts(測(cè)控 071 )。 LcdWriteCmd(0x9c)。 LcdPuts(14號(hào) )。 } void T_int()//定時(shí)器初始化 { TMODamp。=0x00。 TMOD=0x25。 TH1=TL1=0xa4。 TH0=TL0=0。 ET1=1。 TR1=1。 EA=1。 } void MeasureSpeed() { TH0=TL0=0。 TR0=1。 Delay(2420)。 33 TR0=0。 TF0=0。 m=2*(TH0*255+TL0)。 if(mValue) { Pwm_Value=Pwm_Value1。 } if(mValue) { Pwm_Value=Pwm_Value+1。 } FK[3]=(m%10)+48。 FK[2]=(m/10%10)+48。 FK[1]=(m/100%10)+48。 FK[0]=(m/1000%10)+48。 SD[3]=(Value%10)+48。 SD[2]=(Value/10%10)+48。 SD[1]=(Value/100%10)+48。 SD[0]=(Value/1000%10)+48。 } void main() { unsigned char i。 MotorA=0。 MotorB=0。 EA=0。 T_int()。 Delay(50)。 LcdInit()。//LCD初始化 /*****************************************/ for(i=0。i2。i++) { LcdLightOff()。 Delay(660)。 LcdLightOn()。 Delay(660)。 } Delay(660)。 LcdClear()。 Delay(660)。 /****************************************/ EA=1。 Show_Init()。 Delay(20)。 34 Value=200。 Pwm_Value=Value。 for(。) { KEY()。//按鍵處理 MeasureSpeed()。 LcdWriteCmd(0x94)。 Show_Value(FK)。 LcdWriteCmd(0x84)。 Show_Value(SD)。 LcdWriteCmd(0x8c)。 if(D==0) { LcdPuts(正向 )。 } if(D==1) { LcdPuts(反向 )。 } } } void T1ZD() interrupt 3 { TR1=0。 // KEY()。//按鍵處理 PWM_Init()。 if(SWTR) //延時(shí) { if(SWTV==0) SWTF=1。 } TR1=1。 } 35 第五章 結(jié)論與展望 本設(shè)計(jì) 以 8051 為核心,利用單片機(jī) 的 運(yùn)算和控制功能,并采用系統(tǒng)化 LCD顯示模 塊實(shí)時(shí)顯示所測(cè)速度的設(shè)計(jì)方案 , 以及串口數(shù)據(jù)存儲(chǔ)電路和系統(tǒng)軟件。 傳感器 也 是實(shí)現(xiàn)測(cè)量與控制 不可缺少的 環(huán)節(jié),是測(cè)控系統(tǒng)的關(guān)鍵部件,如果沒有傳感器對(duì)原始被測(cè)信號(hào)進(jìn)行準(zhǔn)確可靠的捕捉和轉(zhuǎn)換,一切準(zhǔn)確的測(cè)量和控制都將無法實(shí)現(xiàn)。工業(yè)生產(chǎn)過程的自動(dòng)化測(cè)量和控制,幾乎主要依靠各種傳感器來檢測(cè)和控制生產(chǎn)過程中的各種參量,使設(shè)備和系統(tǒng)正常運(yùn)行在最佳狀態(tài),從而保證生產(chǎn)的高效率和高質(zhì)量。 論文的整個(gè)制作過程的確不容易,現(xiàn)在回想一下那段時(shí)日,有艱辛的一面,亦有喜悅的一面,但整個(gè)過程總結(jié)來說還是蠻充實(shí)的,畢竟在整個(gè)設(shè)計(jì)的過程中,自己又對(duì)已 經(jīng)學(xué)過的專業(yè)課知識(shí)梳理了一下,而且對(duì)于實(shí)際的應(yīng)用和需求也參考了各個(gè)方面的資料,所以整個(gè)設(shè)計(jì)過程下來,自己整體的專業(yè)知識(shí)水平又進(jìn)行了一次升華。 本方案基本實(shí)現(xiàn)了 直流電機(jī)的 速度即時(shí)顯示,并可通過控制按鍵顯示速度,并通過 PWM 方波對(duì)直流電機(jī)的速度與轉(zhuǎn)向進(jìn)行控制。 這一方案可以在很多領(lǐng)域有很好的應(yīng)用,例如我們現(xiàn)在交通不可缺少的代步工具 —— 電動(dòng)車的車速表,我們現(xiàn)在的車速表都是指針式的,不夠精確。這種數(shù)字式的不僅一目了然,還很精確。 隨著科技的不斷發(fā)展,電子式車速表也在不斷的完善中,隨著傳感器的廣泛應(yīng)用,電子式車速表的功 能日益多樣化,如加入時(shí)鐘, 里程數(shù)、 電瓶電 量顯示等。 這樣就不會(huì)遇到去某個(gè)地方但是電量卻不足而不知道的情況了。 36 附錄 附一 速度控制子程序 void T_int()。//定時(shí)器初始化 { Tmod=0x00。 Tmod=0x25。 TH1=TL1=0xa4。 TH0=TL0=0。 } void Delay(unsigned int t} ) { SWTV=T。 SWTR=1。 WHILE(!SWTF)。 SWTR=0。 SWTF=0 } void MeasureSpeed()。//速度計(jì)算 { int m。 TH0=TL0=0 TR0=1 Delay(2500)。 TR0=0。 TF0=0。 m=TH0*255+TH0。//已知速度不吵過 100 a=m%10。 b=m/10%10。 c=m/100%10。 d=m/1000%10。 FK[3]=39。a39。 FK[3]=39。b39。 FK[3]=39。c39。 FK[3]=39。d39。 } void Show_init()。 { 37 LcdWriteCmd(0x83)。 LcdPuts(速度方向 )。 LcdWriteCmd()。 LcdPuts(速度設(shè)定 )。 LcdWriteCmd()。//速度反饋 } void ShowValue() { int i。 for(i=0。i4。i++) { LcdPutChar(s++)。 } } void T1ZD() { unsigned char m=0。 static unsigned char t=0。 TR1=0。 t++。 if(t=Pwm_MAX) t=0。 if(t=PwmVlue) { Pwm=1。 } else { Pwm=0。 } if(SWTR) { IF(SWTV==0) SWTF=1。 } TR1=1。 if(m%4==0) { MeasureSpeed()。 } } void main() { T_init()。 38 Show_init()。 while(1) { Lcd()。 Delay(?)。//更新速度由這里決定 } } void key()//速度加減處理 { if(key1==0) { PwmValue=PwmValue+2。//2 由實(shí)際決定 } if(key2==0) { PwmValue=PwmValue2。 } if(key3==0) d=~d。 } void Show_Value(unsigned char *s) { int i。 for(i=0。i4。i++) { LcdPutChar(*(s+i)) } } void Show_Value(unsigned char FK[]) void Copy_String(char*from,char*to) { for (。*form!=39。\039。from++) } void Pwm() { static unsigned char t=0。 t++。 if(t=Pwm_MAX) t=0。 if(t=PwmValue) { Pwm=1。 } else { 39 Pwm=0。 } if(d==0) { MotorA=0。 Motorb=Pwm。 } else { MotorA=Pwm。 MotorB=0。 } } 附二 電路圖 圖 直流電機(jī)驅(qū)動(dòng)電路
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1