单片机实现简易波形发生器

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

电子信息工程专业

单片机课程设计报告

题目简易波形发生器姓名

学号

班级

指导教师

2013年7 月4 日

要求:

1.指导教师按照课程设计大纲要求完成学生课程设计指导工作。2.课程设计任务书由指导教师照大纲要求填写,内容要全面。

3.课程设计报告由参加本学生填写。课程设计结束时交指导教师。4.指导教师要根据每一位学生课程设计任务完成情况,认真审核设计报告,并在课程设计结束时,给出客观、准确的评语和成绩。

5.课程设计任务书和报告要语言流畅,图表正确规范。

6.本表要用钢笔、圆柱笔填写或打印,字迹工整。

课程设计报告

1 设计原理与技术方法:

1.1 电路工作原理分析

本次单片机实习采用的是单片机STC89C52,对于简易波形发生器设计的硬件电路主要为三个部分,为显示部分、键盘部分、D/A转换电路,以下对三个部分分别介绍。

1.1.1 显示电路原理

如图1.1所示八位八段数码管为共阴极数码管,通过两个74HC573锁存器与单片机连接,一片573的LE为位选信号另一片的LE为段选信号,分别由单片机的P2.7和P2.6控制,高电平有效。当P2.7=1、P2.6=0时,位选有效,P0.0-P0.7分别控制01-08八位数码管选通,低有效,即通过P0口送出数据,哪一位为0则哪一位数码管有显示;当P2.6=1、P2.7=0时,段选有效,此时P0.0-P0.7分别控制每一位八段数码管的每一段a b c d e f g dp 的亮灭,高有效,从而使数码管显示数字0-9。显示段码如表1.1所示。

图 1.1 显示电路

表1.1 共阴极数码管显示段码

1.1.2 键盘电路原理

如图1.2所示为4×4的矩阵式键盘与单片机的P3口相连,行连接P3.0-P3.3,列连接P3.4-P3.5。用扫描法对按键进行扫描,先将所有行置0,所有列置1,当有按键按下时,通过对P3口的状态查询则按下的按键所在列将为0,其余仍未1,通过延时去抖动判断是否真有按键按下,若有,则逐行扫描,判断按键所在行,最后返回按键键码,并去执行相应

按键的程序。返回键码如表1.2所示。

图1.3 D/A转换电路

表1.2 键盘扫描返回键码

1.1.3 D/A转换电路原理

如图1.3所示为AD/DA转换芯片PCF8591与单片机相连的电路,其中4路D/A,一路A/D,简易波形发生器用到的为D/A转换,单片机的P2.0及P2.1口与PCF8591的时钟线SCL、数据线SDA相连,通过I2C串行总线向PCF8591发送数据并进行数字量转换成模拟量后输出。

图1.2 键盘电路图

1.2 元器件选择及说明

简易波形发生器是由单片机向D/A转换器中输入数字量,通过D/A转换成模拟量从而输出波形,因此用到的器件主要有单片机STC89C51,AD/DA转换芯片PCF8591,四位共阴极数码管,4×4的矩阵式键盘。下面对两种芯片进行说明。

1.2.1 单片机STC89C51

单片机的引脚可分为电源、外接晶振、控制和可编程输入/输出引脚。

(1)电源引脚(2根)

VCC:电源输入,接+5V电源

GND:接地线

(2)外接晶振引脚(2根)

XTAL1:片内振荡电路的输入端

XTAL2:片内振荡电路的输出端

(3)控制引脚(4根)

RST:复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG:地址锁存允许信号/片内EPROM编程脉冲

PSEN:外部存储器读选通信号

EA/VPP:程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

(4)可编程输入/输出引脚(32根)

STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

P0口(P0.0~P0.7):8位双向I/O口线;

P1口(P1.0~P1.7):8位准双向I/O口线;

P2口(P2.0~P2.7):8位准双向I/O口线;

P3口(P3.0~P3.7):8位准双向I/O口线。

1.2.2 AD/DA转换芯片PCF8951

PCF8591是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串行I2C总线接口。3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C总线而不需要额外硬件。器件的地址、控制和数据通过两线双向I2C 总线传输。

其引脚如下:

AIN0~AIN3:模拟信号输入端。

A0~A3:引脚地址端。

VDD、VSS:电源端(2.5~6V)。

SDA、SCL:I2C 总线的数据线、时钟线。

OSC:外部时钟输入端,内部时钟输出端。

EXT:内部、外部时钟选择线,使用内部时钟时EXT 接地。

AGND:模拟信号地。

器件功能包括多路复用模拟输入、片上跟踪和保持功能、8位模数转换和8位数模转换。最大转换速率取决于I2C总线的最高速率。具体功能描述如下:

(1)地址

I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活。该地址包括固定部分和可编程部分。可编程部分必须根据地址引脚A0、A1和A2来设置。在I2C总线协议中地址必须是起始条件后作为第一个字节发送。地址字节的最后一位是用于设置以后数据传输方向的读/写位。地址如图1.4所示。

图1.3 地址

(2)控制字

发送到PCF8591 的第二个字节将被存储在控制寄存器,用于控制器件功能。控制寄存器的高半字节用于允许模拟输出,和将模拟输入编程为单端或差分输入。低半字节选择一个由高半字节定义的模拟输入通道。控制字如图1.4所示。

(3)D/A转换

发送给PCF8591 的第三个字节被存储到DAC 数据寄存器,并使用片上D/A 转换器转换成对应的模拟电压。这个D/A 转换器由连接至外部参考电压的具有256个接头的电阻分压电路和选择开关组成。接头译码器切换一个接头至DAC 输出线。D/A转换顺序的波形如图1.5。

1.3 程序设计及流程图

本次优秀的设计为当输入任意频率,数码管显示出频率并输出相应频率的方波,此次设计是由定时时间决定,频率范围为30Hz—500Hz,当由按键输入次频率范围内任意频率时,对应数码管显示出来并在示波器上输出方波,流程图如图1.6所示。程序见附录。

相关文档
最新文档