單片機(jī)控制直流電機(jī)并測速(電壓AD、DA轉(zhuǎn)換以及pwm按鍵調(diào)速正轉(zhuǎn)反轉(zhuǎn))_第1頁
單片機(jī)控制直流電機(jī)并測速(電壓AD、DA轉(zhuǎn)換以及pwm按鍵調(diào)速正轉(zhuǎn)反轉(zhuǎn))_第2頁
單片機(jī)控制直流電機(jī)并測速(電壓AD、DA轉(zhuǎn)換以及pwm按鍵調(diào)速正轉(zhuǎn)反轉(zhuǎn))_第3頁
單片機(jī)控制直流電機(jī)并測速(電壓AD、DA轉(zhuǎn)換以及pwm按鍵調(diào)速正轉(zhuǎn)反轉(zhuǎn))_第4頁
單片機(jī)控制直流電機(jī)并測速(電壓AD、DA轉(zhuǎn)換以及pwm按鍵調(diào)速正轉(zhuǎn)反轉(zhuǎn))_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)原理及應(yīng)用 課程設(shè)計報告書 題 目:用單片機(jī)控制直流電動機(jī)并測量轉(zhuǎn)速姓 名:徐銀浩學(xué) 號:1110702225專 業(yè):電子信息工程指導(dǎo)老師:沈兆軍設(shè)計時間:2014年 11月信息工程學(xué)院目 錄1.引 言11.1 設(shè)計意義11.2 系統(tǒng)功能要求12.方案設(shè)計13. 硬件設(shè)計13.1 AT89C51最小系統(tǒng)33.2 按鍵電路43.3 A/D轉(zhuǎn)換模塊43.4. D/A轉(zhuǎn)換模塊63.5 電機(jī)轉(zhuǎn)速測量電路73.6 顯示電路 83.7 總電路圖 104. 軟件設(shè)計114.1 系統(tǒng)主程序設(shè)計124.2 按鍵掃描程序設(shè)計124.3 顯示子程序124.4 定時中斷處理程序124.5 A/D轉(zhuǎn)換程序135.

2、 系統(tǒng)調(diào)試146.設(shè)計總結(jié)167.參考文獻(xiàn)178.附 錄A;源程序189.附 錄B;電路原理總圖、作品實物圖片23 用單片機(jī)控制直流電動機(jī)并測量轉(zhuǎn)速 單片機(jī)原理及應(yīng)用課程設(shè)計用單片機(jī)控制直流電動機(jī)并測量轉(zhuǎn)速1 引 言1.1. 設(shè)計意義電動機(jī)作為最主要的動力源,在生產(chǎn)和生活中占有重要地位。電動機(jī)的調(diào)速控制過去多用模擬法,隨著計算機(jī)的產(chǎn)生和發(fā)展以及新型電力電子功率器件的不斷涌現(xiàn),電動機(jī)的控制也發(fā)生了深刻的變化,本系統(tǒng)利用直流電機(jī)的速度與施加電壓成正比的原理,通過滑動變阻器向ADC0809輸入控制電壓信號,經(jīng)AD后,輸入到AT89C51中,AT89C51將此信號轉(zhuǎn)發(fā)給DAC0832,通過功放電路放大

3、后,驅(qū)動直流電機(jī)。1.2. 系統(tǒng)功能要求單片機(jī)擴(kuò)展有A/D轉(zhuǎn)換芯片ADC0809和D/A轉(zhuǎn)換芯片DAC0832。通過改變A/D輸入端可變電阻來改變A/D的輸入電壓,D/A輸入檢測量大小,進(jìn)而改變直流電動機(jī)的轉(zhuǎn)速。手動擴(kuò)展。在鍵盤上設(shè)置兩個按鍵直流電動機(jī)加速鍵和直流電動機(jī)減速減。在手動狀態(tài)下,每按一次鍵,電動機(jī)的轉(zhuǎn)速按照約定的速率改變。 用顯示器LED或LCD顯示數(shù)碼移動的速度,及時形象地跟蹤直流電動機(jī)轉(zhuǎn)速的變化情況。2 方案設(shè)計為了使用單片機(jī)對電動機(jī)進(jìn)行控制,對單片機(jī)的基本要求應(yīng)有足夠快點(diǎn)速度;有捕捉功能??傮w設(shè)計方案如圖所示數(shù)碼顯示數(shù)碼驅(qū)動DAC0832按鍵控制單片機(jī)ADC0808信號放大電

4、壓信號驅(qū)動電機(jī) 光電管脈沖計數(shù)圖2.1總體設(shè)計方案(1)鍵盤向單片機(jī)輸入相應(yīng)控制指令,由單片機(jī)通過P3.0口輸出信號,該編碼通過DAC0832譯成相應(yīng)的模擬電壓,經(jīng)過信號放大實現(xiàn)電動機(jī)轉(zhuǎn)向與轉(zhuǎn)速的控制。(2)可變電阻接ADC0808轉(zhuǎn)變成相應(yīng)電壓的數(shù)字信號,單片機(jī)通過P1口讀取,再由P2口輸出與轉(zhuǎn)速相應(yīng)的8位BCD編碼與DAC0832相接。電動機(jī)的運(yùn)轉(zhuǎn)狀態(tài)則通過四位數(shù)碼管顯示出來。 (3)電機(jī)的測速顯示,采用光電傳感器測量電機(jī)的轉(zhuǎn)速,在設(shè)計中,在電機(jī)轉(zhuǎn)軸末梢上安裝紙卡,在紙卡上留出兩個孔。電機(jī)轉(zhuǎn)軸每轉(zhuǎn)一圈,發(fā)射二極管發(fā)出的光便通過紙卡的孔到達(dá)接受二極管,就可在接受二極管上產(chǎn)生相應(yīng)的脈沖信號。計

5、算下1s內(nèi)輸出的脈沖信號的個數(shù),把計數(shù)的結(jié)果取一半,就可得到電動機(jī)的轉(zhuǎn)動速度。(4)通過Max7219驅(qū)動器驅(qū)動4位共陰極LED燈,這樣節(jié)省了許多I/O口。3硬件設(shè)計3.1AT89C51最小系統(tǒng)AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指

6、令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。圖3.1 單片機(jī)最小系統(tǒng)的設(shè)計AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲器,128字節(jié)內(nèi)部RAM,32 個I/O 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數(shù)器,

7、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。3.2 按鍵電路單片機(jī)的P3.6和P3。7口分別接一個按鍵用于控制電機(jī)。當(dāng)按下“叫”鍵時,電機(jī)轉(zhuǎn)速提高,進(jìn)入加速狀態(tài);當(dāng)按下“減”鍵時,電機(jī)轉(zhuǎn)速減慢,進(jìn)入減速狀態(tài)。通過“加”“減”兩個按鍵可以達(dá)到鍵盤控制電機(jī)的作用。3.3 A/D轉(zhuǎn)換模塊(1)ADC0808 ADC0808是美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換。是目前國內(nèi)應(yīng)用最廣泛的8

8、位通用A/D芯片。 主要特性 1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。 2)具有轉(zhuǎn)換起??刂贫恕?3)轉(zhuǎn)換時間為100s(時鐘為640kHz時),130s(時鐘為500kHz時) 4)單個+5V電源供電。 5)模擬輸入電壓范圍0+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。 6)工作溫度范圍為-40+85攝氏度。 7)低功耗,約15mW。 ADC0809的工作過程首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠?/p>

9、平,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。 轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因為只有確認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式。 (1)定時傳送方式 對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一項技術(shù)指標(biāo)是已知的和固定的。例如ADC0809轉(zhuǎn)換時間為128s,相當(dāng)于6MHz的MCS-51單片機(jī)共64個機(jī)器周期??蓳?jù)此設(shè)計一個延時子程序,A/D轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)

10、據(jù)傳送。 (2)查詢方式 A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如ADC0808的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可確認(rèn)轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。 (3)中斷方式 把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進(jìn)行數(shù)據(jù)傳送。 不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,OE信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受。圖3.3 AD轉(zhuǎn)換電路的設(shè)計(2)工作原理 如圖3.3所示,外部電源通過滑動變阻器向ADC0808輸入控制電壓信號,經(jīng)A/D處理后,輸入到AT89C51中,交由AT89C51

11、處理,進(jìn)行下一步動作。3.4 D/A轉(zhuǎn)換模塊(1)DAC0832 DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。主要特性參數(shù) 1.分辨率為8位; 2.電流穩(wěn)定時間1us; 3.可單緩沖、雙緩沖或直接數(shù)字輸入; 4.只需在滿量程下調(diào)整其線性度; 5.單一電源供電(+5V+15V); 6.低功耗,20mW。DAC0832的工作方式DAC0832進(jìn)行D/A轉(zhuǎn)換,可以采用兩種方法對數(shù)據(jù)進(jìn)行鎖存。 第一種方法是

12、使輸入寄存器工作在鎖存狀態(tài),而DAC寄存器工作在直通狀態(tài)。具體地說,就是使 和 都為低電平,DAC寄存器的鎖存選通端得不到有效電平而直通;此外,使輸入寄存器的控制信號ILE處于高電平、 處于低電平,這樣,當(dāng) 端來一個負(fù)脈沖時,就可以完成1次轉(zhuǎn)換。 第二種方法是使輸入寄存器工作在直通狀態(tài),而DAC寄存器工作在鎖存狀態(tài)。就是使和為低電平,LE為高電平,這樣,輸入寄存器的鎖存選通信號處于無效狀態(tài)而直通;當(dāng)和端輸入1個負(fù)脈沖時,使得DAC寄存器工作在鎖存狀態(tài),提供鎖存數(shù)據(jù)進(jìn)行轉(zhuǎn)換。 圖3.4 DA轉(zhuǎn)換電路的設(shè)計(2) 工作原理如上圖3.4所示,電壓信號輸入后經(jīng)過AD轉(zhuǎn)換輸入到AT89C51,由單片機(jī)通

13、過P1口輸出與轉(zhuǎn)速相應(yīng)的8位BCD編碼,該編碼通過DAC0832譯成相應(yīng)的模擬電壓,經(jīng)過信號放大實現(xiàn)電動機(jī)轉(zhuǎn)向與轉(zhuǎn)速的控制。3.5電機(jī)轉(zhuǎn)速測量電路圖3.5光電傳感器測速設(shè)計 采用光電傳感器測量電機(jī)的轉(zhuǎn)速,在設(shè)計中,在電機(jī)轉(zhuǎn)軸末梢上安裝紙卡,在紙卡上留出兩個孔。電機(jī)轉(zhuǎn)軸每轉(zhuǎn)一圈,發(fā)射二極管發(fā)出的光便通過紙卡的孔到達(dá)接受二極管,就可在接受二極管上產(chǎn)生相應(yīng)的脈沖信號。計算下1s內(nèi)輸出的脈沖信號的個數(shù),把計數(shù)的結(jié)果取一半,就可得到電動機(jī)的轉(zhuǎn)動速度。3.6 顯示電路(1) MAX7219MAX7219/MAX7221是一種集成化的串行輸入/輸出共陰極顯示驅(qū)動器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯

14、示,也可以連接條線圖顯示器或者64個獨(dú)立的LED。其上包括一個片上的B型BCD編碼器、多路掃描回路,段字驅(qū)動器,而且還有一個8*8的靜態(tài)RAM用來存儲每一個數(shù)據(jù)。 只有一個外部寄存器用來設(shè)置各個LED的段電流。 MAX7221與SPI、 QSPI以及 MICROWIRE相兼容,同時它有限制回轉(zhuǎn)電流的段驅(qū)動來減少EMI(電磁干擾)。 一個方便的四線串行接口可以聯(lián)接所有通用的微處理器。 每個數(shù)據(jù)可以尋址在更新時不需要改寫所有的顯示。MAX7219/MAX7221同樣允許用戶對每一個數(shù)據(jù)選擇編碼或者不編碼。 整個設(shè)備包含一個150A的低功耗關(guān)閉模式,模擬和數(shù)字亮度控制,一個掃描限制寄存器允許用戶顯示

15、1-8位數(shù)據(jù),還有一個讓所有LED發(fā)光的檢測模式。功能特點(diǎn):1、10MHz連續(xù)串行口 2、獨(dú)立的LED段控制 3、數(shù)字的譯碼與非譯碼選擇 4、150A的低功耗關(guān)閉模式 5、亮度的數(shù)字和模擬控制 6、高電壓中斷顯示 7、共陰極LED顯示驅(qū)動 8、限制回轉(zhuǎn)電流的段驅(qū)動來減少EMI(MAX7221) 9、SPI, QSPI, MICROWIRE串行接口(MAX7221) (2) 工作原理如圖3.6所示,可變電阻接ADC0808轉(zhuǎn)變成相應(yīng)電壓的數(shù)字信號,單片機(jī)通過P0口讀取,再由P1口輸出與轉(zhuǎn)速相應(yīng)的8位BCD編碼到MAX7219。經(jīng)由MAX7219處理后通過四位數(shù)碼管顯示出來。采用光電傳感器測量電機(jī)

16、的轉(zhuǎn)速,在設(shè)計中,在電機(jī)轉(zhuǎn)軸末梢上安裝紙卡,在紙卡上留出兩個孔。電機(jī)轉(zhuǎn)軸每轉(zhuǎn)一圈,發(fā)射二極管發(fā)出的光便通過紙卡的孔到達(dá)接受二極管,就可在接受二極管上產(chǎn)生相應(yīng)的脈沖信號。計算下1s內(nèi)輸出的脈沖信號的個數(shù),把計數(shù)的結(jié)果取一半,就可得到電動機(jī)的轉(zhuǎn)動速度。 圖3.6 顯示電路的設(shè)計3.7 總電路圖 由各子模塊設(shè)計給得出總硬件電路設(shè)計如下圖3.7所示 圖3.7硬件總電路圖4 軟件設(shè)計4.1 系統(tǒng)主程序設(shè)計本系統(tǒng)編程部分工作采用KELI-C51語言完成,采用模塊化的設(shè)計方法,與各子程序做為實現(xiàn)各部分功能和過程的入口,完成鍵盤輸入、按鍵識別、ADC0809讀取和DAC0832輸出、脈沖計數(shù)以及數(shù)碼管顯示等部

17、分的設(shè)計。開始 系統(tǒng)初始化 按鍵是否按下 N Y讀取鍵值 減速加速電機(jī)減速電機(jī)加速 電機(jī)轉(zhuǎn)動產(chǎn)生脈沖脈沖計數(shù) 調(diào)用MAX7219驅(qū)動顯示速度返回圖4.1 主程序流程圖4.2 按鍵掃描程序設(shè)計 按鍵掃描程序采用中斷方式,按下鍵,完成延時去抖動、鍵碼識別、按鍵功能執(zhí)行。要實現(xiàn)按住加/減速鍵不放時恒加或恒減速直到放開停止,就需在判斷是否松開該按鍵時,每進(jìn)行一次增加/減少一定的占空比。4.3顯示子程序Max7219驅(qū)動顯示子程序用于處理DAC0832處理出來的8位BCD,利用數(shù)組方式定義顯示緩存區(qū),緩存區(qū)有8位,分別存放各個數(shù)碼管要顯示的值。流程圖如下圖4.3所示開始 初始化MAX7219讀取計數(shù)數(shù)據(jù)

18、調(diào)用顯示子程序數(shù)碼管顯示數(shù)據(jù)顯示完成 圖4.3 max7219驅(qū)動顯示電路4.4 定時中斷處理程序定時中斷處理程序:采用定時方式1,因為單片機(jī)使用12M晶振,可產(chǎn)生最高約為65.5ms的延時。對定時器置初值B1E0H可定時20ms,即系統(tǒng)時鐘精度可達(dá)0.02s。當(dāng)20ms定時時間到,定時器溢出則響應(yīng)該定時中斷處理程序,完成對定時器的再次賦值,并對全局變量time加1,這樣,通過變量time可計算出系統(tǒng)的運(yùn)行時間。4.5 A/D轉(zhuǎn)換程序首先判斷A/D轉(zhuǎn)換是否允許進(jìn)行,當(dāng)WR又低變高時AD開始轉(zhuǎn)換,再讀取轉(zhuǎn)換數(shù)據(jù)結(jié)果,把數(shù)據(jù)存到ad_data中,完成A/D轉(zhuǎn)換。流程圖如下圖4.4所示開始acds=

19、0 N、 Y允許A/D轉(zhuǎn)換讀取轉(zhuǎn)換數(shù)據(jù)結(jié)果數(shù)據(jù)結(jié)果把數(shù)據(jù)存到ad_data中停止A/D轉(zhuǎn)換圖4.5 A/D轉(zhuǎn)換程序流程圖5系統(tǒng)調(diào)試圖5.1 Keil c51編譯調(diào)試 因為代碼設(shè)計到的知識點(diǎn)比較多,并且很多知識我們都忘了,所以在編寫的時候,有很多不會的,但是最終自己通過查閱圖書館資料解決了那些問題。圖5.2 仿真結(jié)果圖5 設(shè)計總結(jié)上個學(xué)期的單片機(jī)課已經(jīng)早早的上完了,但是理論純屬理論,沒有與實踐的結(jié)合總讓我們學(xué)的不踏實,感覺沒有達(dá)到學(xué)以致用的效果。這學(xué)期我們大四了,老師給我們安排了這次單片機(jī)課程設(shè)計,給了我們學(xué)以致用的做好的實踐。 關(guān)于這次課程設(shè)計,我花費(fèi)了比較多的心思,既是對課程理論內(nèi)容的一次復(fù)

20、習(xí)和鞏固,還讓我們豐富了更多與該專業(yè)相關(guān)的其他知識,比如軟件應(yīng)用等,在摸索中學(xué)習(xí),在摸索中成長,在學(xué)習(xí)的過程中帶著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計的又一收獲,在真正設(shè)計之前我們做了相當(dāng)豐富的準(zhǔn)備,首先鞏固一下課程理論,再一遍熟悉課程知識的構(gòu)架,然后結(jié)合加以理論分析、總結(jié),有了一個清晰的思路和一個完整的的軟件流程圖之后才著手設(shè)計。在設(shè)計程序時,我們不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計的必經(jīng)之路;養(yǎng)成注釋程序的好習(xí)慣是非常必要的,一個程序的完美與否不僅僅是實現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也能為資料的保存和交流提供了方便;我覺得在設(shè)計課程過程中遇到問

21、題是很正常,但我們應(yīng)該將每次遇到的問題記錄下來,以免下次再碰到同樣的問題的課程設(shè)計又出錯了。 除了對此次設(shè)計的準(zhǔn)備工作之外,我們還學(xué)到了很多平時難得的東西,首先是團(tuán)隊協(xié)作,在這次設(shè)計當(dāng)中,難免和同學(xué)產(chǎn)生觀點(diǎn)和意見的分歧,以及分工明細(xì)、時間安排等不合理,通過這次設(shè)計,我們體會到了團(tuán)結(jié)合作的重要性及力量之強(qiáng)大,還有讓我們處理事情更加有條理,思路更加清晰明了了,發(fā)現(xiàn)、提出、分析、解決問題和實踐能力的提高都將受益于我在以后的學(xué)習(xí)、工作和生活中。 此次的設(shè)計,其實也是我們所學(xué)知識的一次綜合運(yùn)用,讓我深深的認(rèn)識到了學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ),要有電子技術(shù)方面的數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電

22、路;也要有編程語言的匯編語言或C語言。要想成為單片機(jī)高手,我們首先要學(xué)好匯編語言,然后轉(zhuǎn)入C語言學(xué)習(xí),所以我們不能學(xué)到后面就忘了前面的知識,更應(yīng)該將所學(xué)的知識緊緊的結(jié)合在一起,綜合運(yùn)用,所謂計,就是要求創(chuàng)新,只有將知識綜合運(yùn)用起來才能真正的設(shè)計好。7參考文獻(xiàn)1 陳益飛,沈兆軍.單片機(jī)原理及應(yīng)用技術(shù).國防工業(yè)出版社,2011.2陳忠平. 基于proteus的51單片機(jī)設(shè)計和仿真.電子工業(yè)出版社.2013.3 Mark Nelson著.瀟湘工作室譯.串行通信開發(fā)指南M.中國水利水電出版社,2002. 4 王宜懷.單片機(jī)原理及其嵌入式應(yīng)用教程M.北京希望電子出版社,2002. 5 韓潤萍,陳小萍.點(diǎn)

23、陣LED顯示屏控制系統(tǒng)J.微計算機(jī)信息,2003,19(10):50-51. 6 張毅剛,劉旺.單片機(jī)原理及應(yīng)用.北京高等教育出版社,2013.6:287-291.8附 錄A;源程序#include#include#define uint unsigned int#define uchar unsigned char#define da1_7 P2 /da轉(zhuǎn)換口#define ad1_7 P0 /ad轉(zhuǎn)換口sbit ST=P13; sbit OE=P17;sbit EOC=P16; /ad轉(zhuǎn)換完成標(biāo)志sbit LOAD=P11; /max7219 loadsbit DIN=P10; /max7

24、219輸入sbit CLK=P12; /max7219clksbit Motor=P30;sbit Inc=P36; /速度增加sbit Dec=P37; /速度減小uchar flag_add=0,flag_dec=0;uchar speed=90,t=0;uint motorspeed,counter=0,calsp;uint temp; uchar disp4;uchar code dispaly_list= 0x00,0x01,0x02,0x03,0x04, 0x05,0x06,0x07,0x08 ;void key();void display(); /max7219顯示void c

25、alspeed();/速度計數(shù)void delay(uint z); /延時void InitDis(); /max7219 初始化void init_timer0(); /中斷初始void w_max7219(unsigned char addr,unsigned char wdata);void main (void ) InitDis(); init_timer0(); while(1) key(); ST=0; ST=1; ST=0; /start 降 ,AD開始轉(zhuǎn)換 delay(10); OE=0; while(EOC=0); /等待轉(zhuǎn)換結(jié)束 OE=1; temp=ad1_7; da

26、1_7=temp;/ OE=0; / display(); calspeed(); /*按鍵檢測函數(shù) */void key() /按鍵檢測函數(shù) if(flag_add=0) if(!Inc) /p3.6 加 flag_add=1; /標(biāo)志 speed+=5; if(speed=100) speed=100; if(Inc) flag_add=0; if(flag_dec=0) if(!Dec) flag_dec=1; speed-=5; if(speed=100) /100*10ms=1s motorspeed=counter; counter=0;/計數(shù)清零 calsp=0; /標(biāo)志清零 void _timer0 () interrupt 1 /硬件調(diào)用 TH0=(65535-10000)/256; /10MS TL0=(65535-10000)%256;calsp+; /定時次數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論