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

正文內容

基于51單片機的直流電機pid閉環(huán)調速系統(tǒng)-資料下載頁

2024-11-06 09:48本頁面

【導讀】發(fā)送N個PWM波形,利用測周法測量電機轉速。的脈沖個數M個,而定時器0置在計時模式,用來計時T時間。理,電機的實際的轉速為:real_speed=M/(N*T),單位轉/秒。1置在計數模式,則PWM波形應該由P3^3腳輸入。使得轉速控制達到想要的精度。若在比例控制下穩(wěn)態(tài)誤差不能滿足要求,需加入積分控制。置一個較大值,觀測響應曲線。然后減小積分時間,加大積分作用,并相應。調整比例系數,反復試湊至得到較滿意的響應,確定比例和積分的參數。若經過步驟,PI控制只能消除穩(wěn)態(tài)誤差,而動態(tài)過程不能令人滿意,則應加入微分控制,構成PID控制。模擬電壓驅動實現:將數字量轉化為模擬量的最常用方法就是使用DA轉換。一般的使用中我比較喜歡的一款芯片是PCF8591。和1路8位DA轉換,與單片機之間使用IIC通信方式。和SCL兩根信號線,因此很省IO口,并且一個芯片AD,DA都有了,很方便。后者實現AD轉換,只有一個參數,就是選擇AD轉換的4個通道,

  

【正文】 //按鍵掃描函數,返回掃描鍵值 unsigned char KeyScan(void) { unsigned char keyvalue。 if(KeyPort!=0xff) { delay_ms(10)。 if(KeyPort!=0xff) { keyvalue=KeyPort。 while(KeyPort!=0xff)。 switch(keyvalue) { case 0xfe:return 1。break。 case 0xfd:return 2。break。 case 0xfb:return 3。break。 case 0xf7:return 4。break。 case 0xef:return 5。break。 case 0xdf:return 6。break。 case 0xbf:return 7。break。 case 0x7f:return 8。break。 default:return 0。break。 } } } return 0。 } 分享: 我個人對 MCS51單片機定時器和計數器區(qū)別的理解 20200225 18:43:30| 分類: 默認分類 |字號 訂閱 在 51單片機的學習過程中,我們經常會發(fā)現中斷、計數器 /定時器、串口是學習單片機的難點,對于初學者來說, 這幾部分的內容很難理解。但是我個人覺得這幾部分內容是單片機學習的重點,如果在一個學期的課堂學習或者自學中沒有理解這幾部分內容,那就等于還沒有掌握 51單片機,那更談不上單片機的開發(fā)了,我們都知道在成品的單片機項目中,有很多是以這幾部分為理論基礎的,萬年歷是以定時器為主的,報警器是以中斷為主的,聯機通訊是以串口為主的。 在這幾部分內容中,計數器 /定時器對于初學者說很容易搞混淆,下面我將對這方面的內容結合自己的學習經驗談幾點看法。 計數器和定時器的本質是相同的,他們都是對單片機中產生的脈沖進行計數,只不過計數器是 單片機外部觸發(fā)的脈沖,定時器是單片機內部在晶振的觸發(fā)下產生的脈沖。當他們的脈沖間隔相同的時候,計數器和定時器就是一個概念。 在定時器和計數器中都有一個溢出的概念,那什么是溢出了。呵呵,我們可以從一個生活小常識得到答案,當一個碗放在水龍頭下接水的時候,過了一會兒,碗的水滿了,就發(fā)生溢出。同樣的道理,假設水龍頭的水是一滴滴的往碗里滴,那么總有一滴水是導致碗中的水溢出的。在碗中溢出的水就浪費了,但是在單片機的定時計數器中溢出將導致一次中斷,至于什么是中斷我們下次再講,這里只是初步的提下概念,中斷就是能夠打斷系統(tǒng)正 常運行,而去運行中斷服務程序的過程,當服務程序運行完以后又自動回到被打斷的地方繼續(xù)運行。 在定時器計數器中,我們有個概念叫容量,就是最大計數量。方式 0是 2的 13次方,方式 1是 2的 13次方,方式 2是 2的 8次方,方式 3是 2的 8次方。把水滴比喻成脈沖,那么導致碗中水溢出的最后一滴水的就是定時計數器的溢出的最后一個脈沖。 在各種單片機書本中,在介紹定時計數器時都講到一個計數初值,那什么是計數初值呢?在這里我們還是假設水滴碗。假設第一百滴水能夠使碗中的水溢出,我們就知道這個碗的容量是 100。問題 1,我如何才能使碗接到 10滴水就溢出呢?呵呵,我可以想象,如果拿一個空碗去接水,那么還是得要 100滴水才能溢出,但是如果我們拿一個已經裝有水的碗拿去接,那就不用 100滴了。到此我們可以算出,要使 10滴水讓碗中的水溢出,那么碗中就先要裝 90滴水。 在定時計數器中,這 90滴水就是我們所謂的初始值。問題 2,在一個車間我們如何利用單片機對 100件產品進行計件,并進行自動包裝呢? 我們可以利用計數器計數 100,在中斷中執(zhí)行一個自動包裝的動作就可以了。 在這里計數初值有 3個,假設有方式 0:計數初值 =8912( 2的 13次方) — 100=8812。方式 1:計數初值 =65536( 2的 16次方) — 100=65436。方式 0:計數初值 =256( 2的 8次方) — 100=156。 根據所得的初始值,再將其轉換為 16進制或者 2進制,就可以進行計數或者定時了。當然要讓程序完全的運行起來還需要相應的寄存器進行設置。這些可以從各種單片機教程中找到。 以上是我個人對 mcs51單片機定時和計數器的理解,希望指正點評。
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1