单片机与DSP课程设计报告波形发生器

上传人:l**** 文档编号:134313532 上传时间:2020-06-04 格式:DOC 页数:10 大小:436.50KB
返回 下载 相关 举报
单片机与DSP课程设计报告波形发生器_第1页
第1页 / 共10页
单片机与DSP课程设计报告波形发生器_第2页
第2页 / 共10页
单片机与DSP课程设计报告波形发生器_第3页
第3页 / 共10页
单片机与DSP课程设计报告波形发生器_第4页
第4页 / 共10页
单片机与DSP课程设计报告波形发生器_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《单片机与DSP课程设计报告波形发生器》由会员分享,可在线阅读,更多相关《单片机与DSP课程设计报告波形发生器(10页珍藏版)》请在金锄头文库上搜索。

1、单片机及 DSP 课程设计报告 专 业 电子信息工程 班 级 姓 名 学 号 指导教师 时 间 2012 06 11 24 通信与电子工程学院 波形发生器波形发生器 目目 录录 1 引言引言 3 2 设计目的设计目的 3 3 设计任务设计任务 3 4 方案论证方案论证 3 5 原理框图原理框图 4 6 芯片介绍芯片介绍 4 7 程序程序流程图流程图 6 8 算法及其分析算法及其分析 6 9 仿真结果叙述仿真结果叙述 7 10 解决解决问题以及心得体会问题以及心得体会 8 11 参考文参考文献献 9 1 1 引言引言 随着微电子技术和超大规模集成电路技术的发展 单片微型计算机以其体积 小 行价比

2、高 功能强 可靠性高等独有的特点 在各个领域 如工业控制 家电 产品 汽车电子 通信 智能仪器仪表 得到了广泛的应用 波形发生器是一种常 用的信号源 广泛地应用于电子电路 自动控制系统和教学实验等领域 本次课程 设计使用的以AT89C51 单片机为核心以及DAC0832构成的简易波形发生器 通过编 写程序来产生锯齿波 具有线路简单 结构紧凑等优点 2 2 设计目的设计目的 为了进一步巩固学习的理论知识 增强对所学知识的实际应用能力和运用所学 的知识解决实际问题的能力 开始为期两周的课程设计 通过设计使学生在巩固所 学知识的基础之上具有初步的单片机系统设计与应用能力 能够对电子电路 电子 元器件

3、 印制电路板等方面的知识有进一步的认识 独立对其进行测试与检查 1 熟悉8051单片机的部结构和功能 合理使用其部寄存器 能够完成相关软件编 程设计工作 2 通过本设计 使学生综合运用 微型计算机技术 C语言程序设计 以及 数字电路 模拟电路 等课程的容 为以后从事电子产品设计 软件编程 系统控制等工作奠定一定的基础 3 学会使用KEIL C和PROTEUS等软件 用C语言或汇编语言编写一个较完整的实 用程序 并仿真运行 保证设计的正确性 4 了解单片机接口应用开发的全过程 分析需求 设计原理图 选用元器件 布 线 编程 调试 撰写报告等 3 3 设计任务设计任务 用D A完成锯齿波输出 用P

4、ROTEUS带的示波器查看波形 4 4 方案论证方案论证 单片微型计算机简称为单片机 它是把组成微型计算机的各功能部件 中央处 理器CPU 随机存取存贮器RAM 只读存贮器ROM I O接口电路 定时器 计数 器以及串行通讯接口等部件制作在一块集成电路芯片中 构成一个完整的微型计算 机 这样的集成电路称得起超大规模集成电路 因此可以说 单片微型计算机与大 规模集成电路和超大规模集成电路的发展井驾齐驱 由于在单片机中设置有只读存贮器 可用来存放控制单片机及外围设备进行工 作的程序 于是从外部来看单片机成为一个独立的控制装置 可广泛用于实时控制 数据采集与处理等方而 因此单片机又称为微控制器 本设

5、计课题采用的就是 ATMEL的AT89C51 DAC0832是一个具有两个输入数据寄存器的8位DAC 目前生产的DAC芯片分 为两类 一类芯片部设置有数据寄存器 不需要外加电路就可以直接与微型计算机 接口 另一类芯片部没有数据寄存器 输出信号随数据输入线的状态变化而变化 因此不能直接与微型计算机接口 必须通过并行接口与微型计算机接口 DAC0832是具有20条引线的双列直插式CMOS器件 它部具有两级数据寄存器 完 成8位电流D A转换 故不需要外加电路 0832是电流输出型 示波器上显示波形 通常需要电压信号 电流信号到电压信号的转换可以由运算放大器实现 单片机向 0832发送数字编码 产生

6、不同的输出 先利用采样定理对各波形进行抽样 然后把 各采样值进行编码 的到的数字量存入各个波形表 执行程序时通过查表方法依次 取出 经过D A转换后输出就可以得到波形 5 5 原理框图原理框图 6 6 芯片介绍芯片介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压 高性能CMOS8位微处理 器 俗称单片机 管脚说明 VCC 供电电压 GND 接地 P0口 P0口为一个8位漏级开路双向I O口 每脚可吸收8TTL门电流 当P1口 的管脚第一次写1时 被定义为高阻输

7、入 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 时 其管脚被部上拉电阻拉高 且作为输入 并因此 作

8、为输入时 P2口的管脚被外部拉低 将输出电流 这是由于部上拉的缘故 P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时 P2口输出地址 的高八位 在给出地址 1 时 它利用部上拉优势 当对外部八位地址数据存储器 进行读写时 P2口输出其特殊功能寄存器的容 P2口在FLASH编程和校验时接收 高八位地址信号和控制信号 P3口 P3口管脚是8个带部上拉电阻的双向I O口 可接收输出4个TTL门电流 当P3口写入 1 后 它们被部上拉为高电平 并用作输入 作为输入 由于外部下 拉为低电平 P3口将输出电流 ILL 这是由于上拉的缘故 P3口也可作为AT89C51的一些特殊功能口 如下表

9、所示 口管脚 备选功能 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端以不 变的频率周期输出正脉冲信号

10、 此频率为振荡器频率的1 6 因此它可用作对外部 输出的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存储器时 将跳 过一个ALE脉冲 如想禁止ALE的输出可在SFR8EH地址上置0 此时 ALE只有 在执行MOVX MOVC指令是ALE才起作用 另外 该引脚被略微拉高 如果微处 理器在外部执行状态ALE禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机 器周期两次 PSEN有效 但在访问外部数据存储器时 这两次有效的 PSEN信号将 不出现 EA VPP 当 EA保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否有部程序存储器

11、注意加密方式1时 EA将部锁定为 RESET 当 EA端保持高电平时 此间部程序存储器 在FLASH编程期间 此引脚 也用于施加12V编程电源 VPP XTAL1 反向振荡放大器的输入及部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 振荡器特性 XTAL1和XTAL2分别为反向放大器的输入和输出 该反向放大器可以配置为 片振荡器 石晶振荡和瓷振荡均可采用 如采用外部时钟源驱动器件 XTAL2应 不接 有余输入至部时钟信号要通过一个二分频触发器 因此对外部时钟信号的脉 宽无任何要求 但必须保证脉冲的高低电平要求的宽度 D A转换器DAC0832 DAC0832是采用CMOS工艺制成的单片

12、直流输出型8 位数 模转换器 管脚说明 DI0 DI7 数据输入线 TLL电平 ILE 数据锁存允许控制信号输入线 高电平有效 CS 片选信号输入线 低电平有效 WR1 为输入寄存器的写选通信号 XFER 数据传送控制信号输入线 低电平有效 WR2 为DAC寄存器写选通输入线 Iout1 电流输出线 当输入全为1时Iout1最大 Iout2 电流输出线 其值与Iout1之和为一常数 Rfb 反馈信号输入线 芯片部有反馈电阻 Vcc 电源输入线 5v 15v Vref 基准电压输入线 10v 10v AGND 模拟地 摸拟信号和基准电源的参考地 DGND 数字地 两种地线在基准电源处共地比较好

13、7 7 程序流程图程序流程图 8 8 算法及其分析算法及其分析 ORG 0000H LJMP START ORG 0030H START MOV DPTR 0FEFFH 启动D A转换 MOV A 00H 送初值OOH LOOP MOVX DPTR A INC A LCALL DELAY CJNE A 0FFH LOOP 判断是否为FFH 不是则继续到LOOP 否则往下 执行 SJMP LOOP DELAY 延时程序 MOV R3 11 MOV 31H R3 D1 NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R3 D1 MOV R3 31H RET END 1 程

14、序每循环一次 A加1 因此实际上锯齿波的上升边是由小阶梯构成的 但由于阶梯很小 所以宏观上看就如图中所画的先行增长锯齿波 2 可通过循环程序段的机器周期数 计算出锯齿波的周期 并可根据需要 通过延时的方法来改变波形周期 若要改变锯齿波的频率 可在AJMP MM指令前 加入延迟程序即可 延时较短时可用NOP指令实现 本程序就是如此 需要延 时较长时 可以使用一个延长子程序 延迟时间不同 波形周期不同 锯齿波的斜 率就不同 3 通过A加1 可得到正向的锯齿波 反之A减1可得到负向的锯齿波 4 如果程序中A的变化围是0 255 就可以得到满幅度的锯齿波 如要求得 到非满幅锯齿波 可通过计算求的数字量

15、的处置和终值 然后在程序过置初值和终 值的方法实现 9 9 仿真结果及叙述仿真结果及叙述 通过keil生成的 hex文件进行电路的仿真 在第一次仿真出现了波形显示器 但是后来却怎么都仿真不出来 以为是软件出现了问题 可是在别的同学的电脑上 实验了一下发现还是显示不出结果 于是重新创建工程以及电路的仿真 经过几次 的实践才发现原来是在显示出结果之后我的操作不是停止仿真 而是把波形显示器 关掉了 所以再次打开的时候就不会出现仿真结果 10 10 解决问题以及心得体会解决问题以及心得体会 开始的时候由于没有经验 不知如何下手 所以就在网上搜一些相关资料来看 尽管有许多的设计方案 可是总感觉自己还是有

16、许多的东西弄不太清楚 于是就请 教同学 他常做一些设计 有一些经验 经过他的解释分析各方案之后 再重新翻 看单片机课本 决定采用以书上的例题格式的基本程序算法 这样可以降低一些选 仿真元件的难度 初次设计应切合自己的水平 用8031需要扩展ROM 这样还要 进行存储器扩展 而且现在8031实际中已经基本上不再使用 实际用的AT89C51 芯片有ROM 这样用起来比较方便 我感觉程序应该不大 片ROM应该够用的 我以为这些做好了 构思也有了 写程序应该是相对容易的 而且keil在以前 也是有用过的 但是在Proteus仿真部分出现了问题 没有接触过这类软件 开始 很多都不会 找元件都找不到 不知道名称 于是去实验室请教比较熟悉这方面的 同学 在同学的帮助下 同时通过网上的相关资料的查询和学习 终于画出的电 路图 通过keil生成的 hex文件 把程序和仿真电路联系起来 最终得出了想要的 结果 虽然这次仿真可能会存在一些小小的瑕疵 但是这是和同学讨论的最终结果 毕竟这次是我的第一个设计器件 尽管经历了不少的艰辛 但给我积累了一点设计 的经验 最后也有点小小的成就感 后面的路还很长 我还得努

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号