单片机课程设计 - 占空比可调的方波发生器 下载本文

占空比可调的方波发生器

图3-2 LED显示电路

通过P0口和P2口显示相应的数据。由于P0口的内部没有上拉电阻,不能输出高电平,故在P0口上串接一个排阻。

3.3 时钟电路的设计

AT89C51单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容,从而构成时钟电路,其电路图如图3-3所示。

电容C1、C2对振荡频率有稳定作用,其容量的选择为30pF,振荡器选择频率为6MHz的石英晶体。

图3-3 时钟电路

7

占空比可调的方波发生器

3.4 按键接口电路

图3-4为键盘接口电路的原理图,。

图3-4 键盘接口电路

图中K1与P3.2相连,控制占空比变化步进为1,K2与P3.3相连,控制占空比变化步进为5。

3.5 复位电路

如图3-5所示为复位电路。 加一个(大于两个机器周期的)高电平使单片机复位。图中为按键加上电复位电路。在复位状态下,程序指针PC=0000H。

图3-5 按键加上电复位电路

8

占空比可调的方波发生器

第4章 系统的软件设计

4.1 主程序设计

本系统中下位机(单片机89C51)的主要功能就是实现占空比可调、产生方波并通过LED显示器和示波器显示出来。其主程序流程如图4-1所示。

初始化:设定时器0工作方式为方式1,定时器1工作方式为方式2 产生方波 判断是否有 中断标志 N 开始 Y

等待 定时器1溢出

图4-1 主程序流程图

4.2 定时器中断子程序

定时器中断子程序中有定时器0和定时器1中断,定时器0控制占空比变化步进为1,如图4-2[7],定时器1控制占空比变化步进为5,如图4-3。

9

占空比可调的方波发生器

定时器0中断入口 TR1=1 重装定时初值 低电平时,结合P1.2占空比变化步进为1 结束 图4-2定时器0中断流程图

定时器1中断入口

TR1=0

重装定时初值 低电平时,结合P1.2占空比变化步进为5 结束 图4-3定时器1中断流程图

4.3 按键及显示子程序设计

按键及显示子程序设计流程图如图4-4所示。

10

占空比可调的方波发生器

开始 关中断 延时消抖 N 是否有键按下 Y 键处理 判断按键号 N 占空比是否超界 Y 赋初值

计算定时初值 关中断

结束

图4-4 按键及显示子程序设计流程图

11