单片机波形发生器报告课程设计报告.doc
文本预览下载声明
单片机
课程设计报告
东莞理工学院
2013年 6月 27日
目录
第一部分
1.1波形发生器的概述…………………………………………………3
1.2 本设计任务………………………………………………………..3
第2 部分
2.1本设计的意义…………………………………………………….4
2.2 设计要求………………………………………………………..4
2.3 设计原理………………………………………………………….4
2.4 硬件设计………………………………………………………….4
2.5 软件设计………………………………………………………….8
第三部分
3.1 心得……………………………………………………………….19
3.2参考文献………………………………………………………
第一部分
波形发生器的概述
波形发生器:顾名思义,一个能产生各种波形的仪器。
波形发生器:利用专用直接数字合成芯片的发生器:能产生任意波形达到很高的频率。但成本高P1口连接按键键盘,作为波形的选择和其他扩展功能的输入口。P0口连上上拉电阻后,接上数码管,用来显示所选择波形的类型。
这方法较上面两种方法好。调试主要通过编辑89c51的程序,而且89c51、DAC0832、LM339这几个芯片的价格不贵。至于编程方面,锯齿波、三角波、正弦波这三种分段后呈单调性的波形,可以通过等差增减来实现。但是经过Proteus 7 Professional仿真后,所产生的波形不理想。所以通过手动的方法计算出输出各点的电压值,然后在编写程序时以数组的方式给出。当需要时,只要按照顺序进行输出即可。Proteus 7 Professional仿真。
(3)将平时学的分散的知识系统地组合一次,锻炼了系统的思维。
2.2 设计要求
设计要求:
一、基本功能:
1 、 可产生多种波形,如正弦波、三角波、锯齿波、方波;
2 、 各种波形可通过按键选择;
二、扩展功能:
1 、 可调节信号的频率、占空比等参数;
2 、 其他自行增加的功能;
2.3 设计原理
课程设计要求输出正弦波、方波、锯齿波、三角波。
这些波形的实现的具体步骤:
(1)正弦波:通过手动的方法计算出输出各点的电压值,然后在编写程序时以数组的方式给出。当需要时,只要按照顺序进行输出即可。将分为256个点,则每两个点之间的间隔为1.4度,然后计算出每个点电压对应的数字量。输出这组数据到DAC0832,就可以在系统输出端得到想要的正弦波。按照设定的周期值将输出的电压改变。分为256个点,反复输出数据到DAC0832,就可以在系统输出端得到想要的输出到DAC0832,就可以在系统输出端得到想要的XF9);P0.1==0,显示2(0xA4);P0.2==0,显示3(0XB0);P0.3==0,显示4(0x99)。用P2口向DAC0832发送数据,经DAC0832转换后,再把信号放大,最后接到示波器上显示。
2.4 硬件设计
设计图示:
仿真的总电路图
仿真的正弦波效果图:
方波的效果图:
锯齿波的效果图:
三角波的效果图:
焊接出来的成品:
所用到的电子元件介绍:
(1)51单片机的内部结构
基本组成部分:
1 一个8位的CPU
2 128B或256B单元内数据存储器(RAM)
3 4KB或8KB片内程序存储器(ROM或EPROM)
4 4个8位并行I/O接口P0~P3。
5 两个定时/计数器。
6 5个中断源的中断管理控制系统。
7 一个全双工串行I/O口UART(通用异步接收、发送器)
8 一个片内振荡器和时钟产生电路。
图7 51单片机引脚
管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内
显示全部