中南大学微机原理实验报告_中南大学微机原理实验报告信号发生器要点.doc

这篇实验报告详细介绍了在中南大学微机原理课程中,如何使用8086微处理器设计信号发生器。通过C语言或汇编语言编程实现硬件接口,包括波形产生、切换、数码管显示和小键盘控制。报告强调了DAC0832在波形生成中的作用,以及4x4小键盘在波形切换和参数调整中的应用。
摘要由CSDN通过智能技术生成

微型计算机原理与接口技术

实验课程设计

课程题目: 信号发生器

学院 : 信息科学与工程学院

专业班级: 自动化1105

学号 :0909112324

姓名 : 樊文跃

指导老师: 王击 李志明

目录

一 、 课程设计概述

二 、 设计思想与实施方案

三 、 典型模块与编程分析

四 、 系统调试

五 、 课程设计收获与体会

六 、 参考文件

七 、 附录

一 、课程设计概述

1.1 课程设计目的

《微型计算机原理与接口技术》理论课程是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086 微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。要求学生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086 微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。本课程设计,旨在提高同学汇编语言的编程能力以及对外部硬件(8086,DC0832,74LS138,8255,数码管,矩阵键盘)的认识,掌握各芯片的用法,锻炼学生在微机应用方面的实际工作能力,将所学转化为所用。同学们应该充分利用实验室现有资源以及微机原理与接口技术中的相关实验资料,以试验箱或proteus仿真软件为工具,以汇编语言或C语言为开发语言,实现多个模块的结合及软硬结合,独立完成给定的任务。在完成任务的基础上,以提升能力为目标,各位同学可以尝试用其他的编程语言实现给定要求,并开动自己的脑经,完善功能并尽可能多的做到以较简单的方法实现较为困难的问题,以较少的器件实现较多的功能,并琢磨模块间的配合实现。

1.2 课程设计的要求

(1)分别用C语言或汇编语言编程完成硬件接口功能设计;

(2)硬件电路基于80x86微机的接口电路;

(3)程序功能要求:小键盘给定、数码管(屏幕)显示,并产生对应信号 波形(D/A)输出(信号波形包括正弦波、三角波、方波、锯齿波)、输出信号波 形幅度、频率可调。(注意:按键数量应尽量少)。

(4)实现远程控制

第二章 设计思想和实施方案

2.1 功能分析

2.1.1 波形产生

结合微机原理实验中关于波形的显示,在TDPID平台上,因为涉及数字量与模拟量之间的相互转化,所以DAC0832和ADC0809要相互配合使用。在本次课程设计中,由于在PROTEUS中仿真由数字信号转换为模拟信号来产生波形,所以结合一片DAC0832即可实现。通过汇编语言编写各个波形子程序,由于要显示波形,控制每输出一个值,都进行一定时间的延时,然后扫描没有按键按下后再输出下一个值,直到形成一个周期的代码。利用循环,就可产生连续波形代码,再通过8255输出给DAC0832,将数字量转换成模拟量输出,即可得各种波形。

2.1.2 波形的切换

由于设计要求上提出,小键盘给定,所以结合该题目我们可以通过4*4小键盘来实现波形的切换。第一列从上到下编码为0,1,2,3,分别对应方波、三角波、锯齿波、正弦波。第二列第一个键的键值为4,对应退出波形,可以重新选择波形,实现波形切换。当没有输出波形的时候,也就是输出为零,选择0到3就会进入相应的波形子程序。进入波形子程序以后,每一个点输出之前都会调用扫描子程序,判断是否有键按下,有则跳转到相应的程序断去执行,无则继续。由于小键盘扫描在程序总是存在的,因此可随时进行波形间的切换。

2.1.3 数码管显示

数码管同步显示当前波形的幅值和频率。硬件上由8086将数据输出给8255,8255再将输出送给数码管的A~Dp,显示相应字符。写入8255的控制字,A,B端口输出,C端口输入,通过A和B端口进行段码和位码的选择,同时软件上定义一个缓冲区存放波形的幅值和频率,显示数码管时,利用缓冲区的数值查找数码管键值表再输出对应数值。循环输出波形时也循环输出缓冲区内容对应的值,就可以同步显示波形的幅值和频率。利用小键盘扫描得到的键值进行判断,对缓冲区内的幅值频率进行相应的改变,使数码管能显示不同的幅值和频率。

2.1.4 小键盘给定

使用实验箱上4×4键盘,可以实现切换波形,调频、调幅和退出波形的控制功能。在Protues输入keypad关键字,找到虚拟键盘。在扫描键盘时先在全部列通入低电平,扫描是否有行为低电平,若有,则表示有键按下,然后键盘矩阵扫描时轮流选通一行,然后从端口处读取列数据,如果有按键则读取的数据肯定有一位为0,经过取反后,应有一位为1,然后再根据选取的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值