简易信号发生器报告

简易信号发生器设计报告

课题名称:简易信号发生器的设计报告

学生姓名: 肖飞

学生学号: 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

相关推荐