亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4630|回復(fù): 0
收起左側(cè)

單片機智能升旗系統(tǒng)設(shè)計 帶ISD4004語音,MC3479驅(qū)動步進電機 附程序+電路圖

[復(fù)制鏈接]
ID:494149 發(fā)表于 2019-3-21 23:07 | 顯示全部樓層 |閱讀模式
隨著電子技術(shù)的發(fā)展,各種各樣的系統(tǒng)越來越接近自動化了,本系統(tǒng)設(shè)計一套采用智能升旗系統(tǒng)來代替人工的系統(tǒng),并解決演奏速度不同步的問題,將使操作起來非常方便,能大大提高了質(zhì)量和效率。
該系統(tǒng)以Atmel公司生產(chǎn)的AT89S52單片機為核心,利用ISD4004作為語音存儲芯片,實現(xiàn)長時間的存儲語音,利用MC3479驅(qū)動步進電機,準確完成
實驗效果表明:系統(tǒng)可全自動的實現(xiàn)升旗,同時完成語音播放,具有方便實用價值,具有一定經(jīng)濟價值。

2系統(tǒng)方案設(shè)計              1

2.1 系統(tǒng)總體方案
2.2 系統(tǒng)功能介紹              2
2.3 主控芯片介紹              2
3 硬件系統(tǒng)設(shè)計              3

3.1硬件設(shè)計思路              3
3.2模塊電路設(shè)計              3
3.2.1顯示模塊              4
3.2.2語音模塊              5
3.2.3語音放大模塊
3.2.4電機驅(qū)動模塊              6
3.2.5電源模塊              7
3.2.6控制模塊              8
4 軟件系統(tǒng)的設(shè)計

4.1 軟件系統(tǒng)組成
4.2鍵盤顯示軟件設(shè)計
4.3步進電機程序設(shè)計              10
4.4語音程序設(shè)計              11
5 總結(jié)              12

附錄1系統(tǒng)原理圖              14
附錄2系統(tǒng)部分軟件              15
附錄3系統(tǒng)實物圖              19

本系統(tǒng)以Atmel公司生產(chǎn)的AT89S52單片機為核心,實現(xiàn)了在自動升旗過程,脫離了傳統(tǒng)的人工,只需控制按鍵就可以完成全過程,操作方便、快捷。系統(tǒng)功能齊全,既可當(dāng)作實驗系統(tǒng)提供給學(xué)生用,如高校實驗室使用;又可添加部分硬件構(gòu)成其他工業(yè)應(yīng)用產(chǎn)品。系統(tǒng)可以實現(xiàn)室內(nèi)外自動升旗、解決大家在操作時候帶來的不便,完成時菜單操作簡單。而且,我們在實際設(shè)計中還預(yù)留了很多的功能接口,以便于系統(tǒng)功能的擴展,如利用傳感器檢測環(huán)境變化實現(xiàn)自動化。因此,系統(tǒng)的使用性和多功能性得到了很好的體現(xiàn)。

2.1 系統(tǒng)總體方案
本系統(tǒng)的開發(fā)以為單片機為控制核心,綜合考慮了單片機的性能、系統(tǒng)成本及使用人群等方面的因素。同時也語音播放的效果,設(shè)計出一種經(jīng)濟、實用且功能強大的升旗系統(tǒng)。系統(tǒng)由JTAG接口、語音回放、鍵盤、顯示、功率放大等模塊構(gòu)成。系統(tǒng)框圖如圖2.1所示。


圖2.1
2.2 系統(tǒng)功能介紹
通過以上方案,系統(tǒng)能夠完成如下功能:鍵盤輸入,鍵盤是一個系統(tǒng)和外界交互的橋梁,鍵盤部分實現(xiàn)了鍵盤的控制的輸入;顯示,和鍵盤一樣,顯示模塊在人機交互時發(fā)揮著不可忽視的作用,該部分完成了單片機系統(tǒng)內(nèi)部數(shù)據(jù)的輸出顯示;語音播放是升旗中不可缺少的部分,通過ISD4004實現(xiàn)語音的回放功能,由于系統(tǒng)的語音芯片輸出功率大小不夠,通過TDA2030語音放大模塊實現(xiàn)語音的放大,應(yīng)用喇叭輸出;同時利用MC3479芯片驅(qū)動步進電機,實現(xiàn)自動升旗的效果,通過對步進電機的控制,可以準確的實現(xiàn)對高度的控制,通過對電機的計算可以實現(xiàn)對高度的測量,以便顯示當(dāng)前的高度。

2.3 主控芯片介紹
本設(shè)計中用的單片機是Atmel公司生產(chǎn)的AT89S52單片機。它是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用Atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元。AT89S52具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 此外,AT89S52設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。

3 硬件系統(tǒng)設(shè)計
3.1硬件設(shè)計思路
為迎合本產(chǎn)品的設(shè)計目的,我們以Atmel公司廉價的AT89S51/52為核心,來構(gòu)建一個廉價的自動控制系統(tǒng)。要求方便操作,所以本系統(tǒng)將采用按鍵操作,以實現(xiàn)操作簡單,為設(shè)計方便,用模塊化設(shè)計。設(shè)一塊主模塊,若干實驗子模塊,主模塊的引腳盡量由用接口引出,根據(jù)系統(tǒng)的要求,如果在主模塊上不方便實現(xiàn),選用相應(yīng)的子模塊與主模塊接上,進行實驗本系統(tǒng)要求要有明確的設(shè)計思路,不追求主模塊的全面性,考慮在主模塊上保留不占I/O口電路的同時,對不易于在主模塊上設(shè)計的電路部分按子模塊設(shè)計。這樣的設(shè)計能使電路更容易的升級,只要增加相應(yīng)的電路子模塊即可。本系統(tǒng)的設(shè)計的創(chuàng)新點也在于此——追求系統(tǒng)的方便性。

3.2模塊電路設(shè)計
3.2.1 顯示模塊
鍵盤和顯示往往是一個控制系統(tǒng)的重要部分,同時也是最難做的一部分。在本系統(tǒng)中,為了節(jié)約端口,同時簡化程序編寫和保證系統(tǒng)工作的穩(wěn)定性,我們采用了鍵盤和傳口輸入,并口輸出芯片74LS164,提供串人——并出的原理,其圖3.2.1如下:   



圖3.2.1
3.2.2 語音模塊
   系統(tǒng)采用語音回放芯片ISD4004, ISD4004系列工作電壓3V,單片錄放時間8至16分鐘,音質(zhì)好,適用于移動電話及其他便攜式電子產(chǎn)品中。芯片采用CMOS技術(shù),內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動靜噪及高密度多電平閃爍存貯陣列。芯片設(shè)計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口(SPI或Microwire)送入。芯片采用多電平直接模擬量存儲技術(shù), 每個采樣值直接存貯在片內(nèi)閃爍存貯器中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和"金屬聲"。采樣頻率可為 4.0,5.3,6.4,8.0kHz,頻率越低,錄放時間越長,而音質(zhì)則有所下降,片內(nèi)信息存于閃爍存貯器中,可在斷電情況下保存100年(典型值),反復(fù)錄音10萬次。下面對ISD4004的引腳說明:制輸入口依次為:SS,MOSI,MISO,RAC,INT,SCLK,VCC,GND。
片選(SS):此端為低,即向該ISD4004 芯片發(fā)送指令,兩條指令之間為高電平。
串行輸入(MOSI):此端為串行輸入端,主控制器應(yīng)在串行時鐘上升沿之前半個周期將數(shù)據(jù)放到本端,供ISD 輸入。
串行輸出(MISO):ISD 的串行輸出端。ISD 未選中時,本端呈高阻態(tài)。
串行時鐘(SCLK):ISD 的時鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI 和MISO 的數(shù)據(jù)傳輸。
數(shù)據(jù)在SCLK 上升沿鎖存到ISD,在下降沿移出ISD。
行地址時鐘(RAC):漏極開路輸出。每個RAC 周期表示ISD 存儲器的操作進行了一行(ISD4004系列中的存貯器共2400 行)。該信號保持高電平的時間為175ms,低電平時間為25ms。在快進模式,RAC 可保持高電平218.75μs,低電平31. 25μs。該端可用于存儲管理技術(shù)。
中斷(INT):本端為漏極開路輸出。ISD 在任何操作(包括快進)中檢測到EOM或IVF 時,本端變低并保持。中斷狀態(tài)在下一個SPI周期開始時清除。中斷狀態(tài)也可用RINT 指令讀取。
ISD的工作電壓是3V,模塊中加了分壓電路,電源輸入5V。
信號輸入有兩個端口,一個是MIC輸入,另一個是模擬信號直接輸入。模塊采用單端輸入,信號由耦合電容輸入,最大幅度為峰峰值32mV。
其原理圖3.2.2如下:
圖3.2.2

3.2.3 語音放大模塊
     本系統(tǒng)采用語音放大芯片TDA2030,其原理如圖3.2.3所示下:
圖3.2.3
3.2.4 電機驅(qū)動模塊
  系統(tǒng)采用MC3479來驅(qū)動步進電機,下面對MC3479的驅(qū)動模塊做如下說明,MC3479適用于驅(qū)動兩相電機(四線和六線,尤其適用于四線,),此模塊用于驅(qū)動我們實驗室兩相四線的42BYGH103電機。實驗室的六線電機還需要調(diào)整一下接線,并把兩個抽頭懸空。該芯片輸入端TTL和 CMOS 兼容。
P1_0輸出低電平時電機正轉(zhuǎn),輸出高電平時反轉(zhuǎn)。P1_1輸出低電平時全步運行,高電平時半步運行。通過讀P1_2若為低電平可以知道電機運行到初始A相狀態(tài)。P1_3輸出阻抗選擇控制端(只在半步方式有效) , 輸入低電平時輸出端為高阻抗?fàn)顟B(tài), 輸入高電平時輸出端為低阻抗?fàn)顟B(tài)。P1_7輸出一個高電平即可把電機置位到時A相初始狀態(tài),就是復(fù)位。每次運行前最好先復(fù)位,以使運行更精確。在P1_7和6腳之間串聯(lián)的電阻可以確定芯片的輸出電流,其關(guān)系為。


我們的模塊中設(shè)置R=120K,即輸出電流為109mA。P1_5為時鐘輸入。全步狀態(tài)時,每個時鐘電機運行一步,最高頻率833Hz。半步狀態(tài)時,每個時鐘電機運行半步,最高頻率1250Hz。
應(yīng)用中的注意點:
1、步進電機應(yīng)用于低速場合---每分鐘轉(zhuǎn)速不超過1000轉(zhuǎn),(0.9度時6666PPS),最好在1000-3000PPS(0.9度)間使用,可通過減速裝置使其在此間工作,此時電機工作效率高,噪音低。
2、步進電機最好不使用整步狀態(tài),整步狀態(tài)時振動大。
3、由于歷史原因,只有標稱為12V電壓的電機使用12V外,其他電機的電壓值不是驅(qū)動電壓伏值,可根據(jù)驅(qū)動器選擇驅(qū)動電壓(建議:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),當(dāng)然12伏的電壓除12V恒壓驅(qū)動外也可以采用其他驅(qū)動電源,不過要考慮溫升。
4、轉(zhuǎn)動慣量大的負載應(yīng)選擇大機座號電機。
5、電機在較高速或大慣量負載時,一般不在工作速度起動,而采用逐漸升頻提速,一電機不失步,二可以減少噪音同時可以提高停止的定位精度。
6、高精度時,應(yīng)通過機械減速、提高電機速度,或采用高細分數(shù)的驅(qū)動器來解決,也可以采用5相電機,不過其整個系統(tǒng)的價格較貴,生產(chǎn)廠家少,其被淘汰的說法是外行話。
7、電機不應(yīng)在振動區(qū)內(nèi)工作,如若必須可通過改變電壓、電流或加一些阻尼的解決。
8、電機在600PPS(0.9度)以下工作,應(yīng)采用小電流、大電感、低電壓來驅(qū)動。
其原理圖如下:
圖3.2.4
3.2.5 電源模塊
  由于系統(tǒng)需要不同的工作電壓,因此本系統(tǒng)利用多穩(wěn)壓芯片來實現(xiàn)多電壓,首先通過L7812得到穩(wěn)定的+12V輸出,經(jīng)過濾波后輸入到L7805實現(xiàn)+5V電壓輸出,由于ISD4004工作在+3V電壓,所以系統(tǒng)經(jīng)過LM317可調(diào)穩(wěn)定輸出+3V電壓,其原理圖如下:
圖3.2.5
3.2.6 控制模塊
   系統(tǒng)采用AT89S52作為控制模塊,該芯片前面已經(jīng)做了詳細的說明,這里略到芯片的說明,其原理圖如下:
圖3.2.6



                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             4 軟件系統(tǒng)的設(shè)計

4.1 軟件系統(tǒng)組成
通過應(yīng)用C51程序設(shè)計的基本的語音和控制程序,各模塊源程序的程序設(shè)計如下模塊所示,各程序設(shè)計目的:基本I/O口實驗,通過單片機并口的輸入、輸出功能特點。中斷優(yōu)先級等,實現(xiàn)對各系統(tǒng)的控制。鍵盤掃描,可以了解掃描操作。實現(xiàn)控制操作。語音控制程序采用先錄音再放音的原理。電機控制程序利用先對電機初始化,然后對電機實現(xiàn)轉(zhuǎn)速的控制。顯示程序,通過先計算出系統(tǒng)的轉(zhuǎn)數(shù),然后轉(zhuǎn)化為高度,通過串口送數(shù)顯示。
所有程序均采用標準C語言編寫,并加入了適當(dāng)?shù)淖⑨專鰪娏顺绦虻目勺x性和可移殖性。

4.2 鍵盤顯示軟件設(shè)計
74LS164是一片具有串行接口輸入,并行接口輸出的芯片,通過從串口連續(xù)送8個數(shù)據(jù),此時從并口輸出數(shù)據(jù)到數(shù)碼管顯示,其程序框圖如4.2.1下所示:
         
                               圖4.2.1


  4.3 步進電機程序設(shè)計
系統(tǒng)通過對MC3479的操作來實現(xiàn)對電機控制,首先程序?qū)C3479初始化,將其對應(yīng)的因腳置電位,讓電機先從A相位開始轉(zhuǎn)動。以便對轉(zhuǎn)數(shù)的計算,以二相反應(yīng)式步進電機為例:它的定子上有二磁極,每一對磁極上繞著一相繞組,繞組通電時,這兩個磁極的極性相反;二相繞組接成星形,轉(zhuǎn)子鐵心及定子極靴上有小齒,定轉(zhuǎn)子齒距通常相等。轉(zhuǎn)子鐵心上沒有繞組,轉(zhuǎn)自的齒數(shù)為40,相鄰兩個齒之間夾角為9o。當(dāng)某一相繞組通電時,由于定轉(zhuǎn)子上有齒和槽,所以當(dāng)轉(zhuǎn)子齒的相對位置不同時,在磁場的作用下,轉(zhuǎn)子將轉(zhuǎn)動一個角度,使轉(zhuǎn)子和定子的齒相互對齊,這就是使步進電機旋轉(zhuǎn)的原因。
步進電機的運轉(zhuǎn)始由脈沖信號控制.通過改變各相通電的次序可以調(diào)整步進電機的運轉(zhuǎn)方向。如圖4.3.1為步進電機流程圖。
圖4.3.1步進電機程序流程圖

4.4 語音程序設(shè)計
  系統(tǒng)采用先對ISD4004初始后,先從地址0000H開始錄音,持續(xù)一段時間后,根據(jù)控制操作實現(xiàn)放音操作,放音從開始錄音的地方,連續(xù)的播放,直到遇到停止操作,否則一直播放下去,直到最后一個錄音地址。其程序流圖如下:
               
圖4.4.1
5 總結(jié)
此開發(fā)系統(tǒng)采用Atmel公司生產(chǎn)的AT89S52單片機為核心,通過語音與電機驅(qū)動與一體,結(jié)構(gòu)逐步擴展功能模塊,采用分開設(shè)計,分開調(diào)試,然后再進行整機調(diào)試和整合的開發(fā)方式,成功的實現(xiàn)了各功能。雖然此系統(tǒng)在功能實現(xiàn)了智能升旗的作用,但開發(fā)系統(tǒng)還存在一些不足,如:沒有合理利用傳感器等。
總之,該實驗系統(tǒng)還是有許多可取之處的:結(jié)構(gòu)簡單而功能豐富。
經(jīng)過此次硬件系統(tǒng)的設(shè)計,不僅對所學(xué)專業(yè)知識鞏固和加深了一遍,更重要的是提高了自己的工程應(yīng)用能力和科技論文撰寫水平,同時更加深刻體會到僅僅擁有理論知識是遠遠不夠的,只有在實踐中不斷探索,才能真正體會到理論的精華所在,只有將理論和實踐有機的結(jié)合起來,才能真正掌握知識。

單片機源程序:
  1. #include "reg51.h"
  2. #include "intrins.h"

  3. sbit _cs = P1^6;
  4. sbit _sclk= P1^5;
  5. sbit _mosi= P3^1;
  6. sbit _miso= P3^0;
  7. sbit _rac = P1^7;
  8. sbit _int = P3^2;


  9. void delay(unsigned int i) //延時程序
  10. {
  11.   while(i--);
  12. }

  13. void stopmode() //停止
  14. {
  15.   unsigned char m,i,j;
  16.      _cs=1;
  17.      _sclk=0;
  18.      _cs=0;

  19.      m=0x30;
  20.    for(i=0;i<8;i++)
  21.   {
  22.       m=_cror_(m,1);
  23.       j=m<<1;
  24.       _mosi=CY;
  25.      _sclk=0;
  26.      _sclk=1;
  27.    }
  28. _cs=1;
  29. }
  30. void powerdown() //下電
  31. {
  32.    unsigned char m,i,j;
  33.   _cs=1;
  34.   _sclk=0;
  35.   _cs=0;

  36.    m=0x10;
  37. for(i=0;i<8;i++)
  38.    {
  39.      m=_cror_(m,1);
  40.      j=m<<1;
  41.       _mosi=CY;
  42.       _sclk=0;
  43.       _sclk=1;
  44.     }
  45.   _cs=1;
  46. }

  47. void powerup() //上電
  48. {
  49. unsigned char m,i,j;
  50.      _cs=1;
  51.      _sclk=0;
  52.      _cs=0;

  53.     m=0x20;
  54.    for(i=0;i<8;i++)
  55.    {
  56.         m=_cror_(m,1);
  57.         j=m<<1;
  58.         _mosi=CY;
  59.         _sclk=0;
  60.         _sclk=1;
  61.      }
  62.   _cs=1;
  63. }
  64. void record4004(unsigned int address) //錄音 address--錄音地址 0---2400
  65. {
  66. unsigned char i,m,j;
  67. unsigned int datasoute=0;


  68.        powerup();
  69.        delay(5118);//上電延時
  70.        powerup();
  71.        delay(5118);//上電延時
  72.        delay(5118);//上電延時
  73.      _cs=1;
  74.      _sclk=0;
  75.      m=0xa0;
  76.     _cs=0;
  77. for(i=0;i<16;i++)
  78. {
  79.   address=_iror_(address,1);
  80.   datasoute=address<<1;
  81.    _mosi=CY;
  82.    _sclk=0;
  83.   _sclk=1;
  84.   }
  85. for(i=0;i<8;i++)
  86. {
  87.   m=_cror_(m,1);
  88.   j=m<<1;
  89.   _mosi=CY;
  90.   _sclk=0;
  91.   _sclk=1;
  92. }
  93.    _cs=1;
  94.    _sclk=0;
  95.    m=0xb0;
  96.   _cs=0;

  97. for(i=0;i<8;i++)
  98. {
  99.   m=_cror_(m,1);
  100.   j=m<<1;
  101.   _mosi=CY;
  102.   _sclk=0;
  103.   _sclk=1;
  104. }
  105.   _cs=1;
  106.   P0=0xff;
  107.   datasoute=0;
  108. while(_int==1) //存儲地址換行標志
  109. {
  110. if(_rac) {delay(20000); datasoute++; } //記錄本次錄音所占的行數(shù)(也就是本次錄音有多大)
  111. if(P1^3==0)break;
  112. }
  113. }//while end;

  114. void audioout(unsigned int address) //放音程序
  115. {
  116.    unsigned char i,m,j;
  117.    unsigned int datasoute;

  118.     powerup();
  119.    _cs=1;
  120.    _sclk=0;
  121.    _cs=0;
  122.    m=0xe0;
  123. for(i=0;i<16;i++)
  124. {
  125.   address=_iror_(address,1);
  126.   datasoute=address<<1;
  127.   _sclk=0;
  128.   _mosi=CY;
  129.   _sclk=1;
  130. }
  131. for(i=0;i<8;i++)
  132. {
  133.   m=_cror_(m,1);
  134.   j=m<<1;
  135.   _sclk=0;
  136.   _mosi=CY;
  137.   _sclk=1;
  138. }

  139.   _cs=1;
  140.   _sclk=0;
  141.   m=0xf0;
  142.   _cs=0;
  143. for(i=0;i<8;i++)
  144. {
  145.   m=_cror_(m,1);
  146.    j=m<<1;
  147.    _sclk=0;
  148.    _mosi=CY;
  149.   _sclk=1;
  150. }
  151. _cs=1;

  152.   P0=0xff;
  153. while(_int==1)
  154. {;
  155. }//while end;
  156. }
復(fù)制代碼


附錄3系統(tǒng)部分實物圖
  • 控制系統(tǒng)



完整的Word格式文檔51黑下載地址:
http://www.denmoz.com/bbs/dpj-153860-1.html


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表