微机原理课程设计dac0832波形发生器Word下载.docx

上传人:b****6 文档编号:21729286 上传时间:2023-02-01 格式:DOCX 页数:14 大小:188.72KB
下载 相关 举报
微机原理课程设计dac0832波形发生器Word下载.docx_第1页
第1页 / 共14页
微机原理课程设计dac0832波形发生器Word下载.docx_第2页
第2页 / 共14页
微机原理课程设计dac0832波形发生器Word下载.docx_第3页
第3页 / 共14页
微机原理课程设计dac0832波形发生器Word下载.docx_第4页
第4页 / 共14页
微机原理课程设计dac0832波形发生器Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理课程设计dac0832波形发生器Word下载.docx

《微机原理课程设计dac0832波形发生器Word下载.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计dac0832波形发生器Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

微机原理课程设计dac0832波形发生器Word下载.docx

0为方波、1为阶梯波、2为锯齿波、3为三角波。

2.设计要求

波形输出幅值和频率不限(可根据需要考虑增加调频调幅功能),通过8255A进行按键选择。

3.设计内容

3.1系统方案的设计与选择:

(1)数字按键的实现可以通过8255的输入输出端口,定义方式0工作方式,C口低四位输入信号,B口输出信号,通过按键改变C口电平信号,使输入信号改变,并在在B口输出不同信号,在数码管上显示不同数字;

(2)波形的产生则使用8086与DAC0832连接,通过8086给DAC0832输入不同数字信号,在DAC0832的输出端输出波形,波形的观察使用一个放大器连接模拟示波器显示。

3.2系统框图:

3.3系统基本介绍:

此方案是通过并行接口芯片8255A和8086计算机的硬件连接,并通过8086控制DAC0832产生波形相应波形,通过8255A输出信号控制数码管显示不同数字。

8255A的C端口有四个按键,按下相应的按键,使输入低电平。

1 按下第一个按键显示数字0,在示波器上产生方波;

2 按下第二个按键显示数字1,产生阶梯波;

3 按下第三个按键显示数字3,产生锯齿波;

4 按下第四个按键显示数字4,产生三角波。

3.4模块功能介绍:

8255A:

D0~D7口与8086数据端连接,PB0~PB6与七段共阴极数码管相连接以显

示数字,PC0~PC4连接四个按键,实现输入电平的改变。

A0、A1接地址

线A1、A2,CS端连接74ls138的片选端。

DAC0832:

DI0~DI7接8086的数据端CS接74LS138的片选端,Vref接输入电压,这里我

选用的是+5v电压,IOUT1、IOUT2接一个放大器与示波器,实现数字信号的

显示。

74LS138:

三八译码器,ABC分别接373的A3,A4,A5,使能端E1接A7,这几个地址

端共同参与地址译码,Y0接8255A的CS端,Y1接DAC0832的CS端。

74HC373:

三态锁存器,这里用来锁存地址,AD0~AD7分别接8086,A0~A7为地址信号。

8086:

16位微处理器芯片,AD0~AD15为地址/数据总线,分时复用,与373AD0~AD7相连

并作为数据端与DAC0832、8255A相连。

3.5程序流程图:

清屏子程序:

波形选择函数:

4.功能实现

电路图:

改变按键,写入不同数据,选择波形产生函数,并在PB口与数码管连

接,显示数字。

实现数字信号与模拟信号的转变,将8086通入的数字信号转换为模拟信号.

三八译码器,进行DAC0832与8255的片选。

三态锁存器,锁存地址信息。

16位微处理器芯片,进行数据的输入与读取,并进行地址编码

程序源代码:

DAC0832EQU88H;

DAC0832的编码地址

M8255_AEQU80H;

8255的A口地址

M8255_BEQU82H;

8255的B口地址

M8255_CEQU84H;

8255的C口地址

M8255_ZEQU86H;

8255的控制寄存器地址

;

主程序部分

STACKSEGMENTSTACK'

stack'

DW32DUP(0)

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

MOVDX,M8255_Z;

初始化8255工作方式

MOVAL,81H;

方式0,C口输入,B口输出

OUTDX,AL

STEP:

CALLCLEAR;

清屏

CALLBEGIN;

调用波形选择函数

JMPSTEP;

继续循环

----------------------------------------------------------------------------------------------

;

清理子程序

CLEARPROCNEAR

MOVDX,M8255_B;

清除显示内容

MOVAL,00H

RET

CLEARENDP

------------------------------------------------------------------------------------------------

判断输入数据,选择波形

BEGINPROCNEAR

MOVDX,M8255_C;

读c口输入数据

INAL,DX

CMPAL,0EH;

当按第一个键时显示0输出方波

JNEL1

MOVDX,M8255_B

MOVAL,3FH

CALLFANGBO;

调用方波子程序

L1:

CMPAL,0BH;

当按第三个键时显示3输出锯齿波

JNEL3

MOVAL,4FH

CALLDOG;

调用锯齿波子程序

L3:

CMPAL,0DH;

当按第二个键时显示1输出阶梯波

JNEL4

MOVAL,06H

CALLCAT;

调用阶梯波子程序

L4:

CMPAL,07H;

当按第四个键时显示4输出三角波

JNEL5

MOVAL,66H

CALLSANJIAOBO;

调用三角波子程序

L5:

RET;

否则退出

BEGINENDP

方波信号产生程序

FANGBOPROCNEAR

F1:

MOVCX,0FFH

FB:

MOVDX,DAC0832

MOVAL,0

LOOPFB;

形成一个延迟的信号

FB1:

MOVAL,0FFH

MOVDX,88H

LOOPFB1

判断按键是否改变

CMPAL,0EH

JEF1

JMPBEGIN

FANGBOENDP

锯齿波信号产生程序

DOGPROCNEAR

C1:

CMPAL,0BH

JECB

CB:

LLL:

INCAL

CMPAL,0FFH;

判断是否到顶

JEC1

JMPLLL

DOGENDP

阶梯波信号产生程序

CATPROCNEAR

D1:

CMPAL,0DH

JED2

D2:

D3:

MOVDX,DAC0832

MOVCX,33H

D4:

LOOPD4

JED1

ADDAL,33H;

每次信号AL加33H,即每阶梯加1V

JMPD3

CATENDP

三角波信号产生程序

SANJIAOBOPROCNEAR

B1:

CMPAL,07H

JEB2

B2:

判断是否到顶,到顶跳转

JEB3

JMPB2

B3:

DECAL

JEB1;

到0转移,重新开始

JMPB3

SANJIAOBOENDP

子程序结束

CODEENDS

ENDSTART

5.总结

这次的微机课程设计让我真正认识到实际操作与书本知识的不同。

1、首先要注意编码的严谨性,开始自定义的锯齿波阶梯波简略为JCB,JTB在实际过程中却发现这些不能作为目的标号,导致编译失败;

2、其次是选片问题,最开始使用的是80H到83H作为ABC及控制字端口的地址,但是却怎么也选不上,通过微机实验报告书发现书上使用的是62、64、66等偶地址,改用偶地址后便实现了成功的片选。

3、在初次编程时什么都没注意,编译有十几处的服务错误,自己按行依次修改的。

4、三角波仿真与阶梯波仿真时进入了死循环导致无法出现波形,查找之后改变了反悔的地址。

尽管出现了各种问题,最后还是成功完成了这次课程设计,经历了辛苦做出来的东西才会对所学知识更加熟悉,以后的设计相信也会更加顺利。

6.参考文献

[1]朱定华,微机原理、汇编与接口技术,清华大学出版社,2005

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1