《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于Proteus的自動撥號報警器仿真設計
基于Proteus的自動撥號報警器仿真設計
摘要: 本文利用嵌入式系統仿真軟件Proteus實現了基于AT89C51單片機的自動撥號報警器仿真設計,具有開發周期短,成本低等特點,對于單片機應用系統、電子電路的開發和教學等都有較大的實用價值,且設計的電路及驅動程序對相應的實際應用系統具有一定的借鑒作用。
Abstract:
Key words :
  0 引言

  Proteus VSM是英國Labcenter Electronics公司推出的一款基于標準仿真引擎Spice3F5的電路分析、實物仿真系統,是一款電子設計的教學平臺、實驗平臺和創新平臺,涵蓋了電工電子實驗室、電子技術實驗、單片機應用實驗室等的主要功能,其組合了高級原理布圖、混合模式Spice仿真、PCB設計以及自動布線來實現一個完整的電子設計系統。Proteus軟件可以仿真、分析各種模擬器件和集成電路,可以支持不同系列的單片機仿真,如51系列、PIC系列、AVR系列、摩托羅拉的68MH11系列等;Proteus提供了虛擬示波器、邏輯分析儀、信號發生器、計數器、電表、Virtual Terminal等虛擬儀器儀表供選擇用,其虛擬系統建模(VSM)技術可以仿真基于微控制器的設計,包括其周邊電路,甚至可以使用動畫演示的外設模型(如LED/LCD顯示、開關、按鈕、RS 232終端、鍵盤等)與設計目標實時交互;它具備強大的調試工具,包括寄存器和存儲器數據查詢、斷點和單步模式,并可以利用IAR C—SPY,KeilμVision和Matlab等軟件進行源代碼級聯合調試,以求達到最好的仿真效果。本文利用嵌入式系統仿真軟件Proteus實現了基于AT89C51單片機的自動撥號報警器仿真設計,具有開發周期短,成本低等特點,對于單片機應用系統、電子電路的開發和教學等都有較大的實用價值,且設計的電路及驅動程序對相應的實際應用系統具有一定的借鑒作用。

  1 Proteus中自動撥號報警器設計

  基于AT89C51單片機的自動撥號報警器硬件系統原理圖如圖1所示。該報警器由6個子模塊組成,包括單片機最小系統模塊、功率放大電路與模擬報警信號模塊、LCD顯示模塊、鍵盤輸入模塊、I2C存儲模塊和撥號音頻模塊。

a.JPG

  下面分析各個模塊的設計原理:

  (1)單片機最小系統模塊。主要包括51系列單片機一塊(AT89C51)、時鐘電路(12 MHz晶振)與復位電路(包括上電復位與手動復位兩種)。

  (2)功率放大電路與模擬報警信號模塊。由于單片機本身I/O口的驅動能力有限,直接接入電話網絡會因驅動電流太小而使得信息無法傳輸出去,因此需通過功率放大電路增強其輸出驅動力。功率放大電路采用一個NPN三極管與兩個PNP三極管組成多級放大電路,其中NPN管采用的是共射放大,而兩個PNP管則采用了共基放大的方式。模擬報警信號模塊以8個開關模擬8路不同類型的報警輸入,通過一個8路與非門后再接一個非門,當有任何一個按鍵按下時,INT0口均可獲得產生中斷的低電平,以此啟動中斷程序。同時8個開關再分別接入單片機I/0口P2,用以判斷產生中斷的報警類型。在實際應用中,模擬報警信號模塊可以用8路不同的傳感器電路代替,如:溫度傳感器探測火警、氣體傳感器探測有毒氣體等。在仿真平臺下,傳感器較難應用,因此在設計中直接用開關來模擬。

  (3)LCD顯示模塊。使用16×2的點陣字符型液晶LM016L,用以顯示操作提示信息。1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同點陣字符圖形,這些字符有阿拉伯數字、英文字母的大小寫、常用符號和日文假名等,每1個字符都有1個固定的代碼。用戶在模塊中寫入適當的控制命令,即可完成清屏、顯示、地址設置等操作。設計采用并連方式控制,LCD與單片機的通信接口電路采用直連方法。

  (4)鍵盤輸入模塊:鍵盤采用Proteus自帶的3×4電話機鍵盤模塊,主要用來編輯修改電話號碼與功能控制選擇。

  (5)I2C存儲模塊:該模塊用于存儲撥號的電話號碼,數據量小。為節省I/O口,采用24CXX系列存儲芯片,僅需占用2個I/O口(SDA,SCL)。

  (6)撥號音頻模塊:電話撥號脈沖以及聲音脈沖由單片機軟件設置生成,由定時器控制脈沖的頻率和占空比。電話機脈沖撥號的國家標準規定,脈沖斷續比為(1.6+0.2):1或(2.0+0.2):1,當脈沖撥號速度(脈沖數/s)為10+1時,相鄰兩脈沖串的時間間隔大于等于500 ms。由此可以計算得出,脈沖撥號斷、續時間間隔分別為:100×1.6/(1.6+1)≈61.5 ms和100-61.5=38.5 ms。在摘機狀態時,電話機處于低阻態,國家標準規定的直流阻值小于等于300 Ω。

  2 軟件程序設計

  2.1 主程序設計

  系統主程序設計流程圖如圖2所示,主程序流程分為3個狀態:號碼輸入狀態,在存儲器中已存有電話號碼的情況下此步驟可手動跳過;等待狀態,該狀態是在警報開關關閉的時候系統所處的空閑狀態,可按“#”重新進入號碼輸入狀態,當警報開關打開時會自動跳進監控狀態;監控狀態,系統等待外部中斷以做出相關處理。按“#”可以跳回到號碼輸入狀態。在號碼輸入狀態和等待狀態,系統需要關閉中斷,以避免中斷信號對系統設置產生干擾。

b.JPG

  2.2 中斷子程序設計

  中斷子程序基本流程如圖3所示。首先建立一個整形數組numi[],將號碼位數k保存在numi[0]中,而電話號碼則保存在numi[1]~numi[k]中;然后將數組numi[]的前k+1位一次性發送至I2C芯片。讀取的時候,從讀取數據首地址一次性讀取出16位數據(電話號碼最多14位),將其保存在整形數組phn[]中,撥號的時候從phn[1]開始,一共讀phn[0]次,這樣不但可以準確的傳輸電話號碼并進行撥號,同時對I2C芯片的讀/寫僅需1次,降低了讀寫過程中未知錯誤發生的概率。

  該設計共有8路外部模擬報警信號輸入,其警報信號定義如表1所示。將長音視為1,短音視為0,則警報內容可譯為報警信號源代碼的BCD碼低三位,以此作為報警類型標識。

c.JPG

  2.3 LCD顯示子程序

  LCD顯示子程序包含有多個子函數,包括:讀LCD狀態指令函數recom()、測試忙函數busytest()、寫LCD指令函數wrcomn()、LCD清屏函數clrscr()、初始化LCD函數initled()、光標定位函數setpos();寫單字節數據函數writedata();對于某一行的寫入字符串函數wrll()與wr21()。其中,讀/寫指令、測試忙、清屏、光標定位、寫單字數據均是按照LCD原理命令字進行操作。LCD的初始化包括復位設置、清除顯示、地址歸位、顯示開關、游標設置、讀/寫地址設置等,LCD中所有數字和字符都可以通過它的ASCII碼來訪問顯示。

  2.4 撥號音頻模塊程序設計

  在撥號程序設計中關鍵要控制好定時器以實現準確的占空比脈沖,程序編寫中,設置TMOD=0x11,定時器設置為操作模式1,當生成61.5 ms低電平脈沖時,TC=216-61.5 ms/1μs=4 036=0x0FC4,因此TH0=0x0F,TL0=0xC4;當生成38.5ms高電平脈沖時,TC=216-38.5ms/1μs= 27 036=0x699C,所以TH0=0x69,TL0=0x9C;當延時500 ms時,由于單片機定時器最大定時時間為61.5 ms(方式1),因此采取在一個循環次數為10的for循環中執行定時時間為50 ms的程序,TC=216-50 ms/1μs=15 536=0x3CB0,因此TH0=0x3C,TL0=0xB0。

  音頻模塊程序設計是通過設定特定頻率的正負脈沖序列,驅動擴音器播放出相應音調的聲音,例如若設置單片機定時器1TH0=0xFB,TL0= 0x44,則脈沖周期約為2.424 ms,所發出的聲音與音調“do”相似。在此不妨定義發長音時間為500 ms,發短音時間為100 ms。長短音信號相互組合成不同的警報信息可用來定義不同的報警類型。

  3 調試與運行

  在Proteus和Keil中進行相關的設置,可以讓兩者進行聯調,聯調可以在同一臺計算機上進行,也可以在不同的計算機之間進行。通過Proteus與Keil的聯調可以輕易做到在不使用硬件的前提下直接在仿真平臺上進行實時仿真,對于系統的調試具有很大意義。實時仿真能降低調試的難度,更有利于設計中一些問題的解決以及BUG的發現。相比較于只能觀看運行結果的系統來說,聯調可以大大提高設計制作的效率。Pro-teus與Keil的聯調需要用到Proteus下的一個動態鏈接庫文件VDM51.DLL,用其作為Keil鏈接到Proteus的接口。

  系統運行后,首先初始化系統,并顯示系統信息,數秒鐘的延時之后LCD將顯示提示“是否輸入新號碼?”,若按“#”則進入號碼輸入界面。輸入完畢后按“#”結束輸入,如果輸入錯誤則按“*”重新輸入,若按“*”則進入等待狀態,若報警開關未打開,則進入空閑狀態,此時按“#”可以修改已存儲的電話號碼。若報警開關已經打開,則進入監控狀態,此時按“#”依然可以修改之前存儲的電話號碼。若此時有外部報警信號進入,則進入中斷程序,開始撥號。同時,可用電壓探針探測到輸出的撥號脈沖序列,如圖4所示。根據脈沖撥號原理,數字1~9撥號脈沖個數與撥號數字相同,0的脈沖個數是10。

d.JPG

  撥號完成會延時10 s,之后將會根據輸入報警信號類型判斷警報內容,若打開第六路報警信號開關,此時系統發出了長、長、短的警報信號。若將報警開關閉合,系統被掛起,解除報警信號,可模擬成報警器被人暫時關閉,并開始處理報警內容,如:火災則滅火,毒氣則通風,盜竊則檢查門窗物件等。報警信號解除后,程序跳出中斷循環程序,返回到主程序的監控狀態。

  4 結語

  本文給出了使用Proteus軟件仿真自動撥號報警器實驗的具體設計過程,采用模塊程序設計,利用仿真軟件Proteus及Keil C51聯合調試程序。程序設計過程對每個模塊先進行獨立編程,調試通過之后再一起合并進行系統程序總調試。通過上述方式,學生完全可以通過Proteus軟件實現單片機實驗的仿真,并在較短的時間內完成單片機系統的軟、硬件設計,形象生動地理解并掌握單片機技術。不僅彌補了硬件資源投入不足的弊端,還明顯克服了實驗箱教學中固定硬件資源導致實驗內容固定的缺陷,極大地發揮了學生的主觀能動性和創造性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区日韩| 欧美日韩在线播| 亚洲视频图片小说| 亚洲精品乱码久久久久| 久久国产99| 欧美伊人精品成人久久综合97| 亚洲午夜精品久久| 亚洲午夜精品在线| 亚洲图片欧洲图片日韩av| 日韩天堂在线观看| 亚洲精品视频免费观看| 亚洲三级免费电影| 亚洲精选中文字幕| 妖精视频成人观看www| 亚洲伦伦在线| 一区二区免费在线视频| 一区二区三区欧美成人| 正在播放亚洲一区| 亚洲一区中文| 午夜精品久久久久久| 香蕉久久久久久久av网站| 欧美一区二区三区四区视频| 欧美一级黄色网| 性伦欧美刺激片在线观看| 午夜精品久久久| 欧美在线视频播放| 亚洲电影下载| 亚洲美女av黄| 亚洲午夜精品一区二区三区他趣| 亚洲一区二区三区精品视频| 午夜精品福利一区二区三区av| 欧美一区二区三区免费视频| 久久av老司机精品网站导航| 久久久91精品| 免费一级欧美在线大片| 欧美精品一区在线发布| 欧美视频久久| 国产精品永久免费视频| 国产在线一区二区三区四区| 激情综合五月天| 亚洲精品国产欧美| 亚洲影视在线播放| 欧美专区日韩专区| 亚洲三级影院| 亚洲欧美日韩精品久久亚洲区| 久久aⅴ国产欧美74aaa| 欧美a级理论片| 欧美午夜不卡影院在线观看完整版免费| 欧美午夜一区二区| 国产视频一区免费看| 亚洲电影在线| 亚洲视频精品| 久久福利电影| 99在线精品视频在线观看| 亚洲欧美日韩国产中文在线| 久久久噜噜噜久噜久久| 欧美精品在线观看一区二区| 国产精品久久久久一区二区三区共| 国产亚洲欧美一级| 亚洲欧洲日本mm| 亚洲欧美成aⅴ人在线观看| 久久精品国产欧美激情| 一本一本久久a久久精品综合麻豆| 午夜免费在线观看精品视频| 麻豆国产精品777777在线| 欧美视频免费在线观看| 国产午夜精品久久| 日韩视频永久免费| 久久精品国产77777蜜臀 | 亚洲国产成人精品女人久久久 | 韩国一区二区在线观看| 99视频精品全部免费在线| 久久国产精品久久久| 亚洲午夜精品福利| 免费成人在线观看视频| 国产精品一区二区欧美| 亚洲人成亚洲人成在线观看图片| 午夜亚洲伦理| 亚洲午夜伦理| 蜜桃av久久久亚洲精品| 国产精品自在欧美一区| 亚洲卡通欧美制服中文| 亚洲国产91| 欧美在线免费观看| 欧美视频亚洲视频| 亚洲国产精品久久91精品| 欧美一区二区免费观在线| 亚洲在线观看免费| 欧美黄色影院| 黄网站免费久久| 亚洲专区欧美专区| 亚洲一区二区三| 欧美黄色aa电影| 激情婷婷亚洲| 欧美一区日韩一区| 欧美一区二区大片| 国产精品久久久久久影视| 亚洲卡通欧美制服中文| 亚洲欧洲日产国产网站| 久久久噜噜噜久久中文字免| 国产精品视区| 中文在线不卡视频| 一区二区高清| 欧美欧美全黄| 亚洲激情中文1区| 亚洲欧洲日韩综合二区| 久久在线播放| 国内精品久久久久影院色| 午夜精品视频在线观看一区二区| 亚洲无毛电影| 国产精品www网站| 99国产精品久久久久老师| 一区二区毛片| 欧美日韩视频在线一区二区| 亚洲欧洲视频在线| 99精品欧美| 欧美日韩成人一区二区三区| 亚洲国产精品va在线看黑人| 亚洲国产天堂久久综合| 免费一级欧美片在线观看| 曰韩精品一区二区| 亚洲国内自拍| 欧美激情日韩| 亚洲免费成人| 亚洲一区二区黄色| 国产精品久久久久一区二区| 亚洲少妇在线| 午夜久久福利| 国产亚洲精品久久久久久| 欧美影院午夜播放| 狼人天天伊人久久| 亚洲国产精品久久久久秋霞影院| 最新成人av网站| 欧美伦理视频网站| 一本久久a久久精品亚洲| 亚洲欧美变态国产另类| 国产精品一区二区黑丝| 午夜精品在线| 久久久久久综合网天天| 原创国产精品91| 日韩视频专区| 国产精品igao视频网网址不卡日韩| 亚洲手机成人高清视频| 久久国产精品网站| 激情文学综合丁香| 日韩一二三区视频| 欧美三级网页| 亚洲欧美日韩精品久久亚洲区 | 欧美日韩成人综合天天影院| 亚洲精选成人| 校园激情久久| 国模精品娜娜一二三区| 亚洲精品日韩久久| 欧美四级在线观看| 午夜精品久久久久| 男女视频一区二区| aa级大片欧美| 久久精品一区二区三区四区| **性色生活片久久毛片| 亚洲网在线观看| 亚洲第一视频| 亚洲国产日韩综合一区| 亚洲最新色图| 国产伦精品一区二区三区四区免费 | 国模叶桐国产精品一区| 亚洲精品国产精品国自产观看浪潮| 欧美日本亚洲| 亚洲欧美日韩国产综合| 欧美~级网站不卡| 亚洲午夜电影在线观看| 久久久噜噜噜久噜久久| 亚洲免费激情| 久久久7777| 99re8这里有精品热视频免费| 欧美在线播放一区二区| 亚洲人成啪啪网站| 久久精品人人做人人爽| 亚洲精品美女免费| 久久久99爱| 一区二区三区免费在线观看| 久久一日本道色综合久久| 一区二区三区成人| 久久亚洲一区| 亚洲小说欧美另类社区| 欧美gay视频| 欧美一级网站| 欧美性猛交99久久久久99按摩| 欧美一区二区三区四区夜夜大片 | 久久久精品国产一区二区三区| 亚洲美女网站| 老鸭窝毛片一区二区三区| 一区二区激情小说| 免费成人av资源网| 亚洲综合久久久久| 欧美日韩不卡合集视频| 亚洲国产精彩中文乱码av在线播放| 欧美日韩二区三区| 亚洲国产精品小视频| 国产九九视频一区二区三区| 中国av一区|