1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: 單片機(jī)智能大風(fēng)監(jiān)測系統(tǒng)源程序與Proteus仿真電路 [打印本頁]

作者: 隨便的人    時間: 2020-10-21 12:20
標(biāo)題: 單片機(jī)智能大風(fēng)監(jiān)測系統(tǒng)源程序與Proteus仿真電路
原作者:http://m.raoushi.com/bbs/dpj-196806-1.html

作品名稱:
智能大風(fēng)監(jiān)測系統(tǒng)
設(shè)計目標(biāo):
檢測窗外風(fēng)的大小。
2.2示窗外風(fēng)的大小。
2.3顯示窗戶的開關(guān)狀態(tài)。
2.4手動控制開關(guān)窗戶。
2.5大風(fēng)報警。
設(shè)計步驟:
3.1需求分析
在夜晚大風(fēng)的天氣忘了關(guān)窗會帶來財產(chǎn)的損失。
3.2功能確定
檢測窗外風(fēng)的大小、顯示窗外風(fēng)的大小、顯示窗戶的開關(guān)狀態(tài)、手動控制開關(guān)窗戶、大   風(fēng)報警。
3.3硬件需求單片機(jī)AT89c51、led燈、按鍵、8x8led點陣、有源蜂鳴器、7位數(shù)碼管、38譯碼器、輸入輸出擴(kuò)口。
3.4軟件編程
3.5調(diào)試
硬件原理
有兩個開關(guān)控制上位機(jī)向兩個下位機(jī)傳輸數(shù)據(jù),K1控制一號從機(jī),K2控制二號從機(jī)。當(dāng)按下開關(guān)K1時由上位機(jī)向一號從機(jī)發(fā)送數(shù)據(jù),一號從機(jī)根據(jù)收到的數(shù)據(jù)執(zhí)行相應(yīng)操作。當(dāng)按下開關(guān)K2時由上位機(jī)向二號從機(jī)發(fā)送數(shù)據(jù),二號從機(jī)根據(jù)收到的數(shù)據(jù)執(zhí)行相應(yīng)操作。
一號從機(jī):P1口連接led點陣列控制端,P2.5、P2.6、P2.7連接一個38譯碼器,38譯碼器的輸出口接led點陣的行控制端,38譯碼器分別順序?qū)ed點陣的每一行進(jìn)行顯示,P1口的狀態(tài)則由上位機(jī)傳輸?shù)臄?shù)據(jù)決定。一號從機(jī)的P3.2~P3.4分別連接開關(guān)K4~K6控制窗戶的開關(guān),P3.5~P3.7連接三個led燈,它們的狀態(tài)則表示窗戶的開關(guān)狀態(tài)。
二號從機(jī):通過一個地址鎖存器74ls373和一個并行輸入輸出口8255A增加輸入輸口。在8255A的PA口連接晶體管,PB口接一個4x4的矩陣鍵盤,矩陣鍵盤的按鍵用作行程開關(guān),當(dāng)窗外的風(fēng)越大行程開關(guān)越往后的開關(guān)就會按下,同時晶體管就會顯示出相應(yīng)的風(fēng)的大小,數(shù)字越大風(fēng)越大。P1.0口接一個有源蜂鳴器,當(dāng)風(fēng)大到5級是警報器就會響起,P1.1口接一個開關(guān),當(dāng)蜂鳴器響起時需要手動按下開關(guān)關(guān)掉蜂鳴器。
軟件流程
上位機(jī)分別向一、二號從機(jī)發(fā)送數(shù)據(jù),一、二號從機(jī)在接收到數(shù)據(jù)時緩存在自己的芯片里,每個從機(jī)根據(jù)相應(yīng)的外部操作進(jìn)行相應(yīng)的控制。
5.1上位機(jī)代碼:

六、系統(tǒng)仿真與調(diào)試
6.1.在keil uvision4中編寫各個芯片的程序并對程序進(jìn)行調(diào)試和生成.hex文件。
6.2根據(jù)設(shè)計思想進(jìn)行電路設(shè)計,在proteus中連接電路圖。
6.3將keil uvidion4中生成的.hex文件導(dǎo)入芯片進(jìn)行仿真。
七、仿真結(jié)果與分析
              7.1仿真過程出現(xiàn)的問題:
7.1.1上位機(jī)向下位機(jī)傳輸?shù)臄?shù)據(jù)必須大于零,否則led點陣在顯示時會卡在數(shù)據(jù)0那不進(jìn)行下一步操作。
7.1.2上位機(jī)在向下位機(jī)傳輸數(shù)據(jù)時如果按下的時間不足時下位機(jī)也不能在相關(guān)操作下得到應(yīng)有的結(jié)果。
7.1.3二號從機(jī)中控制蜂鳴器的開關(guān)在關(guān)掉蜂鳴器后蜂鳴器的報警作用就沒有了,必須要重新啟動芯片,這是因為在程序中是使用按下開關(guān)就跳出警報和矩陣鍵盤按鍵的循環(huán),因為蜂鳴器的報警與否是由矩陣鍵盤的按鍵控制的,如果不跳出矩陣鍵盤按鍵就不能使蜂鳴器關(guān)掉。
7.1.4一號從機(jī)的矩陣鍵盤的按鍵用作行程開關(guān)時如果風(fēng)使前面的開關(guān)按下不放開的情況后面的按鍵在按下時晶體管中不能顯示相應(yīng)風(fēng)的大小,顯示的數(shù)字還是停留在最開始顯示的位置。
7.2解決辦法:
7.2.1避免出現(xiàn)0的數(shù)據(jù)傳輸。
7.2.2按下K1或K2的時候停留幾秒鐘。
7.2.3在矩陣鍵盤外在加一個循環(huán),當(dāng)跳出矩陣鍵盤循環(huán)時同時按下矩陣鍵盤的0鍵和蜂鳴器的關(guān)就可以避免重啟軟件。圖(1)為初始的代碼,圖(2)為更改后的代碼。
圖(1)
圖(2)
7.2.4由于掃描的矩陣鍵盤的性質(zhì)決定了當(dāng)前面的按鍵按下時后面的按鍵無效,
所以只能在設(shè)備的安裝時避免前面的按鍵一直按下。

全部資料51hei下載地址:
http://m.raoushi.com/bbs/dpj-196806-1.html






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1