版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、设计目的为了进一步巩固学习的理论知识, 增强学生对所学知识的实际应用能力和运用 所学的知识解决实际问题的能力, 开始为期两周的课程设计。 通过设计使学生在 巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。1、通过本设计,使学生综合运用微型计算机技术 、C 语言程序设计以 及数字电路、模拟电路等课程的内容,为以后从事电子产品设计、软件编 程、系统控制等工作奠定一定的基础。2、学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。3、了解单片机接口应用开发的全过程: 分析需求、设计原理图、选用元器件、 布线、编程、调试、
2、撰写报告等。二、设计内容该实践训练环节要求学生能够运用所学知识, 在老师的引导下完成课程设计题 目,达到相应的训练要求。通过实验进一步学习 D/A 转换器的基本原理以及在单片机系统中扩展 D/A 转换器的方法。用D/A完成锯齿波输出,用PROTEUS内带的示波器查看波形。三、问题分析、方案的提出、设计思路及原因首先根据锯齿波的图形构建基本框架,输出的电压值以一定的增量逐步增加, 达到最大值后再回到初始值然后再次循环。本设计要求利用数字量 /模拟量( D/A )转换来完成锯齿波的输出。数 /模转换 器(DAC)是一种把数字信号转换成模拟信号的器件。计算机输出的数字信号首 先传送到数据锁存器中,
3、然后由模拟电子开关把数字信号的高低电平变成对应的电子开关状态1、系统方案的比较方案一:采用函数信号发生器ICL8038集成模拟芯片,(如图2-1 )它是一种 可以同时产生方波、三角波、正弦波的专用集成电路。但是这种模块产生的波形 都不是纯净的波形,会寄生一些高次谐波分量,采用其他的措施虽可滤除一些, 但不能完全滤除掉。键盘一注单片机/AICL8038D/A运算电路 上输出图2-1方案一方框图方案二:采用分立元件实现非稳态的多谐振振荡器, 然后根据需要加入积分电 路等构成正弦、矩形、三角等波形发生器。这种信号发生器输出频率范围窄,而 且电路参数设定较繁琐,其频率大小的测量往往需要通过硬件电路的切
4、换来实 现,操作不方便。方案三:采用单片机和DAC0808数模转换器生成波形,由于是软件滤波,所 以不会有寄生的高次谐波分量, 生成的波形比较纯净。 它的特点是价格低、 性能 高,在低频范围内稳定性好、操作方便、体积小、耗电少。经比较,方案三既可满足毕业设计的基本要求又能充分发挥其优势, 电路简单, 易控制,性价比较高,所以采用该方案。本设计采用 AT89C51 和 DAC0808 相连接构成波形发生器的电路,然后对 AT89C51 进行编程实现需要产生的波形。由于该设计比较简单,采用汇编语言 或 C 语言实现都可。若要实现多个波形,可通过开关来选择波形,只需在程序 中加如对开关接口的控制语句
5、即可。例如: 若要获得负向的锯齿波,只需将程 序中的指令 INC A 换成指令 DEC A 即可,如果将正向锯齿波与负向锯齿波组合 起来就可以获得三角波。2、控制芯片的选择方案一: AT89C51 单片机是一种高性能 8 位单片微型计算机。它把构成计算 机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中, 从而构成较为完整的计算机。方案二: C8051F005 单片机是完全集成的混合信号系统级芯片,具有与AT89C51 兼容的微控制器的内核,与 MCS-51 指令集完全兼容。除了具有标准 AT89C51 的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模 拟部件
6、和其他数字外设及功能部件。方案选择:方案二中 C8051F005 芯片系统内部结构复杂,不易控制,芯片成 本高,对于本系统而言利用率低, AT89C51 芯片比较常用,简单易控制,成本 低,性能稳定故采用方案一。四、电路设计及功能说明,硬件原理框图及电路图(一)、脉冲发生器能产生各种周期的输入信号,如方波、锯齿波、三角波及单周期短 o放置脉冲发生器ic GenerFro>cr ti «ciGerer-itor Name;IBInitial _ow VoltaciBc |' 1TF-苗 在Proteus ISIS环境中单击工具箱出现如图I-1所列表。SINEPULSE用鼠
7、标左键单击“PWLINAnaimojo TgslO DC中'的“ Gene C FMn<' Flh<$ Audio 宀 E>pcnon< SFFMISciGs):J1'ratOrMbd ”按钮图标,Pulse Width:Pubc ith lScc?jP t|50PULSE”,则在预览窗口出现脉冲发生器的符号。 <f- Froquonci* Hzi r而中, tytlg-E/CirJph:<a Single IMw崎 在编辑窗口双击,则脉冲发生器被放置到原理图编辑界A T£"、I I 可使用镜像、DSTATIEDE
8、OGE-具对其位置和方向进行调整 DULOCKDPATTEFM2.编辑脉冲发生器Lufent SdurciE 口e(任: Minimal Edilft?* 旦ide Rr£fjihi&!(1)双击原理图中的脉冲发生器符号,出现脉冲发生器的属性设置对话框,如 图2所示其中,主要参数说明如下。Initial(Low)Voltage :初始(低)电压值。Initial(High)Voltage:初始(高)电压值。Start(Secs):起始时刻。Rise time (Secs):上升时间。Fall time(Secs):下降时间。Pulse Width :脉冲宽度。有两种设置方法:
9、Pulse Width(Secs)指定脉冲宽度,Pulse Width(%)指定占空比。Freque ncy/Period :频率或周期。Current Source :脉冲发生器的电流值设置。图1激励源列表图2脉冲发生器属性对话框在图2中的“Generator Name ”中输入脉冲发生器的名称,并在相应的项目 中输入合适的值。(3) 设置完成后,单击“ 0K”按钮。(4) 可用上述讲到的与正弦波类似的方法用示波器观看脉冲发生器的波形。(二八芯片介绍1、 AT89C51AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器 (FPEROM Falsh Programmable and
10、 Erasable Read Only Memory )的低电压,高性能 CMOS8 位微处理器。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标 准的 MCS-51 指令集和输出管脚相兼容。 由于将多功能 8 位 CPU 和闪烁存储器 组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器。AT89C51与MCS-51 兼容,可进行1000写/擦循环。有128 X8位内部 RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、片内有振 荡器和时钟电路。各管脚说明:VCC:供电电压。GND :接地。P0 口: P0 口为一个 8 位漏级开路双向 I/
11、O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储 器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输 入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接 收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1 口作为第八位地址接收。P2
12、口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收, 输出4个TTL门电流,当P2 口被写“ 1 ”时,其管脚被内部上拉电阻拉高,且 作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“ 1 ”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的 内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号Pi. oPE 1P1- 2P1. 3Pl_ 45PI. 6PR 7R
13、ST RXD> PS. CP3, i I NTO P 3. 2P3, 3 no>?3. j(T1>P3. 5CWR) P3. 6XTA1 2 XT AL ICSDAT89C51vc?c卩m 0/ (ADO) PO. / (ADD PU. 2/ (AD2) PD. 3/ (AD3) PD, * (AO4) P0. 5/(AD5) PO- 6/ LVD6> PO. 7/ “口和 Ejf/Vpp ale/Froc PSILNP2- 7/ (Al 5) P2. 6/ (Al -* P2. 5/ U】3> P2. 4 i A U) P2. 7 (Al 15 V2- 2/ &
14、lt;A1UJ ?2. 1 ; * A9> P2. 0/m I AT89C51的呼T拠排列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外部输入)
15、P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平 时间。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以 不变的频率周期输出正脉冲信号, 此频率为振荡器频率的 1/6 。因此它可用作对 外部输出的脉冲或用于定时目的。 然而要注意的是: 每当用作外部数据存储器时, 将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置
16、0。此时,ALE 只有在执行 MOVX , MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机 器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信 号将不出现。/EA/VPP : 当 /EA 保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器 (0000H-FFFFH ),不管是否有内部程序存储器。注意加密方式 1时, /EA 将内 部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在
17、FLASH编 程期间,此引脚也用于施加 12V 编程电源( VPP)。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。2 、DAC0808引脚功能:U116*1脚为空COfWENSATlQNtf £2 为 GNDG帕仙H*3VEE为负向电源输入端% 了*4为DAC输出引脚比e _VREF|+JVcc4A1-A8脚为8位数据输入引脚io * cAcwra413VCC为正向电源输入端MSB 器1SERIES12 AB LSH4vref+和 vref 接基准电流发竝丄1 1生电路中运算放大器的反相输入端丄册和同相输入端1 43 %*16脚为C
18、OMPENSATION供外接i补偿电容VA4DAC0808是具有16个引脚的双列直插式倒T型电阻网络的权电流8位D/A转换器件。(1)内部组成部件倒T型电阻网络模拟开关运算放大器参考电压,8位数字量输入,外接求和放大器,外接电阻当数据输入量全为1因此,基准电压的精当数据输入量全为0时,其4脚输出电压最低,接近零;时,其4脚输出电压最高,电压值由基准电压 VREF决定。度决定了D/A转换的精度。n位倒T形权电流 D/A转换器的输出电压VrefVo-RTRf n 1 i7 Di 22 n i 00电路图如下1U2-10松TAL1P0.0/AD0XTAL2P0.1/AD1P
19、0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RDAT89C519 83 333534333221-225-A8VEEA7COMPA6A5IOUTA4A3VREF-A2A1VREF+310915514DAC0808121
20、187616丄C1100pR1R210k1SW1 SW-SPSTR610k五、软件部分的程序流程图,算法和使用的编程技巧系统框图如图3-1所示液形捋示电流包压转换输出电源基谁电源图3-1 低频信号发生器系统框图低频信号发生器系统主要由CPU、D/A转换电路、基准电压电路、电流/电压 转换电路、按键和波形指示电路、电源等电路组成。其工作原理为当分别按下四个按键中的任一个按键就会分别出现方波、锯齿波、三角波、正弦波,并且有四个发光二极管分别作为不同的波形指示灯。锯齿波流程图:锯齿波产生首先将DAC0808 口地址至为4000H,然后将00H送入寄存器A 中,DAC0808输出A中的内容,当A中的内
21、容等于F0H返回开始,当A中的 内容不为0FH时,A中的内容累加,从而输出波形。六、源程序清单LOOP: JB P2.0,LOOP3*/判断是产生锯齿波还是梯形波/*JNB P2.0, LOOP5LOOP5:MOV A,#00HLOOP1:MOV P0,AINC ACJNE A,#31H ,L OOP1 */判断是否到最大值,若没有输出电压继续增加/*DEL:MOV R7,#50*/达到最大值后延时/*DEL1: MOV R6,#20NOPDEL2:DJNZ R6,DEL2DJNZ R7,DEL1MOV A,#30H */ 延时结束,电压值开始下降产生梯形波的右半边/*LOOP2: MOV P
22、0,ADEC ACJNE A,#01,LOOP2DEL3:MOV R7,#50DEL4: MOV R6,#20NOPDEL5:DJNZ R6,DEL5DJNZ R7,DEL4SJMP LOOPLOOP3:MOV A,#00HLOOP4:MOV P0,AINC AJNB P2.0,LOOPCJNE A,#31H,LOOP4SJMP LOOPEND* 判断是否达到最小值 /*/ 达到最小值后延时 /*/ 产生锯齿波 /*该程序是个循环程序, 先判断 P2 .0 口的状态,然后再进入相应的循环程序 入口。在产生梯形波的循环中,当电压值达到最大或者最小时,都要进行延时, 使之产生梯形波的上底或下底。锯
23、齿波程序( 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
24、+)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;七、仿真过程综述PQ0AIQFQIfAIIptizrAiz pmii PDWAhPQSi'AlSPQAIG阳袱IT陀卅厝PL2/A'O Fm-i 忆硼 P卸曰 Pa*PJTRDF11iT=
25、l 皿IO PaJUTTP3.O rasn PI颐量器备一蚤 哆寻務耍一 glglgggglglCH2 dc為蛊Cffl rc赢层VSW Oulkncupt:5叩WkIDri!r ' i'IQ20Mfiii八、调试过程中的主要难点及解决思路和办法锯齿波输出波形中杂波成分较大,波形不是较理想,这与实际要求存在一些误 差,这些误差的来源主要是由于电路的具体参数选择不好以及程序的时延所造成的。当然在实际电路测量时由于实验环境的干扰也会对输出波形有一些影响,这些影响主要是使输出波形产生寄生的高频杂波, 具体表现就是使输出波形质量变 坏,波形边厚。在对电路进行调试时适当改变数模转换电路及
26、输出放大电路参数电路输出结果相对较好一些。九、课设结果及分析、收获、体会和建议课程设计是培养学生综合运用所学知识 ,发现,提出 ,分析和解决实际问题 ,锻炼 实践能力的重要环节 ,是对学生实际工作能力的具体训练和考察过程 .随着科学技 术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生 活中可以说得是无处不在。 因此作为二十一世纪的大学来说掌握单片机的开发技 术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到 实践,可以说得是苦多于甜, 但是可以学到很多很多的的东西。 深该体会到单片 机技术应用领域的广泛, 不仅使我对学过的单片机知识有了很多的巩固, 同时也 对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中, 自己懂得单片机知识运用比较普遍啊, 要想把这门课 程学好需要不但课本上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论