AT89C51单片机高速串行输出口设计

发布者:心有归属最新更新时间:2012-03-16 来源: 单片机与嵌入式系统应用 关键字:串行口  单片机  可编程逻辑器 手机看文章 扫描二维码
随时随地手机看文章
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)输出。[page]
 
四、基于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点阵显示屏系统中都已得到成功的应用。扩展串行口采用模块化设计,很容易移植到其他应用系统中。
关键字:串行口  单片机  可编程逻辑器 引用地址:AT89C51单片机高速串行输出口设计

上一篇:单片机定时中断的精确定时编程方法种种
下一篇:基于单片机C8051F060的智能功率柜

推荐阅读最新更新时间:2024-03-16 12:55

INT1 中断五位计数 PROTEUS 和51单片机教程
程序源代码如下: /* INT1中断5位计数 */ #include reg51.h typedef unsigned char uint8; typedef unsigned int uint16; sbit K2 = P3^4; void delay(uint16 x) { uint16 i,j; for(i = x; i 0; i --) for(j = 114; j 0; j --); } code uint8 LED_CODE = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF}; code uint8 Scan_BITs =
[单片机]
INT1 中断五位计数<font color='red'>器</font> PROTEUS 和51<font color='red'>单片机</font>教程
单片机用低压差稳压
近年来以单片机为核心的便携式电子产品越来越多。为延长电池的使用寿命(或充电时间的间隔),要 求稳压电源的压差(输人电压与输出电压之差)小、功耗小(静态电流小),并且要求在电池电压降落到 一定程度时,稳压器输出电压可降到门限电压,这样就能输出一个电池低电压信号(或称欠压信号),令 单片机复位。tps73系列就是为这一要求开发的有复位功能的低压差稳压器。 1.tps73系列的基本特点 tps73系列有3.3v,4.85v和5v固定电压输出及输出为1.2~9.75v可设定输出电压等4个品种,最大输出 电流可达500ma。 该系列主要特点有: ①输出电压精度高(20%); ②输出噪声低(2μa); ③压差低,在输出为100ma
[单片机]
<font color='red'>单片机</font>用低压差稳压<font color='red'>器</font>
MCU需要改进
  长久以来,计算机系统的抗干扰一直是人们关心的重要问题,因为计算机用得越来越广,可靠性越来越重要,而抗干扰本身就是可靠性的重要组成部分。为了汽车、飞机、卫星、反应堆的安全,人们在抗干扰问题上花费了大量精力与金钱,尽管已经取得了长足的进展,但在性价比上远不能满足要求,以致高抗干扰的要求只是在高技术领域才加以考虑。本文讨论了干扰对错误的形成机制,提出了对MCU改进的建议。这个建议如果实施,不仅有利于高技术领域的应用,也会惠及一般的民用领域。 1 干扰源的讨论   很久以前,还在“8031+2764+14433”的年代,我们做了一批过程监控仪表,用于灭菌过程F0的监控,遇到了强烈的干扰问题。灭菌过程约30 min,由电触点压力表控制进气
[单片机]
<font color='red'>MCU</font>需要改进
51单片机 数码管的显示与译码
共阳极数组0~9:display ={0xC0,0xF9,0xA4,0xB0,0x91,0xA2,0x82,0xF8,0x80,0x90} 共阳极数组A~F:display ={0x88,0x83,0xA6,0xC1,0x86,0x8E} 共阴极数组0~9:display ={0x3F,0x06,0x5B,0x4F,0x6E,0x6D,0x7D,0x07,0x7F,0x6F} 共阴极数组A~F:display ={0x77,0x7C,0x59,0x3E,0x79,0x71} 共阴、两组四位一体数码管,位选接74LS138译码器,输入(位选)CBA接P20,P21,P22。段选通过74573后接P1口。 若不使用译码器,可直接将位选
[单片机]
NEC单片机的FIP显示控制/驱动应用
1 前言 日本NEC公司生产的μPD780208系列8位单片机属于78K/0家庭中功能较强的一种系列。根据内部集成的ROM和RAM容量的不同,μPD780208系列分为5个型号,μPD780208芯片是最高型号。该芯片内部集成了8位78K0CPU内核、60kB的ROM和2192B的RAM之外,还有1个FIP显示驱动/控制器、8位A/D转换器、2个串行I/O口、5个定时/计数器、3个定时器输出、1个可编程时钟输出、1个可编程蜂鸣器输出、4个外部中断源、12个内部中断源和1个测试输入。ΜPD780208支持双时钟,其电源电压范围为2.7~5.5V,可设定2种待机模式。其中的FIP(FluorescentInDICator P
[单片机]
NEC<font color='red'>单片机</font>的FIP显示控制/驱动<font color='red'>器</font>应用
Microchip PIC16F1455:不用外接晶振的MCU
Microchip Technology Inc.推出的三个全新增强型中档8位MCU系列,扩展了其经认证的全速USB 2.0设备PIC®单片机产品组合。新产品包括15款拥有高达128 KB闪存、14至100引脚可扩展的MCU。所有产品均具备USB通信所需的精确度为0.25%的内部时钟源,因而无需外部晶振,节省了成本。此外,所有三个系列均采用XLP超低功耗技术,运行功耗低至35 μA/MHz,休眠模式功耗低至20 nA。 样片申请请 点击这里 14引脚和20引脚 PIC16F145X MCU是Microchip迄今为止成本最低且外形尺寸最小的USB MCU。该系列的三款产品采用小至4×4 mm封装,具有广泛集成外设,有助于实现
[单片机]
单片机内存(ram)、flash、与数据存储和启动过程说明
1 电脑程序运行过程与单片机的区别 由于电脑中的程序是存储在磁盘中的,而磁盘的读取速度非常慢,因此我们不可能从磁盘中直接读取当前要执行的代码,这样必然导致程序阻塞。好在,电脑的内存非常大,所以在程序执行之前,先把整个代码copy到内存中,然后CPU从内存中读取一条条指令,并运行。 为了合理利用和规划内存资源,除了操作系统的内存管理外,最重要的是内存的分段。对每一个进程,操作系统都会为其分配一片内存,同时将其分段为代码段、数据段、堆栈段等等,不同的段具有不同的属性,比如代码段一般是只读的,如下图所示。(参考博客:https://blog.csdn.net/iostream1001001/article/details/77112
[单片机]
<font color='red'>单片机</font>内存(ram)、flash、与数据存储和启动过程说明
2006 Microchip技术高峰论坛盛大召开
2006 年 11 月 8 日,上海讯——全球领先的单片机和模拟半导体供应商美国微芯科技公司( Microchip Technology Inc. )于 2006 年 11 月 8 日在上海与《中国计算机报》共同成功举办其首届中国嵌入式技术高峰论坛,为中国消费电子产品、汽车、工业控制、办公自动化和电信产业的高层经理人提供了一个互相交流及拓展思路的平台。会议期间, Microchip 公司总裁兼首席执行官 Steve Sanghi 先生以 “微控制器带动创新”为中心,就嵌入式控制创新与应用同合作伙伴及业内精英进行了深入讨论与交流。 Steve Sanghi 先生 在演讲中对
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved