您的当前位置:首页正文

单片机1

2024-10-18 来源:威能网


摘 要

在单片机的实时控制和智能仪表等应用系统中,控制或测量对象的有关变量,往往是连续变化的模拟量,如温度、压力、流量、速度等物理量。这些模拟量必须转换成数字量后才能输到单片机中进行处理。A/D转换器(ADC)的作用就是把模拟量转换成数字量,以便于计算机进行处理。

关键字:单片机 A/D转换器

目 录

第1章 第2章 第3章 第4章 第5章 第6章 第7章

课程设计要求……………………………………………………1 课程设计目的……………………………………………………2 各种芯片介绍……………………………………………………3 实验电路及连线…………………………………………………11 实验框图…………………………………………………………12 程序设计及硬件电路……………………………………………13 课程设计总结……………………………………………………15

参考资料

2

第1章 课程设计要求

利用实验室所提供实验板中的ADC0809做A/D转换器,将实验板上的电位器提供的模拟量输入编制程序转化为二进制的数字量输出,并用8255的PA口输出到发光二极管显示,最后画出设计的实验电路图。

3

第2章 课程设计目的

1、初步掌握A/D转换与单片机的接口方法 2、了解A/D芯片ADC0809转换性能及编程

3、通过此次课程设计了解单片机进行数据采集的过程

在本次课程设计中综合运用所学的单片机知识,为以后的单独设计单片机打下基础。

4

第3章 各种芯片简介

根据A/D转换器的原理可将A/D转换器分成两大类;一类是直接型A/D转换器,另一类是间接型A/D转换器。在直接型A/D转换器中,输入的模拟电压被直接转换成数字代码,不经任何中间变量;在间接型A/D转换器中,首先把输入的模拟电压转换成某种中间变量(时间、频率、脉冲宽度等),然后再把这个中间变量转换成数字代码输出。

因此A/D转换器大致可以分有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,但价格也昂贵。

本次课程设计用到的ADC0809属第二种,是八位A/D转换器。每采集一次一般需100s。本次课程设计是用延时查询方式读入A/D转换结果,也可以用中断方式读入结果,在中断方式下,A/D转换结束后会自动产生EOC信号,将其与CPU的外部中断相接。

3.1 ADC0809芯片引脚及功能

引脚如图所示

5

IN0~N7 是8路模拟信号输入端 D0~D7 是8位数字量输出端

A、B、C、与ALE控制8路模拟通道的切换,A、B、C、分别与三根地址线或数据线相连,三位编码对应8个通址。C、B、A=000~111分别对应IN0~IN7通道地址

OE、START、CLK为控制信号端,OE为输出允许端,START为启动信号输入端,CLK为时钟信号输入端

VR和VR为参考电压输入端

3.2 ADC0809结构及转换原理

ADC0809结构图如下图

0809是采用逐次逼进的方法完成A/D转换的。由单一的+5V电源供电;片内带有锁存功能的8路选1的模拟开关,由C、B、A的编码来决定所选的通道。

6

0809完成一次转换需100s左右,输出具有TTL三态锁存缓冲器,可直接连到MCS-51的数据总线上。通过适当的外接电路,0809可对0~5V的模拟信号进行转换。

MCS-51引脚

7

3.2.1电源及时钟引脚 电源引脚

Vcc:接+5V电源 Vss:接地

时钟引脚

XTAL1:接外部晶体的一个引脚

XTAL2:接外部晶体的另一端,在该引脚内部接至内部反相大器的输出端

3.2.2 控制引脚

RSTVPD:RST(RESET)是复位信号的输入端,高电平有效;VPD为本引脚的第二功能,即备用电源的输入端

ALE/PROG:ALE为地址锁存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。严格的说,用户不宜用ALE作精确的时钟源或定时信号。如果想判断单片机芯片的好坏,可用示波器查看ALE端是否有正脉冲信号输出,如果有正脉冲信号输出,则单片机基本上是好的。

PROG为本引脚的第二功能。在对片内EPROM型单片机编程写入时,此引脚作为编程脉冲输入端。

PSEN:程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出的负脉冲作为读外部程序存储器的选通信号。PSEN可以驱动8个LS

8

型TTL负载。

EAVPP:EA功能为内外程序存储器选择控制端。当EA端为高电平时,单片机访问内部存储器,但在PC(程序计数器)值超过0FFFH时,将自动转向执行外部程序存储器的程序。

在对EPROM型单片机8751片内EPROM固化程序时,VPP为本脚的第二功能。用于施加较高编程电压的输入端

3.2.3 I/O口引脚

P0:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载

P1:8位准双向I/O口,可驱动4个LS型TTL负载

P2:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载

P3:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载

3.3 8255芯片

8255A引脚如下图所示

9

D7~D0:三态双向数据线,与单片机数据总线连接,用来传送数据信息。CS:片选信号线,低电平有效,表示芯片被选中

RD:读出信号线,低电平有效,控制数据的读出

10

WR:写入信号线,低电平有效,控制数据的写入

VCC:+5V电源

PA7~PA0:A口输入/输出线 PB7~PB0:B口输入/输出线 PC7~PC0:C口输入/输出线 RESET:复位信号线

A1~A0:地址线,用来选择8255A内部端口

8255的三种工作方式

方式0(基本输入/输出方式):这种工作方式不需要任何选通信号。A口、B口及C口的两个4位口中任何一个端口都可以由程序设定为输入或者输出。作为输出口时,输出数据被锁存;作为输入口,输入数据不锁存。

方式1(选通输入/输出方式):在这种工作方式下,A、B、C三个口分为两组。A组包括A口和C口的高四位,A口可由编程设定为输入口或者输出口,C口的高四位则是用来作为A口输入/输出操作的控制和同步信号;B组包括B口和C口的低四位,B口可由编程设定为输入口或者输出口,C口的低四位则是用来作为B口输入/输出操作的控制和同步信号。A口和B口的输入或者输出的数据都被锁存。

方式2(双向传送方式):在这种方式下,A口可以用于双向传送,C口的PC3~PC74用来作为输入/输出的控制同步信号。应该注意的是,只有A口允许用作双向传送,这时B口和PC0~PC2则可编程为方式0或者方式1工作。

编程控制字

11

8255A 的编程选择是通过对控制口输入控制字的方式实现的。控制字有方式选择控制字和C口置位/复位控制字。

C口置位/复位控制字:C口具有位操作功能,把一个置位/复位控制字送入8255A的控制寄存器(控制口)就能把C口的某一位置1或者清0而不影响其他位的状态。

12

第4章 实验电路及连线

13

第5章 实验框图

14

第6章 程序设计及硬件电路

程序

mode equ 082h ;方式0,PA,PC输出,CS0809 equ 8000h PortA equ 9000h ; Port A PortB equ 9001h ; Port B PortC equ 9002h ; Port C CAddr equ 9003h ; 控制字地址

org 0

mov dptr,#CAddr mov a,#mode movx @dptr,a

mov dptr, #CS0809 mov a, #0

PB输入15

movx @dptr, a ; 起动 A/D

mov a, #40h

djnz ACC, $ ; 延时 > 100us

movx a, @dptr ; 读入结果 mov r7,#100 dly:

mov dptr,#PortA movx @dptr,a djnz r7,dly ;延时 ljmp 0 end

16

硬件电路图

17

第7章 课程设计总结

在这一周的课程设计中,虽然时间很紧迫,但是在老师有步骤的安排下我顺利的完成了本次课程设计的各项要求。在本次课程设计中,我们回到课本,仔细研究各个芯片接口的设计,加深了对单片机各种芯片和进行伟福实验的了解,更是通过作硬件电路图让自己对单片机设计有了更深的认识。在一个设计中,任何一个小的环节都必须注意,成败就在一些容易忽视的地方,此外,我还从中学到了很多做事的方法,无论做什么,都一定要有计划的进行,按照自己预定的步骤一步步踏实的走好,最后才能达到成功的彼岸。

在这里要特别感谢张淑清老师给我们耐心的指导和各种好的学习方法,这在我们以后的生活中也将受益匪浅。虽然这只是一次小小的课程设计,但它包含了成功的所有因素:耐心、细心、有计划的做事等等,这为我们一步步走向人生最后的成功奠定了基础。

18

参考资料

M 张毅刚、彭喜元、姜守达、乔立岩 编著《新编MCS-51单片机应用设计》

哈尔滨工业大学出版社,2003年

M郭天祥 编著《新概念51单片机C语言教程》电子工业出版社

M张慰兮、王颖 编著《微型计算机(MCS-51系列)原理、接口及应用》南

京大学出版社,2005年

,人民邮电出版社,2004M求是科技 编著《单片机典型模块设计实例导航》年

19

因篇幅问题不能全部显示,请点此查看更多更全内容