信号发生器功能程序设计_微机原理课程设计报告(编辑修改稿)内容摘要:
JNZ NEXT。 不是则继续判断 MOV AL,0CH。 设置第 4 行第 1 列的对应的键值 JMP KCODE NEXT: INC CL。 当前检测的列数递增 MOV AL,CH TEST AL,08H。 检测是否扫描到第 4 列 JZ KERR。 是则跳回到开始处 ROL AL,1。 没检测到第 4 列则准备检测下一列 16 MOV CH,AL JMP COLUM KCODE: ADD AL,CL。 将第 1 列的值加上当前列数,确定按键值 MOV KEY,AL。 保存按键值到 key 空间 KERR: RET SCAN ENDP 调幅调频模块 系统只使用了一个电位计可以分别调节频率和幅值。 波形子程序中每个循环周期启动一次 A/D 转换,启动信号由 C7 口输出,将读入的数据放到特定的存储单元FRE(或 AMP)中,供延时(或幅值输出)时使用。 本次实验 ADC 0809 芯片的输出八位数据线 连到了 8255 端口 B,通过端口 B 读入。 模拟 输入量 Vin 通过电位计从 0~5V 无极可调,对应的 数字输出量 N 从 00H~FFH变化。 调频:改变波形子程序中的各个数据输出延时时间,就可改变整个波形的频率。 延时时间由 AD0809 读入的数据控制。 调幅:在波形子程序中给 DA 输出值乘以一个增益,改变增益的大小即可改变幅值。 增益由 AD0809 读入的数据控制。 调频 /调幅切换:主程序设了一个幅频标志位 FLAG_FUPIN,当小键盘的 4 键按下时,使 FLAG_FUPIN 取反(默认标志位 =0)。 波形子程序中通过判断幅频标志位FLAG_FUPIN 的状态,可以选择是调频还是调 幅。 部分代码如下: ( 1)主程序中的切换部分 GETKEY3: CALL SCAN。 有键按下,调用键盘扫描子程序 MOV AL,KEY CMP AL,08H。 判断是否为调幅 /调频键 JNE LOOP1。 不是则返回判断波形或退出 NOT BYTE PTR[FLAG_FUPIN]。 是,则将幅频标志位取反 CMP FLAG_FUPIN,0 JNE TIAOFU MOV DX,OFFSET MES5。 屏幕显示切换到调频状态 MOV AH,09H INT 21H JMP JIXU TIAOFU: MOV DX,OFFSET MES6。 屏幕显示切换到调幅状态 MOV AH,09H INT 21H 17 JIXU: MOV BL,FLAG_BOXING MOV KEY,BL。 将波形对应的键值存回 KEY 中 JMP LOOP1。 返回判断波形 ( 2)波形子程序部分 MOV DX,MY8255_MODE。 通过 8255 的 C7 口发出一个低电平 MOV AL,00001110B OUT DX,AL。 启动 AD0809 MOV DX,MY8255_B。 读 8255B 口数据 IN AL,DX MOV BL,FLAG_FUPIN。 判断幅频标志位,默认为 0 CMP BL,0 JE PIN_1。 为 0 则跳转到 PIN_1 MOV AMP,AL。 不为 0 则存为振幅值 JMP NEXT1_1 PIN_1: MOV FRE,AL。 为 0 则存为频率值 流程图见图 和图 第四章 系统调试过程及结果 此次设计波形发生器是我们在学习汇编以来接触到的比较大的程序。 无论用何种程序书写,理清思路是关键。 因此,从拿到题目开始,我们花了很多时间来对设计波形发生器的硬件和软件进行了分析与思考,从中选出最好的解决方法。 在系统调试的过程中,我们用到的一个很重要的分析过程就是先易后难 ,先局部后整体,先将各个波形的子程序写出来,一一进行测试。 无误后再写主程序将各个子程序整合起来。 18 设计的过程是由易到难的,我们从实现最简单的波形产生 功能开始,逐步添加波形切换功能、小键盘输入功能、无极调频功能、无极调幅功能,整个系统由简至繁逐步完善。 最先遇到的比较大的困难是小键盘的输入,前后试过两个方案,最终以唐都提供的参考程序为基础,进过修改得到了现在使用的键盘扫描子程序,效果很好。 整个过程中最难的是实现无级调频和无极调幅,开始时一直无法调频,经过对各个部位的仔细调试分析,是 0809 模数转换的问题。 0809 需要一个启动信号,且转换需要一定时间。 于是我们用 C 口每周期输出一启动信号进行转换。 最终达到理想效果。 实现了调频之后,对整个程序的结构稍加改进 ,引入了幅频标志位,实现了小键盘控制调频 /调幅的切换,从而只用一个电位计和一个小键盘按键实现了无极调频和无极调幅的功能。 不足和改进: 1.所产生的频率范围较窄。 应尽量减少延时拓宽频率。 2.幅值调节范围不够大。 3.产生的波形不是理想状态。 特别是方波,上下跳变时,总会有断点。 波形有噪声,不是理想的波形。 4.由于波形每周期之后要读端口,与下一个周期之间有一定延时误差。 第五章 收获与体会 本次课程设计的要求虽然不多,但整个设计过程是问题不断,一波三折。 整个课程设计完成之后,我在整体设计思路、硬件连 结和汇编语言编程等方面得到了很大的收获。 设计的过程是由易到难的,我们从实现最简单的波形产生功能开始,逐步添加波形切换功能、小键盘输入功能、无极调频功能、无极调幅功能,整个系统由简至繁逐步完善。 而程序总体流程也是三易其稿,其中有借鉴了别人的一些设计思路。 第一个方案实在缺乏设计的智慧,在得到正确的指标后就被抛弃了。 第二个方 19 案时,我们把控制波形转换的功能寄希望于用中断实现,而调频变化在延时子程序中进行,最后证实这样子的程序流程图将很复杂冗长,条理不清晰,而且用中断实现时缺乏所需的硬件。 最后一个方案即为当前选择 的方案,条理清晰,程序简单,代码也短,但是能很好实现所有功能。 硬件连结的问题主要在使用第二个方案时出现的。 第二个方案的中断控制需要手动输入一个中断脉冲,然后结果总是有差,最后讨论得出结论是我们很难保证这个手动输入脉冲的合格,这个脉冲可能不够标准。 后面做最终方案时,波形发生颤抖,检查发现是控制波形选择的开关处不稳定,也算是硬件连结的问题。 而波形特别是矩形波输出时,在中间总是一个断痕,反复检查软件设计后也归结为硬件内部延时所产生误差。 做软件设计时遇到的关键点也是难点集中到了调频电路的选择。 第二方案时,我们把 调频参数的读取放置在延时程序,主程序不循环,每一个波形都是无限循环的波形。 后来得到高人指点,我们忽略了主程序循环所会带来的延时对波形的影响,以主程序无限循环,每输出一个周期波形读一次调频参数的方式进行调频。 结果很完美。 实现了调频之后,对整个程序的结构稍加改进,引入了幅频标志位,实现了小键盘控制调频 /调幅的切换,从而只用一个电位计和一个小键盘按键实现了无极调频和无极调幅的功能。 20 参考文献 [1]周荷琴,吴秀清 .微型计算机原理与接口技术 .合肥:中国科学技术大学出版社, [2]唐都科教仪器开发有 限公司 . 32 位微机原理与接口技术实验教程 . [3]陈明义 .数字电子技术基础 .长沙 .中南大学出版社, 21 附录 1 汇编语言源程序代码。 ****************根据查看端口资源修改下列符号值 ******************* IOY0 EQU 0E400H。 片选 IOY0 对应的端口始地址 IOY1 EQU 0E440H。 片选 IOY1 对应的端口始地址。 ***************************************************************** DA0832 EQU IOY0+00H*4。 DA0832 的端口地址 MY8255_A EQU IOY1+00H*4。 8255 的 A口地址 MY8255_B EQU IOY1+01H*4。 8255 的 B 口地址 MY8255_C EQU IOY1+02H*4。 8255 的 C 口地址 MY8255_MODE EQU IOY1+03H*4。 8255 的控制寄存器地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT STR1 DB 39。 DA0832: Please choose Wave39。 ,0AH,0DH,39。 $39。 定义显示的字符串 MES1 DB 39。 SHOW A SQUARE39。 ,0AH,0DH,39。 $39。 MES2 DB 39。 SHOW A SANJIAO39。 ,0AH,0DH,39。 $39。 MES3 DB 39。 SHOW A JUCHI39。 ,0AH,0DH,39。 $39。 MES4 DB 39。 SHOW A SINE39。 ,0AH,0DH,39。 $39。 MES5 DB 39。 CHANGE THE Frequence39。 ,0AH,0DH,39。 $39。 MES6 DB 39。 CHANGE THE Amplitude39。 ,0AH,0DH,39。 $39。 KEY DB 39。 ?39。 FLAG_BOXING DB 39。 ?39。 FLAG_FUPIN DB 0 FRE DB 7FH AMP DB 7FH SIN DB 100, 102, 105, 107, 110, 112, 115, 117, 120, 122 DB 124, 127, 129, 132, 134, 136, 139, 141, 143, 145 22 DB 147, 150, 152, 154, 156, 158, 160, 162, 164, 166 DB 168, 169, 171, 173, 175, 176, 178, 179, 181, 182 DB 184, 185, 186, 187, 189, 190, 191, 192, 193, 194 DB 194, 195, 196, 197, 197, 198, 198, 199, 19。信号发生器功能程序设计_微机原理课程设计报告(编辑修改稿)
相关推荐
乡(镇)的互联互通。 6. 会泽 县电子政务外网平台。 在整合机关互联网络交换平 7 台和有关部门计算机网络的基础上, 到 2020 年底,初步构建起一个覆盖会泽县五大机关、连通 23 个乡(镇)及省、市电子政务 的 外网平台,网络主干带宽能力达到 10GB/S,可扩展性强、可靠性高的高速城域网络平台,为各业务系统提供纵向虚拟专网提供技术支撑,促进和保障各业务部门之间高速、安全
为其节省人 工 成本费用, 那么 , 开发 系统的意义就没有了。 大量 的 人力 、财力、物 力投入 是开发任何一个大型信息管理平台 基础。 因此 ,前期的系统经济效益 统计 和分析是极为重要的。 综 于 这两 个 角度考虑 分析总结 , 系统 在 经济这一核心 问题上的考虑 是 可行 的。 系统用户角色分析 采用功能分析法和调查法,到金荣 楼 信息工程学院实验室实地考察,请教 了许多
间件: ( 1)数据库访问中间件( windows 平台的 ODBC 和 JAVA 平台的 JDBC) ( 2)远程过程调用 ( 3)面向消息中间件 ( 4)分布式对象中间件 ( 5)事务中间件 、数据仓库 与操作性数据库相比,数据仓库的特点是: ( 1)面向主题 ( 2)集成 ( 3)相对稳定 ( 4)反应历史变化 、 Web Services 技术 Web 服务的典型技术包括: (
级安全教育。 ( 1)新进场的工人队组,首先由劳资科牵头,质安科讲授安全生产常识和技术要求,治安由保卫科负责,道德教育由工会负责,教育后办理签字手续。 ( 2)新进场的工人队组到项目部后,在施工前,由项目部进行安全技术教育,具体由项目经理负责,教育后办理签字手续。 ( 3)班组这一级教育,由主管工长具体负责,教育内容为 事故教训及本工种的 银贡山南地块保障房项目 《高大支模专项施工方案》 第
,根据上述资料查明工程地质水文、地上管线、等实际情况,编制确定开挖路线、开挖方法等详细的土方施工方案。 : 土方开挖前,应摸清地下管线等障碍物,并应根据施工方案的要求,将施工区域内的地上、地下障碍物清除和处理完毕。 建筑物的位置和场地的定位控制线(桩)、标准水平桩及 基槽的灰线尺寸,必须经过检验合格,并办完预检手续。 采用机械开挖,人工配合的方法进行。 配置装载机 2 台 ,自卸汽车 8 台
( 6M),组团路( ),宅前路( M),景观步行道( ~ 2M)。 步行道路系统主要由景观步行道以及宅间道路形成,步行道路系统联系着小区中心绿地、各居住院落绿地 、景观节点及各住宅单元的入口,使得居民在小区内行走时,能充分的领略小区优美的环境,同时又置身于小区的环境当中。 (三 )入口 2020 年保障房地块小区,在东侧规划路段中段设置一个主出入口,小区主路车行道 6米。 (四 )停车