找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11446|回復: 6
收起左側(cè)

基于51單片機的聲音定位系統(tǒng)電路與源程序設計

  [復制鏈接]
ID:58647 發(fā)表于 2021-7-11 18:49 | 顯示全部樓層 |閱讀模式
壓縮包包含文檔、程序等全部資料。
設計一套聲音定位系統(tǒng)。在一塊不大于 1m2 的平板上貼一張 500mm×350mm
的坐標紙,在其四角外側(cè)分別固定安裝一個聲音接收模塊,聲音接收模塊通過導
線將聲音信號傳輸?shù)叫畔⑻幚砟K,聲音定位系統(tǒng)根據(jù)聲響模塊通過空氣傳播到 各聲音接收模塊的聲音信號,判定聲響模塊所在的位置坐標。系統(tǒng)結(jié)構(gòu)示意圖如 圖 1 所示。



2.1 要求
圖 1 聲音定位系統(tǒng)結(jié)構(gòu)示意圖

(1) 設計制作一個聲響模塊,含信號產(chǎn)生電路、放大電路和微型揚聲器等, 每按鍵一次發(fā)聲一次,聲音信號持續(xù)時間約為 1s。要求聲響模塊采用 5V 以下電 池供電,功耗不大于 200mW。
(2) 設計制作四路聲音接收模塊,由麥克風、放大電路等組成,并分別與信 息處理模塊相連接,以便將聲音信號傳送至信息處理模塊。
(3) 設計制作一個信息處理模塊,要求該模塊能根據(jù)從聲音接收模塊傳來的 信號判斷聲響模塊所在位置的 x、y 坐標,并以數(shù)字形式顯示 x、y 坐標值,位置 坐標值誤差的絕對值不大于 30mm。
3.1 說明
(1)  注意預留測量聲響模塊功耗的電流電壓和信號放大電路輸出信號的測試
點。
(2) 采用三個聲音接收模塊即可實現(xiàn)定位,第四個模塊可對定位作進一步校 正。
(3) 不允許聲響模塊與其他電路有任何連接,并要求在聲響模塊上做出明顯 標記,以便清晰判讀模塊所在坐標數(shù)值。
(4) 注意聲音通過其它傳播介質(zhì)帶來的影響。 二、總體設計與分析


為了實現(xiàn)本次設計的要求,系統(tǒng)必須具備以下功能:按鍵聲源發(fā)聲且持續(xù)時 間 1s、接收聲音、信號放大濾波、聲源定位等功能。其系統(tǒng)主要可以劃分為:聲 響模塊、聲音接收模塊、控制器和顯示模塊。
在整體的方案上,聲響模塊利用 555 單穩(wěn)態(tài)振蕩電路來達到每按鍵一次發(fā)聲一次
的功能。另外由于聲響模塊產(chǎn)生的聲音信號傳遞到接收模塊時是十分微弱的,所
以聲音接收模塊必須含有濾波,放大和比較等環(huán)節(jié),以便觸發(fā)控制器進行運算和 處理。本次設計采用了比較器 LM358 結(jié)合放大電路形成的聲音接收模塊。此系 統(tǒng)結(jié)構(gòu)框圖如下所示:



三、方案比較與選擇
3.1 處理器
圖 2.1 系統(tǒng)結(jié)構(gòu)框圖

方案一:采用 TI 公司生產(chǎn)的 MSP430 單片機。MSP430 系列單片機含有一種 超高速、低功耗的同時具有精簡指令集(RISC)的 16 位處理器。該系列芯片片內(nèi) 資源豐富,中斷源的數(shù)量較多,足以滿足本次設計對中斷源的需求。同時 MSP430 系列單片機運算速度快,片內(nèi)硬件資源豐富,能夠?qū)崿F(xiàn)一些較為復雜的算法和數(shù) 據(jù)處理。但在短時間內(nèi)掌握 MSP430 的編程與開發(fā)具有一定的難度。
方案二:采用 STC 公司生產(chǎn)的 STC89C52RC 單片機。STC89C52RC 是 STC 公司 生產(chǎn)的一種高性能 CMOS、低功耗的 8 位微控制器。其片內(nèi)含有五個可屏蔽中斷 源,且容易對其進行編程處理,基本可以滿足本次設計要求。另外 STC89C52RC 單片機小系統(tǒng)的焊接較為簡單,后期調(diào)試工作也更加方便。 綜上所述,方案一成本較高,并且考慮到短時間內(nèi)不易掌握,經(jīng)過討論采取方案 二。
3.2 聲源裝置 方案一:采用單片機產(chǎn)生聲音信號,經(jīng)過功率放大電路,驅(qū)動無源蜂鳴器發(fā)
聲,這可以通過程序?qū)崿F(xiàn)。但由于 STC89C52RC 單片機片內(nèi)資源有限,需要另外 再焊接一個單片機小系統(tǒng),較為浪費資源。
方案二:采用 555 單穩(wěn)態(tài)振蕩電路產(chǎn)生聲音信號,經(jīng)過三極管放大電路,驅(qū) 動無源蜂鳴器發(fā)聲。其通過內(nèi)部的定時器產(chǎn)生時基電路,外部只需簡單的驅(qū)動電 路便可實現(xiàn)按鍵一次,聲音持續(xù)時間 1s 的功能。該電路結(jié)構(gòu)簡單,可外接 5V 電 源,方便焊接與測試。
綜上所述,經(jīng)討論采取方案二。

3.3 聲音接收裝置 方案一:采用壓電式聲敏傳感器。壓電式聲敏傳感器是利用壓電晶體的壓電
效應制成一種能實現(xiàn)聲-電轉(zhuǎn)換器件。但壓電聲敏傳感器不是常用器件,價格較 貴。
方案二:采用電容式駐極體話筒(咪頭)。該元件能將一般的聲音信號轉(zhuǎn)化為 電信號。價格便宜,便于設計,之后再自行設計濾波與放大電路,一起構(gòu)成聲音 信號接收模塊。
綜上所述,電容式駐極體話筒對于滿足設計要求綽綽有余,經(jīng)過討論采取方 案二。
3.4 聲音信號放大電路 方案一:采用聲控開關(guān)。聲控開關(guān)使用簡單,價格便宜,但是反應不夠靈敏,
精度較低。 方案二:采用多級放大整波電路,將接收的信號經(jīng)放大、濾波、電壓比較排
除噪聲干擾,精度高。 綜上所述,雖然方案二電路復雜運用模電知識,但是項目要求精度比較高,
所以采用方案二。3.5 顯示模塊
方案一:LCD1602 液晶顯示屏,是一種工業(yè)字符型液晶,能夠同時顯示 16x02
(16 列 2 行)即 32 個字符。對于本次設計而言,雖然其能基本完成顯示坐標軸
上 X 與 Y 的值,但考慮在調(diào)試過程中,需要顯示時間差值和因中斷觸發(fā)產(chǎn)生的標
志值。LCD1602 顯然做不到實時顯示,增加了調(diào)試的難度。
方案二:LCD12864 液晶顯示屏,是一種具有多種接口方式,內(nèi)部簡體中文字
庫的點陣圖形液晶顯示模塊;其顯示分辨率為 128×64, 內(nèi)置 8192 個 16*16 點
漢字,和 128 個 16*8 點 ASCII 字符集。利用該模塊靈活的接口方式和簡單、方
便的操作指令,完全滿足本次設計中的顯示需求和調(diào)試需求。
綜上所述,經(jīng)討論采取方案二。 四、電路設計
4.1 按鍵發(fā)聲模塊電路設計
聲音信號是通過 555 單穩(wěn)態(tài)振蕩電路產(chǎn)生。通過按下開關(guān)按鈕后,下降沿觸
發(fā),555 電路產(chǎn)生持續(xù)時間為 1s 的聲音信號,使三極管電路飽和導通并放大電
流,驅(qū)動無源蜂鳴器發(fā)聲。整個電路由 5V 紐扣電池供電,使用小功率三極管 A42
進行放大電流,以實現(xiàn)低功耗。
按鍵發(fā)聲模塊的具體電路如下圖所示:

圖 4.1 按鍵發(fā)聲模塊電路


圖中公有兩個 555 單穩(wěn)態(tài)振蕩電路,其中第一個 555 單穩(wěn)態(tài)振蕩電路對按鍵延 時防抖,產(chǎn)生準確的負脈沖。第二個 555 單穩(wěn)態(tài)振蕩電路中則產(chǎn)生持續(xù) 1s 的正 脈沖?梢 555 單穩(wěn)態(tài)振蕩電路中,每來一次負脈沖,便輸出一個正脈沖,其寬 度 Tw 由 RC 決定,滿足下列公式:
Tw = 1.1 × RC (s)
其中 R 在圖 4.1 中分別為 R22、R28;C 分別為 C17、C18。通過調(diào)節(jié) R28 即 可產(chǎn)生持續(xù) 1s 的高電平信號。
4.2 聲音接收模塊電路設計 聲音接收模塊采用駐極體話筒作為聲電轉(zhuǎn)換元件。駐極體話筒輸出端是內(nèi)部
場效應管的漏極 D 和源極 S,此電路采用源極輸出,漏極接地的連接方式,故在 源極 S 與電源正極之間接入 10K 電阻。通過共基極放大電路放大電流信號,再經(jīng) 過由 LM358 組成的過零比較器電路輸出方波信號。電路中設置有 1K 的電位器 R18,以便調(diào)節(jié) LM358 比較器端的參考電壓,改變電路的靈敏度,使調(diào)試更為方 便。
聲音接收模塊電路具體如下圖所示:
圖 3.2 聲音接收模塊電路 由圖 3.2 可知,比較器輸入端參考電壓實際為:


本次設計采用 STC89C52RC 單片機進行運算處理和驅(qū)動 LCD12864 液晶顯示 屏顯示定位結(jié)果,即利用單片機內(nèi)部定時器 0 計時,由外部中斷 0、外部中斷 1 和定時器 1 觸發(fā),檢測接收信號的下降沿,通過這種方式計算聲音傳播后,不同 模塊接收到信號的時間差,通過時間差計算出聲源信號到接收模塊距離,然后由
單片機編程計算出聲源的位置坐標,最終顯示在液晶屏上。
STC89C52RC 單片機小系統(tǒng)電路和 LCD12864 驅(qū)動電路如下圖所示:



五、算法與程序設計
5.1 數(shù)據(jù)處理原理:
圖 4.3 STC89C52RC 單片機模塊

本算法基于時間差算出未知點的坐標點。從理論上分析,只需三個已知點就 可以對聲音源進行定位,我們首先先將問題簡化為二維平面內(nèi)對聲音源進行定位。
如下圖所示,在一個平面內(nèi)分布有三個傳感器 A、B 和 C 坐標分別為(0,350)、
(0,0)、(500,0)。當平面內(nèi)某處 S(x,y)發(fā)出聲音時,3 個傳感器將先后接收 到信號,設信號到達 A,B 的時間差為 t1,到達 B,C 的時間差為 t2,則有:

我們只需在單片機程序中將 x, y 所有可能值都帶入到上式中,檢查有哪些值滿 足條件即可。



5.2 程序流程圖
圖 5.1 聲音定位系統(tǒng)等效平面圖

圖 5.2

5.3 子程序流程圖:


六、測試方案
6.1 主要的測試儀器、儀表
圖 5.3


本次主要使用的測試儀器與儀表有,函數(shù)信號發(fā)生器、示波器與數(shù)字萬用表。
6.2 測試方法 在硬件測試中,按鍵發(fā)聲模塊通過示波器測試電路輸出波形,調(diào)節(jié)電位器改
變電阻值來調(diào)節(jié)觸發(fā)時間,保證發(fā)出的聲響持續(xù)時間為 1s;另外使用數(shù)字萬用表 測量按鍵發(fā)聲模塊的功耗。聲音接收模塊通過數(shù)字萬用表,測量當發(fā)聲模塊距接 收模塊不同距離時,比較器輸出電壓,直至調(diào)節(jié)電位器,改變比較器靈敏度使輸
出電壓在要求距離內(nèi)能受到信號,并以下降沿觸發(fā)單片機。聲響模塊和接收模塊 都可以使用函數(shù)發(fā)生器和示波器來檢測電路的連接是否正常。
在軟件測試中,我們組軟件調(diào)試的中心思想是分模塊調(diào)試。先將程序分為三 個接受模塊,算法模塊,顯示模塊,我們在分塊調(diào)試時,將各個模塊的輸出都顯 示出來以便于觀察各模塊是否正確。運用這種方法,可以將軟件上的錯誤精確定


位到某一個環(huán)節(jié),大大提高了調(diào)試的效率。以下是具體方法:
1、將程序中的標志位 signalA,signalB,signalC 通過 LCD 屏幕顯示出來,以方便 觀察是否所有傳感器都收到了信號。
2、將各信號間的時間差通過 LCD 屏幕顯示出來,以方便觀察各傳感器的響
應速度以及接受信號的先后順序是否與實際一致。
3、在接入傳感器前,先用另一片單片機模仿傳感器發(fā)出的信號,并通過程序 設置時間差等參數(shù),用于檢查算法是否正確。
七、系統(tǒng)調(diào)試
7.1 按鍵發(fā)聲模塊
測試輸出電流(通過測量蜂鳴器串聯(lián)的 1Ω的電阻得到電流值),從圖中可知
為 0.042A:


圖 7.1.1
測試蜂鳴器兩端電壓,從圖中可知為 4.36V:



7.2 聲音接收模塊
圖 7.1.2


當聲響模塊離接收模塊距離較近時,接收模塊輸出電壓達到 3.6V 左右。



圖 7.2.1
當聲響模塊離接收模塊較遠時(但坐標仍屬于坐標紙的范圍),接收模塊輸出
電壓將會變小。這個時候就需要調(diào)節(jié)電位器,改變電阻值以減小比較器 LM358 輸 入端參考電壓的值。



7.3 LCD 液晶顯示模塊
圖 7.2.1


進行測試時,LCD12864 液晶顯示模塊除了顯示坐標 X 與 Y 的值外,還會顯示 A、B、C 三個聲音接收模塊的中斷觸發(fā)標志值(如下圖顯示屏中第一行所顯示的 內(nèi)容,其中顯示值為 0 表示未觸發(fā),為 1 則表示已觸發(fā)),以及 A、B 和 C 三個 聲音接收模塊依次收到信號時的計時時刻(其中從右到左依次為 0us,65us 和 68us, 此時模塊 C 最先收到聲音信號),這樣方便系統(tǒng)調(diào)試。
下圖坐標 X 與 Y 值在誤差范圍內(nèi),滿足測量要求。





八、數(shù)據(jù)測試與處理
圖 7.3.1


8.1 聲響模塊參數(shù)記錄表與測試數(shù)據(jù) 當給聲響模塊供電時聲響模塊測試結(jié)果如下表所示:
測試內(nèi)容
測試結(jié)果
按鍵發(fā)生
聲音信號持續(xù)時間
1 .023s
功耗測試
183.12mW(4.36V,0.042A)
表 8.1
8.2 聲音接收模塊輸出電壓記錄表與測試數(shù)據(jù)
比較電路在不同靈敏度下,距聲源不同距離時聲音接收模塊輸出電壓測試結(jié)
果如下表所示:
51hei.png
表 8.2
從表 8.2 可以看出,當電位器阻值較小時即比較器輸入端參考電壓接近 0 時
更易收到信號,但實際上這樣做也更容易受到干擾。接收模塊 C 相較于 A、B 模
塊了,由于焊接工藝的問題,靈敏度較低。合理調(diào)節(jié)電位器阻值之后,三個模塊
最終都能受到信號,滿足設計要求。
8.3 聲源實測坐標記錄表 對處于不同坐標的聲源進行了實際測量,最終得到了以下的一些實測數(shù)據(jù)如

下表所示:
51hei.png
從表中可以看出,除個別點外,坐標紙的四個方向邊緣區(qū)域以及中間區(qū)域共
取了 5 個點,其實測坐標基本滿足設計要求。而個別點的誤差可能是由于接收模 塊放置的位置不準確或聲源放置地不準確而產(chǎn)生。
九、總結(jié)
本次設計以 STC89C52 為核心部件,利用了聲音檢測與辨識技術(shù),利用嚴密的 數(shù)學方法實現(xiàn)和確定了聲源的準確定位。在系統(tǒng)設計過程中,力求硬件電路簡單, 降低硬件成本,節(jié)約功耗。
在這次設計中,我們遇到了許多問題,這些問題我們之前從未遇到過, 但最終我們都找到了解決這些問題的辦法,這對我們來說是一次很好的鍛煉。在 程序設計與軟件調(diào)試的過程之中,由于我們同時使用了 STC89C52 單片機中的四 個中斷進行控制處理,對于單片機各個中斷的優(yōu)先級與觸發(fā)的考慮更為復雜,但 只要結(jié)合函數(shù)信號發(fā)生器模擬聲音信號觸發(fā)單片機得到調(diào)試結(jié)果,并且根據(jù)這些
結(jié)果不斷改正程序,就能得到最優(yōu)的程序設計。另外在程序設計過程,由于子程 序中數(shù)據(jù)處理十分重要,我們查閱了許多的資料,對于 C51 中的數(shù)據(jù)類型以及常 用的庫函數(shù)也更加的熟悉。在硬件調(diào)試過程中,出現(xiàn)了聲音接收模塊電路不穩(wěn)定, 易受到干擾,以及放大電路難以調(diào)試的問題。對于接下來設計之后,我們也 會考慮重新設計相關(guān)電路,例如采用雙比較器電路進行比較放大,來提高電路的性能。
電路原理圖



相關(guān)作品圖片
(1)作品整體圖:

(2)按鍵發(fā)聲模塊


(3)聲音接收模塊
(4)單片機小系統(tǒng)



單片機源程序如下:
  1. #include<reg52.h>
  2. #include<stdio.h>
  3. #include "delay.h"
  4. #include "lcd.h"
  5. #include<math.h>
  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. #define BOOL bit
  9. #define BYTE unsigned char
  10. #define WORD unsigned int

  11. uchar signalA,signalB,signalC;
  12. uchar wolsignalA,wolsignalB,wolsignalC;
  13. uchar wolCount,obv;
  14. unsigned int posX,posY;         //坐標取值

  15. code unsigned char byValidShow[] = {" V值:           "};
  16. code unsigned char DispX[] = {" X軸:           "};
  17. code unsigned char DispY[] = {" Y軸:           "};

  18. void Init_Show()           //LCD初始化顯示子程序
  19. {
  20.         Delay400Ms();
  21.         LCDInit();
  22.         LCDClear();
  23.         Delay5Ms();
  24.         LCDClear();
  25.         //DisplayListChar(0,1,byValidShow);
  26.         DisplayListChar(0,2,DispX);
  27.         DisplayListChar(0,3,DispY);
  28.         Delay5Ms();
  29. }

  30. void Init_isr()                //中斷初始化設置子程序
  31. {
  32.         EA = 0;
  33.         TMOD = 0x62;        
  34.         /*外部中斷0*/
  35.         IT0 = 1; EX0 = 1;
  36.         /*外部中斷1*/
  37.         IT1 = 1; EX1 = 1;
  38.         /* 計數(shù)器 0*/
  39.         TH1 = 0xFF; TL1 = 0xFF; TR1 = 1; ET1 = 1;
  40.         /* 定時器 1*/
  41.         TH0 = 246; TL0 = 246; TR0 = 0; ET0 = 0;
  42.         /***********/
  43.         IE0=0;IE1=0;TF1=0;TF0=0;
  44.         EA = 1;
  45. }

  46. void signalchuli(float m,float n)  //坐標定位計算程序
  47. {

  48.         BOOL r1=0;
  49.         BOOL r2=0; //方程是否成立變量
  50.         BOOL suc=0; //解題是否成功變量
  51.         float x,y;        
  52.         for(x=10;x<=500;x+=10)
  53.         {
  54.                 for(y=10;y<=350;y+=10)
  55.                 {
  56.                         if(fabs(sqrt(x*x+(350-y)*(350-y))- sqrt(x*x+y*y)-m)<=20.0)
  57.                                 r1=1;
  58.                         //else r1=0;
  59.                         if(fabs(sqrt(x*x+y*y)-sqrt(y*y+(500-x)*(500-x)) -n)<=20.0)
  60.                                 r2=1;
  61.                         //else r2=0;
  62.                         if(r1&&r2)
  63.                                 {
  64.                                         suc=1;
  65.                                         break;
  66.                                 }
  67.                         else
  68.                                 {
  69.                                         r1=0;
  70.                                         r2=0;
  71.                                 }
  72.                 }
  73.                 if(suc)
  74.                         break;
  75.         }
  76.         
  77.         posX=x;
  78.         posY=y;
  79.         
  80. }

  81. void main()
  82. {
  83.         float cha1,cha2;
  84.         uchar cha1_temp,cha2_temp;
  85.         EA=0;
  86.         Init_Show();
  87.         Init_isr();               
  88.         while(1)
  89.         {
  90.                 if( signalA && signalB && signalC)
  91.                 {
  92.                         EA = 0;
  93.                         TR0=0;
  94.                         obv++;
  95.                         cha1_temp = wolsignalA - wolsignalB;
  96.                         cha2_temp = wolsignalB - wolsignalC;
  97.                         if(wolsignalA < wolsignalB)
  98.                         {
  99.                                 cha1_temp = 65536 - cha1_temp;
  100.                                 cha1 = -(3.4*cha1_temp);
  101.                         }
  102.                         else
  103.                         {
  104.                                 cha1 = 3.4*cha1_temp;
  105.                         }
  106.                         if(wolsignalB < wolsignalC)
  107.                         {
  108.                                 cha2_temp = 65536 - cha2_temp;
  109.                                 cha2 = -(3.4*cha2_temp);
  110.                         }
  111.                         else
  112.                         {
  113.                                 cha2 = 3.4*cha2_temp;
  114.                         }
  115.                         signalchuli(cha1,cha2);
  116.                         DisplayADData(4,2,posX);
  117.                         DisplayADData(4,3,posY);  //顯示坐標
  118.                         signalA = 0;         
  119.                         signalB = 0;
  120.                         signalC = 0;                        
  121.                         wolCount = 0;
  122.                         Init_isr();
  123.                 }
  124.                 DisplayADData(0,4,wolsignalA);
  125.                 DisplayADData(3,4,wolsignalB);
  126.                 DisplayADData(6,4,wolsignalC);        //顯示時間插值,方便調(diào)試

  127.                 DisplayADData(0,1,signalA);        
  128.                 DisplayADData(3,1,signalB);
  129.                 DisplayADData(6,1,signalC);                //顯示觸發(fā)標志位,方便調(diào)試
  130.         }
  131. }

  132. void JsA_isr() interrupt 0         //外部中斷0,下降沿觸發(fā)
  133. {
  134.         EX0 = 0;
  135.         if(wolCount == 0)
  136.         {
  137.                 wolsignalA = 0;
  138.                 TR0 = 1;
  139.                 ET0 = 1;
  140.         }
  141.         else
  142.         {
  143.                 wolsignalA = wolCount;
  144.         }
  145.         signalA = 1;
  146. }

  147. void JsB_isr() interrupt 2          //外部中斷1,下降沿觸發(fā)
  148. {
  149.         
  150.         if(wolCount == 0)
  151.         {
  152.                 wolsignalB = 0;
  153.                 TR0 = 1;
  154.                 ET0 = 1;
  155.         }        
  156.         else
  157.         {
  158.                 wolsignalB = wolCount;
  159.         }
  160.         signalB =1;
  161.         EX1 = 0;
  162. }

  163. void Timer1_isr() interrupt 3        //計數(shù)器1,工作方式2
  164. {
  165.         if(wolCount == 0)
  166.         {
  167.                 wolsignalC = 0;
  168.                 TR0 = 1;
  169.                 ET0 = 1;
  170.         }
  171.         else
  172.         {
  173.                 wolsignalC = wolCount;
  174.         }
  175.         signalC = 1;
  176.         ET1 = 0;        
  177. }                 

  178. void Timer0_isr() interrupt 1  //定時器0,工作方式2 , 10us
  179. {
  180.         wolCount++;        
  181. }
復制代碼

以上文檔與程序資料51hei下載(初學作品,如有錯誤請大家多多指導):
基于51的聲音定位系統(tǒng).rar (1.6 MB, 下載次數(shù): 177)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:1020584 發(fā)表于 2022-4-23 14:08 | 顯示全部樓層
請問您這個定位系統(tǒng)在使用另一個單片機仿真模擬傳感器信號的時候怎么操作的呀
回復

使用道具 舉報

ID:1018456 發(fā)表于 2022-4-24 23:39 | 顯示全部樓層
PSNR 發(fā)表于 2022-4-23 14:08
請問您這個定位系統(tǒng)在使用另一個單片機仿真模擬傳感器信號的時候怎么操作的呀

protues上可以仿真一下信號
回復

使用道具 舉報

ID:1020584 發(fā)表于 2022-4-25 12:39 | 顯示全部樓層
783748306 發(fā)表于 2022-4-24 23:39
protues上可以仿真一下信號

我用兩個單片機實際仿真總是出現(xiàn)問題 顯示的時間差與設定的不一樣 是因為單片機引腳輸出信號不穩(wěn)定嗎 求助
回復

使用道具 舉報

ID:1039802 發(fā)表于 2022-7-17 20:30 | 顯示全部樓層
請問這個程序里面是不是還有一些時間之類的程序代碼需要另外寫啊,我照著寫了一下,結(jié)果出現(xiàn)了bug,求助
回復

使用道具 舉報

ID:979908 發(fā)表于 2022-11-16 22:13 來自觸屏版 | 顯示全部樓層
783748306 發(fā)表于 2022-4-24 23:39
protues上可以仿真一下信號

用proteus怎么仿真啊,在發(fā)聲模塊會出聲音嗎?在顯示模塊會顯示坐標嗎?求助
回復

使用道具 舉報

ID:979908 發(fā)表于 2022-11-16 22:15 來自觸屏版 | 顯示全部樓層
在proteus怎么仿真啊,發(fā)聲模塊會發(fā)出聲音嗎?顯示模塊會顯示坐標嗎?
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表