资源描述
(word完整版)微型计算机技术课程设计书
一、设计目的
为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。
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 脉冲发生器属性对话框
图1 激励源列表
在图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编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入.并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位.在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入.作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故.
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3。0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3。3 /INT1(外部中断1)
P3。4 T0(记时器0外部输入)
P3。5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲.在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用.另外,该引脚被略微拉高.如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效.但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现.
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器.注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2、DAC0808
引脚功能:
l 1脚为空
l 2为GND
l 3VEE为负向电源输入端
l 4为DAC输出引脚
l A1—A8脚为8位数据输入引脚
l 13VCC为正向电源输入端
l VREF+和VREF-接基准电流发生电路中运算放大器的反相输入端和同相输入端
l 16脚为COMPENSATION供外接补偿电容
DAC0808是具有16个引脚的双列直插式倒T型电阻网络的权电流8位D/A转换器件。
(1)内部组成部件
倒T型电阻网络
模拟开关
运算放大器
参考电压,8位数字量输入,外接求和放大器,外接电阻
当数据输入量全为0时,其4脚输出电压最低,接近零;当数据输入量全为1时,其4脚输出电压最高,电压值由基准电压VREF决定。因此,基准电压的精度决定了D/A转换的精度.n位倒T形权电流D/A转换器的输出电压 .
电路图如下:
五、软件部分的程序流程图,算法和使用的编程技巧
系统框图如图3-1所示.
图3—1 低频信号发生器系统框图
低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电压转换电路、按键和波形指示电路、电源等电路组成。
其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯.
锯齿波流程图:
如图4-2所示.
置DAC0808口地址4000H
图4-2 锯齿波流程图
锯齿波产生首先将DAC0808口地址至为4000H,然后将00H送入寄存器A中,DAC0808输出A中的内容,当A中的内容等于F0H返回开始,当A中的内容不为0FH时,A中的内容累加,从而输出波形。
六、源程序清单
LOOP: JB P2.0,LOOP3 */判断是产生锯齿波还是梯形波/*
JNB P2.0,LOOP5
LOOP5:MOV A,#00H
LOOP1:MOV P0,A
INC A
CJNE A,#31H,LOOP1 */判断是否到最大值,若没有输出电压继续增加/*
DEL:MOV R7,#50 */达到最大值后延时/*
DEL1: MOV R6,#20
NOP
DEL2:DJNZ R6,DEL2
DJNZ R7,DEL1
MOV A,#30H */延时结束,电压值开始下降产生梯形波的右半边/*
LOOP2: MOV P0,A
DEC A
CJNE A,#01,LOOP2 *判断是否达到最小值/*
DEL3:MOV R7,#50 */达到最小值后延时/*
DEL4: MOV R6,#20
NOP
DEL5:DJNZ R6,DEL5
DJNZ R7,DEL4
SJMP LOOP
LOOP3:MOV A,#00H */产生锯齿波/*
LOOP4:MOV P0,A
INC A
JNB P2。0,LOOP
CJNE A,#31H,LOOP4
SJMP LOOP
END
该程序是个循环程序,先判断P2 。0口的状态,然后再进入相应的循环程序入口。在产生梯形波的循环中,当电压值达到最大或者最小时,都要进行延时,使之产生梯形波的上底或下底。
锯齿波程序(C语言)
#include<reg51.h〉
#include<stdio。h>
#include〈absacc.h>
#include〈intrins。h>
int outdate;
unsigned char i;
void delay(int t);
void main()
{
TMOD=0x01; */置工作方式为方式1/*
EA=1;
ET0=1;
TR0=1;
outdate=0x00; */输出初值为0/*
while(1) */进入死循环,连续不断地产生波形/*
{
for(outdate=0;outdate〈256;outdate++) */产生锯齿波形/*
{
P0=outdate;
P2=outdate;
delay(1); */调用延时程序,使输出显示明显/*
}
Outdate=0;
}
}
void delay(int t) */延时程序/*
{
for(;t>0;t—-)
{
TH0=(65536-1000)/256; */置计数初值/*
TL0=(65535-1000)%256;
TR0=1;
while(TF0==0);
TF0=0;
}
TR0=0;
}
七、 仿真过程综述
八、调试过程中的主要难点及解决思路和办法
锯齿波输出波形中杂波成分较大,波形不是较理想,这与实际要求存在一些误差,这些误差的来源主要是由于电路的具体参数选择不好以及程序的时延所造成的。当然在实际电路测量时由于实验环境的干扰也会对输出波形有一些影响,这些影响主要是使输出波形产生寄生的高频杂波,具体表现就是使输出波形质量变坏,波形边厚.在对电路进行调试时适当改变数模转换电路及输出放大电路参数电路输出结果相对较好一些。
九、课设结果及分析、收获、体会和建议
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,可以说得是苦多于甜,但是可以学到很多很多的的东西。深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣.
在本次课程设计过程中,自己懂得单片机知识运用比较普遍啊,要想把这门课程学好需要不但课本上的知道,关键还是亲手实践锻炼自己的动手能力,只有在实践中才能够学到更多东西,从不知道到知道这个东西啊,知识来于课本理论与实践相结合的产物啊,我们只有把理论更好的运动到实践中学到了真正的知识。通过这次课程设计使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我们在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础.
经过这两周,我知道书本和实际操作还是很有差距的,而且自己的动手能力还是很差,而且电子这一行还要求的细心仔细和耐心,在这两周中暴露出来很多自己的不足,以后要多加练习,多锻炼自己的这些方面的能力。
参考文献:
[1]陈永甫.新编555集成电路应用800例 [M].电子工业出版社,2000。1
[2] 孙涵芳。MCS—51系列单片机原理及应用[M]。北京:北京航空航天大学出版社,1996。4
[3] 阎石.数字电子技术基础(第三版)[M]。北京:高等教育出版社,1989
[4] 李朝青。单片机原理及接口技术(第三版)[M]。北京;北京航空航天大学出版社,2005年10月
[5] 叶挺秀.应用电子学[M]。杭州:浙江大学出版社,1994
[6] 朱承高.电工及电子技术手册[M]。北京:高等教育出版社,1990
[7] 阎石。数字电子技术基础(第三版)[M]. 北京:高等教育出版社,1989
[8] 徐爱钧 .智能化测量控制仪表原理与设计(第二版).北京航天航空大学出版社,2004.9
[9] 孙育才等.MCS-51系列单片微型计算机及其应用(第4版).东南大学出版社,2004,3
[10] 李萍 等.智能仪器实验指导书.大连交通大学,2007.9
微型计算机技术课程设计报告
专 业: 电子信息
班 级: 信息082
姓 名: 张雨佳
学 号:
指导教师: 孙洁
时 间:2011-03-07~18
通信与电子工程学院
教师评语:
教师:
日期:
设计过程30﹪
课设报告40﹪
答辩30﹪
总成绩
展开阅读全文