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

正文內(nèi)容

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

2024-10-27 11:22本頁(yè)面

【導(dǎo)讀】主要通過(guò)PWM信號(hào)對(duì)直流電轉(zhuǎn)速進(jìn)行控制。首先預(yù)設(shè)電機(jī)轉(zhuǎn)速,單片機(jī)將此轉(zhuǎn)速。按照固定的比例轉(zhuǎn)化為一定占空比的脈沖信號(hào)輸出到直流電機(jī)驅(qū)動(dòng)模塊。號(hào)分析處理得到電機(jī)實(shí)時(shí)轉(zhuǎn)速,將此轉(zhuǎn)速與預(yù)設(shè)轉(zhuǎn)速進(jìn)行比較得出差值。塊,循環(huán)次過(guò)程。該系統(tǒng)用STC89C52RC型號(hào)單片機(jī)為主控芯片,L298N芯片為直流電機(jī)驅(qū)動(dòng),LCD1602液晶顯示屏顯示實(shí)時(shí)轉(zhuǎn)速。本系統(tǒng)硬件電路設(shè)計(jì)可靠,抗干擾能力強(qiáng),調(diào)速。快、波動(dòng)范圍1%。

  

【正文】 = P3^6。 /*數(shù)碼管寄存器 LE 引腳 */ uchar code Mun_to_char[16] = {0123456789}。 /*定義數(shù)字跟 ASCII 碼的關(guān)系 */ uchar data set_speedshow[3]。/*格式為 : 百位 十位 個(gè)位 */ uchar data now_speedshow[3]。 uchar data Lcd_line1[16]={SET_N: 000 n/M }。 uchar data Lcd_line2[16]={NOW_N: 000 n/M }。 uchar data overrange[3]={OT }。 int xdata set_speed。 int data now_speed。 int data count。 int data N_C,PwmH,Pwm_num。 // void Lcd_delay(uchar ms) /*LCD1602 延時(shí) */ { uchar j。 while(ms){ 基于單片機(jī)控制的直流電機(jī)調(diào)速 系統(tǒng) 設(shè)計(jì) 22 for(j=0。jj++) {。} } } void Lcd_busy_wait() /*LCD1602 忙等待 */ { Lcd_rs = 0。 Lcd_rw = 1。 Lcd_en = 1。 Lcd_data = 0xff。 while (Lcd_dataamp。0x80)。 Lcd_en = 0。 } void Lcd_mand_write(uchar mand) /*LCD1602 命令字寫(xiě)入 */ { Lcd_busy_wait()。 Lcd_rs = 0。 Lcd_rw = 0。 Lcd_en = 0。 Lcd_data = mand。 Lcd_en = 1。 Lcd_en = 0。 } void Init_lcd() /*LCD1602 初始化 */ { Lcd_delay(20)。 Lcd_mand_write(0x38)。 Lcd_delay(100)。 Lcd_mand_write(0x38)。 Lcd_delay(50)。 Lcd_mand_write(0x38)。 Lcd_delay(10)。 Lcd_mand_write(0x08)。 Lcd_mand_write(0x01)。 Lcd_mand_write(0x06)。 Lcd_mand_write(0x0c)。 Lcd_data = 0xff。 /*釋放數(shù)據(jù)端口 */ } void Lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符寫(xiě)入 */ { x_pos amp。= 0x0f。 /* X位置范圍 0~15 */ y_pos amp。= 0x01。 /* Y 位置范圍 0~ 1 */ 基于單片機(jī)控制的直流電機(jī)調(diào)速 系統(tǒng) 設(shè)計(jì) 23 if(y_pos==1) x_pos += 0x40。 x_pos += 0x80。 Lcd_mand_write(x_pos)。 Lcd_busy_wait()。 Lcd_rs = 1。 Lcd_rw = 0。 Lcd_en = 0。 Lcd_data = lcd_dat。 Lcd_en = 1。 Lcd_en = 0。 Lcd_data = 0xff。 /*釋放數(shù)據(jù)端口 */ } /*按鍵掃描 */ uchar scan_enter() { uchar data scan_num。 Led_latch_port = 1。 scan_y1=1。 /*判斷第一列按鍵 */ scan_y2=0。 Lcd_delay(30)。 if(!scan_x1) { P0=0xfe。scan_num=1。 } else if(!scan_x2) { P0=0xfd。scan_num=2。 } else if(!scan_x3) { P0=0xfb。scan_num=3。 } else{ scan_y1=0。 /*判斷第二列按鍵 */ scan_y2=1。 if(!scan_x1){ P0=0xf7。scan_num=4。 } else if(!scan_x2){P0=0xef。scan_num=5。 } else if(!scan_x3){ P0=0xdf。scan_num=6。 } else scan_num=0。 } Lcd_delay(10)。 P0=0xff。 Led_latch_port = 0。 return(scan_num)。 } int setandenter() {uchar keynum1 。 uchar i=8。 keynum1=scan_enter()。 if(keynum1==1) { while(keynum1!=3) { keynum1= scan_enter()。 基于單片機(jī)控制的直流電機(jī)調(diào)速 系統(tǒng) 設(shè)計(jì) 24 if(keynum1) { if (keynum1==2amp。amp。i=8amp。amp。i10) i++。 else if(keynum1==6){if(set_speedshow[i8]=0amp。amp。set_speedshow[i8]9){set_speedshow[i8]++。Lcd_char_write(i,0,Mun_to_char[set_speedshow[i8]])。}。} else if(keynum1==5amp。amp。i8amp。amp。i=10) i。 else if(keynum1==4){if(set_speedshow[i8]0amp。amp。set_speedshow[i8]=9){set_speedshow[i8]。Lcd_char_write(i,0,Mun_to_char[set_speedshow[i8]])。}。} } }。 } set_speed=set_speedshow[0]*100+set_speedshow[1]*10+set_speedshow[2]。 return(set_speed)。 } void timer0() interrupt 3 { uchar i。 count++。 if(count==1000) { now_speed=(TH0*256+TL0)*。 /*計(jì)算轉(zhuǎn)速 */ now_speedshow[0]=now_speed/100。/*刷新顯示 */ if(now_speedshow[0]10amp。amp。now_speedshow[0]=0) {now_speedshow[1]=(now_speednow_speedshow[0]*100)/10。 now_speedshow[2]=(now_speednow_speedshow[0]*100now_speedshow[1]*10)/1。 for (i=8。i11。i++) Lcd_char_write(i,1,Mun_to_char[now_speedshow[i8]])。 } else {for (i=8。i11。i++) Lcd_char_write(i,1,Mun_to_char[overrange[i8]])。} now_speed=now_speedshow[0]*100+now_speedshow[1]*10+now_speedshow[2]。 P0=0xff。 count=0。 TL0=0x00。 TH0=0x00。 TF0=0。 } Pwm_num++。 if(Pwm_num=PwmH) Pwm_out=1。 if(Pwm_numPwm_periedamp。amp。Pwm_numPwmH ) Pwm_out=0。 if(Pwm_num=Pwm_peried) Pwm_num=0。 } 基于單片機(jī)控制的直流電機(jī)調(diào)速 系統(tǒng) 設(shè)計(jì) 25 void main() { uchar i。 now_speed=0。 count=0。 PwmH=0。 N_C=0。 Pwm_num=0。 Init_lcd()。 /*LCD1602 初始化 */ Lcd_data = 0xff。 /*釋放 P0 端口 */ Led_latch_port = 0。 Seg_latch_port = 0。 Pwm_out=0。 for(i=0。i16。i++) Lcd_char_write(i,0,Lcd_line1[i])。 /*初始化顯示 */ for(i=0。i16。i++) Lcd_char_write(i,1,Lcd_line2[i])。 for(i=9。i12。i++) set_speedshow[i]=0。 for(i=9。i12。i++) now_speedshow[i]=0。 TL0= 0x00。 TH0= 0x00。 TL1= 0x06。/*設(shè)定方波周期為 */ TH1= 0x06。 TMOD=0X2D。 ET1=1。 TR1=1。 TR0=1。 EA =1。 while(1) { set_speed=setandenter()。 /*掃描設(shè)定轉(zhuǎn)速 */ N_C= (set_speednow_speed)/。 PwmH=PwmH+N_C。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1