ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:166.56KB ,
资源ID:21215974      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21215974.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(任意波形发生Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

任意波形发生Word下载.docx

1、输出。输出的最大幅度要达到5V,最小幅度为0V。4、在输出波形的同时可以用数字按键输入波形的频率。频率的范围自己设定。二、电路原理分析(1)键值读取的方法:键值的得到可以用扫描法得到。各个键的键值:键名(行码)Y2 Y1 Y0(列码)RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL011012345670111111181019ABCDEF.011,-+:REG读出的键值分别存在两个字节中,一字节行码,一字节列码。如果测出是第1和第2行的键按下,就调用数字键处理程序子程序。在数字键处理程序中,将列码向右位(用SAR指令),每移一次计数一次,移出的是0,就停止计数。这个计数值就是键值

2、,如0的行码中,最右边的一位就是0,所以计数值应是0。子程序返回键值。可以得到键上的数字。注意第2行的键值比第1行多了8,要记得加上。第3行的键,可以用来做功能键,如果测出是第3行键,可调用另一个功能键子程序,在子程序中可以采用跳跃表的方法转向各键的处理程序。可以先预留出各个功能键的分支,在分支的标号后面加一条RET指令,待需要时再加上相应的键处理子程序。(2)电路图 D/A转换模块电路连线情况: PA0-PA7 接到 RL0-RL7 八列键的列值。 PC0, PC1, PC2接到 Y0 Y2 Y3 三行键的行码。 PB0-PB7 接到 DL1-DL8,显示数/模转换的数值。三、 设计方案及分

3、析(1) 随机用键盘输入波形数据,通过AD转换把数值数字显示在数码管上显示出,并将数值保存在预先划定的内存空间,以便后面使用。功能键设置方面:当检测到键值为19时,数码管显示下一个保存值,为18时显示前一个数值,若是17则进行数模转换,在示波器上输出波形,当按下键17时从之前保存的数值取出更改输出波形的频率。(2)程序框图 主程序:键扫描:键盘扫描有键按下? 设置行号cl=0ffh判断该行有键按下?保存键值判断三行扫完?消抖初始化功能键:四、 源程序 data segmentdata1 db 1,2data2 db 30 dup(?)data3 db 0data endscode segmen

4、t assume cs:code porta equ 200h portb equ 201h portc equ 202h pctrl equ 203hstart: mov al,90h ;设置工作方式零,A端口输入,B,C端口输出 mov dx,pctrl out dx,al ;设置完成 mov ch,0 ;判断是第几次按键 mov si,0 ;si初始化 mov di,0 ;指针初始化key: mov dx,portc ; mov al,00h使所有行线为零 mov dx,porta ;通过A端口读入列值 in al,dx cmp al,0ffh ;判断有无按键按下 jz key ;没有,

5、则继续扫描判断 mov bx,0ffh dey: dec bx ;延时消抖 jnz dey in al,dx ;重新判断来确定有无按键按下 cmp al,0ffh jz key mov cl,0feh ;设置行号x0: mov dx,portc mov al,cl out dx,al扫描该行有无按键按下,有则将列值保存到al jnz x2x1: rol cl,1 ;判断三行是否扫描完,是,则保存键的位置;否,则继续扫描 jc x0 jmp keyx2: mov ah,cl ;保存行值到ah中 cmp ch,1 jz k0 ;若是第二次按键,则跳转,不是,则向下进行 inc ch ;ch自增1

6、call switch ;键值转换 cmp al,19 jz next ; cmp al,17 ;判断按下值是否为17 jz m1 ;是则进行跳转延续,进行数摸转换 cmp al,18 ;功能键显示替换前一个数值 jz back1 cmp al,16 ;输出频率按键 jz pl not al读出A口将键值保存起来 mov cl,4 rol al,cl ;将按键值左移4位 push ax ;将按键值压栈保护 freekey:按键释放处理 mov dx,porta jmp freekeym1: jmp sm1k0:归零 call switch cmp al,19 ;显示下一个数值键,比较按下键值是

7、否等于19是则跳转判断是否显示上一个数值 jz back jz sm1 ;频率按键 mov dl,al pop ax add al,dl ;键值组装 mov dx,portb ; out dx,al push bxsavedata:mov bx,offset data2 ;存入数据调用单元data2 not al mov bx+si,al inc si cmp si,30 ;指针超过则清零 jz si0 pop bx x3: jmp freekey ;二次按键释放处理si0: mov si,0 jmp x3back1: jmp back pl: mov bx,offset data2 dec

8、si mov al,bx+si mov data3,alnext: ;显示后一个值 push bx mov dx,portb pop bx call delay65back: push bx ;显示前一个值 jmp key sm1: mov bx,offset data2 mov al,bx+di call dac ;调用数摸转换子程序 call delay inc di cmp di,30 jz m2 jmp sm1 m2:switch proc near ;键值转化子程序 mov bl,-1s1: inc bl ror al,1 jc s1s2: ror ah,1 jnc s3 add b

9、l,8 jmp s2s3: mov al,bl ret switch endpdelay65 PROC NEAR ;延时650ms子程序 push cx mov cx,65500L: nop nop loop L pop cx ret delay65 ENDP delay proc near mov al,data3 delay1: dec al cmp al,0 jnz delay1 ret delay endp dac proc near mov dx,208h dac endpcode endsend start五、 总结1、 跳转指令无效。解决:由于跳转范围太远无法,需在适当位置加一中转点进行接力

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

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