波形发生器金工实习Word文档下载推荐.docx
《波形发生器金工实习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《波形发生器金工实习Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
图
(1)AT89S52引脚图
2.1.2焊接AT89S52过程
元件包含:
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
原理图如图所示:
图
(2)AT89S52电路原理图
焊接电路板如图:
图(3)实现功能电路板实物图
2.1.3DAC0832的引脚及功能
DAC0832当今世界在以电子信是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。
这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。
DI0~DI7:
数据输入线,TLL电平。
ILE:
数据锁存允许控制信号输入线,高电平有效。
CS:
片选信号输入线,低电平有效。
WR1:
为输入寄存器的写选通信号。
XFER:
数据传送控制信号输入线,低电平有效。
图(4)DAC0832引脚图
WR2:
为DAC寄存器写选通输入线。
Iout1:
电流输出线。
当输入全为1时Iout1最大。
Iout2:
电流输出线。
其值与Iout1之和为一常数。
Rfb:
反馈信号输入线,芯片内部有反馈电阻.
Vcc:
电源输入线
(+5v~+15v)
Vref:
基准电压输入线
(-10v~+10v)
AGND:
模拟地,摸拟信号和基准电源的参考地.
DGND:
数字地,两种地线在基准电源处共地比较好.
2.1.4uA741引脚及功能
uA741是高增益运算放大器,这些类型还具有广泛的共同模式,差模信号范围和低失调电压调零能力与使用适当的电位。
1和5为偏置(调零端),
2为正向输入端,
3为反向输入端图(5)uA741引脚图
4接地,
6为输出,
7接电源
8空脚
2.2波形发生器硬件原理.
波形的产生是通过AT89S52执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
原理图如下图所示:
图(6)波形发生器实现原理图
2.3软件调试的实现
系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。
周期的改变可采用插入延时子程序的方法来实现。
打开“KeiluVision”,点击“project”,在弹出的对话窗口中选择“newproject”新建工程,建立文件名。
在窗口中选择“Atmel”中“AT89S52”确定后即可添加8051源代码。
再点“File”之后点击“NEW”即可在出现的文本框中输入程序,其中文本框名称注意要选择英文名,格式为“.asm”。
再添加源文件到project。
在USB驱动文件中,运行程序,在文件夹下选“调入flash”,同时编辑器及接口选择“USBASP”,之后点击“自动”即可运行程序进行检查电路板。
2.3.1调试各种功能程序
1、流水灯程序:
ORG0000H
LJMPLOOP
ORG0080H
LOOP:
MOVp1,#0ffh
CLRp1.0
LCALLDELAY
CLRp1.1
LCALLDELAY
CLRp1.2
CLRp1.3
CLRp1.4
CLRp1.5
CLRp1.6
CLRp1.7
LJMPLOOP:
DELAY:
MOVr5,#20
d1:
movr6,#20
d2:
movr7,#248
djnzr7,$
djnzr6,d2
djnzr5,d1
RET
END
2、8个发光二极管从低到高点亮,到全灭,再从高到低点亮程序:
#include<
reg52.h>
charl[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff};
voiddelay02s(void)
{
unsignedchari,j,k;
for(i=20;
i>
0;
i--)
for(j=20;
j>
j--)
for(k=248;
k>
k--);
}
voidmain(void)
unsignedintn;
while
(1)
for(n=0;
n<
18;
n++)
P1=l[n];
delay02s();
3.方波程序
JUXING:
MOVDPTR,#7FFFH
LP:
MOVA,R0
MOVX@DPTR,A
LCALLDEL_H
MOVA,R1
LCALLDEL_L
RET
4.锯齿波程序
JUCHI:
MOVA,#00H
LOOP:
MOVX@DPTR,A
INCA;
SJMPLOOP
5、测试二极管是否正常程序:
8个发光二极管分别与P1的8个引脚相连,当P1.X为0时,二极管导通,正常发光。
:
#include“reg51.h”
Voiddelay1s()
{
Unsignedinti,j;
For(i=0;
i<
500;
i++)
For(j=0;
j<
100;
j++)
}
Main()
Intn;
Unsignedchardate[18]={0xfe,xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff};
Do
For(n=0;
{P1=date1[n];
Delay1s();
While
(1);
6、主程序
通过按键实现波形变换,包含锯齿波、三角波、方波、正弦波。
ORG0000h
SETBP1.0
SETBP1.1
SETBP1.2
SETBP1.3
START:
LCALLCHECKKEY
SETBP2.6
SETBP3.6
JNBP1.0,SANJIAOBO
JNBP1.1,JUCHIBO
JNBP1.2,JUXINGBO
JNBP1.3,ZXB
LJMPSTART
ZXB:
MOVR1,#40H;
取表格初值
LOOP3:
;
在表格里取数送到指定地址/////////////////////
MOVA,R1
MOVDPTR,#SETTAB
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
/////////////////////////////////////////////
INCR1;
表格加一
LCALLCHECKKEY
JNBP1.3,DA71
DA71:
AJMPLOOP3;
循环
JUXINGBO:
JUXINGBO1:
MOVA,P2
movdptr,#7FfFh
movx@dptr,a
LCALLDELAY
;
JNBP1.2,JUXINGBO2
JUXINGBO2:
LJMPJUXINGBO1
SANJIAOBO:
UP:
ADDA,#02H
JNZUP
DOWN:
SUBBA,#02H
JNZDOWN
JNBP1.0,UP1
UP1:
LJMPUP
JUCHIBO:
INCA
CJNEA,#00H,LOOP
JNBP1.1,LOOP1
LOOP1:
LJMPLOOP
MOVR5,#20;
延时子程序,延时0.2秒
D1:
MOVR6,#20
D2:
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
CHECKKEY:
JBP3.2,BB
BB1:
JNBP3.2,BB1
CLRP1.0
BB:
JBP3.3,CC
CC1:
JNBP3.3,CC1
CLRP1.1
CC:
JBP3.4,DD
DD1:
JNBP3.4,DD1
CLRP1.2
DD:
JBP3.5,EE
EE1:
JNBP3.5,EE1
CLRP1.3
EE:
SETTAB:
正弦表格/////////////////////////////////////
DB80H,83H,86H,89H,8DH,90H,93H,96H
DB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
DB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
DB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H
DB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H
DB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
DB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH
DB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH
DB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H
DB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH
DB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH
DB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H
DB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H
DB0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H
DB96H,93H,90H,8DH,89H,86H,83H,80H
DB80H,7CH,79H,78H,72H,6FH,6CH,69H
DB66H,63H,60H,5DH,5AH,57H,55H,51H
DB4EH,4CH,48H,45H,43H,40H,3DH,3AH
DB38H,35H,33H,30H,2EH,2BH,29H,27H
DB25H,22H,20H,1EH,1CH,1AH,18H,16H
DB15H,13H,11H,10H,0EH,0DH,0BH,0AH
DB09H,08H,07H,06H,05H,04H,03H,02H
DB02H,01H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,01H,02H
DB02H,03H,04H,05H,06H,07H,08H,09H
DB0AH,0BH,0DH,0EH,10H,11H,13H,15H
DB16H,18H,1AH,1CH,1EH,20H,22H,25H
DB27H,29H,2BH,2EH,30H,33H,35H,38H
DB3AH,3DH,40H,43H,45H,48H,4CH,4EH
DB51H,55H,57H,5AH,5DH,60H,63H,66H
DB69H,6CH,6FH,72H,76H,79H,7CH,80H
2.3.2示波器输出程序波形
正弦波输出波形:
图(7)示波器输出正弦波波形图
方波输出波形:
图(8)示波器输出方波波形图
锯齿波输出波形:
图(9)示波器输出锯齿波波形图
三角波输出波形:
图(10)示波器输出三角波波形图
第三章心得体会
在以前的金工实习中已经着重学习了电烙铁在使用中会遇到的问题,但是在这次焊接过程中还是发生了焊盘过大,焊点不牢固,裸露铜丝过长导致电路短路等问题,为此,我会在以后的学习中更加注意类似的细节问题。
调试过程真的可谓是“惊心动魄”啊!
本来打算半天一天就能解决的问题没想到经过了三天的时间。
在调试中也遇到了各种各样的问题,程序编程会导致调试出现错误,焊接不牢固不安全也会导致波形不清晰甚至是不显示。
庆幸的是在同组人的讨论分析和老师的指导下,这些问题到最后都迎刃而解。
本次生产实习过程,使我在动手实践能力上有了巩固和提高,对硬件的运用也有了深入的了解,在程序设计上也有了更深入的认识,在安装调试方面的知识有了很大的提升。
同时,我也体会到了团队合作的重要性。
我会继续学习专业知识,加强实践能力和专业素养,为以后的工作和学习奠定坚实的基础。