51单片机AD89电路设计程序+原理图

合集下载

AT89C51单片机综合设计PPT课件

AT89C51单片机综合设计PPT课件

硬件连接
将LED灯的正极连接到单片机的I/O口,负 极接地。
软件编程
使用C语言编写程序,通过循环语句控制I/O 口的电平状态,实现LED的闪烁。
实现效果
LED灯按照设定的频率快速闪烁,可实现基 本的信号指示功能。
实例二:按键输入
按键输入原理
通过检测AT89C51单片机的I/O口电平变化, 判断是否有按键按下。
单片机广泛应用于智能仪表、工业控制、智能家居、消费电子等领域。
AT89C51单片机特性
8位处理器
AT89C51单片机采用8位处理器 ,可处理8位二进制数据。
Flash存储器
AT89C51单片机内部集成了 Flash存储器,可用于程序存储 和数据存储。
丰富的I/O接口
AT89C51单片机具有丰富的输 入/输出接口,可连接各种外设 。
应用拓展
未来,AT89C51单片机将在物联网、智能制造、人工智能等领域 发挥更大的作用,为智能化生活提供更多便利。
开发环境与工具
随着开发环境和工具的不断完善,AT89C51单片机的开发将更加 便捷高效。
课程建议与展望
课程内容
在未来的课程中,应加强对AT89C51单片机的原理、外设接口、 开发工具等方面的介绍,以便学生更好地理解和应用。
软件编程
使用C语言编写程序,通过检测I/O口的电平 状态变化,判断是否有按键按下。
硬件连接
将按键的一端连接到单片机的I/O口,另一 端接地。
实现效果
当按键被按下时,程序会检测到电平变化并 执行相应的操作,实现人机交互功能。
实例三:数码管显示
数码管显示原理
通过控制数码管的各个段(a-g)的亮灭,显示数字或字符。
实践环节

第2章 89C51系列单片机的结构和原理

第2章 89C51系列单片机的结构和原理
2016/6/30 11
后缀由“YYYY”四个参数组成,每个参数的表示
和意义不同。在型号与后缀部分有“-”号隔开。
后缀中的第一个参数 Y用于表示速度,后缀中的
第二个参数Y用于表示封装,后缀中第三个参数 Y用 于表示温度范围,后缀中第四个参数Y用于说明产品 的处理情况。 例如:有一个单片机型号为“AT89C51—12PI”,则
2016/6/30
23
OV(PSW.2):溢出标志。带符号加减运算中,超出了累加器A所能 表示的符号数有效范围(-128~+127)时,即产生溢出, OV=1,表明运算运算结果错误。如果OV=0,表明运算结果正 确。 执行加法指令ADD时,当位6向位7进位,而位7不向C进位时, OV=1;或者位6不向位7进位,而位7向C进位时,同样OV=1。 乘法指令,乘积超过255时,OV=1,乘积在AB寄存器对中。若 OV=0,则说明乘积没有超过255,乘积只在累加器A中。
2.2 89C51系列单片机的结构
(3) 21(18)个SFR(128字节) 它用于控制和管理片内算术逻辑部件、并行 I/O口、串行I/O口、定时器/计数器、中断 系统等功能模块的工作。 3. 并行I/O口 89C51单片机共有4个8位的I/O口(P0、P1 、P2和P3),每一条I/O线都能独立地用作 输入或输出。P0口为三态双向口,能带8个 TTL门电路,P1、P2和P3口为准双向口,负 载能力为4个TTL门电路。
89——表示芯片内带有非易失性的Flash程序存储器;
C——代表CMOS工艺制造;
51/52/54/58——分别表示芯片内Flash程序存储器的
容量分别为4K/8K/16K/32K。
2016/6/30
4
2.1 89C51单片机的概述

自制STC8952 STC8951 AT89S52 AT89S51最小系统原理图

自制STC8952 STC8951 AT89S52 AT89S51最小系统原理图

自制STC8952/STC8951下载器AT89S52/AT89S51最小系统原理图STC89C52由于价格低,性价比高,烧录程序方便等优势,收到越来越多人的青睐。

下边是一个自制STC89C52最小系统/烧录器的原理图。

如有需要请看这里:/auction/item_detail.htm?item_num_id=89 88890168如有需要请看这里:/auction/item_detail.htm?item_num_id=89 88890168图分为6个部分:1. 最小系统的核心部分(CPU)2. 阻容复位电路3. USB供电电路,8*8自锁开关以及USB公头组成,加自锁开关是方便烧录程序使芯片断电再上电4. 电源指示电路,标识系统板是否上电5. ISP接口,方便AT89S52/AT89S51芯片烧录程序6. 串口通信电路,为STC89C52/C51收录程序,或者与PC机串口通信,或者显示调试信息STC89C52/STC89C51下载器图文教程一、下载器介绍如果只想学习下载方法请直接跳到第三节,这里的介绍只是为接下来的硬件连接做准备STC89C51/STC89C52符合8051的架构,与AT89S51/AT89S52等51芯片的指令完全兼容,并且具有价格适中,性能稳定,性价比高,程序烧录方便等特点,很适合初学者使用,同时也广泛应用于产品的开发。

STC系列的芯片采用串口通信的方式来烧录编译好的文件。

根据自己在开发中积累的经验,结合目前常用的几种烧录方式,设计了一种操作简单并且可以灵活扩展的STC下载器。

如果有需要的可以在这里购买/auction/item_detail.htm?item_num_id=3197118340套件地址:/auction/item_detail.htm?item_num_id=8988890168如下图:正面图背面图二、接口详细介绍J1--------串口 J2--------USB 供电接口 J3--------51或AVR 选择J4--------TTL下载线接口 J5--------片外RAM扩展接口 J6--------5V直流电源接口(内正外负)J7--------MAX使能跳线 K1--------电源开关 K2--------51复位按键K3--------ATMega16复位按键 Y1--------可更换的晶振 P1--------I/O口P0端口P1--------I/O口P1端口 P2--------I/O口P2端口 P3--------I/O口P3端口TTL以及外部RAM扩展接口ISP接口引脚定义所有IO口都采用双排引出,可以做为最小系统使用,兼容at89s52/s51等芯片;预留TTL接口,方便连接USB转TTL下载线;预留有ISP接口,可以接ISP下载器给AT89S52/S51烧录程序;支持AVR转51转接板;使用晶振座子,晶振可以根据自己的需要更换;使用USB供电;预留有标准电源接口,可以直接接5V直流电源使用。

51单片机最小系统原理图

51单片机最小系统原理图

51单片机最小系统原理图接触过单片机的朋友们都时常会听到别人提"最小系统"这个词.那到底什么是最小系统,有怎样设计称上"最小"呢?下面让依依电子来告诉大家:单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,单片机+晶振电路+复位电路,便组成了一个最小系统.但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为小系统。

应用89C51(52)单片机设计并制作一个单片机最小系统,达到如下基本要求:1、具有上电复位和手动复位功能。

2、使用单片机片内程序存储器。

3、具有基本的人机交互接口。

按键输入、LED 显示功能。

4、具有一定的可扩展性,单片机I/O口可方便地与其他电路板连接。

51单片机学习想学单片机,有一段时间了,自己基础不好,在网上提了许多弱智的问题,有一些问题网友回答了,还有一些为题许多人不屑一顾。

学来学去,一年多过去了,可是还是没有入门,现在我就把我学习中遇到的一些问题和大家分享一下,希望在大虾的帮助下能快速的入门:)在学习之前我在网上打听了一下atmel公司的单片机用的人比较多,avr系列这几年在国内比较流行,但是考虑到avr还是没有51系列用的人多,51系列的许多技术在实践中都已经的到了前人的解决,遇到问题后,有许多高人可以帮助解决,所以这次学习,选用了atmel公司的at89s52,来进行学习。

学习单片机是需要花费时间实践的;学之前我们先准备好所需的东西一、所需硬件at89s52一片;8m晶振一个,30pf 的瓷片电容两个;10uf电解电容一个,10k的电阻一个;万用板(多孔板)一块;其他的器件如电烙铁一把30w的,松香,焊锡若干,如果是第一次学习,不知道这些东西,没关系,以下是它们的照片:Atmel公司生产的at89s52 8m晶振22pf瓷片电容电解电容图1/4 w 10k 的电阻普通的电木万用板好了,有了这些东西,我们就可以把它们组合到一起做成我们的最小系统了:)有了这些东西我们怎么焊接丫?不用着急,过一会我们把原理图给大家画出来大家就会了。

2.1 89C51单片机的内部结构解析

2.1 89C51单片机的内部结构解析

51系列单片机的存储器分为数据存储器和程序存储 器,其地址空间,存取指令和控制信号各有一套。
1. 物理结构
片内程序存储器
程序存储器ROM
89C51存储器
片外程序存储器 片内数据存储器 片外数据存储器
数据存储器ROM
2. 逻辑结构
FFH 特 殊 功 能 寄 存 器 80H 7FH 通用 RAM区 位寻址区 30H 2FH 20H 1FH 0FFFH 工作寄 存器区 0000H 0000H 1000H F0H E0H D0H B8H B0H A8H A0H 98H 90H 88H 80H 特 殊 FFFFH 功 能 寄 存 器 中 位 寻 址 FFFFH 外部 RAM 外部
ROM
(I/O口 地址)
内部 ROM (EA=1)
0FFFH
外部 ROM (EA=0)
00H
0000H
内部数据存储器
外部数据存储器
程序存储器
(1) 片内、外程序存储器统一编址,使用MOVC指令。 (2) 片外数据存储器统一编址,使用MOVX指令。 (3) 片内数据存储器统一编址,使用MOV指令。
系列 Intel 51 子系列 Intel 52 子系列 ATEML 89C系列 (常用型) 片内存储器(字节) MCS-51 系列单片机配置一览表 定时器 并行 片内ROM 有ROM 无 8031 80C31 8032 80C32 有EPROM 片内 计数器 RAM I/O 串行 I/O 中 断 源
PSW
中断系统 串行口 定时/计数器
PC加1
PC
DPTR
P1锁存器
P3锁存器 P3驱动器
P1驱动器
P1.0~P0.7
P3.0~P3.7
三、CPU结构

89C51单片机硬件结构和原理

89C51单片机硬件结构和原理
缓冲器
ALU PSEN ALE EA RET 定 时 控 制 指 令 译 码 器 OSC XTAL1 XTAL2 指 令 寄 存 器
PC增1 中断、串行口和定时器
PSW PC DPTR P1锁存器 P1驱动器 P1.0-P1.7 P3锁存器 P3驱动器 P3.0-P3.7
第2 章
89C51单片机硬件结构和原理
VPP:用于在对89c51的片内Flash ROM编程时,施加 (12V~21V)高压的输入端。
4. I/O端口 P0~P3
(1) P0口(P0.0~P0.7,39~32pin,I/O) 是漏极开路的8位准双向 I/O 端口。
G
D S
准双向
当I/O口作为输入时,应先向此口锁存器写入全1, 此时该口引脚浮空,可作高阻抗输入。
第2 章
89C51单片机硬件结构和原理
(3) P2口(P2.0~P2.7,21-28,I/O)
带内部上拉电阻的8位 准双向I/O端口。 ① 当有外部存贮器时,用作高8 位地址总线。 ② 当无外部存贮器时,可用作一般I/O线。输出输入时的情 况同P1口。
(4) P3口(P3.0~P3.7,10~17pin,I/O) 双功能口。 带内部上拉电阻的8位准双向I/O端口。 每位能驱动4个LS型TTL负载。 P3口除作为一般I/O口外,每个引脚都有第二功能。 第一功能:一般I/O口,准双向,输出输入时的情况同P1口。 第二功能:系统控制信号,定义如下:
第2 章
89C51单片机硬件结构和原理
第2 章

89C51单片机硬件结构和原理
与8051相比,89C51具有两种用软件选择的节电工作方式——
空闲方式:CPU停止工作,RAM、定时/计数器、中断系统等继续工作。

AT89C51单片机开发板原理图电路

AT89C51单片机开发板原理图电路

A
Revision
GND
P3.2
1
2
3
4
6
COM3 R9 120 P0.1 P0.2
D2 D3 D4 P0.3
+5V 1
RP2
D
3
Q3 8550
D1 P0.0
D
GND 7805 PWR GND D10 4001 1 CP1 100u 2 Vin Vout 3 +5V
E
E
+5V R6 1K
+5V P0.4
D5 D6 P0.5 D7 COM4 P0.6 P0.7 120
GND +5V VLCD RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 +5V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1602 VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K TG1602 GND
GND
JP2 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33
CN2 2 1 CN3 MAX232 1 C8 104 3 4 C9 104 5 P3.1 P3.0 11 10 12 9 C1+ C1C2+ GND C2T1IN T2IN R1OUT R2OUT T1OUT T2OUT R1IN R2IN VCC V+ V2 6 15 GND 14 7 13 8 GND C10 104 GND UART 1 6 2 7 3 8 4 9 5 D+ D+5V C5 4.7u R23 + C6 104 10K C7 1u GND 2 1 TXD P3.1 U11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 DCD RI GND D+ DVDD REGIN VBUS RST# NC SUSPEND# SUSPEND NC NC CP2102 DTR DSR TXD RXD RTX CTX NC NC NC NC NC NC NC NC 28 27 26 25 24 23 22 21 20 19 18 17 16 15 GND RXD1 TXD1 P3.0 P3.1 RXD P3.0 +5V

51单片机AD89电路设计程序+原理图

51单片机AD89电路设计程序+原理图

AD0809在51单片机中的应用我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,大部分可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D或V/F实现。

下现我们就来了解一下AD0809与51单片机的接口及其程序设计。

1、AD0809的逻辑结构ADC0809是8位逐次逼近型A/D转换器。

它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

2、AD0809的工作原理IN0-IN7:8条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。

当ALE线为高电平时,地址锁存与译码器将A, B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。

A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

通道选择表如下表所示。

C B A 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7数字量输出及控制线:11条ST为转换启动信号。

当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。

EOC为转换结束信号。

当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。

OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。

AT89C51单片机结构和原理PPT课件

AT89C51单片机结构和原理PPT课件

定的操作数,指示指令运行的状态等。
第12页/共76页
• 2.1.2 存储器

AT89C51 单 片 机 内 部 有 256 个 字 节 的 RAM 数 据 存 储 器 和 4 KB 的 闪
存程序存储器(Flash),当不够使用时,可分别扩展为64 KB外部RAM存储
器和64 KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机
TH0、TL0、TH1、TL1都是SFR中的特殊功能寄存器(见表2-4)。
第16页/共76页

T0 和 T1 在 定 时 器 控 制 寄 存 器 TCON 和 定 时 器 方 式 选 择 寄 存 器
TMOD的控制下(TCON、TMOD为特殊功能寄存器),可工作在定时器模式
或计数器模式下,每种模式下又有不同的工作方式。当定时或计数溢出时还
增强系统灵活性。

AT 8 9 C 5 1 单 片 机 内 部 总 线 是 单 总 线 结 构 , 即 数 据 总 线 和 地 址 总 线
是公用的。
第19页/共76页
2.2 AT89C51单片机引脚及其功能

AT89C51 有 40 条 引 脚 , 与 其 他 51 系 列 单 片 机 引 脚 是 兼 容 的 。 这 40 条 引 脚 可 分 为 I/O 端 口 线 、 电 源
第23页/共76页
VCC T1
T2
P0.X

2. P1口

P1口有八条端口线,命名为P1.0~P1.7,每条线的结构组成如图2-
4所示。P1口是一个准双向口,只作普通的I/O口使用,其功能与P0口的第
一功能相同。作输出口使用时,由于其内部有上拉电阻,所以不需外接上拉

基于at8951芯片的电子广告牌电路设计

基于at8951芯片的电子广告牌电路设计

现在城市中用于装点各种建筑物的绚丽色彩依旧是霓虹灯.但是霓虹灯具有发热量大,亮度较小,色彩较暗,价格较贵且耗电量较大等缺点已经不作为现在装饰的主要选择对象。

点阵屏具有价格便宜,可视度远,亮度高,耗能较低,体积较小,且可以根据实际情况由几块小的点阵屏组合成较大面积的点阵块等优点。

在此主要介绍以AT89S51为控制芯片,用8×8的点阵屏4块来级联实现16×16的点阵屏,从而用于广告牌显示等。

1 系统设计方案鉴于所设计的点阵屏为16×16单色显示,可以用8×8的点阵屏4块来级联实现,此时点阵屏的行列各为16管脚,需要扩展口,采用74LS164串行输入并行输出来实现。

整个系统以AT89S51为控制芯片,P0/P2口为行控制,P3口为芯片74LS164的输入,且2片74LS164级联后为列控制,通过软件程序调用不同的代码来显示字符或文字。

2 元器件介绍2.1 AT89S51单片机简介AT89S51拥有4 KB的可编程的闪存(FLASHProgrammahle AND Erasable Read Only Memory)。

片上的闪存允许在系统内再编程,在系统开发时可以十分容易地进行程序修改,即使程序错误也不会成为废品。

由于在单片机集成电路上包括用8位CPU和闪存,AT89S51成为强大的控制器,它为很多嵌入式系统提供一种高效灵活的解决方案。

基于以上理由,选择了AT89S51。

2.2 74LS164芯片简介在单片机系统中,如果并行口的I/O资源不够,而串行口又没有其他的作用,那么可以用74LS164来扩展并行I/O口,节约单片机资源。

74LS164是一个串行输入/并行输出的移位寄存器,并带有清除端。

3 硬件设计图1电路为1块8×8点阵显示电路连接图。

(1)把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1~DR8”端口上;(2)把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1~DC8”端口上;如果要显示大的图像可多个点阵拼在一起,将点阵的行和行相串联,列和列相串联,用741S164控制单个行即可。

MSC-51系列单片机IntelAT89C51为中心器件设计交通灯控制器(附源程序和电路图)

MSC-51系列单片机IntelAT89C51为中心器件设计交通灯控制器(附源程序和电路图)

MSC-51系列单片机IntelAT89C51为中心器件设计交通灯控制器(附源程序和电路图)一、工程简介(一)、概述本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。

假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。

然后转状态一东西绿灯通车,南北为红灯。

过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。

再转状态三南北绿灯通车,东西红灯。

过段时间转状态四南北绿灯闪几次转黄灯,延时几秒,东西仍为红灯。

最后循环至状态一。

交通信号灯模拟控制系统设计利用单片机的定时器定时,控制十字路口红绿灯交替电亮和熄灭,并且用LED数码管显示时间,但由于时间及水平的不足,在此实验中不显示。

用十二个发光二极管代替交通灯进行实验设计。

这次设计是《微机接口与控制技术》课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固所学的知识及提高应用水平.在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法.提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。

为今后的毕业设计、及从事微机控制系统的设计与维护奠定坚实的基础。

这次课题设计的意义在于通过具体的控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。

使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。

(二)、工艺流程图因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一个十字路口为东西南北走向。

初始状态0为东西南北灯都熄灭。

然后转状态1东西绿灯通车,南北红灯。

过一段时间转状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。

再转状态3,南北绿灯通车,东西红灯。

过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。

最后循环至状态1。

交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED 数码管显示时间,但由于时间和水平的限制就不显示时间。

89C51单片机扩展存储器的设计-PPT课件PPT文档

89C51单片机扩展存储器的设计-PPT课件PPT文档
图8-14
20
8.4.1常用的静态RAM〔SRAM〕芯片 典型型号有:6116、6264、62128、62256。+5V电源供电,双列 直插封装,6116为24引脚封装,6264、62128、62256为28引脚 封装。(P148) 各引脚功能:
带有三态门的8D锁存器,其引脚及内部结构如图8-7和图 为了片选的需要,每个存储器芯片都有片选信号引脚; 74LS138是3-8译码器,有3个数据输入端,经译 OE*:读选通信号输入线。 带有三态门的8D锁存器,其引脚及内部结构如图8-7和图
图8-18
22
译码选通法扩展,如图8-19所示。
图8-19
23
各62128芯片的地址分配见表8-8。
24
8.5 EPROM和RAM的综合扩展 例 6286-42,EPR综 采O合用M扩线选展选27的法64硬扩。件展扩接2展片口接8电K口B路的电R路A见M图和82-片208。KB〔的PE1P5R2O〕M。RAM选
8
常用的存储器地址空间分配方法有两种:线选法和地址译 码法。 1.线选法 直接利用系统的高位地址线作为存储器芯片〔或I/O接口芯 片〕的“片选〞控制信号。为此,只需要把用到的高位地 址线与存储器芯片的“片选〞端直接连接即可。 优点是电路简单,不需要另外增加地址译码器硬件电路, 体积小,本钱低。 缺点是可寻址的芯片数目受到限制,只适用于外扩芯片数 目不多的单片机系统的存储器扩展。
10
〔1〕74LS138 74LS138是3-8译码器,有3个数据输入端,经译
码产生8种状
态。其引脚如图8-3所示,真值表如表8-1所示。 由表8-1可
见,当译码器的输入为某一固定编码时,其输 出仅有一个固
定的引脚输出为低电平,其余的为高电平。而 输出为低电平

第2章AT89C51单片机结构和原理

第2章AT89C51单片机结构和原理

2.4 单片机的CPU结构
一、中央处理器(CPU) CPU是单片机内部的核心部件,是一个8位二进制数的中央处理 单元,主要由运算器、控制器和寄存器阵列构成。
1. 运算器
运算器用来完成算术运算和逻辑运算功能,它是AT89C51内部 处理各种信息的主要部件。运算器主要由算术逻辑单元(ALU)、
累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存器(PSW)组
D2H
D1H
D0H
第2章
AT89C51单片机结构和原理
① 进位标志位CY:表示累加器A在加减运算过程 中其最高位A7有无进位或借位。 ② 辅助进位位AC:表示累加器A在加减运算时低 4位(A3)有无向高4位(A4)进位或借位。 ③ 用户标志位F0:是用户定义的一个状态标志位,
根据需要可以用软件来使它置位或清除。
(a) 双ห้องสมุดไป่ตู้直插式封装;(b) 方形封装
( A 1 2 ) P 2 .42 8
(T2)P 1 .0 (T2E X )P 1 .1 P 1 .2 P 1 .3 P 1 .4 P 1 .5 P 1 .6 P 1 .7 RST (R X D )P 3 .0 (T X D )P 3 .1 (T N T 0 )P 3 .2 (T N T 1 )P 3 .3 (T 0 )P 3 .4 (T 1 )P 3 .5 (W R )P 3 .6 (R D )P 3 .7 XTAL2 XTAL1 GND
的特点之外,还具有CMOS低功耗的特点。例如8051的功耗为630 mW,
而80C51的功耗只有120 mW。在便携式、手提式或野外作业仪器设备上, 低功耗是非常有意义的,因此,在这些产品中必须使用CHMOS的单片 机芯片。
第2章

第2章89C51单片机硬件结构与原理

第2章89C51单片机硬件结构与原理

+5V 8
8
8
8 P3.0 P3.5 含第二功能
总线型应用的“三总线”模式 模式
非总线型应用的“多I/O”
2.2 89C51单片机引脚及其功能
§2.2.1 89C51单片机引脚 §2.2.2 89C51单片机引脚功能
返回
§2.2.1 89C51单片机引脚
• 89C51单片机引脚如图2-3所示。
返回
FLASH/KB
4
片内RAM/字节 128
I/O条
32
定时器/个
2
中断源/个
5
串行接口/个 1
M加密级

AT89C52
8 256 32 3 6 1 有
AT89C1051 低档型 1 64 15 1 3 1 有
AT89C2051
2 128 15 2 6 1 有
AT89S8252 高档型 8 256 32 3 9 1 有
P2口:带内部上拉电阻的8位准双向 I/O端口,每位能驱动4个LS型TTL负 载。在CPU访问片外存储器时,它输 出高8位地址。
返回
5、P3口:
带内部上拉电阻的8位准双向I/O端口, 每位能驱动4个LS型TTL负载。P3口 除作为一般I/O口外,每个引脚都有第
二功能。(参见教材P24)
返回
§2.3 89C51存储器配置
返回
• EA/Vpp(31脚):
Vpp:对8751片内EPROM固化编程时, 编程电压输入端(12-21V)。
返回
四、I/O端口P0、P1、P2和P3
• 1、准双向 • 2、P0口 • 3、P1口 • 4、P2口 • 5、P3口
返回
1、准双向
当I/O口作为输入时,应先向此口锁 存器写入全1, 此时该口引脚浮空, 可作高阻抗输入。

第2章89C51单片机硬件结构和原理

第2章89C51单片机硬件结构和原理

4、四个8位并行I/O(输入/输出)接口 P0~P3:
每个口可以用作输入,也可以用作输出。
20:00
返回
单片机原理及接口技术
一、组成
5、两个或三个定时/计数器:
每个定时/计数器都可以设置成计数方式,用以 对 外部事件进行计数 ,也可以设置成定时方式,并可以根据计数或定时的结果 实现计算机控制 。
1)运算器
(4)8位寄存器B: 在乘除运算时,用来存放一个操作数也 用来存放运算后的一部分结果;如不 能做乘除运算时,作为通用寄存器。
20:00
返回
单片机原理及接口技术
1)运算器
(5)布尔处理器: 专门用于处理位操作的,以PSW中的C为 其累加器。
20:00
返回
单片机原理及接口技术
1)运算器
(6)2个8位暂存器:
返回
单片机原理及接口技术
§2.1
89C51单片机芯片内部结构及特点
§2.1.1 89C51单片机的基本组成 §2.1.2 89C51单片机芯片内部结构
20:00
返回
单片机原理及接口技术
§2.1.1 89C51单片机的基本组成
一、组成
二、89C51系列单片机的性能
20:00
返回
单片机原理及接口技术
89C51RAM均为128B,地址为00H~7FH。 用于存放运算的中间结果、数据暂存以及数据缓 冲等。 这128B的RAM中有32个字节单元可指定为工作寄 存器。 片内还有21个特殊功能寄存器(SFR),它们同 128字节RAM统一编址,地址为80H~FFH。后面详 细介绍。
20:00
返回
• •
20:00
返回
单片机原理及接口技术
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AD0809在51单片机中的应用
我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,大部分可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D或V/F实现。

下现我们就来了解一下AD0809与51单片机的接口及其程序设计。

1、AD0809的逻辑结构
ADC0809是8位逐次逼近型A/D转换器。

它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

2、AD0809的工作原理
IN0-IN7:8条模拟量输入通道
ADC0809对输入模拟量要求:信号单极性,电压围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:4条
ALE为地址锁存允许输入线,高电平有效。

当ALE线为高电平时,地址锁存与译码器将A, B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模
拟量进转换器进行转换。

A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

通道选择表如下表所示。

C B A 选择的通道
0 0 0 IN0
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3
1 0 0 IN4
1 0 1 IN5
1 1 0 IN6
1 1 1 IN7
数字量输出及控制线:11条
ST为转换启动信号。

当ST上跳沿时,所有部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。

EOC为转换结束信号。

当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。

OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。

OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。

D7-D0为数字量输出线。

CLK为时钟输入信号线。

因ADC0809的部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,
VREF(+),VREF(-)为参考电压输入。

3、ADC0809应用说明
(1). ADC0809部带有输出锁存器,可以与AT89S51单片机直接相连。

(2).初始化时,使ST和OE信号全为低电平。

(3).送要转换的哪一通道的地址到A,B,C端口上。

(4).在ST端给出一个至少有100ns宽的正脉冲信号。

(5).是否转换完毕,我们根据EOC信号来判断。

(6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

4、AD0809的应用
了解完A/D转换芯片,下面我们以图2为例来完成它的程序设计。

电路说明:
电路见图(2),主要由AD转换器AD0809,频率发生器SUN7474,单片机AT89S51及显示用数码管组成。

AD0809的启动方式为脉冲启动方式,启动信号START启动后开始转换,EOC 信号在START的下降沿10us后才变为无效的低电平。

这要求查询程序待EOC无效后再开始查询,转换完成后,EOC输出高电平,再由OE变为高电平来输出转
换数据。

我们在设计程序时可以利用EOC信号来通知单片机(查询法或中断法)读入已转换的数据,也可以在启动AD0809后经适当的延时再读入已转换的数据。

AT89S51的输出频为晶振频的1/6(2MHZ),AT89S1与SUN7474连接经与7474的ST脚提供AD0809的工作时钟。

AD0809的工作频围为10KHZ-1280KHZ,当频率围为500KHZ时,其转换速度为128us。

AD0809的数据输出公式为:Dout=Vin*255/5=Vin*51,其中Vin为输入模拟电压,Vout
为输出数据。

当输入电压为5V时,读得的数据为255再乘以2,得510。

我们用510*98%得499,再将百位数码管的小数点点亮,显示为4.99V,显示值与输入值基本吻合。

软件设计思路及程序流程
编程思路:
(1)向AD0809写入通道号并启动转换
(2)延时1ms后等待EOC出现高电平(JNB EOC,$)
(3)给OE置高并读入转换数据存入数据地址或数组中。

(4)显示
(5)
初始化
1、写入通道号
2、延时20us后等待EOC变高
3、读入采集到的数据并存入数组存入下一通道
#include<at89x51.h>
#define ucharunsigned char
#define uint unsigned int
sbit st=P3^2;
sbit oe=P3^1;
sbit eoc=P3^0;
uchar codetab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//数码管显示段码ucharcode td[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};//通道先择数组
uint ad_0809,ad_data1,ad_data2,ad_data3,ad_data0;
uchar m,number;
uchar x[8];//八通道数据待存数组
void delaynms(uint x);//nms延时程序
void display();//显示程序
void ad0809();//芯片启动程序
voidkey();//键扫描程序
main()
{
number=1;
P1=0x00;
while(1)
{
ad0809();//调AD0809启动子程序
key();//调按键子程序
ad_0809=x[number];//把相关通道数据给ad_0809,用做显示
display();//调显示
}}
//nms延时程序
voiddelaynms(uint x)
{
uchari;
while(x-->0)
{
for(i=0;i<125;i++)
{;}}}
void display()
{
uchar a;
ad_data1=(ad_0809*49/25)/100;//读得的数据乘以2再乘以98%除以100得百位
ad_data2=((ad_0809*49/25)%100)/10;//读得的数据乘以2再乘以98%再分出十位
ad_data3=(((ad_0809*49/25)%100)%10);//读得的数据乘以2再乘以98%再分出个位
for(a=0;a<10;a++)
{
P0=tab[ad_data3];//送小数点后第二位显示
P2=0x07;//选通第一个数码管
delaynms(3);
P0=tab[ad_data2];//送小数点后第一位显示
P2=0x0b;//选通第二个数码管
delaynms(3);
P0=tab[ad_data1];//送整数显示
P0_7=0;//点亮第三个数码管小数点
P2=0x0d;//选通第三个数码管
delaynms(3);
P0=tab[number];//送通道号显示
P2=0x0e;
delaynms(3);
}}
void ad0809()
{
uchari,m=1;
for(i=0;i<8;i++)
{
P0=td[i];//选通通道
oe=0;
//OE:输出允许信号;
//用于控制三态输出锁存器向单片机输出转换得到的数据。

OE=0,输出数据线呈高电阻;OE=1,输出转换//得到的数据;
//以下三条指令为起动AD0809
//注:st与ALE连载一起
//ALE为地址锁存允许输入线,当ALE=1,地址锁存与译码器将A, B,C三条//地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行//转换。

st=0; //ST为转换启动信号。

st=1;//当ST上跳沿时,所有部寄存器清零;
st=0; //下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。

delaynms(1);// EOC信号在START的下降沿10us后才变为无效的低电平。

while(!eoc);//等待转换结束,转换完成后,EOC输出高电平,
oe=1;//取出读得的数据,OE变为高电平来输出转换数据
x[m]=P2;//送相关通道数组
oe=0;
m++;
}}
void key()
{
if(!P3_5)//P3.5是否按下
{
delaynms(20);//延时去抖动判误
if(!P3_5)//再一次判断P3。

5是否按下
{
while(!P3_5);//等待P3。

5为高电平,按键松开
number++;//通道号显示加一
if(number>8)number=1;//八通道
}}}。

相关文档
最新文档