毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

51单片机函数信号发生器的设计+源码+电路图(7)

时间:2016-11-25 21:55来源:毕业论文
图7 LED显示电路图 3. 系统软件设计 3.1 程序流程图 首先对程序初始化,静态显示09-05.06两秒,然后判断是否有键值按下,若有键值按下则计算相关参数,一


 
图7 LED显示电路图
3. 系统软件设计
3.1 程序流程图
首先对程序初始化,静态显示09-05.06两秒,然后判断是否有键值按下,若有键值按下则计算相关参数,一方面利用中断定时和查询查表输出波形,另一方面送段选口和位选口数据使LED显示相关波形类型和频率,最后反馈回去构成循环,判断按键相关信息。其程序框图如图8所示。
  图8 程序流程图
3.2 软件整体设计
    本系统的软件包括以下几个程序模块。
(1) 初始化程序。
(2) 显示程序。
    (3) 键盘扫描程序与处理程序。
    (4) 定时器0服务程序。
    (5) 正弦波发生程序及其服务程序。
    (6) 三角波发生程序。
    (7) 方波发生程序。
    (8) 锯齿波发生程序。
3.3 程序模块功能设计
3.3.1 系统初始化设计
    复位程序完成如下工作。
    (1)显示2秒的09-05.06初始界面。
    (2)初始频率设置为888Hz。
    (3)将频率值转换成定时器的初值。
    (4)置定时器0工作于方式1,即16位定时器方式,送入定时器0定时初值,启动定时器0工作。
    (5)显示初始频率和产生波形的类型。
    (6)转键盘扫描程序。
3.3.2 键盘扫描程序与处理程序设计
键盘采用矩阵式键盘(如表1所示),由软件产生相应编码,再根据相应编码调用相应的子程序。编码产生原理,P1口低四位表示行,高四位表示列。键盘所在的行和所在的列用0表示,其它的行和列用1表示。如第一行第一列GW编码值为(11101110)2=0xee,第二行第三列ZKBJ编码值为(10111101)2=0xbd。
表1 键盘处理程序
键值    对应处理程序
0x7d    Key 1 键选择波形类型(1为正弦波,2为三角波,3方波)
0xee    Key 2 个位频率调整(GW)
0xde    Key 3 十位频率调整(SW)
0xbe    Key 4 百位频率调整(BW)
0x7e    Key 5 千位频率调整(QW)
0xed    Key 6 万位频率调整(WW)
0xdd    Key 7 占空比增大调整(ZKBZ)
0xbd    Key 8 占空比减小调整(ZKBJ)

3.3.3 正弦波的产生
    正弦波波形[8]设计通过程序仿真得出。
 
图9 正弦波仿真波形图
    其性能指标为:幅值:5V,频率:30Hz,波形无失真。
3.3.4 锯齿波的产生
 
图10 锯齿波仿真波形图
    其性能指标为:幅值:5V,频率:30Hz,波形无失真。
    锯齿波[9]的斜线是用一个一个小台阶来近似逼近,从一个周期中的最小值开始逐步的递增,当达到最大值时再回到最小值,如此一一循环,如果台阶的间隔非常小时,波形就基本上类似于直线。如果选择适当的循环时间,就会得到不同频率的锯齿波。锯齿波产生的原理与方波类似,只是高低两个延时的常数不同,所以用延时法,来产生锯齿波。
3.3.5 方波的产生
    方波[10]发生程序运用延时的方法实现,只用一个主程序即可,因为产生一个方波只需高低两个数,所以程序比较简单。要给一个频率,再计算所需的延时即可。
 
图11 方波仿真波形图
    其性能指标为:幅值:5V,频率:30Hz,波形有较小失真。
3.3.6 三角波的产生
 
图12 三角波仿真波形图 51单片机函数信号发生器的设计+源码+电路图(7):http://www.youerw.com/tongxin/lunwen_335.html
------分隔线----------------------------
推荐内容