用单片机制作的信号发生器Word下载.docx
- 文档编号:19947101
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:15
- 大小:293.47KB
用单片机制作的信号发生器Word下载.docx
《用单片机制作的信号发生器Word下载.docx》由会员分享,可在线阅读,更多相关《用单片机制作的信号发生器Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
致谢
参考文献
第一章
绪论
单片机一直被视为难学的课程之一,“难”的方面是多方面的,如涉及知识面广,该念难于理解,但是一个不可忽略的原因就是“单片机”难以自学,且没有足够的实验实践机会。
单片机是将CPU,定时器,计数器,接口等集中到一块芯片上的计算机。
时至今日,单片机已由8位机发展成为32位机甚至更高。
其性价比更加优异,集成度更高,体积更小,可靠性更高,控制功能更强,需求电压低,耗能更低,更重要的是他引用与航天航空,国防军事,工业测控等领域。
本文介绍一种用8751单片机构成的波形发生器,可产生三角波、方波、锯齿波和正弦波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。
其外围结构设置如图1。
第二章
外围设备
同任何微型计算机应用系统一样,MCS-51系列单片机8751的复位功能是不可缺少的,复位即是所谓的冷热启动,8751一旦复位,其CPU就会自动地使其内部初始化,并自动装初值。
重新开始从PC=0000H执行.
(1)
对复位信号的要求。
此8751单片机是通过外部复位电路给其复位信号端子RST/VPD提供一个强制性电平信号来实现的,即在CPU时钟振荡系统正常工作情况下,若给出RET端输入一个至少有两个机器周期时间长的高电平信号就可实现复位,CPU内部复位是在RST(RESET)端变成高电平的第二个机器周期时间内进行的,并在RST端信号由高电平变为低电平时,CPU将自动的从程序存储器0000H地址单元开始取指令并执行程序,如果RST端一直保持高电平,则单片机就会一直保持循环复位的状态,一般情况下这种状态是不允许的。
(2)
复位电路
根据以上8751单片机对复位电路的要求以及通常采用的上电复位和手动上电复位两种方法,MCS-51单片机典型的既具有上电复位功能又具有手动复位功能的复位电路如图2所示。
上电复位通常用于单片机的冷启动,即单片机的初始复位,其工作原理是图2电源开关接通瞬间,由于电容C两端的电压不能突变,并经过反相器倒向后,使得RST/VPD为高电平,此后,UCC经R1给电容C不断充电,电容上的压降不断升高,即反相器输入端电位不断升高,这样经反相器倒向后,使得RST/VPD端
电位不断降低,只要R1C充电时间常数足够大,
就可以保证RST/VPD端有足够的至少是两个机器周期时间的TTL高电平信号使单片机可靠复位,随着电容C充电时间的延长,RST/VPD端电位将逐步下降与TTL电平使单片机脱离复位状态。
手动复位通常用于此单片机的热启动,即单片机在工作状态的复位,在图2中,将开关用手压合一次即可使单片机复位,其工作原理是用手压合一次开关S2,S2的闭合时间一般约为几毫秒到几十毫秒,S2如此长的闭合时间能保证电容充分放电后,反相器的输入端仍有充分长的时间处于低电平,这样,即保证了RST/VPD端有足够长的时间处于高电平,使单片机可靠复位,当手松开时,S2打开,UCC经R1给电容C不断充电,反相器输入端电位不断上升,RST/VPD端电压不断下降,当RST/VPD端电位下降到TTL电平时,单片机也就脱离了复位状态。
(3)复位电路的作用
复位电路的作用是使单片机初始化,即通过复位把单片机内部的各个部分恢复到预先已知的特定状态,使之成为编制程序、执行程序和调试程序的起点。
MCS-51单片机复位的作用是使控制信号和ALE设置为输入状态,即=1,ALE=1,并使CPU中的特殊功能寄存器处于如下表1所示的特定初始复位状态,如复位后,P0-P0输出高电平,SP指针重新赋值为07H,其他特殊功能寄存器和程序寄存器、PC均被清零。
表1
MCS-51系列8751单片机复位后内部寄存器的状态
复位对单片机内部RAM的状态没有影响,一般在冷启动情况下,内部RAM的内容是不确定的随机数,在热启动情况下,内部RAM的内容不会改变。
系统时钟是CPU形成系统控制信号的时间基准,协调8751各功能部件的正常逻辑运行,此8751单片机的时钟是由时钟电路产生的,其端子共有两个:
XATL1(19端子)是其芯片内部振荡电路(单极反相放大器)的输入端;
XATL2(18端子)是其芯片内部振荡电路(单极反相放大器)的输出端,MCS-51系列单片机的系统时钟可由内部时钟和外部时钟两种方式产生。
(1)内时钟方式
此MCS-51单片机内部时钟产生方式是利用芯片内部的单级反相器振荡电路在XTAL1和ATAL2两端子上外接定时元件产生自激振荡来形成系统时钟的。
用示波器在ATAL2端可
观察到所产生的系统时钟信号。
内部时钟产生方式的外接电路如右图3所示:
定时元件一般采用石英晶振(简称晶振)和电容组成并联谐振电路,这样在芯片内部便可产生与外加晶振同频率的振荡时钟信号,一般晶振频率可以在1.2MHz和12MHz之间任意选择,电容C1,C2可以在20-60pF之间任意选择,本单片机选择30pF,电容C1,C2对振荡频率可起微调作用,
外时钟方式
MCS-51系列单片机外部时钟产生方式是利用外部振荡器产生的振荡钟信号形成系统时钟的,如下图4所示.
外部振荡器的输出信号应接在XTAL1端子上,且XTAL2端子应接地,振荡信号的频率应低于12MHz,由于XTAL1端子的电平不是TTL电平,故应接上一位拉电阻,该时钟产生方式仅在整个单片机系统已有时钟源或者为了取得时钟上的同步时才使用。
第三章内部结构及资源分配
3.1使用单片机的内部结构
(1)8751单片机的主要功能特点;
l
8位CPU
51系列的单片机片内RAM为128字节(包括8751)
片内有4KEPROM
有2个优先级的5个中断源结构
有4个输入/输出接口(P0,P1,P2,P3均为8位并行口)
有2个16位定时/计数器
布尔处理器
(2)单片机的结构组成
MCS-51系列单片机的内部组成及结构框图如下图5所示.
3.2
ADC0832内部结构及配置
完成D/A转换或A/D转换的线路有多种,特别是单片大规模集成A/D、D/A问世,为实现这种转换提供了极大的方便。
借助手册提供的器件性能指标及典型应用电路,即可正确使用这些器件。
本设计将采用大规模集成电路DAC0832实现D/A转换。
(一)
D/A转换器DAC0832
DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
如图6所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。
运算放大器输出的模拟量V0为:
由上式可见,输出的模拟量与输入的数字量(DR-1.2R-1+A+D0.20)成正比,这就实现了从数字量到模拟量的转换。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。
输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
图7是DAC0832的逻辑框图和引脚排列。
D0-D7:
数字信号输入端。
ILE:
输入寄存器允许,高电平有效。
CS:
片选信号,低电平有效。
WR1:
写信号1,低电平有效
图6单片直流输出型8位数/模转换器
XFER:
传送控制信号,低电平有效。
WR2:
写信号2,低电平有效。
IOUT1、IOUT2:
DAC电流输出端。
Rfb:
是集成在片内的外接运放的反馈电阻。
图7
DAC0832的逻辑框图和引脚排列
Vref:
基准电压(-10-+10V)。
Vcc:
是源电压(+5-+15V)。
AGND:
模拟地NGND:
数字地,可与AGND接在一起使用。
DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。
IN0-IN7:
8路模拟信号输入端。
A1、A2、A0:
地址输入端。
ALE地址锁存允许输入信号,在此脚施加正脉冲,上升沿有效,此时锁存地址码,从而选通相应的模拟信号通道,以便进行A/D转换。
START:
启动信号输入端,应在此脚施加正脉冲,当上升沿到达时,内部逐次逼近寄存器复位,在下降沿到达后,开始A/D转换过程。
EOC:
转换结束输出信号(转换接受标志),高电平有效。
OE:
输入允许信号,高电平有效。
CLOCK(CP):
时钟信号输入端,外接时钟频率一般为640kHz。
+5V单电源供电。
、
Vref(+),Vref(-):
基准电压的正极、负极。
一般Vref(+)接+5V电源,Vref(-)接
地。
D7-D0:
数字信号输出端。
由A2、A1、A0三地址输入端选通8路模拟信号
中的任何一路进行A/D转换。
第四章
编写程序及简易分析
系统软件包括延时子程序在内的波形发生程序组成,采用查询方式扩展中断源控制程序产生的波形,根据图1中的外围设置结构图,编写参考程序如下:
ORG
0013H
LJMP
EXINT
ORG
100H
EXINT:
ORL
P1,
#0FH
;
P1口低4位为输出
JB
P1.0,
SERV1
选择锯齿波
P1.1,
SERV2
选择三角波
P1.2,
SERV3
选择矩形波
P1.3,
SERV4
选择正弦波
RETI
中断返回
SETV1:
MOV
A,
#00H
初始化
R3,
#0FEH
DPTR,
#7FFFH
取入口地址
MM:
MOVX
@DPTR,
A
送转换
INC
A
LCALL
LOOP2
决定波形坡度
DJNZ
MM
判断转移
SJMP
SERV2:
MOV
DPTR,
SS1:
决定波形坡度
SS2:
CJNE
A,
#0FFH,
SS1
判断波形是否达到峰值
SS3:
DEC
A
波形开始下降
LCALL
JNZ
SS3
判断波形是否达到谷值
SJMP
EXINT
产生下一个周期
SERV3:
取入口地址
MOVX
LOOP1
调用子程序
#0FFH
调用子程序
EXINT
产生下个周期波形
SERV4:
R5,
#0FEH
置偏移量
SIN:
R5
#500H
从表格中取数
MOVC
@A+DPTR
送入寄存器中
@DPTR,A
LOOP2
;
偏移量加一
A,#0D9H,
SIN
500H
正弦波表格
DB:
80H,83H,86H,89H,8AH,8DH,90H,93H,96H,99H,9EH,0A2H,0A5H,0A8H,
0ABH,0AEH
0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H,0C7H,0CAH,0CCH,0CFH,0D1H,
0D4H,0D6H,0D8H
0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H,0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H
0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH,0FDH,0FEH,0FFH,0FFH,
0FFH,0FFH,0FFH,0FFH
0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FDH,0FDH,0FCH,0FBH,0FAH,0F9H,
0F8H,0F7H,0F6H
0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH,0E9H,0E7H,0E5H,0E3H,
0E1H,0DFH,0DDH,0DAH
0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H,0C5H,0C2H,0BFH,0BCH,
0BAH,0BFH,0B4H,0B1H
0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H,96H,93H,90H,8DH,89H,86H,83H,
80H
DB:
80H,7CH,79H,76H,72H,6FH,6CH,69H,66H,63H,60H,5DH,5AH,57H,55H,51H
4EH,4CH,48H,45H,43H,40H,3DH,3AH,38H,35H,33H,30H,2EH,2BH,29H,27H
25H,22H,20H,1EH,1CH,1AH,18H,16H,15H,13H,11H,10H,0EH,0DH,0BH,0AH
09H,08H,07H,06H,05H,04H,03H,02H,02H,01H,00H,00H,00H,00H,00H,00H
00H,00H,00H,00H,00H,00H,01H,02H,02H,03H,04H,05H,06H,07H,08H,09H
DB;
0AH,0BH,0DH,0FH,10H,11H,13H,15H
RETI
LOOP1:
R7,
#14H
装入计数初值
DEL1:
R6,
#7BH
装单循环延时值
NOP
DEL2:
DEL2
2×
123+2=248us
DEL1
(248+2)×
20+1=5.001ms
RET
LOOP2:
#0AH
DEL3:
R4,
DEL4:
DEL4
DEL3
(248+2)×
10+1=2.5001ms
END
该参考程序是由图1外围设置的硬件所决定的全部程序使用2个子程序,即LOOP1,LOOP2。
LOOP1延时5ms,LOOP2延时2.5ms,在矩形波中即做占空比调节,又可控制其周期,LOOP2用于SERV1,SERV2,SERV4均作调节频率(周期)之用。
LOOP1,LOOP2延时子程序,均采用多循环延时子程序设定,因硬件使用12MHz晶振,故不难得出延时时间。
第五章与同类型波形发生器作比较
实用的PSW电路的实质就是一个方波周期一定占空比可调电路。
它的基本工作原理是将一个频率一定的锯齿波形与一个直流控制电压在比较器上进行比较,当直流控制电压改变时,输出占空比就跟随改变。
在没有专用PMW电路的情况下,可以使用以下介绍的电路。
1、使用双比较器构成的占空比可调电路
图8上半部分是双比较器构成的占空比可调电路,电路使用一片双比较器,比较器
(1)为一个方波振荡器,在其振荡电容上引出锯齿波送到比较器
(2)的反相输入端,比较器
(2)的同相输入端控制电压,调节RP即可调节输出的占空比(即输出脉宽)。
占空比越大;
反之,脉宽变窄,占空比变小,而输出频率由锯齿波的频率决定。
2、使用555定时器的占空比可调电路
电路如图9所示,此图为一个555定时器构成的典型的多谐振荡电路,为使占空比可调加入了二极管D,由图可知,电容C的充电回路经RP1→D→C,放电回路经C→RP2→555的⑦脚。
其占空比如下:
q(%)=RP1/RP×
100%
调节RP即可调节输出脉宽。
可同时产生访波、正弦波、三角波、负向锯齿波和正向锯齿波,除正弦波形不太理想外,其它波形较好。
可供学生做试验,也比较适用于数字脉冲电路试验。
图10中A1组成的是比较器,A2组成的是反向积分器,A1,A2又共同组成正反馈电路,形成自激振荡器,A1输出为正负对称的方波,其输出电压由RW分压后作为A2的反向端输入电压,经A2积分运算后,输出为三角波。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 制作 信号发生器
![提示](https://static.bdocx.com/images/bang_tan.gif)