AT89C51单片机串行输出

合集下载

AT89C51单片机程序

AT89C51单片机程序
{
ch451_write(display[0]+0);
}
}
else if(!stop_flag)
{
ch451_write(display[0]+BCD[miaoge]);
}
}
void key_Recognize()
{
switch(ch451_key)
//beep=~beep;
miaoge++;
}
}
else if(stop_flag)
{
timecount=0;
ss_flag=~ss_flag;
}
}
}
void ch451_inter() interrupt 3
{
#include<reg52.h>
#include"ch451.h"
sbit beep=P2^6;
uchar timecount=0;
uint count;
extern uchar shishi,shige,fenshi,fenge,miaoshi,miaoge;
extern bit stop_flag,ss_flag;
num=1;
}break;
case 0x49: delay(65000);
num--;
if(num<1)
{
num=6;
}
break;
case 0x43:delay(65000);
//*****************************************************

AT89C51系列单片机介绍

AT89C51系列单片机介绍

3.1 AT89C51系列单片机介绍3.1.1 AT89C51系列基本组成及特性AT89C51是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

而在众多的51系列单片机中,要算 ATMEL 公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。

而这种单片机对开发设备的要求很低,开发时间也大大缩短。

AT89C51基本功能描述如下:AT89C51是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入/擦除1000次,数据保存时间为十年。

它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。

AT89C51可构成真正的单片机最小应用系统,缩小系统体积, 增加系统的可靠性,降低了系统成本。

只要程序长度小于4k, 四个I/O口全部提供给用户。

可用5V电压编程,而且写入时间仅10毫秒, 仅为8751/87C51 的擦除时间的百分之一,与8751/87C51的12V电压擦写相比, 不易损坏器件, 没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。

AT89C51 芯片提供三级程序存储器锁定加密,提供了方便灵活而可靠的硬加密手段, 能完全保证程序或系统不被仿制。

另外,AT89C51 还具有MCS-51系列单片机的所有优点。

128×8 位内部RAM, 32 位双向输入输出线, 两个十六位定时器/计时器, 5个中断源, 两级中断优先级, 一个全双工异步串行口及时钟发生器等。

AT89C51有间歇、掉电两种工作模式。

间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU可根据工作情况适时地进入睡眠状态, 内部RAM和所有特殊的寄存器值将保持不变。

AT89C51单片机的介绍——最常用的51芯片

AT89C51单片机的介绍——最常用的51芯片

AT89C51单片机的介绍——最常用的51芯片首先,我们来了解一下单片机的概念。

单片机(Microcontroller)是一种集成度非常高的电子器件,它集成了微处理器、存储器、输入输出端口和其他外设电路,并且能够完成特定的功能。

AT89C51正是其中一款,它被广泛应用于各种应用领域,如电子设备控制、通信、仪器仪表、家电、汽车电子等。

2.频率:AT89C51的工作频率通常在12至24MHz之间,具有高速运算和响应的能力。

它也支持低功耗模式,在低功耗模式下,芯片能够降低功耗以提高电池寿命。

3.存储器:AT89C51具有4KB的闪存存储器,用户可以通过编程将程序代码保存在闪存中。

此外,它还有128字节的RAM存储器,用于临时存储变量和其他数据。

4.输入输出:AT89C51具有32个通用IO引脚,可以实现与外部设备的数据交换。

它还具有三个定时器/计数器,可用于测量时间间隔、产生精确的时间延迟等。

5. 通信接口:AT89C51支持串行通信接口,包括UART(Universal Asynchronous Receiver Transmitter)和SPI(Serial Peripheral Interface)。

这使得芯片能够与其他设备进行通信,如PC、传感器、LCD屏幕等。

6.中断:AT89C51具有6个中断源,可以通过外部触发或软件触发来响应中断。

中断能够提高系统的实时性,使得单片机能够及时响应外部事件。

总的来说,AT89C51是一款功能强大、灵活的单片机芯片,它具有高性能、低功耗、丰富的通信接口和存储器容量。

由于其广泛应用和良好的兼容性,AT89C51成为工程师和电子爱好者们选用的主流单片机之一、无论是学习、开发原型还是进行实际应用,AT89C51都是一个理想的选择。

此外,AT89C51还拥有丰富的发展资源和社区支持。

厂商提供了相关的开发工具包和技术文档,以帮助开发者迅速上手并进行开发。

此外,互联网上充斥着大量的技术资料、电路图和源代码,可以供开发者参考。

单片机AT89C51应用及结构功能

单片机AT89C51应用及结构功能

AT89C51单片机功能及应用和来源参考主要性能参数:与MCS-51产品指令系统完全兼容4K字节可重檫写Flash闪速存储器1000次檫写周期全静态操作:0HZ-24MHZ三级加密程序存储器128*8字节内部RAM32个可编程I/O口线2个16位定时/记数器6个中断源可编程串行UART通道低功耗空闲和掉电模式功能特性概述:AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/记数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/记数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作直到下一个硬件复位。

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

AT89C51方框图引脚功能说明·Vcc:电源电压·GND:地·P0 口:P0 口是一组8 位漏极开路型双向I/O 口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FIash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

AT89C51单片机的基本结构和工作原理

AT89C51单片机的基本结构和工作原理

A T89C51单片机的主要工作特性:·内含4KB的FLASH存储器,擦写次数1000次;·内含28字节的RAM;·具有32根可编程I/O线;·具有2个16位可编程定时器;·具有6个中断源、5个中断矢量、2级优先权的中断结构;·具有1个全双工的可编程串行通信接口;·具有一个数据指针DPTR;·两种低功耗工作模式,即空闲模式和掉电模式;·具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和(1)运算器运算器主要用来实现算术、逻辑运算和位操作。

其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。

ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。

算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。

暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。

ALU的输出也是两个:一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。

累加器是CPU使用最频繁的一个寄存器。

ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。

单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。

B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。

运算结果存于AB寄存器中。

(2)控制器控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。

AT89C51单片机与PC机串行通信的接口实现

AT89C51单片机与PC机串行通信的接口实现

AT89C51单片机与PC机串行通信的接口实现[摘要] 本文介绍了AT89C51单片机与PC机采用RS232C标准进行串行通信的接口实现。

在接口中采用MAX232作电平转换电路,简单的通信协议,PC 机用VB编程,AT89C51单片机采用中断收发方式。

文章给出了相应通信接口电路与程序。

[关键词] 通信协议RS232C 通信接口电路通信接口程序AT89C51是一种带4K字节可编程可擦除只读存储器(FLASH FPEROM)和128字节的存取数据存储器(RAM)的低电压,高性能CMOS8位微处理器。

采用了ATMEL公司的高密度、不容易丢失存储技术,与MCS-51系列的单片机兼容。

具有集成程度高、系统结构简单、价格低廉等优点被广泛应用到控制领域中。

但是在复杂的数据处理、良好的人机交互等方面不能满足需要,常采用PC 机与AT89C51单片机进行通信,AT89C51单片机(下位机)实时采集数据传送给PC机(上位机)处理,然后接收PC机处理的结果,并进行相应的控制的方式来弥补。

本文介绍单片机与PC机进行串行通信的一种接口实现。

一、接口电路的设计(一)接口逻辑电平的转换在PC机系统大都装有异步通信适配器,为标准的RS-232C接口。

RS-232C 为负逻辑,用+3V~+15V表示逻辑“0”, 用-3V~-15V表示逻辑“1”。

AT89C51单片机采用正逻辑TTL电平0和+5V.所以AT89C51与PC机通信时必须进行电平转换。

转换的方法有多种。

常采用MAXIM公司生产的专用的双向电平转换集成电路MAX232。

MAX232引脚排列与外围电路如图1所示。

图1MAX引脚及外围接口图(二)通信接口电路本文采用可靠性高的MAX232作电平转换芯片,选择其中一对发送器与接收器,PC机的串行口与MAX232的电平端口相连,MAX232的逻辑电平端口与单片机的串行口相连,接口电路如图2所示。

图2PC机与AT89C51通信接口图二、通信接口程序(一)通信协议PC机与AT89C51进行通信必须有一定的通信协议,本文采用简单的通信协议。

基于AT89C51单片机频率计的设计(含程序)

基于AT89C51单片机频率计的设计(含程序)

AT89C51单片机频率计的设计摘要基于在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的关系。

由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度。

因此,频率的测量就显得尤为重要,测频方法的研究越来越受到重视。

频率计作为测量仪器的一种,常称为电子计数器,它的基本功能是测量信号的频率和周期频率计的应用范围很广,它不仅应用于一般的简单仪器测量,而且还广泛应用于教学、科研、高精度仪器测量、工业控制等其它领域。

随着微电子技术和计算机技术的迅速发展,特别是单片机的出现和发展,使传统的电子侧量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代侧量仪器。

频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。

目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。

为适应实际工作的需要,本次设计给出了一种较小规模和单片机(AT89C51)相结合的频率计的设计方案,不但切实可行,而且体积小、设计简单、成本低、精度高、可测频带宽,大大降低了设计成本和实现复杂度。

频率计的硬件电路是用Ptotues绘图软件绘制而成,软件部分的单片机控制程序,是以KeilC做为开发工具用汇编语言编写而成,而频率计的实现则是选用Ptotues仿真软件来进行模拟和测试。

关键词:单片机;AT89C51;频率计;汇编语言选题的目的意义数字频率计的主要功能是测量周期信号的频率。

其基本原理就是用闸门计数的方式测量脉冲个数。

频率是单位时间( 1s )内信号发生周期变化的次数。

如果我们能在给定的 1s 时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。

数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。

经典:AT89C51单片机硬件结构

经典:AT89C51单片机硬件结构
INT0/P3.2
INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6
RD/P3.7 XTAL2
17XTAL1 VSS
1
40
2
39
3
38
4
37
5
36
6
35
7
34
8
33
9 8051 32
10
31
11
30
12
29
13
28
14
27
15
26
16
25
17
24
18
23
19
22
20
21
VCC P0.0
1.电源引脚2根 2.时钟引脚2根 3.控制引脚4根 4.I/O引脚32根 AT89C51单片机是高性能的单片机,受到引脚数目 的限制,采用引脚复用技术,部分引脚具有第二功能10。
(二) 引脚图及功能
VSS VCC RST/VPD
P1.0
P1.1
P1.2
P1.3
P1.4 P1.5 P1.6 P1.7 RST/VPD RXD/P3.0 TXD/P3.1
AT89C51单片机的硬件结构
主要单片机简介 总体结构 存储器配置 并行I/O口 时钟电路和复位电路
主要单片机简介
一、MicroChip公司的PIC系列单片机
主要产品是PIC12F、PIC16F、PIC17F等系列8位单片机, CPU采用RISC结构,分别仅有33、35、58条指令,采用 Harvard双总线结构,运行速度快,工作电压低,低功耗,有较 大的输入/输出直接驱动能力,可靠性高。
MCS-51单片机系列分为51和52子系列,并以芯片 型号的末位数字加以标识。其中,51子系列是基本型, 而52子系列是增强型。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

来源:《单片机与嵌入式系统应用》
摘要:介绍使用AT89C51单片机扩展高速串行同步移位输出口的方法,给出基于分立TTL 元器件和可编程逻辑器件PLD两种电路的实现方案,在LED点阵显示屏系统中已得到应用。

关键词:串行口
单片机可编程逻辑器件
AT89C51(与MCS-51兼容)单片机的串行口在方式0工作状态下,使用移位寄存器芯片可以扩展多个8位并行I/O口。

在LED点阵显示屏应用系统中,一般都采用数据同步移位输出方式,并使用移位寄存器芯片(如74LS595)扩展并行I/O口驱动LED点阵显示。

LED点阵显示采用扫描方式,为不产生闪烁感,每秒需要传送50屏点阵显示数据,因此有大量的数据要通过同步移位的方式送到显示驱动电路部分,这就要求单片机能够快速地输出数据。

AT89C51单片机的串行口在方式0工作状态下,数据以fosc/12的波特率输出,1个字节数据写入SBUF后,需检查中断标志位TI是否为“1”并清“0”TI或延时几个机器周期后才能继续写入了一个数据,输出速度慢。

在LED点阵显示屏应用系统中,系统与PC机之间的通讯需要使用单片机的串行口,显示数据的同步移位输出口只有另外扩展。

本文介绍的高速串行同步移位输出口(以下简称扩展串行口)电路,采用模块化设计,给出基于TTL和PLD两种电路的实现方案,波特率提高到fosc,数据输出不需要等待或延时。

一、扩展串行口与单片机的连接
扩展串行口电路框图如图1所示。

与并行存储器芯片类似,扩展串行口被视为一个外部RAM地址单元,直接挂接在AT89C51的外部数据总线上,D0~D7为数据线,CE为片选信号,WE为写脉冲信号,也是扩展串行口的输出控制信号。

AT89C51外接晶体振荡器的振荡信号经二个与非门整形后为扩展串行口提供时钟脉冲XTAL2。

DAT和CLK分别是扩展串行口的数据输出端和同步移位脉冲输出端。

二、操作指令
假设AT89C51分配给扩展串行口的地址是0000H,使用MOVX@DPTR,A或MOVX@R0,A指令将数据写入扩展串行口并移位数据。

下面的程序段将内部RAM数据区首址为30H的32字节数据送扩展串行口同步移位输出:
MOV P2,#00H
;设置扩展串行口地址高8位
MOV R1,#30H ;设置内部RAM数据区首址
MOV R7,#32 ;输出字节个数
LOOP:MOV A,@R1 ;从内部RAM数据区读入1字节
INC R1 ;指向内部RAM数据区下一个地址单元
MOVX @R0,A
;数据送扩展串行口输出
DJNZ R7,LOOP ;32字节未送完继续
RET
三、基于TTL电路的设计方案和工作原理
图2是用TTL电路实现的扩展串行口电路。

74LS74是有预置、清零功能的双上升沿D触发器,D1~D5构成8脉冲发生器(计数器原理),74LS165是8位并行输入串行输出移位寄存器。

CPU执行MOVX@R0,A(或MOVX
@DPTR,A)指令时,数据被锁存在74LS165中。

产生8脉冲信号的时序如图3所示。

图3中,Q0~Q5分别是6个D触发器的输出端,扩展串行口片选有效(CE=0),写脉冲WE到来时,WR=0,在时钟脉冲XTAL2的上升沿触发器D0的输出Q0=0,Q0复位Q5,使Q5=1;写脉冲结束后,WR=1,则WR·Q5=1,计数器的复位端无效,计数器开始计数,同时在Q1端输出方波脉冲;第8个脉冲结束后,Q5=1,则WR·Q5=0,计数器被复位,停止计数,等待下一个写脉冲。

Q1端输出的8个脉冲作为同步移位脉冲接74LS165的CLK2(15脚),同时也是扩展串行输出口的同步移位脉冲输出信号:由MOVX指令锁存在74LS165中的数据在同步移位脉冲(CLK)的作用下,从扩展串行输出口的数据端(DAT)输出。

四、基于PLD电路的设计方案
用可编程门阵列器件设计电路,可使电路简化,器件数量减少。

图2中虚线框内的8脉冲发生器电路用1片GAL16V8D就可以实现,如图4所示。

XTAL2是扩展串行口时钟脉冲输入信号,WR是片选有效情况下的写脉冲信号,Q1是8脉冲输出端。

根据图3所示时序图写出Q1~Q5的逻辑表达式,下面是GAL16V8D芯片的逻辑设计示例。

AFT16V8D
NAME:ED13_U00
AUTHOR:FUHAO
DATE:04.15.1999
;1 2 3 4 5 6 7 8 9 10(pin)
CLK WR NC NC NC NC NC NC NC GND
;11 12 13 14 15 16 17 18 19 20(pin)OE Q1 Q2 Q3 Q4 Q5 NC NC NC VCC
Q1:=/Q1*WR*/Q5
Q2:=/Q2*Q1*WR*/Q5
+Q2*/Q1*WR*/Q5
Q3:=/Q3*Q2*Q1*WR*/Q5
+Q3*/Q2*WR*/Q5
+Q3*/Q2*WR*/Q5
Q4:=/Q4*Q3*Q2*Q1*WR*/Q5
+Q4*/Q3*WR*/Q5
+Q4*/Q2*WR*/Q5
+Q4*/Q1*WR*/Q5
Q5:=/Q5*Q4*Q3*Q2*Q1*WR
+Q5*/Q4*WR
+Q5*/Q3*WR
+Q5*/Q2*WR
+Q5*/Q1*WR
DESCRIPTION
结束语
本文介绍的单片机扩展高速串行同步移位输出口的方法,以及给出的基于TTL和PLD 两种电路的实现方案,在LED点阵显示屏系统中都已得到成功的应用。

扩展串行口采用模块化设计,很容易移植到其他应用系统中。

相关文档
最新文档