基于CPU的LCD显示存储示波器设计.docx

上传人:b****4 文档编号:5529515 上传时间:2022-12-18 格式:DOCX 页数:26 大小:255.95KB
下载 相关 举报
基于CPU的LCD显示存储示波器设计.docx_第1页
第1页 / 共26页
基于CPU的LCD显示存储示波器设计.docx_第2页
第2页 / 共26页
基于CPU的LCD显示存储示波器设计.docx_第3页
第3页 / 共26页
基于CPU的LCD显示存储示波器设计.docx_第4页
第4页 / 共26页
基于CPU的LCD显示存储示波器设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于CPU的LCD显示存储示波器设计.docx

《基于CPU的LCD显示存储示波器设计.docx》由会员分享,可在线阅读,更多相关《基于CPU的LCD显示存储示波器设计.docx(26页珍藏版)》请在冰豆网上搜索。

基于CPU的LCD显示存储示波器设计.docx

基于CPU的LCD显示存储示波器设计

通达学院

实验报告

(2010/2011学年第一学期)

 

题目:

基于CPU的LCD显示存储示波器设计

 

专业通信工程

学生姓名

班级学号

授课教师林建中

授课单位南京邮电大学

日期2011年11月

(51单片机)课程设计要求

第一部分实验目的及要求:

1.实验目的

本课程设计在理论课程的基础上,重点培养学生的动手能力,通过理论计算、实际编程、调试、测试、分析查找故障,解决在实际设计中的问题,使设计好的电路能正常工作,为下一步结合实际的硬件系统设计准备条件

2.实验要求

基本要求:

1用AD转换器采集输入信号,存入SRAM(例6264)芯片中,

2进行DA转换后回放SRAM中的数据,通过模拟示波器显示。

3利用键盘控制单步和连续慢放信号波形。

4波形参数可以用数值或图形在数码管或LCD上显示,或者可以结合示波器进行图形回放显示。

发挥部分:

1对采样数据平滑滤波处理,

2对波形回放(图形)的时间缩放调节。

3对回放波形(图形)的幅度缩放调节。

动态显示格式:

自定

各类设计必须按照实验提供的单片机原理图(文件),结合自己所选择的题目进行元器件的连接。

每组学生只能选择一个与别组不同的设计题目,按照先到先选择的规则进行选题。

在仿真设计完成的基础上,有能力的同学可以申请硬件实验板的下载并完成软、硬件结合的课程设计。

第二部分实验工具及实验器件

1.以及Keil2软件的使用

Proteus是英国Labcenterelectronics公司出版的EDA(该软件总代理为广州风标电子技术有限公司)。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种。

在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

而*.HEX文件则由Keil软件编译后生成。

KeiluVision2是KeilSoftware公司出品的51系列兼容C语言软件开发系统,使用接近于传统的语法来开发,与相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。

KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。

C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。

C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:

编译器,汇编器,实时操作系统,项目管理器,调试器。

uVision2IDE可为它们提供单一而灵活的开发环境。

  KeilC51软件提供丰富的和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keilc51来开发您的单片机应用程序。

  另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

有了proteus和keil我们就需要在这两个软件中建立我们所需要的工程进行实验,具体步骤如下:

第一步:

在Keil2中建立一个新的工程,并命名,

第二步:

选择使用的单片机芯片,我们选择80c31,

第三步:

将新创建的.c文件添加到Target中。

这样我们就可以在keil2的环境下对单片机的程序进行编译和运行了。

2.51单片机AT89c51

  51单片机是对目前所有兼容Intel8031指令系统的单片机的统称。

该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是的AT89系列,它广泛应用于工业测控系统之中。

目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。

51单片机是基础入门的一个单片机,还是应用最广泛的一种。

需要注意的是52系列的单片机一般不具备自编程能力。

  当前常用的51系列单片机主要产品有:

  *Intel的:

80C31、80C51、87C51,80C32、80C52、87C52等;

  *ATMEL的:

89C51、89C52、89C2051等;

  *Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品80C31单片机,它是8位高性能单片机。

属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,标准MCS-51单片机的体系结构和指令系统。

80C31内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

但80C31片内并无程序存储器,需外接ROM。

此外,80C31还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

80C31有PDIP(40pin)和PLCC(44pin)两种封装形式。

管脚说明:

  8031芯片具有40根引脚,其引脚图如图所示:

  

80C31管脚图

  40根引脚按其功能可分为四类:

  1.电源线2根

  Vcc:

编程和正常操作时的电源电压,接+5V。

  Vss:

地电平。

  2.晶振:

2根

  XTAL1:

振荡器的反相放大器输入。

使用外部震荡器是必须接地。

  XTAL2:

振荡器的反相放大器输出和内部时钟发生器的输入。

当使用外部振荡器时用于输入外部振荡信号。

  3.I/O口共有p0、p1、p2、p3四个8位口,32根I/O线,其功能如下:

  )~(AD0~AD7)

  是I/O端口O的引脚,端口O是一个8位漏极开路的双向I/O端口。

在存取外部存储器时,该端口分时地用作低8位的地址线和8位双向的数据端口。

(在此时内部上拉电阻有效)

  )~

  端口1的引脚,是一个带内部上拉电阻的8位双向I/O通道,专供用户使用。

  )~(A8~A15)

  端口2的引脚。

端口2是一个带内部上拉电阻的8位双向I/O口,在访问外部存储器时,它输出高8位地址A8~A15

  )~

  端口3的引脚。

端口3是一个带内部上拉电阻的8位双向I/O端口,该口的每一位均可独立地定义第一I/O口功能或第二I/O口功能。

作为第一功能使用时,口的结构与操作与P1口完全相同,第二功能如下示:

  口引脚第二功能

   RXD(串行输入口)

   TXD(串行输出口)

  (外部中断)

  (外部中断)

   T0(定时器0外部输入)

   T1(定时器1外部输入)

  (外部数据存储器写选通)

  (外部数据存储器读选通)

3.模数转换芯片ADC0804。

ADC0804的管脚图如下所示

它的主要电气特性如下:

        工作电压:

+5V,即VCC=+5V。

        模拟输入电压范围:

0~+5V,即0≤Vin≤+5V。

        分辨率:

8位,即分辨率为1/28=1/256,转换值介于0~255之间。

        转换时间:

100us(fCK=640KHz时)。

        转换误差:

±1LSB。

        参考电压:

,即Vref=。

的转换原理

ADC0804是属于连续渐进式(SuccessiveApproximationMethod)的A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。

以输出8位的ADC0804动作来说明“连续渐进式A/D转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。

第一次寻找结果:

(若假设值≤输入值,则寻找位=假设位=1)

第二次寻找结果:

(若假设值≤输入值,则寻找位=假设位=1)

第三次寻找结果:

(若假设值>输入值,则寻找位=该假设位=0)

第四次寻找结果:

(若假设值≤输入值,则寻找位=假设位=1)

第五次寻找结果:

(若假设值>输入值,则寻找位=该假设位=0)

第六次寻找结果:

(若假设值≤输入值,则寻找位=假设位=1)

第七次寻找结果:

(若假设值≤输入值,则寻找位=假设位=1)

第八次寻找结果:

(若假设值>输入值,则寻找位=该假设位=0)

这样使用二分法的寻找方式,8位的A/D转换器只要8次寻找,12位的A/D转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图1的模拟输入电压Vin

2.分辨率与内部转换频率的计算

对8位ADC0804而言,它的输出准位共有28=256种,即它的分辨率是1/256,假设输入信号Vin为0~5V电压范围,则它最小输出电压是5V/256=,这代表ADC0804所能转换的最小电压值。

表1列出的是8~12位A/D转换器的分辨率和最小电压转换值。

表1A/D转换器的分辨率和最小电压值

位数目

分辨率

最小电压转换值

8

1/256

10

1/1024

12

1/4096

至于内部的转换频率fCK,是由图2的CLKR(19脚)、CLKIN(4脚)所连接的R()、C(150PF)来决定。

图2ADC0804与CPLD&FPGA、8051单片机等典型连接图

频率计算方式是:

fCK=1/×R×C)

若以图2的R=10KΩ、C=150PF为例,则内部的转换频率是

fCK=1/(×10KΩ×150PF)=606KHz

更换不同的R、C值,会有不同的转换频率,而且频率愈高代表速度愈快。

但是需要注意R、C的组合,务必使频率范围是在100KHz~1460KHz之间。

的控制方法

要求ADC0804进行模拟/数字的转换,其实可以直接由下面的时序图及图2信号的流向来配合了解。

图3ADC0804控制信号时序图

以图2、图3信号流向而言,控制ADC0804动作的信号应该只有CS、WR、RD。

其中INTR由高电位转为低电位后,代表ADC0804完成这次的模拟/数字转换,而DB0~DB7代表是转换后的数字资料。

图3的动作大概可分成4个步骤区间——S0、S1、S2、S3,每个步骤区间的动作方式如下:

        步骤S0:

CS=0、WR=0、RD=1(由CPLD发出信号要求ADC0804开始进行模拟/数字信号的转换)。

        步骤S1:

CS=1、WR=1、RD=1(ADC0804进行转换动作,转换完毕后INTR将高电位降至低电位,而转换时间>100us)。

        步骤S2:

CS=0、WR=1、RD=0(由CPLD发出信号以读取ADC0804的转换资料)。

        步骤S3:

CS=1、WR=1、RD=1(由CPLD读取DB0~DB7上的数字转换资料)。

由上述步骤说明,可以归纳出所要设计的CPLD动作功能有:

        负责在每个步骤送出所需的CS、WR、RD控制信号。

        在步骤S1时,监控INTR信号是否由低电位变高电位,如此以便了解ADC0804的转换动作结束与否。

        在步骤S3,读取转换的数字资料DB0~DB7

 

4.数模转换芯片DAC0832。

DAC0832是8分辨率的D/A转换集成芯片。

与微处理器完全兼容。

这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。

由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

DAC0832的主要特性参数如下:

  *分辨率为8位;

  *电流稳定时间1us;

  *可单缓冲、双缓冲或直接数字输入;

  *只需在满量程下调整其线性度;

  *单一电源供电(+5V~+15V);

  *低功耗,20mW。

DAC0832结构:

  *D0~D7:

8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);

  *ILE:

数据锁存允许控制信号输入线,高电平有效;

  *CS:

片选信号输入线(选通数据锁存器),低电平有效;

  *WR1:

数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。

由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;

  *XFER:

数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;

  *WR2:

DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。

由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。

  *IOUT1:

电流输出端1,其值随DAC寄存器的内容线性变化;

  *IOUT2:

电流输出端2,其值与IOUT1值之和为一常数;

  *Rfb:

反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;

  *Vcc:

电源输入端,Vcc的范围为+5V~+15V;

  *VREF:

基准电压输入线,VREF的范围为-10V~+10V;

  *AGND:

模拟信号地

  *DGND:

数字信号地

DAC0832芯片:

  

DAC0832

DAC0832是8分辨率的D/A转换集成芯片。

与微处理器完全兼容。

这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。

由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

的结构

  DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE;第二级锁存器称为DAC寄存器,它的锁存信号为传输控制信号。

因为有两级锁存器,DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。

此外,两级锁存器还可以在多个D/A转换器同时工作时,利用第二级锁存信号来实现多个转换器同步输出。

  LE为高电平、和为低电平时,为高电平,输入寄存器的输出跟随输入而变化;此后,当由低变高时,为低电平,资料被锁存到输入寄存器中,这时的输入寄存器的输出端不再跟随输入资料的变化而变化。

对第二级锁存器来说,和同时为低电平时,为高电平,DAC寄存器的输出跟随其输入而变化;此后,当由低变高时,变为低电平,将输入寄存器的资料锁存到DAC寄存器中。

2.DAC0832的引脚特性

  DAC0832是20引脚的双列直插式芯片。

各引脚的特性如下:

  CS——片选信号,和允许锁存信号ILE组合来决定是否起作用,低有效。

  ILE——允许锁存信号,高有效。

  WR1——写信号1,作为第一级锁存信号,将输入资料锁存到输入寄存器(此时,必须和、ILE同时有效),低有效。

  WR2——写信号2,将锁存在输入寄存器中的资料送到DAC寄存器中进行锁存(此时,传输控制信号必须有效)低有效。

  XFER——传输控制信号,低有效。

  DI7~DI0——8位数据输入端。

  IOUT1——模拟电流输出端1。

当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。

  IOUT2——模拟电流输出端2。

IOUT1+IOUT2=常数。

  Rfb——反馈电阻引出端。

DAC0832内部已经有反馈电阻,所以,RFB端可以直接接到外部运算放大器的输出端。

相当于将反馈电阻接在运算放大器的输入端和输出端之间。

  VREF——参考电压输入端。

可接电压范围为±10V。

外部标准电压通过VREF与T型电阻网络相连。

  VCC——芯片供电电压端。

范围为+5V~+15V,最佳工作状态是+15V。

  AGND——模拟地,即模拟电路接地端。

  DGND——数字地,即数字电路接地端。

 的工作方式

  DAC0832进行D/A转换,可以采用两种方法对数据进行锁存。

  第一种方法是使输入寄存器工作在锁存状态,而DAC寄存器工作在直通状态。

具体地说,就是使和都为低电平,DAC寄存器的锁存选通端得不到有效电平而直通;此外,使输入寄存器的控制信号ILE处于高电平、处于低电平,这样,当端来一个负脉冲时,就可以完成1次转换。

  第二种方法是使输入寄存器工作在直通状态,而DAC寄存器工作在锁存状态。

就是使和为低电平,ILE为高电平,这样,输入寄存器的锁存选通信号处于无效状态而直通;当和端输入1个负脉冲时,使得DAC寄存器工作在锁存状态,提供锁存数据进行转换。

  根据上述对DAC0832的输入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3种工作方式:

  ⑴单缓冲方式。

单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。

此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。

  ⑵双缓冲方式。

双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。

此方式适用于多个D/A转换同步输出的情节。

  ⑶直通方式。

直通方式是资料不经两级锁存器锁存,即CS*,XFER*,WR1*,WR2*均接地,ILE接高电平。

此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。

  

  

5.SRAM芯片6264。

6264的容量为8KB,是28引脚双列直插式芯片,采用CMOS工艺制造

  A12~A0(addressinputs):

地址线,可寻址8KB的存储空间。

  D7~D0(databus):

数据线,双向,三态。

  OE(outputenable):

读出允许信号,输入,低电平有效。

  WE(writeenable):

写允许信号,输入,低电平有效。

  CE1(chipenable):

片选信号1,输入,在读/写方式时为低电平。

  CE2(chipenable):

片选信号2,输入,在读/写方式时为高电平。

  VCC:

+5V工作电压。

  GND:

信号地。

6.6264的操作方式

  6264的操作方式由,CE1,CE2的共同作用决定

  ①写入:

当和为低电平,且和CE2为高电平时,数据输入缓冲器打开,数据由数据线D7~D0写入被选中的。

  ②读出:

当和为低电平,且和CE2为高电平时,数据输出缓冲器选通,被选中单元的数据送到数据线D7~D0上。

 ③保持:

当为高电平,CE2为任意时,芯片未被选中,处于保持状态,数据线呈现。

微处理器通过数据总线、地址总线及控制总线与存储器连接,如下图所示:

 

地址总线为地址信号,用来指明选中的存储单元地址。

数据总线为数据信号,它是微处理器送往存储器的信息或存储器送往微处理器的信息。

它包括指令和数据。

控制总线发出存储器读写信号,以便从ROM、RAM中读出指令或数据,或者向RAM写入数据。

在微机系统中,常用的静态RAM有6116、6264、62256等。

在本实验中使用的是6264。

6264为8K╳8位的静态RAM,其逻辑图如下:

 

其中A0~12为13根地址线,I/O0~7为8根数据线,CS1、CS2为两个片选端,OE为数据输出选通端,WR为写信号端。

其工作方式见下表:

 

控制信号

CS1

CS2

OE

WR

数据线

L

H

L

H

输出

L

H

L

输入

非选

H

高阻态

7.可编程并行I/O接口芯片8255A

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:

与CPU连接部分、与外设连接部分、控制部分。

引脚功能:

RESET:

复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

  CS:

芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.

  RD:

读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

  WR:

写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。

  D0~D7:

三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

  8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在一下三种方式下工作。

  方式0————基本输入输出方式;方式1————选通输入/出方式;方式三————双向选通输入/输出方式;

  PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

工作于三种方式中的任何一种;

  PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

不能工作于方式二;

  PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

'不能工作于方式一或二。

  A1,A0:

地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.

  当A1=0,A0=0时,PA口被选择;

  当A1=0,A0=1时,PB口被选择

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1