简易信号发生器设计报告
课题名称:简易信号发生器的设计报告
学生姓名: 肖飞
学生学号: 081601001 学生班级: 电子Q0841 同组姓名:
指导老师: 刘老师 所属院系: 电子工程系 设计时间:
1
目 录
1.实验名称与要求……………………………......................................................
1.1简易低频信号发生器……………………………………………………..
2.实验方案与实验线路原理……………………………………………………...
2.1实验方案…………………………………………………………………
2.2实验原理图………………………………………………………………..
3.硬件模块说明…………………………………………………………………...
3.189C51单片机的功能……………………………………………………...
3.2DAC功能介绍……………………………………………………………
4.软件设计与说明………………………………………………………………...
5.调试结果 必要的调试说明与问题讨论……………………………………….
6.心得体会………………………………………………………………………...
7.参考文献………………………………………………………………………...
2
一、实验名称、要求
简易低频信号发生器
设计一个D/A转换器接口电路,实现低频信号发生器的功能,能输出0.1~50HZ正弦波、三角波、和方波等周期信号,并具有以下功能:
通过按键选择3—6种波形的输出,并用数码管显示相应的波形标号。 系统在初始时轮流输出三种波形,并轮流显示。
二、实验方案与实验线路原理
2.1实验方案
本次课程设计产生一个低频信号发生器,使用单片机作为控制器,用中断查表发完成波形数据的输出,再用DA转换器输出对应的波形,在单片机的IO口接4个开关来选择波形输出,在IO口接数码管来显示对应的波形序号,一直对开关的状态进行查询,初始轮流显示三种波形
3
2.2实验线路原理图
三、硬件模块说明
89C51单片机的功能:
MCS单片机都采用40引脚的双列直插封装方式。 40条引脚说明如下:1、主电源引脚Vss和Vcc
2、外接晶振引脚XTAL1和XTAL2
① XTAL1内部振荡电路反相放大器的输入
1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXD P3.0TXD P3.1T0 P3.4T1 P3.5XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.74 P2.6P2.5P2.4P2.3P2.2P2.1P2.0408031 8051 8751
端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。
② XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。
3、控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp① RST/VPD 当振荡器运行时,在此引脚上出现两个机器周期的高电平② ALE/PROG 正常操作时为ALE功能(允许地址锁存)提供把地
1
址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的6)周期性地发出正脉冲信号。③ PSEN 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,PSEN在每个机器周期内两次有效。④ EA/Vpp 、 EA/Vpp为内部程序存储器和外部程序存储器选择端。当EA/Vpp为高电平时,访问内部程序存储器,当EA/Vpp 为低电平时,则访问外部程序存储器。
4、输入/输出引脚P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。
① P0口(P0.0 - P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。
② P1口(P1.0 - P1.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。。
③ P2口(P2.0 - P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。
④ P3口(P3.0 - P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载
DAC功能介绍
DAC0832芯片是一种具有两个输入数据寄存器的8位DAC,它能直接与MCS51单片机接口,它有三种数据输入形式,单缓冲、双缓冲,直通。双缓冲方式:即数据经过双重缓冲后再送入D/A转换电路,执行两次写操作才能完成一次D/A转换。这种方式可在D/A转换的同时,进行下一个数据的输入,可 5
提高转换速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片DAC0832组成模拟输出系统,每片对应一个模拟量。 本次实验我们用的是双缓冲形式。
四、软件设计与说明(包括流程图)
系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。主程序和几种常用波形子程序的流程图如图所示。
图 4-1 主程序流程图
6
图 4-2 锯齿波流程图
7
图 4-3 三角波流程图
图 4-4 方波流程图
8
图 4-5 正弦波流程图
五、调试结果、必要的调试说明与问题讨论
首先我们进行了系统仿真,均没有错误,但是在硬件连接上遇到了很多问题,对单片机的好多接口功能不是太熟悉,开始考虑要不要用273来实现拓展,进而来控制显示管的输入代码,后来经过老师的讲解,觉得直接用8255控制代码输入比较实用,所以连接硬件很顺利,数码管显示一般都没问题,主要是DA能不能实现模数转换功能,由于实验室条件有限,好多试验台的DA芯片均不能正常工作,我们只能通过万用表来测试DA的好坏,首先,需要编一个简单的小程序(如下所示),通过用万用表测量输出端的电压来来验证D/A的好坏,
ORG 0000H
MOV DPTR,#0CFA0H
MOV A,#00H
L1: MOVX @DPTR,A
ADD A,#10H
SJMP L1
END
我们终于找到一个试验台上的DA芯片能正常工作,所以当我们把程序整体输入,编译运行后,就能看到示波器显示波形,初始轮流显示四种波形,按下某个开关后,便显示相应的波形,所以调试基本成功。
我觉得在调试过程中,首要的是测试各个芯片是否能正常工作,对各个芯片的功能熟悉,正确的使用器件来进行测试,当然也可以用巧妙的程序来辅助。
六、心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.
回顾起此次课程设计,至今我仍感慨颇多,,我学到很多很多的东西,同 9
时巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,比如编程问题,硬件的连接,怎样去调试,怎么去测试芯片能否正常工作,怎样是程序编的简洁易懂,且包含了所需的功能。
我对单片机只是理解得不够深刻,掌握得不够牢固,好多都得请教老师和同学,路漫漫其修远兮,吾将上下而求索,学海无涯苦作舟,通过这次课程设计之后,我一定要努力的学好专业知识,多去实践,把知识化为财富,而且经常重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多程序问题,查阅了好多资料,请教了同学,终于游逆而解。正所谓三人行,则必有我师,我学得到很多实用的知识,同时,我也知道在大学里,好多的知识都是靠自己学习,领悟,并融会贯通,这是作为一个大学生应有的基本能力,世界日新月异,我们要时时刻刻保持学习的心态,孜孜不倦的学习。
七、参考文献
1、赵国相,于秀峰.微型计算机原理及接口技术. 北京:科学出版社,2004.4
2、张有德,赵志英,涂时亮.单片微型机原理、应用与实验.上海:复旦大学出版社,1994.6
3、王迎旭. 单片机原理与应用. 机械工业出版社
4、周向红、刘国繁. 51系列单片机应用与实践教程. 北京航空航天大学出版社
10
附录A 程序清单 ORG 0000H LJMP START ORG 4100H
PORT EQU 0CFA0H START: MOV R3,#0FH SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3
JNB P1.0,LXP0 JNB P1.1,LXP1 JNB P1.2,LXP2 JNB P1.3,LXP4 WAIT: DJNZ R3,WAIT AJMP MOTOP LXP0: LCALL PRG1 LJMP START LXP1: LCALL PRG2 LJMP START LXP2: LCALL PRG3 LJMP START LXP4: LCALL PRG4 LJMP START MOTOP: LCALL PRG1
11
NOP
LCALL PRG2 NOP
LCALL PRG3 NOP
LCALL PRG4 NOP
LCALL PRG4 NOP
LJMP START PRG1: MOV R1,#2
MOV DPTR,#0CFABH MOV A,#80H MOVX @DPTR,A
MOV DPTR,#0CFA8H MOV A,#06H MOVX @DPTR,A
MOV DPTR,#0CFA9H MOV A,#02H MOVX @DPTR,A PG1: MOV DPTR,#PORT MOV R2,#255 LOOP: MOV A,#00H
LOOP1: MOV DPTR,#PORT MOVX @DPTR,A
12
INC DPTR
MOVX @DPTR,A INC A
CJNE A,#0FFH,LOOP1 DJNZ R2,LOOP DJNZ R1,PG1 SETB P1.0
RET
PRG2: MOV R1,#4
MOV DPTR,#0CFABH MOV A,#80H MOVX @DPTR,A
MOV DPTR,#0CFA8H MOV A,#5BH MOVX @DPTR,A
MOV DPTR,#0CFA9H MOV A,#02H MOVX @DPTR,A PG2: MOV A,#00H
MOV R2,#255
LOOP0: MOV DPTR,#0CFA0H MOVX @DPTR,A INC DPTR
MOVX @DPTR,A INC A
13
CJNE A,#0FFH,LOOP0 LOOP01:MOV DPTR,#0CFA0H MOVX @DPTR,A INC DPTR
MOVX @DPTR,A DEC A
CJNE A,#00H,LOOP01 DJNZ R2,LOOP0 DJNZ R1,PG2 SETB P1.1
RET
PRG3: MOV R1,#5
MOV DPTR,#0CFABH MOV A,#80H MOVX @DPTR,A
MOV DPTR,#0CFA8H MOV A,#4FH MOVX @DPTR,A
MOV DPTR,#0CFA9H MOV A,#02H MOVX @DPTR,A PG3: MOV R2,#255 LP1: MOV DPTR,#PORT MOV A,#0FFH MOVX @DPTR,A
14
INC DPTR
MOVX @DPTR,A LCALL DELAY LP2: MOV DPTR,#PORT MOV A,#00H MOVX @DPTR,A INC DPTR
MOVX @DPTR,A LCALL DELAY DJNZ R2,LP1 DJNZ R1,PG3 SETB P1.2 RET
DELAY: MOV R4,#1FH LP3: MOV R5,#0FH LP4: DJNZ R5,LP4 DJNZ R4,LP3 RET
PRG4: MOV R1,#0FFH
MOV DPTR,#0CFABH MOV A,#80H MOVX @DPTR,A
MOV DPTR,#0CFA8H MOV A,#66H MOVX @DPTR,A
15
MOV DPTR,#0CFA9H
MOV A,#02H
MOVX @DPTR,A
LPG0: MOV DPTR,#TAB
MOV R5,#0FFH
MOV R7,#00H
LPG1: MOV R3,DPH
MOV R4,DPL
MOV A, R7
MOVC A,@A+DPTR
MOV DPTR,#PORT
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
MOV DPH,R3
MOV DPL,R4
INC R7
DJNZ R5,LPG1
DJNZ R1,LPG0
RET
TAB: DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H
16
DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H DB 96H,93H,90H,8DH,89H,86H,83H,80H DB 80H,7CH,79H,76H,72H,6FH,6CH,69H DB 66H,63H,60H,5DH,5AH,57H,55H,51H DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH DB 38H,35H,33H,30H,2EH,2BH,29H,27H DB 25H,22H,20H,1EH,1CH,1AH,18H,16H DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH DB 09H,8H,7H,6H,5H,4H,3H,2H
DB 02H,1H,0H,0H,0H,0H,0H,0H
DB 00H,0H,0H,0H,0H,0H,1H,2H
DB 02H,3H,4H,5H,6H,7H,8H,9H
DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H DB 16H,18H,1AH,1CH,1EH,20H,22H,25H DB 27H,29H,2BH,2EH,30H,33H,35H,38H DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH
17
END DB 51H,51H,55H,57H,5AH,5DH,60H,63H DB 69H,6CH,6FH,72H,76H,79H,7CH,80H
18
信号发生器F组组长组员20xx年8月12日星期一目录1系统方案411系统方案论证与选择412方案描述42理论分析与计算53电路与程…
一实验标题函数信号发生实验二实验目的1了解单片集成函数信号发生器ICL8038的功能及特点2掌握ICL8038的应用方法三实验仪器…
信号发生器一、实验目的1、掌握集成运算放大器的使用方法,加深对集成运算放大器工作原理的理解。2、掌握用运算放大器构成波形发生器的设…
电子电路综合设计实验班级20xx211108姓名范灵均学号09210238小班序号26实验一函数信号发生器的设计与调测课题名称函数…
专业:班级:学号:姓名:实验时间:实验目的1、学会数字合成函数信号发生器常用功能的设置、使用;2、会从函数信号发生器胡频率计上读出…
专业:班级:学号:姓名:实验时间:实验目的1、学会数字合成函数信号发生器常用功能的设置、使用;2、会从函数信号发生器胡频率计上读出…
简易信号发生器摘要函数发生器是一种在科研和生产中经常用到的基本波形产生器集成函数波形发生器一般都采用ICL8038或5G8038而…
摘要信号发生器一般指能自动产生正弦波方波三角波电压波形的电路或者仪器电路形式可以采用由运放及分离元件构成现采用分立元件设计出能够产…
南昌大学实验报告学生姓名学号专业班级实验类型验证综合设计创新实验日期实验成绩实验二模拟信号发生器实训一实验目的1熟悉各种模拟信号的…
南昌大学实验报告学生姓名学号专业班级实验类型验证综合设计创新实验日期实验成绩实验三模拟信号发生器同步信号源一实验目的1熟悉同步模拟…
惠州学院HUIZHOUUNIVERSITY模电课程设计报告电子系课题名称专业名称学生班级10电信科技师范2班学生姓名学生学号100…