《微机原理课程设计报告.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计报告.doc(67页珍藏版)》请在金锄头文库上搜索。
1、微机应用系统设计与综合应用实验(微机原理)课程设计报告专业班级学生姓名学生学号指导老师完成时间微机应用系统设计与综合应用课程设计报告目录第一章 设计课题概述31.1 课程设计目的31.2 课程设计要求41.3课程设计用途41.4实现技术指标4第二章 设计思想和实施方案52.1 功能分析52.1.1波形产生52.1.2波形切换52.1.3 屏幕显示52.1.4小键盘控制52.1.5无极调频62.1.6无极调幅62.2 所需芯片功能简介62.2.1 8088功能简介62.2.2 8255A功能简介72.2.3 A/D0832功能简介82.2.4 D/A0809功能简介92.3 实施方案102.3.
2、1 系统总体设计方案102.3.2系统设计方框图10第三章 典型程序模块及编程技巧分析123.1键盘扫描及逻辑判断模块123.2 键盘编码模块133.3 波形产生模块143.3.1方波143.3.2 锯齿波163.3.3 三角波183.3.4 正弦波203.4 波形切换及基本控制模块213.5 无级调频调幅判断及控制模块23第四章 遇到的问题及解决方法26第五章 程序清单和程序注释285.1 汇编源程序285.2 C语言源程序49第六章 课程设计收获与体会636.1 实验收获636.2 心得体会63第七章 参考文献65第八章 附录668.1 8088 最小模式的连接图6666第一章 设计课题概
3、述1.1 课程设计目的微机应用系统设计与综合实验(实践)课程设计是自动化专业本科生必修的一门技术基础课。通过本课程设计,让学生对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。微型计算机原理与接口技术是一门专业基础课程,它的主 要内容包括微型计算机体系结构、8086 微处理器和指令系统、汇编 语言设计以及微型计算机各个组成部分介绍等内容。要求学生对微机 原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086 微处理器和
4、指令系统、汇编语言程序设计方法、微机系统 的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和 解决问题的能力。微机应用系统设计与综合实验课程是自动化专业本科生必修的一门技术基础课程。通过该课程的学习,可以使学生对微机系统 有一个全面的了解,掌握常规的芯片使用方法、掌握简单的微型计算 机应用系统软硬件的设计方法。课程中要求学生根据课程设计指导书来选择课题,并且独立完 成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画 出电路板图,编写程序以及程序流程图。针对数字信号发生器及其控制这一课题,主要涉及到硬件 的连接(主要用到芯片有:8088CP U、DAC0832 、8255 等
5、)以及硬件连 接原理图,程序的编写(主要涉及到显示波形以及通过开关来对波形 进行选择)以及各个子程序或程序段的程序流程等,具体详见各个小 节。通过课程设计不仅可以锻炼学生在微机应用方面的实际工作能力,将所学转化为所用,更是一个锻炼解决实际问题能力的很好机会。1.2 课程设计要求(1)、分别用C语言和汇编语言编程完成硬件接口功能设计;(2)、硬件电路基于80x86微机的接口电路;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示,并产生对应信号波形(D/A)输出(信号波形包括正弦波、三角波、方波、锯齿波)、输出信号波形幅度、频率可调(注意:按键数量应尽量少)。1.3课程设计用途信号发生器又称信
6、号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。本次设计的信号发生器主要能产生4种可调频的电压波形,它们是:三角波、锯齿波、矩形波(含
7、方波)、正弦波,调频范围大致为几赫兹到一百多赫兹。1.4实现技术指标1) 正弦波、三角波、方波和锯齿波信号的产生。2) 用小键盘控制各波形间的切换。3) 屏幕同步显示当前工作状态。4) 小键盘区分调频、调幅和退出程序。5) 实现频率在指定范围内无极可调。6) 实现幅值在指定范围内无极可调。第二章 设计思想和实施方案2.1 功能分析2.1.1波形产生由于要求达到模拟信号波形发生,因此要由D/A转换芯片0832来来完成此项任务,由8253形成波形的主要做法是先输出一个下限电平,将其保持一个延时,然后输出一个稍高的电平,在保持t,然后重复此过程,通过汇编语言编写各个波形子程序,即各个波形的一个周期代
8、码。通过主程序的循环调用,产生连续波形代码并通过A/D0832将数字量转换成模拟量输出,即可得各种波形。2.1.2波形切换用小键盘来控制波形的选择,即设计时对应的编码分别对应矩形波、锯齿波、三角波和正弦波。每个波形周期开始前,调用键盘扫描子程序,若无按键则继续产生第二个周期的波形;若有按键按下,延时消抖后,再次调用键盘扫描子程序,若真是有按键按下,就退出波形产生子程序,返回主程序,并调用键盘编码子程序对按键值进行编码,确定要产生的波形,并调用相应的波形产生子程序,实现可波形间的切换。2.1.3 屏幕显示当前工作状态的屏幕同步显示,通过对程序的编写,使用DOS显示功能的调用,在每次调用相应的子程
9、序前,显示相应字符串,则屏幕就可以显示当前的工作状态,对应的字符串保存在内存中,DOS调用可以通过相对地址进行读取,这样就实现了屏幕同步显示当前工作状态的功能。同时,在键盘编码子程序之后,对幅频标志位进行判断,默认为调频,标志位为0,此时屏幕显示可调节频率调频的提示字符;若标志位不为0,则说明是调幅,此时屏幕显示可调节幅值调频的提示字符。2.1.4小键盘控制使用实验箱上44键盘,可以实现区分调频、调幅和退出程序的控制功能。唐都实验仪器提供的键盘属于机械式按键,扫描时还选通列,然后从端口处读取行数据,如果有按键则,则读取的数据肯定有一位为0,经过取反后,有一位为1,然后再根据选取的列和读取的行值
10、,确定按的是哪一个键,当按下的是相应的编码控制键时,就能进行相应的控制。经过对唐都自带的小键盘程序进行研究和修改,将其分为键盘扫描、延时消抖、键盘编码等不同的模块,能够很好的嵌入在我们的程序中。2.1.5无极调频改变子程序中的各个数据输出时间,及延时,就可改变整个波形的频率。延时越短频率越高。而延时时间长短可由外部输入决定,通过A/D0809将电位计(05V)的模拟量转化成数字量(00FF)作为延时时间长短的控制因子。调节电位器即可调节延时,进而调节频率。ADC0809芯片分辨率为8位,即可将延时分为256个等级,实现无极调频。由于要和无级调频区分开,所以在每个波形产生子程序中,在产生一周期的
11、波形前,对幅频标志位进行判断,若是调频,即为0,就将A/D0809输出的数字量移到频率单元中,用以产生相应频率的波形。2.1.6无极调幅和无级调频类似,无级调幅由于要和无级调频区分开,所以在每个波形产生子程序中,在产生一周期的波形前,对幅频标志位进行判断,若是调幅,即不为0,就将A/D0809输出的数字量移到幅值单元中,用以产生相应幅值的波形。2.2 所需芯片功能简介2.2.1 8088功能简介8088是一个Intel以8086为基础的微处理器,拥有16位单元暂存器和8位元外部资料总线。内部由两个独立的功能部件组成,分别为BIU和EU,EU负责指令的执行,并进行算术逻辑运算等。EU从BIU中的
12、指令队列中取得指令。当指令要求将数据放在寄存器或输出到外部设备,或者要从寄存器或外部设备读取数据时,EU就向BIU发出请求,BIU根据EU发来的请求完成这些操作。它包括一个算术逻辑单元(ALU)、一组通用寄存器和标志寄存器组成,它们均是16位的。执行部件中含有8个16位的寄存器,这些寄存器属于CPU的专用寄存器,按其用途可将它们分成两组:数据寄存器组和指示器变址寄存器组。总线接口部件BIU包括一组段寄存器、一个指令指示器、指令队列(8086长6个字节,8088长4个字节)、地址产生器和总线控制器等。BIU根据执行部件EU的请求,完成CPU与存储器或I/O设备之间的数据传送。管脚图如下:2.2.
13、2 8255A功能简介(1)具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连(2)8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种。方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出;方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/
14、O功能,即只工作在方式0;方式2: 双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。管脚图如下:2.2.3 A/D0832功能简介DAC0832是采用CMOS工艺制成的单片电流输出型8位数 / 模转换器。下图是DAC0832的逻辑框图及引脚排列。DAC0832的引脚功能说明如下:D0D7 :数字信号输入端ILE:输入寄存器允许,高电平有效:片选信号,低电平有效:写信号1,低电平有效:传送控制信号,低电平有效:写信号2,低电平有效IOUT1,IO
15、UT2:DAC电流输出端RfB :反馈电阻,是集成在片内的外接运放的反馈电阻VREF :基准电压(10+10)VVCC :电源电压(515)V2.2.4 D/A0809功能简介ADC0809是采样频率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。下图是DAC0832的逻辑框图及引脚排列。 ADC0809芯片有28条引脚,采用双列直插式封装,如图1323所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EO