標(biāo)題: 基于Protues仿真的51單片機(jī)方波發(fā)生器 [打印本頁]

作者: T213    時間: 2020-1-5 00:43
標(biāo)題: 基于Protues仿真的51單片機(jī)方波發(fā)生器
這幾周做了一個小仿真與大家分享一下
本作品是基于STC89C51的頻率可調(diào)方波發(fā)生器,主要包括數(shù)碼管顯示模塊和按鍵掃描模塊。數(shù)碼管模塊采用8位數(shù)碼管動態(tài)顯示,顯示目前輸出頻率值、最高頻率值以及步進(jìn)值。按鍵模塊包含4個按鍵,用來調(diào)整目前輸出頻率值、最高頻率值以及步進(jìn)值,并且可以識別按鍵長按。輸出用protues中的頻率計和示波器觀察輸出波形以及頻率。
實現(xiàn)功能
1)首先使用數(shù)碼管顯示目前輸出頻率值、最高頻率值以及步進(jìn)值,輸出頻率值初始值為5Hz,最高頻率值為20Hz,步進(jìn)值為1Hz/次,并帶有指示燈顯示,顯示按鍵控制的數(shù)字,效果如下圖:

圖1.2.1  數(shù)碼管顯示圖

2)使用四個按鍵分別控制,數(shù)據(jù)的左右調(diào)整,數(shù)據(jù)的上下調(diào)整,程序中分別設(shè)置了調(diào)整上限以及下限,輸出頻率值(1Hz~最高頻率),最高頻率值(20Hz~99Hz),步進(jìn)值為(1Hz/次~10Hz/次),防止過調(diào)。并且可以進(jìn)行長按判斷,當(dāng)按下按鍵超過2秒開始長按判斷,每隔1s左右判斷一次,效果如下圖:

圖1.2.2  按鍵調(diào)整圖

3)用頻率計和示波器來讀取輸出數(shù)據(jù),并且有一個指示燈用來顯示頻率的快慢,效果如下圖所示:

圖1.2.3  輸出顯示電路以及初始顯示圖

附加程序如下所示

輸出頻率計以及示波器.png (91.29 KB, 下載次數(shù): 112)

輸出頻率計以及示波器.png

整體電路圖.png (33.86 KB, 下載次數(shù): 123)

整體電路圖.png

步進(jìn)調(diào)整.png (28.06 KB, 下載次數(shù): 134)

步進(jìn)調(diào)整.png

方波指示燈.png (11.47 KB, 下載次數(shù): 118)

方波指示燈.png

頻率調(diào)整.png (27.55 KB, 下載次數(shù): 121)

頻率調(diào)整.png

調(diào)整頻率上限.png (28.93 KB, 下載次數(shù): 107)

調(diào)整頻率上限.png

顯示顯現(xiàn).png (21.56 KB, 下載次數(shù): 121)

顯示顯現(xiàn).png

keil4(第一代).rar

56.08 KB, 下載次數(shù): 28, 下載積分: 黑幣 -5


作者: T213    時間: 2020-1-5 00:53
程序里面會有一些子程序沒有用到所以編譯會出現(xiàn)一些警告,可以管
作者: T213    時間: 2020-1-5 00:54
這是程序流程圖,大家可以參照這個瀏覽程序

程序流程圖.png (65.75 KB, 下載次數(shù): 145)

程序流程圖.png

定時器魔塊流程圖.png (64.62 KB, 下載次數(shù): 122)

定時器魔塊流程圖.png

短按程序流程圖.png (69.8 KB, 下載次數(shù): 123)

短按程序流程圖.png

數(shù)碼管程序流程圖.png (35.86 KB, 下載次數(shù): 104)

數(shù)碼管程序流程圖.png

作者: sgly    時間: 2020-1-5 08:54
很好的教程,謝謝樓主
作者: 珍藏    時間: 2022-4-29 12:34
有仿真嘛?圖片看不清




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