标题: 基于Protues仿真的51单片机方波发生器 [打印本页]

作者: T213    时间: 2020-1-5 00:43
标题: 基于Protues仿真的51单片机方波发生器
这几周做了一个小仿真与大家分享一下
本作品是基于STC89C51的频率可调方波发生器,主要包括数码管显示模块和按键扫描模块。数码管模块采用8位数码管动态显示,显示目前输出频率值、最高频率值以及步进值。按键模块包含4个按键,用来调整目前输出频率值、最高频率值以及步进值,并且可以识别按键长按。输出用protues中的频率计和示波器观察输出波形以及频率。
实现功能
1)首先使用数码管显示目前输出频率值、最高频率值以及步进值,输出频率值初始值为5Hz,最高频率值为20Hz,步进值为1Hz/次,并带有指示灯显示,显示按键控制的数字,效果如下图:

图1.2.1  数码管显示图

2)使用四个按键分别控制,数据的左右调整,数据的上下调整,程序中分别设置了调整上限以及下限,输出频率值(1Hz~最高频率),最高频率值(20Hz~99Hz),步进值为(1Hz/次~10Hz/次),防止过调。并且可以进行长按判断,当按下按键超过2秒开始长按判断,每隔1s左右判断一次,效果如下图:

图1.2.2  按键调整图

3)用频率计和示波器来读取输出数据,并且有一个指示灯用来显示频率的快慢,效果如下图所示:

图1.2.3  输出显示电路以及初始显示图

附加程序如下所示

输出频率计以及示波器.png (91.29 KB, 下载次数: 112)

输出频率计以及示波器.png

整体电路图.png (33.86 KB, 下载次数: 123)

整体电路图.png

步进调整.png (28.06 KB, 下载次数: 134)

步进调整.png

方波指示灯.png (11.47 KB, 下载次数: 118)

方波指示灯.png

频率调整.png (27.55 KB, 下载次数: 121)

频率调整.png

调整频率上限.png (28.93 KB, 下载次数: 107)

调整频率上限.png

显示显现.png (21.56 KB, 下载次数: 121)

显示显现.png

keil4(第一代).rar

56.08 KB, 下载次数: 28, 下载积分: 黑币 -5


作者: T213    时间: 2020-1-5 00:53
程序里面会有一些子程序没有用到所以编译会出现一些警告,可以管
作者: T213    时间: 2020-1-5 00:54
这是程序流程图,大家可以参照这个浏览程序

程序流程图.png (65.75 KB, 下载次数: 145)

程序流程图.png

定时器魔块流程图.png (64.62 KB, 下载次数: 122)

定时器魔块流程图.png

短按程序流程图.png (69.8 KB, 下载次数: 123)

短按程序流程图.png

数码管程序流程图.png (35.86 KB, 下载次数: 104)

数码管程序流程图.png

作者: sgly    时间: 2020-1-5 08:54
很好的教程,谢谢楼主
作者: 珍藏    时间: 2022-4-29 12:34
有仿真嘛?图片看不清




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1