正弦信号发生器的设计

目 录
1 引言 1
2 总体结构设计 2
2.1 单片机概述 2
2.1.1 单片机的发展 2
2.1.2 单片机的用途 3
2.2 系统设计的功能 3
2.3 波形发生和输出频率的方法 4
2.3.1 波形发生的方法 4
2.3.2 输出频率的方法 4
3 系统硬件设计 5
3.1 硬件电路芯片的选择 5
3.1.1 CPU芯片 AT89C51 5
3.1.2 D/A转换器芯片DAC0832 8
3.1.3 显示器的选择 9
3.1.4 运算放大器HA17741 10
3.2 电路接口的设计 11
3.2.1 LED数码管显示电路 11
3.2.2 D/A转换正弦信号输出电路 12
3.2.3 时钟电路及复位电路 13
3.2.4 键盘频率和振幅输入电路 15
3.2.5 电源电路的设计 15
4 系统软件程序的设计 17
4.1 主程序功能模块 17
4.2 显示子程序模块 17
4.3 D/A转换子程序模块 18
4.4 键盘控制频率输入子程序模块 19
4.5 数据计算处理子程序模块 20
5 系统调试 22
5.1 PROTEUS与KEIL uVision2介绍 22
5.2 软硬件的调试 23
5.2.1 软件调试 23
5.2.2 硬件调试 23
6 结论 25
6.1 实验结果 25
6.2 讨论分析 25
谢辞 27
参考文献 28
附录 29
电路图 29
源程序 30
外文资料翻译 41

2.2系统设计的功能
基本设计要求:
(1)正弦波输出频率范围:1kHz~10MHz;
(2)具有频率设置功能,频率步进:100Hz;
(3)输出信号频率稳定度:优于10-4;
(4)输出电压幅度:在负载电阻上的电压峰-峰值Vopp≥1V;
(5)失真度:用示波器观察时无明显失真。
较高设计要求:
能够使得输出地信号在50欧姆的负载电阻上的电压峰峰值稳定在6V±1V.

本设计是以AT89C51作为中央处理芯片,通过DAC0832芯片来获得正弦波信号,用按键和显示器来设置和读取频率和振幅。在KEIL环境下进行汇编编程,并在Proteus 中进行仿真。此设计的主要功能:
1.使用51单片机与D/A转换芯片DAC0832实现数字式正弦波形发生器。
2.采用51单片机在一定的时间内输出一系列的离散数字样点信号,然后通过D/A转换器转换成平滑的正弦波信号。
3.使其具有良好的人机接口,并用LED显示。
本次数字式正弦信号发生器的设计分为软件部分和硬件部分,按功能来划分硬件部分又可分为:数码管频率和振幅显示电路、D/A转换正弦信号输出电路、时钟复位电路、键盘频率和振幅输入电路;软件部分可分为:显示子程序、D/A转换子程序以及数据计算处理子程序、键盘频率输入子程序。
4 系统软件程序的设计
软件设计是本次设计的一个重要组成部分。在单片机应用系统中,最常用的程序设计方法是模块程序设计。本次设计的软件部分可分为:主程序模块、键盘控制频率输入子程序模块、显示子程序模块、D/A转换子程序模块以及数据计算处理子程序模块等。
4.1 主程序功能模块
主程序主要对数字式正弦信号发生器进行初始化设置,显示初始的正弦波频率及输出初始的正弦波电压信号,开放中断准备响应频率的变化等。
4.2 显示子程序模块
由于硬件电路的设计,显示是以动态显示的方法,硬件连接比较简单,主要是软件编程控制LED显示。
输出显示的程序如下

DISP:  CLR P2.2
      MOV P1,LED_BIT_4
		LCALL DELAY
		SETB P2.2
		CLR P2.1
		MOV P1,LED_BIT_3
		LCALL DELAY
		SETB P2.1
		CLR P2.0
		MOV P1,LED_BIT_1
		LCALL DELAY
		SETB P2.0
		RET   

4.3 D/A转换子程序模块
D/A转换是本次设计的重点之一,它由两片DAC0832控制,第一片的输出做第二片的基准电压,但它不同于硬件电路的烦琐,它的软件程序是十分简单的,只要几条输出指令,就可以进行D/A转换控制。

第一片D/A的转换程序如下:
MOV A,F_VAL_4        ;装填幅值
     MOV B,#33H            ;转化为在D/A中对应的数据
	  MUL AB
	  CLR  P2.4              ;选通D/A输入寄存器
	  MOV  P0,A             ;输出数据
	  SETB  P2.4             ;锁存数据
第二片的D/A转换的程序如下:
MOV  DPTR,#CTAB     ;指向数据缓冲区
	  MOV  A,SIN_NT        ;查表相对偏移量
	  MOVC  A,@A+DPTR    ;转换数据送入A
	  CLR  P2.5              ;选通D/A输入寄存器
	  MOV  P0,A             ;输出数据
	  SETB  P2.5             ;锁存数据
	  CLR  P2.6              ;选通D/A寄存器
	  INC SIN_NT               ;修正查表指针

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值