微型计算机系统技术课程设计书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计目的
为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。 1、通过本设计,使学生综合运用《微型计算机技术》、《C 语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。 2、学会使用KEIL C 和PROTEUS 等软件,用C 语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。
3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。
二、设计内容
该实践训练环节要求学生能够运用所学知识,在老师的引导下完成课程设计题目,达到相应的训练要求。
通过实验进一步学习D/A 转换器的基本原理以及在单片机系统中扩展D/A 转换器的方法。用D/A 完成锯齿波输出,用PROTEUS 内带的示波器查看波形。
三、问题分析、方案的提出、设计思路及原因
首先根据锯齿波的图形构建基本框架,输出的电压值以一定的增量逐步增加,达到最大值后再回到初始值然后再次循环。
本设计要求利用数字量/模拟量(D/A )转换来完成锯齿波的输出。数/模转换器(DAC )是一种把数字信号转换成模拟信号的器件。计算机输出的数字信号首先传送到数据锁存器中,然后由模拟电子开关把数字信号的高低电平变成对应的电子开关状态。 1、系统方案的比较
方案一:采用函数信号发生器ICL8038集成模拟芯片,(如图2-1)它是一种可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些,但不能完全滤除掉。
方案二:采用分立元件实现非稳态的多谐振振荡器,然后根据需要加入积分电路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而
图2-1方案一方框图 D/A 键 盘 单片机
ICL8038 运算电
路
显 示 D/A
输出
且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切换来实现,操作不方便。
方案三:采用单片机和DAC0808数模转换器生成波形,由于是软件滤波,所以不会有寄生的高次谐波分量,生成的波形比较纯净。它的特点是价格低、性能高,在低频范围内稳定性好、操作方便、体积小、耗电少。
经比较,方案三既可满足毕业设计的基本要求又能充分发挥其优势,电路简单,易控制,性价比较高,所以采用该方案。
本设计采用AT89C51和DAC0808相连接构成波形发生器的电路,然后对AT89C51进行编程实现需要产生的波形。由于该设计比较简单,采用汇编语言或C语言实现都可。若要实现多个波形,可通过开关来选择波形,只需在程序中加如对开关接口的控制语句即可。例如:若要获得负向的锯齿波,只需将程序中的指令INC A换成指令DEC A即可,如果将正向锯齿波与负向锯齿波组合起来就可以获得三角波。
2、控制芯片的选择
方案一:AT89C51单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机。
方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与AT89C51兼容的微控制器的内核,与MCS-51指令集完全兼容。除了具有标准AT89C51的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件。
方案选择:方案二中C8051F005芯片系统内部结构复杂,不易控制,芯片成本高,对于本系统而言利用率低,AT89C51芯片比较常用,简单易控制,成本低,性能稳定故采用方案一。
四、电路设计及功能说明,硬件原理框图及电路图
(一)、脉冲发生器能产生各种周期的输入信号,如方波、锯齿波、三角波及单周期短脉冲。
1. 放置脉冲发生器
(1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图1所有激励源名称列表。
(2) 用鼠标左键单击“PULSE”,则在预览窗口出现脉冲发生器的符号。
(3) 在编辑窗口双击,则脉冲发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。
2. 编辑脉冲发生器
(1) 双击原理图中的脉冲发生器符号,出现脉冲发生器的属性设置对话框,如图2所示。
其中,主要参数说明如下。
Initial(Low)Voltage:初始(低)电压值。
Initial(High)Voltage:初始(高)电压值。
Start(Secs):起始时刻。
Rise time (Secs):上升时间。
Fall time(Secs):下降时间。
Pulse Width:脉冲宽度。有两种设置方法:Pulse Width(Secs)指定脉冲宽
度,Pulse Width(%)指定占空比。 Frequency/Period :频率或周期。
Current Source :脉冲发生器的电流值设置。
在图2中的“Generator Name ”中输入脉冲发生器的名称,并在相应的项目中输入合适的值。
(3) 设置完成后,单击“OK ”按钮。
(4) 可用上述讲到的与正弦波类似的方法用示波器观看脉冲发生器的波形。 (二)、芯片介绍 1、AT89C51
AT89C51是一种带4K 字节闪烁可编程可擦除只读存储器(FPEROM —Falsh Programmable and Erasable Read Only Memory )的低电压,高性能CMOS8位微处理器。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器。
AT89C51与MCS-51 兼容 ,可进行1000写/擦循环。有128×8位内部RAM ·、32可编程I/O 线、两个16位定时器/计数器、5个中断源 、片内有振荡器和时钟电路。
各管脚说明: VCC :供电电压。 GND :接地。
P0口:P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O 口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和
图1 激励源列表
图2 脉冲发生器属性对话框