任务15简易波形发生器制作Word文档格式.docx
《任务15简易波形发生器制作Word文档格式.docx》由会员分享,可在线阅读,更多相关《任务15简易波形发生器制作Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
掌握波形发生器的制作方法
能力目标
通过对波形发生器的制作和调试,深入了解D/A转换芯片的应用
情感目标
培养学生勤于思考、勤于练习的学习习惯,增强学生的动手能力
教学重点
D/A转换芯片的应用
教学难点
教学方法
讲授法,演示法
课前准备
PPT,演示电路
设计意图
通过PPT演示,帮助理解单片机的内部结构
通过具体电路的演示,帮助学生更直观的了解单片机的外部引脚
教学过程
教学内容
教师活动
学生活动
一、实训目的
通过制作简单波形发生器,学习D/A转换芯片在单片机应用系统中的硬件接口技术与编程方法。
二、实训要求
在电子设备中,经常要产生锯齿波或其他波形。
产生波形的方法很多,我们的任务是利用AT89C51单片机与数模转换芯片DAC0832组成波形发生器硬件系统,编制应用程序产生锯齿波型号。
通过软件调整波形设定参数,用示波器观察输出波形的幅值、周期及频率变化。
三、实训电路
采用单片机的P0口和P2口来实现单片机与DAC0832芯片间的单缓冲连接方式。
四、参考程序
参考程序1:
//程序:
ex6_4.c
//功能:
采用DAC0832产生锯齿波程序
#include<
absacc.h>
//绝对地址访问头文件
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineDA0832XBYTE[0x7fff]//DAC0832地址
//函数名:
delay_1ms
//函数功能:
延时1ms,T1、工作方式1,定时初值64536
//形式参数:
无
//返回值:
voiddelay_1ms()
{
TH1=0xfc;
//置定时器初值
TL1=0x18;
TR1=1;
//启动定时器1
while(!
TF1);
//查询计数是否溢出,即定时1ms时间到,TF1=1
TF1=0;
//1ms时间到,将定时器溢出标志位TF1清零
}
voidmain()//主函数
{
uchari;
TMOD=0x10;
//置定时器1为方式1
while
(1)
{
for(i=0;
i<
=255;
i++)//形成锯齿波输出值,最大255
DA0832=i;
//D/A转换输出
delay_1ms();
}
参考程序2:
ex6_5.c
产生正弦波,周期约256ms,幅度约2.5V
#include<
//绝对地址访问头文件
#defineucharunsignedchar
#defineDA0832XBYTE[0x7fff]
voiddelay_1ms();
//延时
ucharcodesin[]={0x80,0x83,0x86,0x89,0x8D,0x90,0x93,0x96,0x99,0x9C,0x9F,
0xA2,0xA5,0xA8,0xAB,0xAE,0xB1,0xB4,0xB7,0xBA,0xBC,0xBF,0xC2,0xC5,0xC7,0xCA,0xCC,0xCF,0xD1,0xD4,0xD6,0xD8,0xDA,0xDD,0xDF,0xE1,0xE3,0xE5,0xE7,0xE9,0xEA,0xEC,0xEE,0xEF,0xF1,0xF2,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFD,0xFD,0xFC,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6,0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEA,0xE9,0xE7,0xE5,0xE3,0xE1,0xDF,0xDD,0xDA,0xD8,0xD6,0xD4,0xDl,0xCF,0xCC,0xCA,0xC7,0xC5,0xC2,0xBF,0xBC,0xBA,0xB7,0xB4,0xB1,0xAE,0xAB,0xA8,0xA5,0xA2,0x9F,0x9C,0x99,0x96,0x93,0x90,0x8D,0x89,0x86,0x83,0x80,0x80,0x7C,0x79,0x76,0x72,0x6F,0x6C,0x69,0x66,0x63,0x60,0x5D,0x5A,0x57,0x55,0x51,0x4E,0x4C,0x48,0x45,0x43,0x40,0x3D,0x3A,0x38,0x35,0x33,0x30,0x2E,0x2B,0x29,0x27,0x25,0x22,0x20,0x1E,0x1C,0x1A,0x18,0x16,0x15,0x13,0x11,0x10,0x0E,0x0D,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0D,0x0E,0x10,0x11,0x13,0x15,0x16,0x18,0x1A,0x1C,0x1E,0x20,0x22,0x25,0x27,0x29,0x2B,0x2E,0x30,0x33,0x35,0x38,0x3A,0x3D,0x40,0x43,0x45,0x48,0x4C,0x4E,0x51,0x55,0x57,0x5A,0x5D,0x60,0x63,0x66,0x69,0x6C,0x6F,0x72,0x76,0x79,0x7C,0x80};
voidmain()//主函数
//置定时器1为方式1
i++)//形成正弦输出
DA0832=sin[i];
//D/A转换输出
参考程序3:
ex6_6.c
产生三角波程序
voiddelay_1ms();
//延时1ms程序
voidmain(void)//主函数
//置定时器1为方式1
i++)//形成三角波输出值,最大255
{
for(i=255;
i>
=0;
i--)//形成三角波输出值,最大255
五、拓展思考
小结
提问
点评作业
PPT演示
重点讲解各部分的作用
讲解并口和串口的区别
讲解总线概念
演示芯片实物
分类介绍引脚及其功能
小结新课
对照作业分析错误原因
思考和理解
仔细观察
说出引脚编号的读法
边听讲,边识记,通过分类基本了解单片机的引脚
学生试着归纳本次课的内容
教学后记
学生对输出方式理解不够,还需多加讲解,实践。
任务15简易波形发生器设计6.2D/A转换器接口
《单片机应用技术(C语言版)》
王益军
3-4
掌握DAC0832的内部结构和引脚介绍
了解DAC接口电路的单/双缓冲工作方式,以及通道地址确定、转换数据传送方式
通过对DAC0832的性能参数及应用的学习,掌握如何应用D/A转换器接口进行单片机应用
DAC0832的内部结构和引脚介绍,通道地址确定、转换数据传送方式
DAC接口电路的通道地址确定、转换数据传送方式
DAC0832是8位分辨率D/A转换集成芯片,与处理器完全兼容,其价格低廉,接口简单,转换控制容易等优点,在单片机应用系统中得到了广泛的应用。
DAC0832的引脚及功能
DI0~DI7:
数据输入线,TLL电平。
ILE:
数据锁存允许控制信号输入线,高电平有效。
CS:
片选信号输入线,低电平有效。
WR1:
为输入寄存器的写选通信号。
XFER:
数据传送控制信号输入线,低电平有效。
WR2:
为DAC寄存器写选通输入线。
Iout1:
电流输出线。
当输入全为1时Iout1最大。
Iout2:
电流输出线。
其值与Iout1之和为一常数。
Rfb:
反馈信号输入线,芯片内部有反馈电阻.
Vcc:
电源输入线(+5v~+15v)
Vref:
基准电压输入线(-10v~+10v)
AGND:
模拟地,摸拟信号和基准电源的参考地.
DGND:
数字地,两种地线在基准电源处共地比较好.
DAC0832的实验原理图:
参考程序:
用DAC0832产生梯形波。
ORG0000h
MAIN:
mova,#0
MOVDPTR,#07FFFH
MOVR1,#0ah
LP:
MOVX@DPTR,A;
选通地址
ACALLDELAY;
延时
djnzr1,next
sjmpmain
next:
ADDA,#10;
每次以19H的梯度增加
sjmplp
DELAY:
;
延时子程序
D2:
MOV31H,#0FFH
D1:
DJNZ31H,D1
RET
END
明确学习DA的两个参数,即精度和速度,学生对此理解还不够深刻,在这方面要多加讲解。