基于51單片機的吉他調音器系統設計--實物制作.doc

上傳人:good****022 文檔編號:116441065 上傳時間:2022-07-05 格式:DOC 頁數:25 大?。?.99MB
收藏 版權申訴 舉報 下載
基于51單片機的吉他調音器系統設計--實物制作.doc_第1頁
第1頁 / 共25頁
基于51單片機的吉他調音器系統設計--實物制作.doc_第2頁
第2頁 / 共25頁
基于51單片機的吉他調音器系統設計--實物制作.doc_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于51單片機的吉他調音器系統設計--實物制作.doc》由會員分享,可在線閱讀,更多相關《基于51單片機的吉他調音器系統設計--實物制作.doc(25頁珍藏版)》請在裝配圖網上搜索。

1、課程設計報告課程名稱: 吉他調音器控制系統設計-實物制作 專業(yè)班級: 姓 名: 學 號: 課設時間: 指導教師: 批閱時間: 成 績: 目錄緒論11、總體設計方案 12、核心芯片結構原理介紹 2 2.1、中央控制器-STC90C516RD+3 2.2、電機驅動芯片ULN200353、模擬部分介紹 6 3.1、輸入電路 6 3.2、放大電路 6 3.3、濾波電路 8 3.4、整形輸出電路 9 3.5、模擬部分輸出波形10 3.6、模擬部分實物圖104、軟件程序編程語言及開發(fā)環(huán)境選擇115、琴弦頻率測量模塊設計11 5.1、頻率測量方法的選取11 5.2、頻率測量程序設計說明12 5.3、單片機程

2、序流程圖13 5.4、單片機程序 13 5.5、單電機實物圖 13 5.6、原件清單 13 5.7、整體電路圖 13結 論 14附錄一 15附錄二 16附錄三 21附錄四 22 緒論目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業(yè)自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械以及各種智能機械了。因此,單片機的學習、開發(fā)與應用將造就

3、一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域。琴弦音頻測定儀的設計正是以單片機為核心,通過其他的外圍電路實現琴弦的準確調弦。我們通過計算得出吉他每一根空弦音的理論音高(十二平均律的),然后看泛音調弦方法得到的音高是不是與之相等即可。對于標準音高a1=440.0000 Hz,那么按照12平均律所生成的各弦空:1弦空弦,音高e1,頻率f = 440.0000 / 2 ( 5 / 12 ) = 329.6276 Hz2弦空弦,音高b,頻率 f = 440.0000 / 2 ( 10 / 12 ) = 246

4、.9417 Hz3弦空弦,音高g,頻率f = 440.0000 / 2 ( 14 / 12 ) = 195.9977 Hz4弦空弦,音高d,頻率 f = 440.0000 / 2 ( 19 / 12 ) = 146.8324 Hz5弦空弦,音高A,頻率f = 440.0000 / 2 ( 24 / 12 ) = 110.0000 Hz6弦空弦,音高E,頻率 f = 440.0000 / 2 ( 29 / 12 ) = 82.4069 Hz1、總體設計方案從圖一可以看出,本設計可以分為四大模塊,分別為聲音采集模塊、核心控制模塊、語音模塊設計、外圍輔助電路模塊。外圍輔助電路模塊 核心控制 模塊 聲

5、音采集 模塊 圖一圖一 系統總框圖二、實驗儀器: (1)聲音采集模塊的設計:這部分是利用單片機測量琴弦頻率的前提,主要功能是將要采集的聲音信號轉換成可測量的電信號。要保證轉換的精度,還要處理好電路本身產生的諧波。電路應該有基本的放大、濾波、比較電路的設計。 (2)核心控制模塊的設計:這部分屬于系統的軟件部分設計。主要是控制芯片的選擇和編程語言的選擇。通過單片機控制各個子模塊的正常工作,實現需要的功能是需要解決的重點。子模塊包括:鍵盤模塊、LCD12864顯示模塊、頻率測量模塊、PC機通信模塊。(3)外圍輔助電路的設計:這部分都是系統的硬件部分設計,包括復位晶振電路,顯示電路,電機動作電路等。需

6、要合理將這些電路準確組合并能夠實現各自所需的功能。根據設計任務,以及方案的研究,我們最終確定了以下方案: (4)晶振和復位電路:晶振作用是為系統提供基本的時鐘信號,通常一個系統共用一個晶振,便于各部分保持同步。復位是單片機的初始化操作。通過選擇的控制芯片設計合適的晶振和復位電路。 (5)串口電路:使用MAX232芯片設計一個簡單的串口下載電路,為了方便單片機程序的下載。2、核心芯片結構原理介紹 該系統核心芯片主要有單片機STC90C516RD+ ,ULN2003A驅動電機。2.1、中央控制器-STC90C516RD+ STC90C516RD+系列單片機是新一代超高速、低功耗的單片機,指令代碼完

7、全兼容傳統8051單片機,12時鐘/機器周期和6時鐘/機器周期可任意選擇,內部集成MAX810專用復位電路,時鐘頻率在12MHz以下時,復位腳可直接接地。(實物圖如圖二)。 圖二1.增強型6 時鐘/ 機器周期,12 時鐘/ 機器周期 8051 CPU2.工作電壓:5.5V - 3.8V(5V 單片機)/3.8V - 2.4V(3V 單片機)3.工作頻率范圍:0-40MHz,相當于普通8051的 080MHz.4.用戶應用程序空間 4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/ 61K/字節(jié)5.片上集成 1280字節(jié)/512/256字節(jié) RAM6.通用I

8、/O口(35/39 個),復位后為: P1/P2/P3/P4 是準雙向口/ 弱上拉(普通8051 傳統I/O 口)P0口是開漏輸出,作為總線擴展用時,不用加上拉電阻,作為I/O 口用時,需加上拉電阻。7.ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器 / 仿真器可通過串口(P3.0/P3.1)直接下載用戶程序,8K 程序3 - 5 秒即可完成一片8.EEPROM 功能9.看門狗10.內部集成MAX810專用復位電路,外部晶體12M以下時,可省外部復位電路,復位腳可直接接地。11.共3個16位定時器/計數器,其中定時器0還可以當成2個8位定時器使用12.外部中斷4路,下降沿中斷或

9、低電平觸發(fā)中斷,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒13.通用異步串行口(UART),還可用定時器軟件實現多個UART14.工作溫度范圍:0-75/-40-+8515.封裝:LQFP-44,PDIP-40,PLCC-44 單片機各引腳功能:(引腳圖如圖三) XTAL1(19腳):接外部晶體振蕩器的一端。當使用芯片內部時鐘時,此腳用于外接石英晶體振蕩器和微調電容;當使用外部時鐘 圖三 時,對于HMOS單片機,此引腳接地;對于CMOS單片機,此引腳作為外部振蕩信號的輸入端。XTAL2(18腳):接外部晶體振蕩器的另一端,當使用芯片內部時鐘時,此腳用于外接石英晶體振蕩器和微調電

10、容。當使用外部時鐘時,對于HMOS單片機,此引腳接外部振蕩源;對于CMOS單片機,此引腳懸空不接。89C51晶體振蕩器頻率可在6MHZ40MHZ之間選擇,常選6MHz或12MHz的石英晶體。電容的值沒有嚴格要求,但其取值對振蕩器的頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度稍有影響,C1、C2可在20pF100pF之間選擇。當外接晶體振蕩器時,電容可選30pF10pF;外接陶瓷振蕩器時,電容可選40pF10pF。 控制信號或與其它電源復用引腳(1)(9腳):復位端。當輸入的復位信號持續(xù)2個以上機器周期(12個晶體振蕩周期)高電平即為有效,用于完成單片機的復位初始化操作。正常工作時,此腳電平應 0.

11、5V。在VCC發(fā)生故障、降低到電平規(guī)定值掉電期間,此引腳可接備用電源VPD(電源范圍5V0.5V),由VPD向內部RAM供電,以保持內部RAM中的數據。(2)(30腳):地址鎖存使能。ALE(Address Latch Enable);PROG(Program)為CPU訪問外部程序存儲器或外部數據存儲器提供地址鎖存信號,將低8位地址鎖存在片外的地址鎖存器中。引腳第二功能,對片內 Flash編程,為編程脈沖輸入端。(3)(29腳):(Programmer Saving ENable),外部程序存儲器讀選通信號。在讀外部程序存儲器時有效(低電平),以實現外部程序存儲器單元的讀操作。在訪問外部數據存

12、儲器、訪問內部程序存儲器時無效。(4)(31腳):(Enable Address/Voltage Pulse of Programming)訪問程序存儲控制信號。當“0”時,表示讀外部程序存儲器。只讀取外部的程序存儲器中的內容,讀取的地址范圍為0000HFFFFH(64KB),片內的4KB Flash 程序存儲器不起作用。當“1”時,表示對程序存儲器的讀操作是從內部程序存儲器開始,并可延至外部程序存儲器。在PC值不超出0FFFH(即不超出片內4KB Flash存儲器的地址范圍)時,單片機讀片內程序存儲器(4KB)中的程序,但當PC值超出0FFFH (即超出片內4KB Flash地址范圍)時,將

13、自動轉向讀取片外60KB(1000H-FFFFH)程序存儲器空間中的程序。對于EPROM(或FLASH)型單片機,在EPROM編程期間,此引腳需加12.75V或21V的編程電壓。2.2、電機驅動芯片ULN2003 引腳如圖四所示,ULN是集成達林頓管IC,內部還集成了一個消線圈反電動勢的二極管,可用來驅動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅動電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達林頓管組成驅動電路。 圖四 ULN是集成達林頓管IC,內部還集成了一個消線圈反電動勢的二極管,它的輸出端允許通過電流為200mA,飽和壓降VCE約1V左右,耐壓BV

14、CEO約為36V。用戶輸出口的外接負載可根據以上參數估算。采用集電極開路輸出,輸出電流大,故可直接驅動繼電器或固體繼電器,也可直接驅動低壓燈泡。通常單片機驅動ULN2003時,上拉2K的電阻較為合適,同時,COM引腳應該懸空或接電源。 ULN2003是一個非門電路,包含7個單元,但獨每個單元驅動電流最大可達350mA.資料的最后有引用電路,9腳可以懸空。 比如1腳輸入,16腳輸出,負載接在VCC與16腳之間,不用9腳。uln2003的作用:ULN2003是大電流驅動陣列,多用于單片機、智能儀表、PLC、數字量輸出卡等控制電路中??芍苯域寗永^電器等負載。輸入5VTTL電平,輸出可達500mA/5

15、0V。 ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN達林頓管組成。該電路的特點如下:ULN2003的每一對達林頓都串聯一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標準邏輯緩沖器。ULN2003是高壓大電流達林頓晶體管陣列系列產品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅動的系統。3、模擬部分介紹3.1、輸入電路 電容話筒是根據電容與兩極板間距離成反比,當振動時,電容話筒的兩極間距離變化,距離變大時,因為電容變小,所以電壓扁高,這時就產生了電信號。電容話筒大多需要用電極化,也有不用極化

16、的,稱為駐極體電容話筒,就是一般電話里面使用的,非常廉價。 壓電陶瓷是一種特殊的材料,它受到點的作用時,會發(fā)生變型,相反,它發(fā)生變形時,也會產生電。 圖五這里我們選用駐極體話筒完成設計(電路如圖五所示)。 3.2、放大電路 TLC2252是用德州儀器公司先進的LinCMOSTM工藝制造的雙路運算放大器,具有滿電源電壓幅度輸出性能,同時比現有的CMOS運放具有更好的輸入失調電壓和更低的功耗。另外,對于這類低功耗CMOS運放,噪聲性能得到了驚人的改進,每一級放大僅需35uA(典型值)的電源電流。而且,共模輸入電壓范圍比通常標準CMOS類型放大器更寬。為了利用這種性能上的改進并使此器件可以適用于更寬

17、范圍的應用,用比5mV更大的最大輸入失調電壓測試極限來規(guī)定VICR。先進的LinCMOSTM工藝使用硅柵技術獲得輸入失調電壓的溫度和時間穩(wěn)定性,這種穩(wěn)定性遠遠超過了用金屬柵技術所能獲得的穩(wěn)定性。這種技術也使輸入阻抗有可能符合或超過頂柵JFET和昂貴的介質絕緣器件的輸入阻抗;TLC2252呈現高輸入阻抗和低噪聲,能很好地適用于高阻抗源,例如電壓傳感器的小信號狀況。由于這些器件功耗低,所以它們在手持監(jiān)視和 遙感原始傳感器應用中工作良好。此外,滿電源電壓幅度輸出特性以及單獨或分離電源工作使得這些器件在直 圖六接與模擬數字轉換器(ADC)接口時成為主要的選擇對象。所有這些特性,再結合它們的溫度性能,使

18、得TLC2252系列能理想的適用于聲納、遠程傳感器、溫度控制、有源壓阻傳感器、加速計、便攜式醫(yī)學應用、手持儀表以及許多其他應用(引腳圖如圖六所示)。LM358內部包括有兩個獨立的、高增益、內部頻率補償的雙運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關。它的使用范圍包括傳感放大器、直流增益模組,音頻放大器、工業(yè)控制、DC增益部件和其他所有可用單電 圖七源供電的使用運算放大器的場合(引腳圖如圖七所示)。 由以上兩種放大器和適當參數的電阻電容構成兩級放大電路(電路圖如圖八所示)。 圖八3.3、濾波電路設計中運放選擇TI產品典型的通用

19、四運放LM324,LM324內部包括有兩個獨立的、高增益、內部頻率補償 的運算放大器,適合于電源電壓范圍很寬的單電源使用, 也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。適用于一般的帶通濾波器的設計,同時具有低功耗的功能,可設計階數相對高一些的帶通濾波器,應用起來節(jié)省空間。 巴特沃斯帶通濾波器幅頻響應在通帶中具有最平幅度特性,但是從通帶到阻帶衰減較慢,這里采用四階巴特沃斯帶通濾波器來對采集進來的音頻信號進行濾波(引腳圖如圖九所示)。LM324主要參數:電壓增益 100dB單位增益帶寬

20、1MHz單電源工作范圍 3V30VDC 每個運放功耗(V=+5V) 1mV/op.Amp輸入失調電壓 2mV(最大7mV) 圖九 輸入偏置電流 50150nA輸入失調電流 550nA共模抑制比 7090dB輸出電壓幅度 01.5VDC(單電源時)輸出電流 40mA放大器間隔離度 120dB(fo:120KHz)參數選擇與計算: 對于低通濾波器的設計,電容一般選取10000pF,對于高通濾波器的設計,電容一般選取0.1uF,然后根據公式 R=1/2fc計算得出與電容相組合的電阻值,即得到此圖中R9、R4和R17,為了消除運放的失調電流造成的誤差,盡量是運放同相輸入端與反向輸入端對地的直流電阻基本

21、相等,同時巴特沃斯濾波器階數與增益有一定的關系,根據這兩個條件可以列出兩個等式:30=R15*R21/(R15+R21),R15=R21(A-1),36=R14*R19/(R14+R19),R19=R14(A-1)由此可以解出R14、R15、R19、R21,原則是根據現實情況稍調整電阻值保持在一定限度內即可,不要相差太大,注意頻率不要超過運放的標定頻率(電路圖如圖十所示)。 圖十3.4、整形輸出電路由于單片機識別的應該正弦波,所以需要將濾波之后的信號進行整形得到方波信號輸入給單片機進行測頻(電路圖如圖十一所示),R24用于調節(jié)比較電壓,根據實際情況改變比較點電壓。 圖十一 3.5、模擬部分輸出

22、波形 3.6、模擬部分實物圖 4、軟件程序編程語言及開發(fā)環(huán)境選擇以往的單片機系統,其控制程序大多是用相應單片機的匯編指令編制,其執(zhí)行效率高,但其可讀性和可移植性卻較差,直接影響其軟、硬件的擴展和升級。C語言早期用于編寫UNIX操作系統,是一種結構化的語言,可產生緊湊代碼。C語言可用許多機器級的函數直接控制操作單片機的硬件,不必通過匯編語言。與匯編語言相比,C語言主要有以下一些優(yōu)點有:不要求了解單片機的指令系統,僅要求對其存儲器結構有初步了解;寄存器分配、存儲器尋址及數據類型等細節(jié)可由編譯器管理;程序由不同的函數構成,便于程序的結構化和模塊化;程序的可讀性及可移植性較高;關鍵字及運算符可用近似人

23、的思維方式使用;程序編制及調試時間顯著縮短,大大地提高了編程效率;C語言提供的庫包含許多標準的子程序,具有較強的數據處理能力。C語言是一種非常便于使用的計算機高級編程語言,使用C語言進行單片機 尤其是MCS-51系列單片機的開發(fā)具有極大的優(yōu)勢。 用C51編制程序時,應遵循結構化、模塊化的設計方法。在編程時,可將任務分成若干模塊,對每個模塊分別進行編制及調試,最后有機結合成一個完整的控制程序。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、

24、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。使用C語言編程么Keil幾乎就是編程的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令編程事半功倍。5、琴弦頻率測量模塊設計5.1、頻率測量方法的選取測量頻率的方法一般分為無源測頻法、有源測頻法及電子計數法三種。無源測頻法(又可分為諧振法和電橋法),常用于頻率粗測,精度在1%左右。有源比較法可分為拍頻法和差頻法,前者是利用兩個信號線性疊加以產生

25、拍頻現象, 再通過檢測零拍現象進行測頻,常用于低頻測量,誤差在零點幾Hz;后者則利用兩個非線性信號疊加來產生差頻現象,然后通過檢測零差現象進行測頻,常用于高頻測量, 誤差在20Hz左右。以上方法在測量范圍和精度上都有一定的不足,而電子計數法主要通過單片機進行控制。由于單片機的較強控制與運算功能,電子計數法的測量頻率范圍寬,精度高,易于實現。本設計就是采用單片機電子計數法來測量琴弦頻率。5.2、頻率測量程序設計說明利用單片機的T0、T1的定時計數器功能,完成對輸入的信號進行頻率計數。頻率的測量方法:通過檢測一定時間內(1s內)輸入方波的個數計算琴弦頻率。T0主要功能時進行計數,T1是進行計時。T

26、0是工作在計數狀態(tài)下對輸入的方波信號進行計數,但對工作在計數狀態(tài)下的T0,最大計數值為fOSC/24,由于fOSC12MHz,因此,T0的最大計數頻率為250KHz,滿足設計要求。對于頻率的概念就是在一秒時間內輸入脈沖的個數,即為頻率值。設定T1工作在定時狀態(tài)下,每定時1秒到,就停止T0的計數,并從T0的計數單元中讀取計數的數值即為琴弦的頻率。T1工作在定時狀態(tài)下,最大定時時間為65ms,達不到1秒的定時,所以采用定時50ms,共定時20次,即可完成1秒的定時功能。定時/計數器T0由TH0和TL0構成,T1由TH1和TL1構成。TMOD用于控制和確定T0,T1的功能和工作模式。TCON用于控制

27、T0、T1啟動和停止計數,同時包括T0、T1的狀態(tài)。他們屬于特殊功能寄存器,這些寄存器的內容靠軟件預先設置。系統復位時,寄存器的所有位都被清零。定時/計數器T0和T1都是加法計數器,每輸入一個脈沖,計數器加1,當加到計數器T1為1時再輸入一個脈沖,就使計數器發(fā)生溢出,溢出時,計數器回零,并置位TCON中的TF0或TF1,以表示定時時間已到或計數值已滿,向CPU發(fā)出中斷申請。設計數器的最大值為M(在不同的工作模式下,M可以為,或),則置入的初值X可這樣來計算。計數方式時 X=M-計數值定時方式時 計數值T= (M-X)T=定時值 所以置入的初值 X=M-(定時值/T) T為計數周期,是單片機的機

28、器周期。 當機器周期為1時,工作在模式0時,最大定時值為 若工作在模式1,則最大定時值為。先對TMOD寄存器賦值,以確定定時器的工作模式是0還是1,即確定機器周期,從而設置定時器/計數器初值。直接將初值寫入寄存器的TH0,TL0或TH1,TL1,再根據需要,對寄存器ET0,ET1置初值,開放定時器中斷。最后對TCON寄存器中的TR0或TR1置位,啟動定時/計數器,置位以后,計數器T0,T1即按規(guī)定的工作模式和初值進行定時計數。5.3、單片機程序流程圖(見附錄一)5.4、單片機程序(見附錄二)5.5、單電機實物圖如圖 5.6、原件清單(見附錄三)5.7、整體電路圖(見附錄四) 結 論 本次課程設

29、計的主要內容是吉他調音器控制系統設計。我們采用單片機對琴弦空弦音的頻率進行計算判斷,并通過控制步進電機正反轉從而調節(jié)弦松緊度,進而使吉他空弦音頻率靠近標準音頻率。本次課程設計所做主要工作概括如下:1. 介紹課題研究的背景,提出了以單片機為控制核心的琴弦音頻測定儀的設計;2. 提出了幾種頻率的測量方法,經過比較后確定了基于8051單片機的電子計數法,這種方法測量頻率范圍寬,精度高,易于實現;3. 詳細闡述了整個系統的軟件設計。包括:主程序模塊設計,電機轉動模塊、顯示模塊;4. 通過C語言對單片機進行軟件編程,基于Keil C51集成開發(fā)環(huán)境對軟件進行編譯調試。琴弦音頻測定儀采用高性能單片機控制,

30、性能穩(wěn)定,可靠性高,具有掉電保護功能,運用的元件也可推廣,還能據實際要求擴展功能,應用廣泛,性價比高。在這段時間內,通過查閱各種書籍與網站,同時在指導老師的指導和同學的幫助下,完成了此次課程設計。我們掌握對所學知識得到利用,鍛煉我們的實際運用能力,同時讓我們認識到團結互助在各種工作中的重要性。課程設計不僅鍛煉了我們的動手能力,更加促進了我們對理論聯系實際的理解,對我們今后的工作發(fā)展有著很大的促進作用。在此感謝*老師.循循善誘的教導和不拘一格的思路給予我無盡的啟迪;這次課程設計的成功離不開老師您的細心指導。由于本人能力有限,在設計過程中難免出現錯誤,懇請老師多多指教,我十分樂意接受您的批評與指正

31、,本人將萬分感謝。 15numyiinpin否是根據外部采集頻率范圍選擇標準頻率比較,控制電機轉向是1s定時到否yinjie,num,T0_num置零,打開定時計數器0、1單片機初始化化 開始附錄一附錄二:#include#define uchar unsigned char#define uint unsigned intsbit pulse=P35; /T1,計外部脈沖數sbit led=P20;uint num=0,T0_num,n,yinjie,i;uchar code FFW8=0 xf1,0 xf3,0 xf2,0 xf6,0 xf4,0 xfc,0 xf8,0 xf9;/電機正轉

32、uchar code REV8=0 xf9,0 xf8,0 xfc,0 xf4,0 xf6,0 xf2,0 xf3,0 xf1;/電機反轉 uint code pinpu =329,247,196,147,110,82 ; / 六弦空弦音void init() /定時計數初始化TMOD=0 x51;/T1計數,T0定時TH1=0;/0; /計數初值TL1=0;/0;ET1=1; /定時器1允許 TH0=(65536-50000)/256; /計時初值TL0=(65536-50000)%256;ET0=1; /定時器0允許 TR1=1; /打開計數器 TR0=1; /打開定時器 EA=1;voi

33、d delay(uint t) uint k; while(t-) for(k=0; k123; k+); void motor_ffw(uint n) /步進電機正轉 uchar i; uint j; for (j=0; j12*n; j+) /轉n圈 for (i=0; i8; i+) /一個周期轉30度 P1 = FFWi; /取數據 delay(30); /調節(jié)轉速 void motor_rev(uint n) /步進電機反轉 uchar i; uint j; for (j=0; j12*n; j+) /一個周期轉30度,轉n圈 for (i=0; i8; i+) P1 = REVi;

34、 /取數據 delay(30); /調節(jié)轉速 /控制步進電機轉動子程序void dianji(uint num) if(num300) yinjie=pinpu0; /yinjie=329Hz if(num=328|num=329|num=330) led=0; while(1); else if(numyinjie) motor_ffw(1); /步進電機正轉 else if(numyinjie) motor_rev(1); /步進電機反轉 else if(num220) yinjie=pinpu1;/yinjie=247Hz if(num=246|num=247|num=248) led=

35、0; while(1); else if(numyinjie) motor_ffw(1); /步進電機正轉 else if(numyinjie) motor_rev(1); /步進電機反轉 else if(num165) yinjie=pinpu2; /yinjie=196Hz if(num=195|num=196|num=197) led=0; while(1); else if(numyinjie) motor_ffw(1); /步進電機正轉 else if(numyinjie) motor_rev(1); /步進電機反轉 else if(num120) yinjie=pinpu3; /y

36、injie=147Hz if(num=146|num=147|num=148) led=0; while(1); else if(numyinjie) motor_ffw(1); /步進電機正轉 else if(numyinjie) motor_rev(1); /步進電機反轉 else if(num100) yinjie=pinpu4; /yinjie=110Hz if(num=109|num=110|num=111) led=0; while(1); else if(numyinjie) motor_ffw(1); /步進電機正轉 else if(numyinjie) motor_rev(1

37、); /步進電機反轉 else if(num62) yinjie=pinpu5; /yinjie=82Hz if(num=81|num=82|num=83) led=0; while(1); else if(numyinjie) motor_ffw(1); /步進電機正轉 else if(numyinjie) motor_rev(1); /步進電機反轉 else if(num360) void time0(void) interrupt 1 /定時器0,定時1sT0_num+; /計數滿一次,T0_num加1TH0=(65536-50000)/256;TL0=(65536-50000)%256

38、;if(T0_num=20) /1s定時到 EA=0; /關總中斷 num=TH1*256+TL1; dianji(num); yinjie=0; num=0; T0_num=0; /定時器溢出次數,初值設為0 TH1=0;/0XFF; /計數1次 TL1=0;/0XFF; EA=1; void main()init(); while(1);附錄三:原件類型原件參數原件個數步進電機五線四相1電容33p2103410440.1u10.01u13u110uf5電阻47031k55.1k210k715K125k147k250k1100k2150k1470k1發(fā)光二極管LED11下載接口 Connector 91三極管90141按鍵SW-PB1芯片LM324D1STC90C516RD+1ULN2003D1MAX2321TLC22521晶振12MHz122

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!