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

正文內(nèi)容

單片機課設(shè)pwm控制微型直流電機調(diào)速正反轉(zhuǎn)啟停-資料下載頁

2025-07-07 13:08本頁面
  

【正文】 過后不久你就會忘得一干二凈,這還不如不做。通過這次的課程設(shè)計,拓寬我們的眼界,使我們認識到這門課程在生活中的應用是那么的廣泛。我想以后多多進行這樣的課程設(shè)計,這樣不僅能將課上的原理分析得更透徹,而且能將其靈活地應用于實際生活中,提高動手能力和創(chuàng)新能力,很有意義。 參考文獻[1] 肖洪兵. .跟我學用單片機[M]. 北京:北京航空航天大學出版社,2006.[2] 何立民. 單片機高級教程[M]. 北京:北京航空航天大學出版社,2007.[3] 馬連洪,丁男,黃偉,[M]. 北京:北京交通大學出 版社,2000.[4] 周明德. 單片機原理與技術(shù)[M] 北京:人民郵電出版社,2008.[5] 何立民. 單片機應用系統(tǒng)設(shè)計[M]. 北京:北京航空航天大學出版社,2000.[6] 姜志海,劉連新. 單片微型計算機原理接口與應用[M]. 北京:機械工業(yè)出 版社,2007 . 附錄1 控制系統(tǒng)C語言程序includedefine uchar unsigned char define uint unsigned intsbit PW1=P1^2 。sbit PW2=P1^1 。 //控制電機的兩個輸入sbit add=P3^2 。 //加速按鍵sbit sub=P3^3 。 //減速按鍵sbit stop=P3^4 。 //停止按鍵sbit left=P3^5 。 //左轉(zhuǎn)按鍵sbit right=P3^6。 sbit en1=P1^0。define right_turn PW1=0。PW2=1 //順時針轉(zhuǎn)動define left_turn PW1=1。PW2=0 //逆向轉(zhuǎn)動define end_turn PW1=1。PW2=1 //停轉(zhuǎn)uint t0=25000,t1=25000。 //初始時占空比為50%uint a=25000。 // 設(shè)置定時器裝載初值 25ms 設(shè)定頻率為Hzuchar flag=1。 //此標志用于選擇不同的裝載初值uchar dflag。 //左右轉(zhuǎn)標志uchar count。 //用來標志速度檔位void keyscan()。 //鍵盤掃描void delay(uchar z)。void time_init()。 //定時器的初始化void display()。void main(){ time_init()。 //定時器的初始化while(1){ display()。 keyscan()。 //不斷掃描鍵盤程序,以便及時作出相應的響應}} void timer0() interrupt 1 using 0{ if(flag) { flag=0。 end_turn。 a=t0。 //t0的大小決定著低電平延續(xù)時間 TH0=(65536a)/256。 TL0=(65536a)%256。 //重裝載初值 } else { flag=1。 //這個標志起到交替輸出高低電平的作用 if(dflag==0) { right_turn。 //右轉(zhuǎn) } else { left_turn。 //左轉(zhuǎn) } a=t1。 //t1的大小決定著高電平延續(xù)時間 TH0=(65536a)/256。 TL0=(65536a)%256。 //重裝載初值 }}void time_init(){TMOD=0x01。 //工作方式寄存器 軟件起動定時器 定時器功能 方式1 定時器0TH0=(65536a)/256。TL0=(65536a)%256。 //裝載初值ET0=1。 //開啟定時器中斷使能EA=1。 // 開啟總中斷TR0=0。}void delay(uchar z) //在12M下延時z毫秒{uint x,y。for(x=z。x0。x) for(y=110。y0。y)。} void keyscan(){ if(stop==0) { TR0=0。 //關(guān)閉定時器0 即可停止轉(zhuǎn)動 end_turn。 }if(left==0amp。amp。stop==1) { TR0=1。 dflag=1。 //轉(zhuǎn)向標志置位則左轉(zhuǎn) }if(right==0amp。amp。stop==1) { TR0=1。 dflag=0。 //轉(zhuǎn)向標志復位則右轉(zhuǎn) }if(add==0||sub==0) { if(add==0) { delay(5) 。 //延時消抖 if(add==0) { while(add==0) 。 //等待松手 count++。 } }if(sub==0){ delay(5) 。 if(sub==0) {while(sub==0) 。count。 }} if(count==0) {t0=25000。 t1=25000。} if(count==1) { t0=20000。 t1=30000。 //占空比為百分之60 } if(count==2) { t0=15000。 t1=35000。 //占空比為百分之70 } if(count==3) { t0=10000。 t1=40000。 //占空比為百分之80 } if(count==4) { t0=5000。 t1=45000。 //占空比為百分之90 } if(count==5) { t0=2500。t1=47500。 } } } void display() { if(right==0)P0=0xc0。//第一個數(shù)碼管顯示0,表示正轉(zhuǎn) else if(right==1amp。amp。left==0) P0=0xf9。//第一個數(shù)碼管顯示1,表示反轉(zhuǎn) switch(count)//設(shè)置速度等級 { case 0:P2=0xc0。count=0。break。//速度等級為0,第二個數(shù)碼管顯示0 case 1:P2=0xf9。count=1。break。//速度等級為1,第二個數(shù)碼管顯示1 case 2:P2=0xa4。count=2。break。//速度等級為2,第二個數(shù)碼管顯示2 case 3:P2=0xb0。count=3。break。//速度等級為3,第二個數(shù)碼管顯示3 case 4:P2=0x99。count=4。break。//速度等級為4,第二個數(shù)碼管顯示4 case 5:P2=0x92。count=5。break。//速度等級為5,第二個數(shù)碼管顯示5 default :break。 } }附錄2
點擊復制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1