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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

东南大学微机实验综合课程设计.docx

1、东南大学微机实验综合课程设计 东南大学自动化学院微机实验及课程设计报告参数可调波形发生器姓 名: 学 号: 专 业: 实 验 室: 组 别: 同组人员: 设计时间: 评定成绩: 审阅教师: 一设计目的和要求-3二原理设计-4三方案论证与实现-6四设计思路及流程图-7五编程实现-10六方案测试与结果分析-18六改进与提高-19七分析与总结-19一、设计要求 1)基本要求 编制1 个参数在线可调的波形发生程序,由DA 输出,构成参数在线可调的波形发生器,并用示波器观察波形。函数波形可选f(t)=asin(bt),其中、参数在线可调(也可自己选择,但要求至少2 个参数可调且调节很明显)。参数调节采用

2、如下两种方式之一:(1)两个可调电位器输出通过AD 转换后作为可调参数;(2)参数通过实验装置上的键盘实时修改(调整);(3)精确时间,开关选择标准信号输出(例如a=2V, b=100RAD/s,即50Hz 正弦波)。2)设计提示(1)当用电位器调节参数时,输出零不能对应相应的参数值就为零;(2)当通过键盘修改参数时,先键入参数名如“”,显示当前参数值,修改后再键入参数名,则修改参数完成,随后输出波形发生变化。3)进一步设计要求 (1)分别采用两种参数调节方式在线调节参数;(2)产生周期性三次可调函数f(t)=at3+bt2+ct+d。二、原理设计方案1 参数通过实验装置上的键盘实时修改 运行

3、程序后,程序首先显示一段字符串,提示输入相应的数字会得到不同的波形输出。从键盘上敲入1后,程序会跳转到参数可调的正弦波发生器代码区域。之后,显示输入可调参数a(0255)、b(0255)的信息。输入a后,波形的幅度会发生相应的变化;输入b后,波形的频率会发生相应的变化。从键盘上敲入0后,退出程序。通过检测开关的状态,判断输出标准正弦波还是a,b值所对应的波形。程序中的主要部分功能原理如下:(1)程序中的a、b参数的输入 采用百位、十位、个位数字逐个读入的方法。输入百位数字以后,由于a、b的取值范围在000255之间、故要判断输入的数字是否小于0,大于2,若小于0或大于2,则重新输入。输入的数若

4、在02之间,将输入的数减去30h,有ASCII码值变为相应的数字,再将此数乘以100后存入c。输入十位数字后,判断输入的数字是否小于0,大于9,若小于0或大于9,则重新输入。输入的数若在09之间,将输入的数减去30h,有ASCII码值变为相应的数字,再将此数乘以10后存入d。输入个位数字后,判断输入的数字是否小于0,大于9,若小于0或大于9,则重新输入。输入的数若在09之间,将输入的数减去30h,有ASCII码值变为相应的数字,并将之存入e。 之后对c、d和e求和,从而得到a的值。同样的可以得到b的值。(2)正弦波幅度的改变实验中所用的8位D/A转换器DAC0832的输入数据与输出电压的关系为

5、: (表示参考电压,N表示输入数据)。产生正弦波是根据正弦函数建立一个正弦数字量表,取值范围为一个周期,此正弦数据表的输出幅度为5V。读取一个正弦数据表中的数据后,将此数据乘以a后再除以255,这样就相当于将输出正弦波的幅度变为原来的a/255倍。(3)正弦波频率的改变 正弦波频率的改变是通过改变读取正弦数据表中的两个相邻数据的时间间隔实现的。输入的数据b加上10表示应调用的延时子程序的次数,设延时子程序的延时时间为t,那么读取正弦数据表中的两个相邻数据的时间间隔为b*t。方案2 两个可调电位器输出通过AD 转换后作为可调参数先读正弦波数据的首地址和一周期取值数,然后按偏移值取出正弦波数据。启

6、动ADC0809模/数转换器,读入IN0的值(IN0的值可以通过调节滑动变阻器1来实现),将取出的正弦波数据乘以此数据除以255,再将得到的数据赋值给DAC0832,调用延时子程序,之后将数据表偏移量加一,一周期剩余取值数减一。判断一周期内取值是否结束,若没有结束则继续按偏移值取出正弦波数据,若结束则返回到读正弦波数据的首地址和一周期取值数。 三、方案论证与实现针对设计思路,我们用到的硬件资源有:、0832、8255、1个LED灯和1个逻辑电平开关、0809和2个电位器。各个硬件的主要作用和工作方式如下:1)0832 根据键盘输入或者电位器调节得到的参数a、b,改变正弦波形数据表的数据,将得到

7、的新数据输出给DAC0832,用示波器观察双极性输出端Ub输出正弦波形。2)8255、1个LED灯与1个逻辑电平开关8255的C口接逻辑电平开关,作为输入,用来选择是否要输出标准正弦波形;A口接LED灯,作为输出,用来显示此时输出波形是否为标准正弦波形。3)0809和2个电位器通过实验台的两个电位器输出05V电压分别送入ADC0809的通道0和1(IN0、IN1),通过A/D转换,得到参数a和b。;CS_AD-2A0H,CS_DA-298H;V1-IN0,V2-IN1,Ub-示波器;C0-K1(开关),A0-LED灯ioport equ 0EC00H-0280h ;TPC的io地址adcs e

8、qu ioport+2A0h ;CS_AD,ADC0809片选地址adcs1 equ ioport+2A1hdacs equ ioport+298h ;CS_DA,DAC0809片选地址io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址io8255c equ ioport+28ah ;08255C口地四、设计思路及流程图原理设计清晰了我的设计思路,我将整个整个程序分为了五个部分,分别为主程序设计、参数调整子程序(键盘输入及电位器调节),调幅及调频子程序设计、正弦波输出子程序、延时子程序。1.主程序设计

9、:主要功能有1)控制整个程序的流程及程序跳转;2)通过检测开关的状态,判断输出标准正弦波还是当前a,b值所对应的波形;3)判断参数调节的方式是键盘输入还是电位器调节。2参数调整程序设计:略。(原理设计中已详细解释)3调幅及调频子程序设计:略。注:需要输出标准正弦波时,将相应的a,b值修改,并保存之前的a,b值。4正弦波输出子程序设计:正弦波输出子程序的主要功能有:1)读取正弦波数据表的数据并利用数模转换显示;2)每显示一次数据后需要调用延时子程序;3)数据表偏移地址加1,读取下一数据,重复以上步骤。5延时子程序设计:延时子程序的主要功能有:1)通过b值的改变得到相应的第一层延时参数; 2)延时

10、子程序内嵌套第二层延时程序;延时部分主要流程:延时程序涉及到嵌套延时,loop指令根据CX的值是否为0确定是否接着执行此指令,因而需要用到两次CX,且相互之间不能影响,因而先将外层CX堆栈(b值不同则外层延时的CX不同),给内层CX赋值(1FFH,此值不能改变),执行lOOP指令,直到CX=0;然后将外层CX弹出减1后堆栈;接着执行内层延时,重复上述步骤,直到外层CX=0。四、编程实现1、主程序设计message1 db 0dh,0ah,0dh,0ah db PRESS 1 FOR SINWAVE MODIFIY WITH THE PC KEYBOARD.,0dh,0ah db PRESS 2

11、 FOR SINWAVE MODIFIY WITH THE VARIABLE RESISTANCE.,0DH,0AH db PRESS 0 FOR QUIT TO DOS.,0DH,0AH,$ db 0dh,0ah message2 db 0dh,0ah,0dh,0ah db Sinwave f=a sin(b t) is modified by the PC keyboard .,0DH,0AH db -Directly press A or B to view the parameter .,0DH,0AH db -Input num(0-17)+A or(0-9) B to modify

12、 the parameter .,0DH,0AH db Input 0 quit to the begin,0dh,0ah,$ db 0dh,0ahmessage3 db 0dh,0ah,0dh,0ah db Sin wave f=a sin(b t) modified by the variable resistance .,0DH,0AH db Press anykey on the PC keyboard to return to the begin.,0dh,0ah,$ db 0dh,0ahmessage4 db 0dh,0ah db please input num!,0dh,0ah

13、,$ db 0dh,0ah a db 1h ;可调参数a b db 1h ;可调参数b c db 1 ;c为百位数字f乘以100 d db 1 ;d为十位数字g乘以10 e db 1 ;e为个位数字h乘以1 f db 0 ;参数a的百位f g db 0 ;参数a的十位g h db 1 ;参数a的各位h i db 1 ;i为百位数字l乘以100 j db 1 ;j为十位数字m乘以10 k db 1 ;k为个位数字n乘以1 l db 0 ;参数b的百位l m db 0 ;参数b的十位m n db 1 ;参数b的各位ndata endsbegin: mov ax,data ;开机显示message1 mov ds,ax mov ax,stacks mov ss,ax lea dx,message1 mov ah,09h int 21h judge1: mov dx,0ffh mov ah,07h int 21h cmp al,1 ;按下1,则键盘输入 jz start cmp al,2 ;按下2,则电位器调节 jz sinvr1 cmp al,0 jnz begin ;不是0,重新选择 jmp qi

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

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