生产实习波形发生器的制作.docx
- 文档编号:5658535
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:23
- 大小:595.02KB
生产实习波形发生器的制作.docx
《生产实习波形发生器的制作.docx》由会员分享,可在线阅读,更多相关《生产实习波形发生器的制作.docx(23页珍藏版)》请在冰豆网上搜索。
生产实习波形发生器的制作
学号XX
实习报告
生产实习
起止日期:
2012年6月18日至2012年7月13日
学生姓名
XX
班级
XX
成绩
指导教师(签字)
XX学院
2012年7月13日
第一章设计任务及要求
1.1设计任务
第一阶段,完成单片机开发板的焊接和调试,掌握8位D/A转换器DAC0832与单片机的接口技术及编程方法。
第二阶段,熟悉波形发生及转换的原理。
熟练通过改变程序周期达到波形变换的目的。
并设计一个可以输出三角、锯齿、正弦波的波形发生器。
1.2设计内容
设计AT89S52单片机,并对其进行焊接和调试,在已有的单片机基础上自己编译程序,实现单片机的应用。
运用DAC0832转换器、AT89S52单片机、和运算放大器与之相连接构成波形发生器,实现控制输出锯齿波、方波、正弦波、三角波等波形。
第二章单片机的焊接及调试
2.1单片机最小单位的原理图
在理论学习的基础上,通过完成一个涉及单片机的多种资源应用并具有综合功能的最小系统目标板得涉及与编程应用。
图1单片机整体原理图
可以分为AT89S52模块,电源模块,LED显示模块,中断定时模块,串口通信模块,LCD显示模块,扩展模块,JSP下载电路。
2.1.1电源模块
由78L05三端集成稳压器构成稳压电路,为单片机提供+5V的电压。
图2电源模块
2.1.2LED显示模块
由8个共阳极的LED灯跟8个1k的电阻构成。
图3LED模块
2.1.3复位电路
K2键实现开关复位。
图4复位电路
2.1.4时钟模块
时钟电路用于产生AT89S52单片机工作时所必需的控制信号。
频率为11.0592hz。
图5时钟电路
2.1.5串口通信模块
主要由MAX232芯片构成,用于单片机的串口通信。
其中,j2为串口母线接插端子。
图6串口通信模块
2.2部分芯片的原理
2.2.1AT89S52性能描述
AT89S52功能特性描述:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89S52的主要特性是:
与MCS-51单片机产品兼容;8K字节在系统可编程Flash存储器;1000次擦写周期;全静态操作:
0Hz~33Hz;三级加密程序存储器;32个可编程I/O口线;三个16位定时器/计数器;八个中断源;全双工UART串行通道;低功耗空闲和掉电模式;掉电后中断可唤醒;看门狗定时器;双数据指针;掉电标识符。
图7AT89S51引脚图
2.2.2MAX232功能介绍
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
主要特点:
符合所有的RS-232C技术标准;只需要单一+5V电源供电;片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-;功耗低,典型供电电流5mA;内部集成两个RS-232C驱动器;内部集成两个RS-232C接收器。
图8MAX232引脚图
引脚介绍:
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。
15脚GND、16脚VCC(+5v)。
2.2.378L05介绍
图978l05内部结构图
78L05是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合.像牵涉到单点稳压场合需要限制噪声和解决分布问题的调节.此外它们还可以和其它功率转移器件一起构成大电流的稳压电源,如可驱动输出电流高达100毫安的稳压器. 其卓越的内部电流限制和热关断特性使之特别适用于过载的情况.当用于替代传统的齐纳二极管-电阻组的时候,其输出阻抗得到有效的改善,其偏置电流大大减少。
2.3单片机的焊接
元件包含:
5个按键开关(K1-K5),9个发光二极管(D1-D8,D10),1个单片机AT89S52芯片及对应接插器(U2),2个电位器(J8-J9),1个晶体振荡器11..0592(Y1),5个1uF电容(C1-C5),2个33uF电容(C10,C12),1个22uF电容(C6),2个22pF电容(C8-C9),2个0.1uF电容(C7,C11),10个1K电阻(R1-R10),1个200欧电阻(R11),1个拨码开关(J5),1个MAX232芯片及对应接插槽(U1),1个三端稳压管(J3),1个RS-232串口(J1),1个LCD1602液晶显示模块(J7),1个扩展模块(J6),2个JUMPER,1个10针JTAG。
图10单片机完成图
2.4单片机各部件的调试
单片机焊接好后,要设计调试,检查单片机的每个部件是否正常工作。
2.4.1流水灯与闪烁灯调试
首先是最基础的流水灯的测试,流水灯是由8个共阳极二极管构成,分别由单片机的p1.0到p1.7口控制,当输出1时,灯灭,当输出为0时,灯亮。
1.实现流水灯全亮后依次灭,则先将p1.0到p1.7口全部清0后,从p1.7口开始,依次置1。
org0000h
ljmploop
org0080h
loop:
movp1,#0ffh
clrp1.0
lcalldelay
clrp1.1
lcalldelay
clrp1.2
lcalldelay
clrp1.3
lcalldelay
clrp1.4
lcalldelay
clrp1.5
calldelay
clrp1.6
lcalldelay
clrp1.7
lcalldelay
ljmploop
delay:
movr5,#20
d1:
movr6,#20
d2:
movr7,#248
djnzr7,$
djnzr6,d2
djnzr5,d1
ret
end
2.实现LED灯由两侧开始逐一点亮,依次循环,逐一点亮的过程是逐一清0的过程,全亮后,全部置1,然后循环。
#include
unsignedchars[]={0x7e,0x3c,0x18,0x00};
unsignedinti;
voiddelay(void)
{
unsignedchari,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
voidmain(void)
{
while
(1)
for(i=0;i<4;i++)
{
P1=s[i];
delay();
}
}
3.实现LED灯从低位到高位依次点亮,然后全熄灭,再从高位到低位依次点亮,共分为3个部分,第一部分,从p1.0开始,逐一置0,第二部分,当全为0后,全部置1,即等全灭。
第三部分,从p1.7开始逐一清0。
#include
Unsignedchars[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xfe,0xfd,0xfb,0xf7,0xef,
0xdf,0xbf,0x7f};
unsignedinti;
voiddelay(void)
{
unsignedchari,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
voidmain(void)
{
while
(1)
for(i=0;i<17;i++)
{
P1=s[i];
delay();
}
}
2.4.2按键控制灯亮灭程序
运用条件语句,当k1值改变,则赋值,使灯亮或者灭。
#include
sbitP10=P1^0;
sbitK1=P3^2;
sbitK3=P3^3;
voidmain(void)
{
while
(1)
{
if(!
K1)
{P10=0;
}
if(!
K3)
{P10=1;
}
}
}
2.4.3用中断控制灯亮灭程序
k1,k3,k4,k5为中断控制键,k1控制INT0,k3控制INT1,k4控制中断T0,k5控制中断T1。
根据中断优先级的不同,实现按键后中断的跳转。
实现LED灯从第一个到第八个循环亮灭,当按下K1时进入中断,LED灯实现第一个亮,第二个灭,以此类推的状态。
#include
sbitP10=P1^0;
sbitP11=P1^1;
sbitP12=P1^2;
sbitP13=P1^3;
sbitP14=P1^4;
sbitP15=P1^5;
sbitP16=P1^6;
sbitP17=P1^7;
sbitK1=P3^2;
sbitK3=P3^3;
voidmain(void)
{
EA=1;
EX0=1;
IT0=1;
while
(1)
{
intn;
P17=1;P10=0;
for(n=0;n<20000;n++);
P10=1;P11=0;
for(n=0;n<20000;n++);
P11=1;P12=0;
for(n=0;n<20000;n++);
P12=1;P13=0;
for(n=0;n<20000;n++);
P13=1;P14=0;
for(n=0;n<20000;n++);
P14=1;P15=0;
for(n=0;n<20000;n++);
P15=1;P16=0;
for(n=0;n<20000;n++);
P16=1;P17=0;
for(n=0;n<20000;n++);}
}
voidint0()interrupt0using0
{
inti;
EX0=0;
P16=0;P10=0;P12=0;P14=0;P17=1;P11=1;P13=0;P15=1;
for(i=0;;i++);
EX0=1;
}
2.4.4串口通信
#include
#defineucharunsignedchar
#defineuintunsignedint
inta,flag,i;
charcodetab[]="igetit\n";
voidinit()
{
TMOD=0x20;//晶振要用11.0592MHz
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}
voidmain()
{
init();
while
(1)
{
if(flag==1)//接受到0x01时发送"igetit"
{
ES=0;
for(i=0;i<10;i++)
{
SBUF=tab[i];
while(!
TI);
TI=0;
}
while(!
TI);
TI=0;
ES=1;
flag=0;
}
}
}
voidurt()interrupt4
{
RI=0;
a=SBUF;
if(a==0x01)
flag=1;
}
2.5最小系统设计与焊接的意义
将理论与实际应用结合起来,从实际出发分析问题,研究问题和解决问题,将单片机的知识系统化,而且能够对电子电路,电子元器件,印制电路板等方面的知识进一步加深认识,同时在软件编程,排错调试,焊接技术,相关仪器设备的使用技能等方面得到较全面的提高和锻炼,为今后能够独立进行某些单片机应用系统的开发打下一定的基础。
2.6调试中的问题
在单片机调试的过程中,不可避免的出现了很多的问题,原因也是多种多样的。
有焊接的问题,有程序的问题,也有原件的问题。
问题出现后,就要一步一步,从各个方面找到问题的存在及解决办法。
首先是焊接的问题,可能存在虚焊,导致电路没有接通,也可能是焊接的时候时间过久,烫坏原件。
然后是程序的编写,程序编写过程中,考虑不全面会导致程序出错,编写的时候敲错也会导致程序的不能运行。
所以,在整个过程中,每一个步骤都要认认真真,避免任何一个错误的发生。
第三章波形发生器
3.1波形发生器原理
波形的产生是通过AT89S52执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
原理图如下图所示:
图11波形发生器原理
3.2部分芯片的引脚介绍
3.2.1DAC0832芯片引脚图和介绍
DAC0832当今世界在以电子信是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。
这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。
图12DAC0832引脚图
DI0~DI7:
数据输入线,TLL电平。
ILE:
数据锁存允许控制信号输入线,高电平有效。
CS:
片选信号输入线,低电平有效。
WR1:
为输入寄存器的写选通信号。
XFER:
数据传送控制信号输入线,低电平有效。
WR2:
为DAC寄存器写选通输入线。
Iout1:
电流输出线。
当输入全为1时Iout1最大。
Iout2:
电流输出线。
其值与Iout1之和为一常数。
Rfb:
反馈信号输入线,芯片内部有反馈电阻.Vcc:
电源输入线(+5v~+15v)。
Vref:
基准电压输入线(-10v~+10v)。
AGND:
模拟地,摸拟信号和基准电源的参考地。
DGND:
数字地,两种地线在基准电源处共地比较好。
3.2.2uA741引脚及功能
uA741是高增益运算放大器,这些类型还具有广泛的共同模式,差模信号范围和低失调电压调零能力与使用适当的电位。
1和5为偏置(调零端),2为正向输入端,3为反向输入端,4接地,6为输出,7接电源,8空脚。
图13741芯片引脚图
3.3波形发生器的焊接
元件包含:
2片UA741及对应接插器,1片DAC0832及对应接插器,2个15欧电阻,1个7.5欧电阻,1个排针,导线若干。
图14波形发生器完成图
3.4调试程序及结果
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
#defineDAC0832XBYTE[0xfffe]
sbitk1=P3^2;
sbitk2=P3^3;
sbitk3=P3^4;
sbitk4=P3^5;
sbitCS=P2^7;
unsignedcharmm=0;
unsignedcharflag=0;
unsignedcharx,y;
ucharcodeSETTAB[]={//正弦波数据(正部分)
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,//(正下降部分)80
0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEA,
0xE9,0xE7,0xE5,0xE3,0xE1,0xDE,0xDD,0xDA,
0xD8,0xD6,0xD4,0xD1,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,0x78,0x72,0x6F,0x6C,0x69,//(负下降部分)128,0x80
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,//(负上升部分)//80
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
};
voidDelayMS(uintms)
{
uchari;
while(ms--)
{
for(i=0;i<120;i++);
}
}
voidfangbo()
{
DAC0832=y;
x++;
if(flag==0)
{y=0xff;
if(x==128){flag=1;y=0x00;}//方波+
}
else{y=0x00;
if(x==0){flag=0;y=0xff;}//方波-
}
}
voidjuchibo()//锯齿波
{
DAC0832=y;
y+=1;
}
voidsanjiaobo()
{
DAC0832=y;
x++;
if(flag==0)
{y+=2;//三角波数据(上升部分)
if(x==128){flag=1;y-=2;}
}
else{y-=2;
if(x==0){flag=0;y=0;}//三角波数据(下升部分)
}
}
voidsin()//正弦波
{DAC0832=SETTAB[y];
x++;
y++;
}
voidread_key()
{
if(k1==0)
{DelayMS(10);
if(k1==0)
{P1=0xFE;
CS=0;
mm=1;
while(k1==0);
}
}
elseif(k2==0)
{DelayMS(10);
if(k2==0)
{mm=2;
P1=0xFD;
CS=0;
while(k2==0);
}
}
elseif(k3==0)
{DelayMS(10);
if(k3==0)
{mm=3;
P1=0xFB;
CS=0;
while(k3==0);
}
}
elseif(k4==0)
{DelayMS(10);
if(k4==0)
{mm=4;
P1=0xF7;
CS=0;
while(k4==0);
}
}
}
main()
{TMOD=0x02;
TL0=156;
TH0=156;
TR0=1;
ET0=1;
EA=1;
mm=0;
for(;;)
{read_key();
}
}
voidt_0()interrupt1using2
{switch(mm)
{case1:
fangbo();break;
case
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生产 实习 波形 发生器 制作