波形发生器按键控制波形课程设计Word下载.docx
《波形发生器按键控制波形课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《波形发生器按键控制波形课程设计Word下载.docx(11页珍藏版)》请在冰点文库上搜索。
2.8086CPU
8086CPU主要用于产生数字信号。
设计思路:
通过DAC0832的数模转化功能实现将离散信号转化为模拟信号,然后利用扫描法实现按键控制。
(三)设计方法——硬件设计,画出电路原理图及说明
各个模块及其连接说明:
主要分成两部分,输入部分和输出部分。
输入部分由8255和8个常开型开关来完成。
通过键盘输入数字赋给8086,然后根据8086的程序,调用不同的波形发生函数,输出离散信号给DAC0832进行数模转换。
(四)设计方法——软件设计,画出程序流程图及说明,源程序清单和注释
CODESEGMENT
ASSUMECS:
CODE
CONTROLequ43h
COUNT0equ40h
COUNT1equ41h
COUNT2equ42h
IOCONPTEQU0FF2BH;
扩展8255命令口
IOBPTEQU0FF29H;
扩展8255PB口
IOAPTEQU0FF28H;
扩展8255PA口
PAEQU0FF20H;
字位口
PBEQU0FF21H;
字形口
PCEQU0FF22H;
键入口
ORG18F0H
START:
JMPREDIKEY
BUFDB?
KZDB?
ltimedb?
;
定时单元
lkeydb?
ZPDW?
REDIKEY:
callDISKEY;
调用显示键扫
CMPKZ,01H
JZSTART1
CMPKZ,02H
JZSTART2
CMPKZ,03H
JZSTART3
JMPREDIKEY
START1:
产生锯齿波
MOVCX,100h
AGAIN1:
MOVDX,0FF80H
MOVAL,0FFH
DON1:
INCAL
OUTDX,AL
LOOPDON1
START2:
产生三角波
MOVCX,100H
AGAIN2:
DON2:
CMPAL,0FFH
JNZDON2
DAC:
DECAL
CMPAl,00H
JNZDAC
LOOPDON2
START3:
产生方波
AGAIN3:
DON3:
CALLDELAY
MOVAL,00H
LOOPDON3
DELAY:
PUSHCX方波的延时函数
MOVCX,100
X:
LOOPX
POPCX
RET
DISKEY:
callkey;
键扫子程序
movah,al;
newkey
movbl,ltime;
ltime
movbh,lkey;
lkey
moval,01h
movdx,PA;
0ff21h
outdx,al
cmpah,bh
movbh,ah;
bh=newkey
movah,bl;
al=time
jzdisk4
movbl,88h
movah,88h
disk4:
decah
cmpah,82h
jzdisk6
cmpah,0eh
cmpah,00h
jzdisk5
movah,20h
decbl
jmpdisk7
disk5:
movah,0fh
disk6:
movbl,ah
movah,bh
disk7:
movltime,bl
movlkey,bh
movKZ,bh
moval,ah
ret
key:
moval,0ffh
movdx,PB
movbl,00h
movah,0feh
movcx,08h
key1:
moval,ah
movdx,PA
rolal,01h
movah,al
nop
movdx,PC
inal,dx
notal
andal,0fh
jnzkey2
incbl
loopkey1
jmpnkey
key2:
testal,01h
jekey3
moval,00h
jmpkey6
key3:
testal,02h
jekey4
moval,08h
key4:
testal,04h
jekey5
moval,10h
key5:
testal,08h
jenkey
moval,18h
key6:
addal,bl
cmpal,10h
jncfkey
movbl,al
movbh,0h
movsi,offsetdata2
moval,[bx+si]
ret
nkey:
moval,20h
fkey:
data2:
db07h,04h,08h,05h,09h,06h,0ah,0bh
DB01h,00h,02h,0fh,03h,0eh,0ch,0dh
CODEENDS
ENDSTART
(五)系统调试
1.使用的主要仪器和仪表
试验箱,示波器,计算机,
⒈0832片选信号CS5插孔和译码输出FF80H插孔相连。
2运行实验程序
3用示波器测量0832左侧AOUT插孔,按1产生锯齿波,按2产生三角波,按3产生方波。
(1)
锯齿波
(2)
三角波
(3)
方波
4调试中出现的故障、原因及排除方法
故障:
1.方波子函数无法跳出,原因是CX重复使用,应该要入栈出栈。
2.离散信号采样太过于密集,示波器无法显示。
3.主函数与子函数不能相配,函数调用的不对。
4.遇到未定义的变量。
(六)设计结论
D/A转换器将从CPU得到的数字量转化成模拟量输出。
输出的模拟量严格的说不是连续的,而是以D/A转换器的绝对分辨率为量化单位进行变化的D/A转换器的绝对分辨率由数字量的位数决,位数越多,分辨率越高。
(七)收获和体会
开始的时候由于没有经验,不知如何下手,所以就上网搜了很多关于波形发生器的资料,并翻阅了一些相关书籍。
我们小组经过此课程设计我们积累了一点设计经验,最后成功运行出结果的时候也有些小小的成就感。