久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3624|回復: 0
打印 上一主題 下一主題
收起左側

單片機智能升旗系統設計 帶ISD4004語音,MC3479驅動步進電機 附程序+電路圖

[復制鏈接]
跳轉到指定樓層
樓主
ID:494149 發表于 2019-3-21 23:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
隨著電子技術的發展,各種各樣的系統越來越接近自動化了,本系統設計一套采用智能升旗系統來代替人工的系統,并解決演奏速度不同步的問題,將使操作起來非常方便,能大大提高了質量和效率。
該系統以Atmel公司生產的AT89S52單片機為核心,利用ISD4004作為語音存儲芯片,實現長時間的存儲語音,利用MC3479驅動步進電機,準確完成
實驗效果表明:系統可全自動的實現升旗,同時完成語音播放,具有方便實用價值,具有一定經濟價值。

2系統方案設計              1

2.1 系統總體方案
2.2 系統功能介紹              2
2.3 主控芯片介紹              2
3 硬件系統設計              3

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

4.1 軟件系統組成
4.2鍵盤顯示軟件設計
4.3步進電機程序設計              10
4.4語音程序設計              11
5 總結              12

附錄1系統原理圖              14
附錄2系統部分軟件              15
附錄3系統實物圖              19

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

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


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

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

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

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



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

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


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



                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             4 軟件系統的設計

4.1 軟件系統組成
通過應用C51程序設計的基本的語音和控制程序,各模塊源程序的程序設計如下模塊所示,各程序設計目的:基本I/O口實驗,通過單片機并口的輸入、輸出功能特點。中斷優先級等,實現對各系統的控制。鍵盤掃描,可以了解掃描操作。實現控制操作。語音控制程序采用先錄音再放音的原理。電機控制程序利用先對電機初始化,然后對電機實現轉速的控制。顯示程序,通過先計算出系統的轉數,然后轉化為高度,通過串口送數顯示。
所有程序均采用標準C語言編寫,并加入了適當的注釋,增強了程序的可讀性和可移殖性。

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


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

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

單片機源程序:
  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++; } //記錄本次錄音所占的行數(也就是本次錄音有多大)
  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. }
復制代碼


附錄3系統部分實物圖
  • 控制系統



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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美色视频免费 | 精品一二区 | 久色网 | 欧美成人h版在线观看 | 久久久精品一区二区三区四季av | 亚洲国产欧美一区二区三区久久 | 夜夜摸天天操 | 丁香久久 | 日本a在线 | 伊人欧美视频 | 国产视频二区在线观看 | 欧美激情一区 | 成人免费区一区二区三区 | 成人黄视频在线观看 | 亚洲成人精| 亚洲一区二区三区在线播放 | 激情一区二区三区 | 黄免费看 | 成人在线视频网 | 99精品电影 | 一级做a爰片久久毛片免费看 | 最新高清无码专区 | 久久久九九 | 天天搞天天操 | 一区二区视频免费观看 | 亚洲国产精品福利 | 一区二区不卡 | 国产欧美精品一区二区 | 国产精品久久九九 | 久久极品| 91久久国产综合久久 | 国产一区二区三区四区 | 亚洲一区在线日韩在线深爱 | 欧美日韩视频 | 黄色欧美 | 看一级毛片 | 涩涩视频大全 | 成人在线视频网址 | 成人久久18免费网站麻豆 | 成人免费在线观看视频 | 成人精品一区二区三区 |