基于单片机方波发生器课程设计报告

  • 格式:doc
  • 大小:394.50 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河池科技大学

单片机课程设计

题目____________________ 姓名____________________ 学院____________________ 专业____________________ 学号____________________ 指导教师____________________ 成绩____________________

二〇一二年五月二十二日制

湖南科技大学本科生课程设计(论文)

摘要

本课程设计设计的是一种AT89C51单片机构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。文章给出了源代码,通过仿真测试,其性能指标达到了设计要求。

关键词:单片机;DAC;信号发生器

目录

第一章系统功能要求: (2)

1.1、设计内容 (2)

1.2设计原理 (2)

第二章方波发生器设计方案论证 (3)

2.1 方案的设计与选择 (3)

第三章系统的硬件电路的设计 (4)

3.1系统硬件原理 (4)

3.2芯片端口资源分配表 (4)

第四章软件设计 (5)

4.1 主程序 (5)

4.2系统初始化子程序 (5)

4.3键盘中断子程序 (5)

4.4 定时器中断子程序 (6)

第五章、系统调试 (7)

第六章、结果分析 (9)

参考文献 (10)

附件1 (11)

附录2 基于单片机方波发生器的器件清单 (16)

第一章系统功能要求:

用单片机产生频率可调的方波信号。输出方波的频率范围为1Hz-200Hz,频率误差比小于0.5%。要求用4 个按钮改变方波给定频率,按钮每按下一次,给定频率改变一次。用示波器观察方波波形。

1.1、设计内容

本课程设计是设计一个方波发生器,用4个按钮控制方波的频率以及占空比。

1.2设计原理

AT89C51单片机具有组成微型计算机的各部分部件:CPU、RAM、I/O定时器/计数器以及串行通讯接口等。只要将AT89C51的ROM,接口电路,再配置键盘及其接口,显示器及其接口,数模转换及波形输出,指示灯及其接口等四部分,即可构成所需波形发生器。其信号发生器构成原理框图如图1所示。

图1 –方波信号发生器设计原理框图

在信号发生器中,只用到片内中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个信号波形,如此循环。当有按键按下时,产生外部中断请求信号,CPU暂停当前工作,处理中断请求,重新装入定时初值,开始定时。

第二章方波发生器设计方案论证

在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。

2.1 方案的设计与选择

实现方波发生器的方法很多,但主要有三个方案:采用单片函数发生器 8038,采用锁

相式频率合成器,采用单片机编程。

通过对比,决定采用单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改编程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做得很高。

本设计用到一个AT89C51微处理器,4个按键,一个四与门。AT89C51用到两个定时器,定时器0和定时器1。其中定时器0工作在定时方式1下,决定方波频率;定时器1工作在定时方式1下,用来设定占空比。按键1与2控制方波信号频率。按下按键1或2时,进行频率的调节,占空比不变。1键按下时,频率增加100Hz,若2键按下时,频率增加10Hz。频率最大值为500Hz,当频率大于最大值时,重新赋值为50Hz。另外两个按键控制方波信号占空比。当按键3和4按下时,进行占空比调节,频率不变。3键按下时,占空比进行增加10%,4键按下时,占空比增加1%。占空比最大值为100%,当占空比大于100%时,重新赋值为0%。

第三章系统的硬件电路的设计

3.1系统硬件原理

系统硬件原理图如图2。本次设计中,采用内部时钟方式。 AT89C51单片机的P1.0、P1.1、P1.2、P1.3口分别连接四个按键,对输出方波的频率、占空比进行控制。P2.0口作为方波输出口,可以通过示波器来观察波形。四个键盘口连接一个四与门,与INT0口连接,将键盘中断请求信号送入CPU。

图2 –系统硬件原理图

3.2芯片端口资源分配表

表2 74LS21芯片端口资源分配表

芯片端口作用说明

1 连接按键1,判断按键1是否按下

2 连接按键2,判断按键2是否按下

3 连接按键3,判断按键3是否按下

4 连接按键4,判断按键4是否按下

5 发送键盘中断请求信号

表3 AT89C51 芯片端口资源分配表

芯片端口作用说明

P1.0 连接按键1,控制输出方波频率

P1.1 连接按键2,控制输出方波频率

P1.2 连接按键3,控制输出方波占空比

P1.3 连接按键4,控制输出方波占空比

P2.0 输出方波波形

P3.2 接收键盘中断请求信号

第四章软件设计

方波发生器的软件设计包括主程序、延时子程序、系统初始化程序、键盘中断子程序、定时器中断子程序。

4.1 主程序

主程序包括系统初始化,和一个死循环系统。当有中断请求信号产生时,跳出循环,执行中断程序。流程图如图3 所示。

图3 –主程序流程图

4.2系统初始化子程序

在此程序中,给所有变量赋初值:键盘扫描口、初始频率与占空比及定时、开中断、定时器0与定时器1的工作方式等。初始化时启动了定时器0和定时器1.其中初始频率为50Hz,占空比为50%。键盘中断处理子程序流程图如图4所示

4.3键盘中断子程序

键盘用外中断0实现。当有键按下时,产生低电平送入INT0口,形成中断请求信号,CUP转去执行键盘中断子程序,进行频率调节或占空比调节。(1)频率调节按下按键1或2时,进行频率的调节,占空比不变。1键按下时,频率增加100Hz,若2键按下时,频率增加10Hz。频率最大值为500Hz,当频率大于最大值时,重新赋值为50Hz。(2)占空比调节当按键3和4按下时,进行占空比调节,频率不变。3键按下时,占空比进行增加10%,4键按下时,占空比增加1%。占空比最大值为99%,当占空比大于99%时,重新赋值为1%。