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

正文內(nèi)容

基于pic16c74單片機(jī)的電動(dòng)自行車無位置傳感器直流無刷永磁電動(dòng)機(jī)設(shè)計(jì)-資料下載頁

2024-12-07 01:02本頁面

【導(dǎo)讀】發(fā)展短距離的綠色交通工具替代摩托車、燃油助力車成為一些國家的經(jīng)濟(jì)和社會課題。電動(dòng)自行車具有“零排放”,是一種比較好的短距離綠色交通工具。限制了電動(dòng)自行車的行駛距離,但可以通過提高系統(tǒng)的效率來改善其性能。好運(yùn)行性能和巨大的市場潛力。調(diào)速和過流保護(hù)......

  

【正文】 LINE 0x40 //設(shè)置列指令。 sbit EN= P3^5。 sbit RW=P3^4。 sbit RS=P3^2。 sbit L=P3^1。 //左半平面 sbit R=P3^0。 //右半平面 sbit Busy=P2^7。// //忙 判斷位 uc scan_key1,scan_key2。 //按鍵功能選擇, 00 停止, 01 正轉(zhuǎn) 10 反轉(zhuǎn) uc step1。step2。 static step_index。 ui count1,count2。 //定時(shí) uc butter。 //按鍵 static speed。 //速度參數(shù) uc code Title_Text[]=Curt_Speed:。//標(biāo)題字符串 uc code Title_Text1[]=Curt_Post:。//標(biāo)題字符串 uc code dis_Speed[]=200。 31 uc code dis_Post[]=180。 ui cut_speed=0,cut_post=0。 // //延時(shí) // void DelayMS(ui x) { uc i。 while(x) for(i=0。i120。i++)。 } void delay(ui time) ///延時(shí)程序 { for (count1=0。count1time。count1++ ) //此處可以用中斷進(jìn)行準(zhǔn)確定時(shí)。 for(count2=0。count23。count2++)。 } // //忙檢查 // uc Busy_Check() { uc LCD_Status。 RS = 0。 //寄存器選擇 RW = 1。 //讀狀態(tài)寄存器 EN = 1。 //開始讀 DelayMS(1)。 LCD_Status = P0。 EN = 0。 return LCD_Status。 } 32 // //寫 LCD 命令 // void Write_LCD_Command(uc cmd) { while ( (Busy_Check() amp。 0x80) == 0x80)。 //忙等待 RS = 0。 //選擇命令寄存器 RW = 0。 //寫 EN = 0。 P2= cmd。 EN = 1。 DelayMS(1)。 EN = 0。 } // //發(fā)送數(shù)據(jù) // void Write_LCD_Data(uc dat) { while ( (Busy_Check() amp。 0x80) == 0x80)。 //忙等待 RS = 1。 RW = 0。 EN = 0。 P2 = dat。 EN = 1。 DelayMS(1)。 EN = 0。 } // //LCD 初始化 // void Initialize_LCD() { Write_LCD_Command(0x38)。 //液晶模式設(shè)置為 16*2 顯示, 5*7 點(diǎn)陣, 8位數(shù)據(jù)接口 DelayMS(1)。 Write_LCD_Command(0x01)。 //清屏 33 DelayMS(1)。 Write_LCD_Command(0x06)。 //字符進(jìn)入模式:屏幕不動(dòng),字 符后移 DelayMS(1)。 Write_LCD_Command(0x0C)。 //顯示開,關(guān)光標(biāo) DelayMS(1)。 } // //顯示字符串 // void Display_String(uc *str,uc LineNo,uc post) { uc i = 0,Buf_Num=0。 //設(shè)置顯示起始位置 if(LineNo == 0x00) Write_LCD_Command(0x80+post)。 if(LineNo == 0x40) Write_LCD_Command(0xC0+post)。 Buf_Num=strlen(str)。 //輸出字符串 for (i = 0。 i Buf_Num。 i++) { Write_LCD_Data(str[i])。 } } void write_data_speed(ui Speed_Temp) { uc bai,shi,ge。 bai=Speed_Temp/100。 shi=Speed_Temp%100/10。 ge=Speed_Temp%10。 34 Write_LCD_Command(0x80+11)。 Write_LCD_Data(0x30+bai)。 delay(1)。 Write_LCD_Command(0x80+12)。 Write_LCD_Data(0x30+shi)。 delay(1)。 Write_LCD_Command(0x80+13)。 Write_LCD_Data(0x30+ge)。 } void write_data_post(ui Post_Temp) { uc bai,shi,ge。 bai=Post_Temp/100。 shi=Post_Temp%100/10。 ge=Post_Temp%10。 Write_LCD_Command(0xc0+11)。 Write_LCD_Data(0x30+bai)。 delay(1)。 Write_LCD_Command(0xc0+12)。 Write_LCD_Data(0x30+shi)。 delay(1)。 Write_LCD_Command(0xc0+13)。 Write_LCD_Data(0x30+ge)。 } //************************************************** //**********************轉(zhuǎn)步 ************************ //************************************************** 35 void ground(step_index) //轉(zhuǎn)步 { switch(step_index) { case 0://0 P0_0 = 1。 P0_1 = 0。 P0_2 = 0。 P0_3 = 0。 break。 case 1://0,1 P0_0 = 1。 P0_1 = 1。 P0_2 = 0。 P0_3 = 0。 break。 case 2://1 P0_0 = 0。 P0_1 = 1。 P0_2 = 0。 P0_3 = 0。 break。 case 3://1,2 P0_0 = 0。 P0_1 = 1。 P0_2 = 1。 P0_3 = 0。 break。 case 4://2 P0_0 = 0。 36 P0_1 = 0。 P0_2 = 1。 P0_3 = 0。 break。 case 5://2,3 P0_0 = 0。 P0_1 = 0。 P0_2 = 1。 P0_3 = 1。 break。 case 6://3 P0_0 = 0。 P0_1 = 0。 P0_2 = 0。 P0_3 = 1。 break。 case 7://3,0 P0_0 = 0。 P0_1 = 0。 P0_2 = 0。 P0_3 = 1。 } } //********************************************************* //******************按鍵處理程序 **************************** //************************************************************ void key(void) interrupt 2 { uc i。 37 for(i=0。i200。i++)。 //延時(shí)防抖 if(P3_3==0) { butter=~P1。 switch(butter) {case 0x01: scan_key1=1。scan_key2=0。 break。 //正常運(yùn)行 ,用兩個(gè)數(shù)字進(jìn)行選擇,是不錯(cuò)的辦法 case 0x02: scan_key1=0。scan_key2=0。break。 //停止 case 0x04: scan_key1=0 。scan_key2=1。 break。 //加速 case 0x08: step1=1。step2=0。break。 //減速 case 0x10: step1=0。step2=1。break。 //正轉(zhuǎn) default : 。 //其它值返回 } } P1=0XFF。 } void main(void) { P2=0xff。 Initialize_LCD()。 //初始化 LCD Display_String(Title_Text,0x00,0)。 //在第 1行顯示標(biāo)題 Display_String(Title_Text1,0x40,0)。 //在第 2行顯示標(biāo)題 step2=0。 step1=0。 P1=0xff。 P0=0。 EX1=1。 EA=1。 //開中斷 speed=2021。 38 write_data_speed(0)。 write_data_post(180)。 cut_speed=200。 while(1) { cut_post+=10。 if(cut_post=360) cut_post=0。 if((scan_key1==1)amp。(scan_key2==0)) // 正轉(zhuǎn) { ground(step_index)。 delay(speed)。 step_index++。 //大于 7,從頭再來 if(step_index7) step_index=0。 write_data_speed(cut
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1