资源描述
一、设计目
为了进一步巩固学习理论知识,增强学生对所学知识实际应用能力和运用所学知识解决实际问题能力,开始为期两周课程设计。通过设计使学生在巩固所学知识基本之上具备初步单片机系统设计与应用能力。
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和闪烁存储器组合在单个芯片中,ATMELAT89C51是一种高效微控制器。
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;
}
七、 仿真过程综述
八、调试过程中重要难点及解决思路和办法
锯齿波输出波形中杂波成分较大,波形不是较抱负,这与实际规定存在某些误差,这些误差来源重要是由于电路详细参数选取不好以及程序时延所导致。固然在实际电路测量时由于实验环境干扰也会对输出波形有某些影响,这些影响重要是使输出波形产生寄生高频杂波,详细体现就是使输出波形质量变坏,波形边厚。在对电路进行调试时恰当变化数模转换电路及输出放大电路参数电路输出成果相对较好某些。
九、课设成果及分析、收获、体会和建议
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力重要环节,是对学生实际工作能力详细训练和考察过程.随着科学技术发展日新日异,单片机已经成为当今计算机应用中空前活跃领域, 在生活中可以说得是无处不在。因而作为21世纪大学来说掌握单片机开发技术是十分重要。
回顾起本次单片机课程设计,我仍感触颇多,确,从选题到定稿,从理论到实践,可以说得是苦多于甜,但是可以学到诸多诸多东西。深该体会到单片机技术应用领域广泛,不但使我对学过单片机知识有了诸多巩固,同步也对单片机这一门课程产生了更大兴趣。
在本次课程设计过程中,自己懂得单片机知识运用比较普遍啊,要想把这门课程学好需要不但课本上懂得,核心还是亲手实践锻炼自己动手能力,只有在实践中才可以学到更多东西,从不懂得到懂得这个东西啊,知识来于课本理论与实践相结合产物啊,咱们只有把理论更好运动到实践中学到了真正知识。通过这次课程设计使我得到了一次用专业知识、专业技能分析和解决问题全面系统锻炼。使咱们在单片机基本原理、单片机应用系统开发过程,以及在惯用编程设计思路技巧(特别是汇编语言)掌握方面都能向前迈了一大步,为日后成为合格应用型人才打下良好基本。
通过这两周,我懂得课本和实际操作还是很有差距,并且自己动手能力还是很差,并且电子这一行还规定细心仔细和耐心,在这两周中暴露出来诸多自己局限性,后来要多加练习,多锻炼自己这些方面能力。
参照文献:
[1]陈永甫.新编555集成电路应用800例 [M].电子工业出版社,.1
[2] 孙涵芳.MCS-51系列单片机原理及应用[M].北京:北京航空航天大学出版社,1996.4
[3] 阎石.数字电子技术基本(第三版)[M].北京:高等教诲出版社,1989
[4] 李朝青.单片机原理及接口技术(第三版)[M].北京;北京航空航天大学出版社,10月
[5] 叶挺秀.应用电子学[M].杭州:浙江大学出版社,1994
[6] 朱承高.电工及电子技术手册[M].北京:高等教诲出版社,1990
[7] 阎石.数字电子技术基本(第三版)[M]. 北京:高等教诲出版社,1989
[8] 徐爱钧 .智能化测量控制仪表原理与设计(第二版).北京航天航空大学出版社,.9
[9] 孙育才等.MCS-51系列单片微型计算机及其应用(第4版).东南大学出版社,,3
[10] 李萍 等.智能仪器实验指引书.大连交通大学,.9
微型计算机技术课程设计报告
专 业: 电子信息
班 级: 信息082
姓 名: 张雨佳
学 号: 27145
指引教师: 孙洁
时 间:-03-07~18
通信与电子工程学院
教师评语:
教师:
日期:
设计过程30﹪
课设报告40﹪
答辩30﹪
总成绩
展开阅读全文