您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 93用单片机进行方波发生器的课程设计
1学院课程设计报告课程名称:院部:专业班级:学生姓名:指导教师:完成时间:报告成绩:_____________________________2一、概述------------------------------------------------------------------31.1、设计内容------------------------------------------------------31.2、设计的基本要求------------------------------------------------3二、方波发生器设计方案----------------------------------------------------42.1、方案介绍------------------------------------------------------42.2、方波发生器的原理与功能----------------------------------------4三、系统的硬件设计--------------------------------------------------------63.1、单片机最小系统------------------------------------------------63.2、小键盘接口电路------------------------------------------------73.3、LED显示电路---------------------------------------------------8四、系统的软件设计--------------------------------------------------------94.1、主程序--------------------------------------------------------94.2、系统初始化子程序---------------------------------------------104.3、显示子程序---------------------------------------------------104.4、键盘扫描程序-------------------------------------------------114.5、定时器中断子程序---------------------------------------------12五、调试与性能分析-------------------------------------------------------135.1硬件调试-------------------------------------------------------135.2软件调试-------------------------------------------------------13六、设计体会-------------------------------------------------------------14参考文献-----------------------------------------------------------------15附录A:基于单片机方波发生器的原理图--------------------------------------16附录B:基于单片机方波发生器的程序清单------------------------------------173方波发生器设计一、概述单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。本课题讨论的方波发生器的核心是目前应用极为广泛的51系列单片机。1.1、设计内容本课程设计是设计一个方波发生器,用4位数码管显示方波的频率。1.2、设计的基本要求频率可调,用一个变阻器来调整波形的频率,频率调节范围为20Hz~2000Hz;占空比可调,采用两个按键来实现增加、减小波形的占空比作用,占空比调节步长为1%,即每按键一次,占空比增加或减少1%。占空比用另外两位数码管显示。系统上电时频率依变阻器的阻值设定,占空比设定为50%。而我们在此设计的方波发生器与要求要设计的有点区别,所设计的频率调节范围为1Hz~15000Hz,以调节变阻器的阻值来实现频率的调节相对来说要麻烦些。因此,频率也使用按键来进行调节,不同的频率及占空比可以使用不同的按键来实现,而以键盘扫描来实现各键的不同功能;显示部分可以使用ZLG7290芯片及数码管来实现。由此即可构成一个最小单片机应用系统。4二、方波发生器设计方案在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。在此次设计中,有些地方与课题原本的具体要求有点不同。如实现频率调节时,不是按要求利用调整变阻器的阻值来完成的,而是用按键来实现的。2.1、方案介绍微处理器模块AT89S52,频率与占空比信息显示模块,2×4矩阵键盘模块,74LS164移位寄存器显示驱动模块。本设计中用到两个定时器,定时器0和定时器1,其中定时器0工作在定时方式下,决定方波的频率;定时器1同样工作在定时方式下,用于设定占空比。用LED显示器来显示频率与占空比,键盘的操作是通过外中断与单片机共同来控制的,键盘操作来完成按要求对频率与占空比进行调节。2.2、方波发生器的原理与功能方波发生器的原理方框图如图1所示5由于系统的要求不高,比较单一的,再加上我们是通过定时器来调节频率的,而非电阻,因此实现起来就相对简化了。仅用键盘、AT89S52及串行显示便可完成设计,达到所要求实现的功能。方波发生器工作原理与功能:简单的流程为:主程序扫描键盘,将设置信息输入,处理后,输出到LED显示器显示。单片机的晶振为11.0592MHz,用到了两个定时器,即定时器0与定时器1,分别进行频率与占空比的定时,两个定时器都是工作在方式1。根据计算定时器初值的公式:122tfTCoscL计算出定时器0与定时器1所要装入的初值。频率及占空比的显示电路由74LS164构成的驱动电路和LED数码显示管组成,利用八个数码管来显示,有五位是用来显示频率的,有两位是显示占空比的,在频率与占空比显示管中间有一个LED数码管是用来显示“——”的,用以区分频率显示与占空比显示的。此电路的键盘是由一个状态键,四个功能键(调节频率与占空比的增减)组成,其特殊之处在于利用外部中断实现键盘扫描。状态键有三种状态,当其处于状态0时,则其它的键会处于无用状态,当其处于状态1时,可通过按四个调节键来调节频率,处于键盘单片机89S52LED显示频率与占空比数据频率与占空比数据图1方波发生器原理框图6第三种状态时,按四个调节键中的前两个便可对占空比进行调节了。三、系统的硬件设计3.1、单片机最小系统单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。因而时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路方式有两种:一种是内部时钟方式,一种是外部时钟方式,这里采用的是内部时钟方式,外接晶振。时钟电路由片外晶体、微调电容和单片机的内部电路组成。选取频率为11.0592MHz的晶振,微调电容是瓷片电容。89S52单片机的P0.7口作为波形输出口,若接示波器,则可通过示波器来观察波形,是一个矩形波。此单元电路包括时钟电路、复位电路,具体电路如图2所示:73.2、小键盘接口电路小键盘如图3所示。它包括8个键,系统中用到的键只有5个,分别为0号、1号、2号、3号、4号键。其中0号键是状态键,采用外部中断控制,用它来确定其它几个键的按键功能,具体作用在前述的系统功能中已做介绍了;另外4个键为功能键,调节频率与占空比的。小键盘中引出的6根线依次分别接单片机的P1.0、P1.1、P1.2、P1.3、P1.4、P1.5口。图2单片机最小系统8图3小键盘接口电路3.3、LED显示电路采用静态显示来实现显示功能,如图4所示。移位寄存器74LS164,实现串行输入,并行输出。串行数据由RXD输出,从74LS164的A、B端口输入寄存器,移位时钟由TXD提供。在移位时钟作用下,存放显示器段码的串行发送缓冲器数据逐位由A、B端移入到74LS164中,再由Q0到Q7并行输出到显示数码管相应的LED上。8片74LS164首尾相串,而时钟端则接在一起。这部分的最终功能是显示频率与占空比。显示部分具体电路如图4所示:9图4LED显示电路四、系统的软件设计方波发生器的软件设计包括主程序、延时子程序、系统初始化程序、显示子程序、键盘扫描程序、定时器中断子程序。其中主程序用来控制整个程序的执行,它与各子程序紧密相联,共同实现方波发生器各种功能的执行。4.1、主程序主程序包括系统初始化及显示程序,是一个死循环系统。其流程图如图5所示:开始系统初始化显示图5主程序流程图104.2、系统初始化子程序在此程序中,给所有变量赋初值,有键盘扫描口、选择串行口工作方式SCON、状态标志位flag、初始频率与占空比及其定时、定时器0与定时器1的工作方式等。初始化时启动了定时器0与定时器1。4.3、显示子程序利用分离频率的各位数值,将各位数值分别显示出来。在程序中利用了频率显示的高位灭零的方法以致最高位为0时就不显示,以致显示效果美观化。一共有五位是显示频率的,若频率小于10000时,则万位不显示;若频率小于1000时,则万位与千位都不显示,依次类推。占空比的显示规律与频率的一样。显示子程序流程图如图6所示:显示子程序入口分离频率和占空比的各位数字高位灭零处理查表,串口发送各位数字字型码软件延时结束图6显示子程序流程图114.4、键盘扫描程序键盘扫描用外中断0实现,采用的是线反法,键盘扫描码采用逐行扫描的方法。关于键盘扫描程序的说明:频率可调时,占空比保持原状不变,反之亦然,只能进行单一变量的调节,状态标志flag的初始值为0。(1)频率调节:i==0时,按键为状态键,此时flag加1,即flag==1,此时进行频率的调节。可以进行加1Hz、减1Hz、加100Hz、减100Hz操作,分别由1号键、2号键、3号键、4号键控制。如果按住某个键不放,便会执行连续加值或减值操作。这里的频率的最大值为15000Hz,当频率增至最大值时,还按增值键,此时频率会自动跳到1Hz开始继续增加。同理,频率的最小值为1Hz,当减频率减至最小值时,再按减频率键,则频率会跳到15000Hz。(2)占空比调节:当状态值flag==2时,此时频率保持不变,进行占空比调节。只可进行加1与减1操作,分别由1号键、2号键控制。要注意的是占空比的初值是50%,我们定义的ZKB为50(百分比的分子部分,为一整数),故调节占空比时,ZKB会进行加1,减1操作。ZKB的最大值为99,当增到最大值时,便会返回到值1,如此循环。(3)为了减轻单片机的工作量,在软件设计中采取了这样的措施,在修改参数确定后才进行定时器初值TC0、TC1的计算。键盘中断处理子程序流程图与键处理流程图分别如图7、图8所示:124.5、定时器中断子程序定时器中断子程序中有定时器0与定时器1中断,频率定时器0中断流程图与占空比定时器1流程图分别如图9、图10所示。图7键盘中断处理子程序流程图YNEA=0软件延时消抖外部中断0入口键盘扫描,得
本文标题:93用单片机进行方波发生器的课程设计
链接地址:https://www.777doc.com/doc-5481514 .html