单片机技术及应用(基于Proteus 的汇编和C语言版)项目8 并行IO口扩展控制
单片机原理及应用——基于Proteus和KeilC第3版
实例2程序
第8章 单片机接口技术
实例2运行效果
第8章 单片机接口技术
由于本例只有1个地址,故可省略U1。
第8章 单片机接口技术
第8章 单片机接口技术
8.1 单片机的系统总线 8.2 简单并行I/O口扩展 8.3 可编程并行I/O口扩展
8.3 可编程并行I/O口扩展 8.4 D/A转换与DAC0832应用 8.5 A/D转换与ADC0809应用 8.6 开关量功率驱动接口技术
第8章 单片机接口技术
P0和P2口作为地址/数据总线后,留给用户使用的I/O口 只有P1口和部分P3口,通常需要扩展I/O口数量。
I/O口扩展可有3种办法:
使用_at_可对指定存储器空间的绝对地址定位,但使用_at_ 定义的变量只能为全局变量。 例如: unsigned char xdata xram[0x80] _at_ 0x1000;
//在片外RAM 0x1000处定义一个char型数组变量xram, 元素个数为0x80
第8章 单片机接口技术
8.1 单片机的系统总线 8.2 简单并行I/O口扩展
P0与373的配合关系
MOVX @DPTR ,A
S1P2~S2P2期间:
P0 → (A0~A7);
ALE→正脉冲;
Q0~Q7 →(A0 ~A7)
S5P1~S6P1期间: P0 →(D0~D7)
地址锁存 使能输出
Q0~Q7 →(A0 ~A7)
S1P2~ S6P1期间:
P0分时输出低8位地址和8位
unsigned char xdata *PORT = 0x1000 ;//定义指针变量
(完整版)单片机原理及应用——基于Proteus和KeilC
一、填空1、CPU主要的组成部份包括_____运算器_______、______控制器______。
2、单片机的系统总线有_____地址总线_______、____数据总线________和______控制总线______。
3、单片机汇编语言有三种基本结构,分别是 _____顺序________、______分支______、_____循环______。
4、存储器6264地址线有_____13 _____根,容量为_____ 8______KB。
5、8051的中断入口地址分别是_0003H、000BH___、_0013H___、_001BH___、___0023H______。
6、若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为______08~0F______。
7、定时和计数都是对_____脉冲_______进行计数,定时与计数的区别是定时是对周期相同的脉冲;计数是_周期不相同的脉冲__。
8、D/A转换器转换数据的传送有___直通式____、____单缓冲________、_____双缓冲_______三种方式。
9、任何程序总是由三种基本结构组成,它们是____顺序________、______分支______、_____循环_______。
10、串行通信分为_____异步通信_______传送和_____同步通信_______传送两种基本方式。
11、中断源的允许是由____IE____寄存器决定的,中断源的优先级别是由______IP______寄存器决定的。
12、堆栈的地址由______SP______内容确定,其操作规律是___先进后出___或者______后进先出______。
13、已知累加器A的数值为98H,它与0FAH相加,相加后标志位CY的内容为_1_,AC的内容为_1_,OV 的内容为 0_。
14、8051单片机中有__2_____个_16______位的定时/计数器,可以被设定的工作方式有______4____种。
51单片机技术应用教程(C语言版)项目八PC机远程控制花样霓虹灯设计与制作
8.1.2 51单片机串行通信基础知识
串行接口控制寄存器SCON
76 5 4 3 2 1 0 SCON(98H) SM0 SM1 SM2 REN TB8 RB8 TI RI
SM0、SSMM12::多串机行通接信口R控E4N种制:允工位许作,串方用行式于接选方收择式位位2和。。方由式软3件。置1或清
通信方式
并行通信:数据的各位同 时传输
串行通信:数据逐位顺序 传输
8.1.1串行通信的基本原理 串行通信制式
单工(simplex) :数据只能按照一 个固定的方向传输,如广播
设备A
设备B
半双工(half duplex) :2个方向上 的数据传输不能同时进行,只能一 端发送,一端接收,如对讲机
全双工(full duplex) : 2个方向可 以同时发送和接收,如电话机
76 5 4 3 2 1 0 SCON(98H) SM0 SM1 SM2 REN TB8 RB8 TI RI
TB8:发R送B数8:据接T的收I:第数发9据送R位I的中:。接第断在收9标方位中志式。断位2工标和。作志方在在位式方方。3式中式在0,2时方和由,式方发0式中送3,时完接,8位收数完8位数
1 0 为方0式还2 是为1,11位T帧I、格R式I都以正常fo方sc/6式4或被fosc激/32活。 1 1 在方方式3式1时,11如位果帧格S式M2=1,可则变只(由有定收时到器控有制效)的停止位后,RI置1。
在方式0时,SM2必须为0。
8.1.2 51单片机串行通信基础知识
串行接口控制寄存器SCON
SM0 SM1 工在作方方式式 2和方0。式功R3E能处N于=1接时收,时允,许如接波果收特S率;MR2=E1N,=0而时且,接收到的第9位数据RB8
单片机及应用_第七章_80c51单片机并行io扩展8
7.2.3 8255的编程内容 3. 初始化编程 初始化的内容就是向控制字寄存器写入命令。
例如,若对8255各口作如下设置: A口方式0输入, B口方式1输出,C口高位部分为输出低位部分为输 入。设控制寄存器地址为8003H。按各口的设置要 求,工作方式命令字为10010101,即95H。则初 始化程序段应为:
3. 方式2(双向数据传送方式)
方式2是在方式1的基础上加上双向传送功能,只 有A口才能选择这种工作方式,这时A口既能输入 数据又能输出数据。如果把A口置于方式2下,则 B口只能工作于方式0。方式2适用于查询或中断方 式的双向数据传送。在这种方式下需使用C口的5 位口线作控制线。
8255方式2的逻辑组态关系图
7.1.5 I/O接口和数据存储器的比较 3、与单片机的连接信号 I/O接口 * * * 数据存储器 * * *
选择存储单元
数据总线 读写控制信号 片选 片内地址 选择I/O端口
7.1 单片机I/O扩展基础知识 7.1.6 小结
1. I/O接口电路的功能:
① ② ③ ④ ⑤ 速度协调 输出数据锁存 数据总线隔离 数据转换 增强驱动能力
7.2.1 8255的硬件逻辑结构 3. 控制逻辑电路 ① A组和 B组控制电路:包括一个8位控制寄存 器及其相关的控制电路,用于存放编程命令 和实现各口操作控制。 ② 中断控制电路:对应A、B两个口各有一个中 断触发器,用于对中断的允许和禁止进行控 制。置位为允许,复位为禁止。对两个触发 器的置位和复位控制通过口C的有关位进行。
7.2 可编程并行接口芯片8255
7.2.2 8255工作方式
1. 方式0(基本输入/输出方式)
方式0适用于无条件数据传送。两个8位口(A口和B口) 和两个4位口(C口高位部分和C口低位部分)都可以分别 或同时设置为方式0。
单片机应用之单片机并行IO端口课件
并行IO端口具有速度快、数据传 输量大、实时性高等优点,适用 于需要大量数据传输和控制的应 用场景。
并行IO端口的种类
独立并行IO端口
每个端口独立控制,可以同时进行多 个输入输出操作。
共享并行IO端口
多个端口共享一组数据线,需要通过 分时复用的方式进行数据传输。
并行IO端口的应用场景
工业控制
并行IO端口的配置与优化
配置IO端口中断
根据需要配置IO端口的中断功能,以 便在特定事件发生时产生中断。
优化IO端口性能
根据实际应用需求,优化IO端口的性 能,如调整数据传输速率、降低功耗 等。
04
单片机并行IO端口的使用 注意事项
并行IO端口的兼容性问题
总结词
在单片机并行IO端口的应用中,兼容性是一个重要的问 题。
总结词
了解并遵循相关技术规范和标准,如SPI、I2C等,有助于 提高并行IO端口的兼容性。
详细描述
不同厂商生产的单片机可能具有不同的并行IO端口协议 ,因此在设计或选择单片机时,需要确保所选的单片机与 目标系统或应用兼容。
详细描述
遵循标准协议可以确保不同厂商生产的设备之间的互操作 性,从而简化系统集成和降低开发成本。
单片机应用之单片 机并行IO端口课件
目录
• 单片机并行IO端口概述 • 单片机并行IO端口的工作原理 • 单片机并行IO端口的编程方法 • 单片机并行IO端口的使用注意事项 • 单片机并行IO端口的应用实例
01
单片机并行IO端口概述
定义与特点
定义
并行IO端口是单片机上的一种接 口,可以同时进行输入和输出操 作。
并行IO端口的抗干扰能力
• 总结词:并行IO端口的抗干扰能力对于其稳定性和可靠性至关重要。
单片机技术及应用(基于Proteus的汇编和C语言版)教学标准作者何用辉
《单片机技术及应用》课程标准课程代码10010014470 课程类别必修课程类型理论+实践课程性质职业能力课课程学分 4 课程学时60修读学期第四学期核心课程是合作开发企业福建省和盛电力科技有限公司执笔人何用辉、施永贵审核人1.课程定位本课程是机电一体化技术专业核心课程,专业必修课程。
其功能是通过理论与实践相结合的教学方式,采取项目导向、任务驱动等教学方法,培养学生利用单片机进行机电控制系统应用设计能力、控制程序编写与调试能力和产品的制作、测试以及维护等能力。
本课程与前修课程《应用电子技术》、《C语言程序设计》、《电路板设计与制作》课程相衔接,共同培养学生进行单片机控制应用项目的设计、调试、维护以及工程技术文件的编制和归档能力,使学生掌握单片机控制应用系统或装置安装与调试的技能和电子电路综合应用能力;与后续课程《机电一体化技术与系统》、《实物专题》以及顶岗实习等课程相衔接,共同培养培养学生从事机电产品控制系统或装置的安装、调试、维护的基本职业能力和初步的机电产品开发与设计能力,同时培养学生诚实、守信、善于协作、爱岗敬业的职业道德和职业素质。
2.课程目标2.1 知识目标(1)了解单片机的基本概念、工作原理和应用领域;(2)熟悉常见单片机芯片的功能和引脚分布;(3)理解并掌握单片机系统结构和存储器结构组成;(4)掌握单片机的基本硬件结构及其控制使用方法;(5)了解单片机的指令系统和编程语言,熟悉C51语言语法及应用;(6)理解并掌握单片机应用常用接口电路及控制程序设计;(7)熟练掌握Keil和Proteus软件的使用方法;(8)初步学会单片机应用系统的开发步骤和设计方法;(9)掌握简单单片机应用系统的设计、编程与调试;(10)掌握单片机工程项目报告的书写格式。
(11)了解单片机在自动化领域中的典型应用。
2.2 能力目标2.2.1专业能力(1)熟悉单片机的内部资源,并能合理使用内部资源的能力;(2)具备单片机应用系统的初步应用分析和软硬件设计能力;(3)掌握简单单片机应用程序的设计与程序编写能力;(4)熟练使用开发工具进行单片机应用项目设计与调试的能力;(5)初步具备分析处理简单的单片机应用控制系统软硬件故障能力;(6)掌握单片机应用系统的安装和软硬件联调、故障诊断维护技能;(7)掌握单片机应用产品开发的基本流程和工艺;(8)具有资料整理和文件归档的能力。
单片机应用技术基础(C语言)-并行IO口应用与C语言基础
并行I/O口应用与C语言基础
2. P0口的使用 (1) 作为I/O端口使用时的工作原理。 读芯片引脚上的数据,也就是直接读取外部数据。这时 使用锁存器下方的缓冲器,由“读引脚”信号把缓冲器打开, 引脚上的数据经缓冲器通过内部总线读进来。需要说明的是, 在P0口作为输入口读引脚使用时,应先向锁存器写“1”(一 般用传送指令),使输出级的V1、V2截止(系统复位时 P0 = FFH),如下图3.5虚线所示。
并行I/O口应用与C语言基础
图3.1 LED发光二极管典型电压电流关系
并行I/O口应用与C语言基础
可以利用图3.1中所示的曲线计算限流电阻R,计算的方 法如下:
R 5 V Vd Id
并行I/O口应用与C语言基础
例如,若限制电流Id为10 mA,则由图3.1中所示曲线得 到LED发光二极管的正向电压Vd约为2 V,从而得到限流电 阻值如下:
并行I/O口应用与C语言基础
并行I/O口应用与C语言基础
LED发光二极管的发光功率可以由其两端的电压和通过 LED的电流进行计算得到,公式如下:
并行I/O口应用与C语言基础
LED发光二极管的典型的电压与电流关系如图3.1所示, 可以根据需要的LED发光亮度选择合适的电阻R进行限流, 但为了保护单片机的驱动输出引脚,通过LED发光二极管的 电流一般应限制在10 mA左右,由图3.1所示曲线可知,也即 是将LED发光二极管的正向电压限制在2 V左右。
并行I/O口应用与C语言基础
3.1.6 单片机并行口的应用 在没有外扩任何芯片时,MCS-51单片机内部并行口可
以作为输出口,直接与输出外设连接,常用的输出外设是发 光二极管; MCS-51单片机内部并行口也可以作为输入口, 直接与输入外设连接,常用的输入外设是开关。
单片机--第六章:并行接口及应用
Q /Q
Vcc
内部 总线
写锁 存器
D CK
引脚P0.X
1 读引脚 =1 控制=1时,此脚作地址/数据复用口: (3)输入数据时,输入指令将使引脚与内部总线直通6
单片机的引脚(P1口)
P1.0—P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。
内部 总线 写锁 存器
=1 引脚P2.X
D CK
1
3
0
截 止
1 读引脚 =0 控制=1 时,此脚作高8位地址A8—A15输出口: 当输出 =1 时
单片机的引脚(P2口)
P2.0—P2.7: 双向I/O (内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外 部程序存储器时可作为8位准双向I/O口使用。
CK
控制 =0 地址/数据 控制 3 4
Q
/Q
Vcc
引脚P0.X
1 读引脚 控制=0 时,输出口,开漏输出
单片机的引脚(P0口)
P0.0—P0.7: 双向I/O (内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口 和输出低8位地址复用口;不接外部程序存储器 时可作为8位准双向I/O口使用。
第二功能输出 读锁存器 2 Vcc 内部上拉电阻
内部 总线 写锁 存器
D CK
Q /Q
3
引脚 P3.X
1 读引脚 第二功能输入
4
单片机的引脚(P3口)
P3.0—P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功 能时它就是普通的通用准双向I/O口。
项目8单片机应用技能实训(C语言)教案---精品管理资料
单片机应用技能实训(C语言)教案—项目8项目8 数字显示交通灯控制电路制作任务1 项目相关知识学习二、教学实施过程实施环节教学内容导学方法组织教学1、检查学生出勤情况并做好记录.2、调整学生的注意力,为上课作准备.互动交流复习提问1、根据前面所学知识,如何进行I/O端口的扩展?2、交通灯的作用是什么?有什么功能?本项目的终极目标是制作一个单片机控制的能显示倒计时时间的交通灯控制电路。
提问导思导入在项目6中用数码管显示时间,为了不造成资源浪费,我们利用串行口方式0进行输出口扩展。
但利用串行口方式0扩展并行输出口,在使用上有一定局限性,所以,我们在进行项目制作之前,学习MCS—51单片机简单I/O口的扩展方法。
启发学习积极性讲授新课一、并行I/O端口的扩展由于简单I/O端口扩展方法简单实用,下面对该方法加以介绍。
1、简单I/O端口扩展芯片简介通常采用三态缓冲器(例如74LS244、74LS541)来扩展并行输入,用8D锁存器(例如74LS373、74HC573)来扩展并行输出.图8-2是74LS541和74HC573的逻辑符号图。
74LS541是三态缓冲器,74HC573是8D锁存器,采用20脚双列直插封装.图8-2 74LS541 74HC573逻辑符号图2、简单I/O端口扩展举例例8。
1 利用两个8D锁存器74HC573扩展两个8位并行输出口。
单片机扩展两个8位并行输出端口的硬件电路如图10—3所示,在预处理命令中将p20定义为P2.0,将p21定义为P2。
1. 当需要将A中数据从U2输出时,执行如下指令:p20=0;//U2锁存数据p21=0; //U3锁存数据P0=ACC;//将ACC数据送给P0p20=1; //数据从U2输出用多媒体展示图8—2进行介绍。
重点介绍引脚使用。
p20=0;//U2锁存数据当需要将A中数据从U3输出时,执行如下指令:p20=0;//U2锁存数据p21=0;//U3锁存数据P0=ACC;//将ACC数据送给P0p21=1;//数据从U3输出p21=0; //U3锁存数据图8—3 扩展并行输出采用本例方法,利用P0、P2最多可扩展8个8位并行输出端口.例8。
实验2 并行IO口的使用(包涵程序答案)
实验二并行I/O端口的应用一一、实验目的1.进一步熟悉Kiel C软件的使用方法。
2.掌握proteus软件的使用方法。
3.熟悉C语言数据与运算4.熟悉C语言程序结构二、实验内容1.程序一:当按下按键K1~K4时,对应D1~D4点亮。
2.程序二:用循环语句实现P0口的多值输出。
3.程序三:用数组方式控制跑马灯。
4.程序四:在P2口连接的LED数码管上循环显示“0”,“1”,“2”,“3”,“4”。
三、实验仿真硬件图在Proteus软件中建立如下图2-1所示仿真模型并保存。
需要注意的是,当用Proteus来绘制比较复杂的电路时,经常会因为线太乱而影响美观,也不方便检查,使用总线方式绘制电路能很好地避免这一问题。
图2-1 并行I/O端口应用原理图在单线上点击右键编辑属性。
在线型中选择“BUS WIRE”,画出所需要的总线,连分支线时,不要直接画到总线上,先将光标靠近上面画的单线的末端(离总线近的一段),光标会出现一个选中的符号,先单击左键,再按住Ctrl键,拖动鼠标到总线的合适位置,再点击左键。
然后右键点击分支线,放置网络标号即可。
四、编程提示程序一:⒈可选用用if语句、if-else-if语句、switch语句来实现当按下按键K1~K4时,对应D1~D4点亮。
if语句的一般形式:if ( 表达式1 ){语句组1;}if ( 表达式 2){语句组2;}...if-else-if语句的一般形式:if ( 表达式 1){语句组1;}else if( 表达式 2){语句组2;}...else if( 表达式 n){语句组n;}else{语句组n+1;}switch语句的一般形式为:switch(表达式){case常量表达式1: 语句序列1;break;case常量表达式2: 语句序列2;break;...case常量表达式n: 语句序列n;break;default : 语句序列n+1}2.可采用运用三种基本的循环语句: for语句、while语句和do-while语句,实现D1~D8循环点亮。
单片机技术及应用(基于Proteus 的汇编和C语言版)项目5 中断系统控制及应用
C语言:
EA=1; EX0=1; ET0=1;
按字节设置:
MOV IE , #10000011B IE=0x83;
5.1.1
中断系统结构与功能分析
3、中断响应处理过程 中断返回
中断请求
处理中 断
中断响 应
中断处理
5.1.1
中断系统结构与功能分析
5.1.1
中断系统结构与功能分析
(1)中断请求
当中断源要求CPU为它服务时,必须发出一 个中断请求信号。同时为保证该中断得以实现, 中断请求标志应保持到CPU响应该中断后才能取 消,CPU也会不断的及时查询这些中断请求标志, 一旦查询到该中断的中断请求标志为置位,就立 即响应该中断。
TF0清零。也可以由软件查询该标志,并由软件清零。
为定时/计数器T1的启动停止控制位。 TR1 由软件进行设定,当TR1=0时,停止T0定时 (TCON.6) (或计数);当TR1=1时,启动T1定时(或
计数)。
TF1 (TCON.7)
为定时/计数器T1的溢出中断标志位,当T1定时(或计数) 结束时,由硬件自动置1,在CPU响应中断后,才由硬件自动将 TF1清零。也可以由软件查询该标志,并由软件清零。
5.1.1
中断系统结构与功能分析
(2)中断响应
◆中断响应的条件
1 有中断源发出中断请求。
CPU
响 应 中 断 的 基 本 条 件
2
中断总允许位EA置位,即CPU允许 所有中断源申请中断。
3
申请中断的中断源的中断允许位为1,即 中断源可向CPU申请中断。
5.1.1
中断系统结构与功能分析
◆中断响应的条件
5.1.1
中断系统结构与功能分析
第3章单片机并行IO口应用
T1
T2 MUX
P0.n P0口引 脚
读引脚
第3章单片机并行IO口应用
2、P0作为地址/数据总线
CPU发出控制电平“1”,打开“与”门,又使多路开关 MUX把CPU的地址/数据总线与T2栅极反相接通,输出地址或 数据。由图上可以看出,上下两个FET处于反相,构成了 推拉式的输出电路,其负载能力大大增强。
地址/数据 VCC 控制
DQ CLK Q
T1
T2 MUX
P0.n P0口 引脚
读引脚
第3章单片机并行IO口应用
② 输入时----分读引脚或读锁存器
读锁存器:有些指令 如:P0=P0&0x0F称为“读-改-写” 指令,需要读锁存器。
上面一个缓冲器用于读端口锁存器数据。
读锁存器
内部总线 写锁存器
地址/数据 VCC 控制
float double char unsigned char
所占位数
数的表示范围
16
-32768~32767
16
-32768~32767
32
-2147483648~2147483647
16
0~65535
16
0~65535
32
0~4294967295
32
3.4e-38~3.4e38
64
1.7e-308~1.7e308
//延时函数
{
unsigned char x,y;
for(x=a;x>0;x- -)
{
for(y=250;y>0;y--);
} }
第3章单片机并行IO口应用
C-51的数据类型
基本数据类型
类型 符号
关键字
基于C语言的单片机应用8
※要使LED显示器显示出字符,必须提供
段选码和位选码。
◎段选码(即字码)可以用硬件译码的方 法获得,也可以用软件的方法获得。 ◎位选码 静态显示和动态显示。 下面介绍软件译码显示器接口方法。
在AT89S51单片机的P0和P2端口分别接有两 个共阴数码管,P0口驱动显示秒时间的十位, 而P2口驱动显示秒时间的个位。
式。 正是由于上述原因,使数据的I/O操作变得十分复杂。无法实 现外部设备与CPU进行直接的同步数据传送,而必须在CPU和外设 之间设置一个接口电路,通过接口电路对CPU与外设之间的数据传 送进行协调。
(二)接口电路主要有如下几项功能
(1) 速度协调
由于速度上的差异,使得数据的I/O传送难以异步方式进行,即只 能在确认外设已为数据传送作好准备的前提下才能进行I/O操作。而要 知道外设是否准备好,就需要通过接口或产生或传送外设的状态信息,以 此进行CPU与外设之间的速度协调。
○荧光管显示器,简称CRT。近年来也开始使用简易的 CRT接口,显示一些汉字及图形。
LED 显示器
◎前二种显示器都有两种显示结构:段显示(7段,“米” 字型等)和点阵显示(5×7,5×8,8×8点阵等)。而发光 二极管显示又分为固定段显示和可以拼装的大型字段显 示,此外还有共阳极和阴极之分等。
◎三种显示器中,以荧光管显示器亮度最高,发光二极 管次之,而液晶显示器最弱,为被动显示器,必须有外光 源。 ◎限于篇幅,我们介绍7段LED显示器。
无条件传送适用于以下两类外部设备的数据输入输出: (1)具有常驻的或变化缓慢的数据信号的外部设备。例如:机械
开关、指示灯、发光二极管、数码管等。可以认为它们随时为输入输出数 据处于“准备好”状态。
(2) 工作速度非常快,足以和CPU同步工作的外部设备。例如
单片机原理与应用技术:3第3章单片机并行IO(newN)
CJNE A, #data , rel ; B4 data
rel
CJNE A, direct, rel ; B5direct
rel
CJNE @Ri, #data, rel ; B6~B7data
rel
CJNE Rn, #data, rel ; B8~Bfdata
rel
❖
这 4 条指令的含义分别为:
❖ CJNE A, #data , rel : 累加器内容与立即数比较, 不等则转移;
❖ CJNE A, direct, rel : 累加器内容与内部RAM(包 括特殊功能寄存器)内容比较, 不等则转移;
❖ CJNE @Ri, #data, rel : 内部RAM内容与立即数 比较, 不等则转移;
❖ CJNE Rn, #data, rel : 工作寄存器内容与立即数 比较, 不等则转移。
引脚“输出高电平”的时候,单片机的“拉电流” 不到 1 mA,无法点亮 LED。
❖ 结论就是:单片机输出低电平的时候,驱动 能力尚可,而输出高电平的时候,就没有输 出电流的能力。
拉电流负载和灌电流负载的区别
❖ 图左是灌电流负载。单片机输出低电平 时,LED亮;输出高电平的时候,不产
生电流,此时就不产生额外的耗电。
❖ 图右是拉电流负载。单片机输出低电平, LED不亮,此时VCC通过R2把电流全部 灌进单片机IO口;单片机输出高电平, VCC通过R2点亮LED。
❖ 问题:LED 不亮的时候,上拉电阻给的 电流全部灌入单片机的引脚。这些电流, 都是在负载处于无效的状态下出现的, 它们都是完全没有用处的电流,只是产 生发热、耗电大、电池消耗快等后果。
否则, (PC) ← (PC)+2顺序执行
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2.3 汇编语言程序分析与设计
程序初始部分
汇编程序
主程序MAIN
汇编程序
8.2.4 C语言程序分析与设计
1. 绝对地址访问宏定义头文件absacc.h
例如:
XBYTE[0XFD3F]
XBYTE是一个地址指针,它在文 件absacc.h中由系统定义,指向外 部RAM的0000H单元,XBYTE后面中括 号[ ]中的数值是指偏离0000H的偏 移量,例中XBYTE[0XFD3F]表明访问 外部地址为0XFD3F的外部RAM。
◆地址总线的数目决定着 可以直接访问的存储单元 的数目。N位地址可以产 生2 N 个连续地址编码,
N
◆地址总线是单向的,只能 由单片机向外发出。
可访问2 个存储单元。 ◆ MCS-51单元有16根地 址线,存储器或I/O接口 扩展最多可达64KB,即216 个地址单元。
8.1.1 51单片机三总线分析
8.1.2 并行I/O接口扩展认知
3、I/O扩展中应注意的几个问题
1
访问扩展I/O的方法与访问外部数据存储器完全
相同,使用相同的指令。
2
扩展的I/O与片外数据存储器统一编址,分配给
I/O端口的地址不能再分配给片外数据存储单元,且与 程序存储器无关。
3
展多片I/O芯片或多个I/O设备时,注意总线驱
动器的能力问题。
1、任务相关汇编指令
累加器A与外部RAM(或外部接口)数据传送指令:MOVX
使用格式:MOVX A,@DPTR MOVX A,@Ri 或 或 MOVX MOVX @DPTR,A @Ri,A
使用说明:MOVX是CPU与外部数据存储器的数据传送操作
指令,其中x为external(外部)的第二字母。这组指令
8.1.1 51单片机三总线分析
(1)P0口线用作数据线/低8位地址线
P0口线的第二功能是地址线/数据线分时复用功能。 在访问片外存储器时,自动进入第二功能,不需要进行 设置。
在一个片外存储器读写周期中,首先P0口输出低8
位地址,然后以ALE为所锁存控制信号,确保低8位地址
信息在消失前被送入锁存器暂存起来并输出,作为地址 总线的低8位,直到访问周期结束。地址信号被锁存之后,
8.2.2 硬件系统与控制流程分析
(4)并行扩展输入/输出口电路地址的确定及使用
如果与芯片地址无关的地址线引脚都 取0,那么74LS245与74LS374的地址都是
0000H。
如果与芯片地址无关的地址线引脚 都取1,那么74LS245与74LS374的地址分 别是FDFFH、FEFFH。
8.2.2 硬件系统与控制流程分析
◆ 扩展芯片地址的确定
如图8-4所示为单片机与74LS245、74LS374接口电路,该电路 采用线选法进行I/O口扩展。
表8-4 芯片型号 74LS245 74LS245与74LS374的片地址 P2.1 0 P2.0 X P0.7~P0.0 X
P2.7~P2.2 X
74LS374
X
X
0
X
其中“X”表示与芯片地址无关的地址位,简称无关位,取0或1都可以。
方法一
MOV DPTR , #7E02H ;建立外部地址指针7E02H MOVX A , @DPTR ;外存7E02H单元内容送A MOV 35H , A ;A内容送内部存储单元35H 方法二: MOV P2 , #7EH MOV R1 , #02H MOVX A , @R1 MOV 35H , A
(4)当执行指令MOVX A,@Ri和MOVX @Ri,A时,寄存 器Ri的内容操作数地址的低8位,将自动写入P0口并锁
存,操作数地址的高8位必须事先通过MOV P2,#data
指令写入P2口。
8.2.3 汇编语言程序分析与设计
1、任务相关汇编指令
使用示例:用两种方法将外部数据寄存器7E02H单元的 内容送入内部数据存储器35H单元。
的值),即外部数据存储器16位地址是由P0口和 P2口向外部地址总线发出的。
8.2.3 汇编语言程序分析与设计
1、任务相关汇编指令
(3)当执行指令MOVX A,@DPTR和MOVX @DPTR,A时,寄 存器DPH(DPTR的高8位)的内容自动写入P2口,寄存器 DPL(DPTR的低8位)的内容自动写入P0口并锁存。
外部RAM。
注意:MCS-51系列单片机外部扩展I/O接口时, 其地址与外部RAM统一编址的。换句话说,外部 扩展的I/O接口要占用外部RAM的地址。
8.1.1 51单片机三总线分析
(1) 地址总线AB(Address Bus)
◆地址总线用于传送单片机
送出的地址信号,以便进行 存储单元和I/O端口的选择。
8.1.2 并行I/O接口扩展认知
1、单片机I/O口扩展方法
(2)串行口扩展方法
MCS-51单片机串行口工作方式0时,提供一 种I/O扩展方法。串行口方式0是移位寄存器工作 方式,可借助外接串入并出的移位寄存器扩展并 行输出口,也可通过外接并入串出的移位寄存器 扩展并行输入口。由于采用串行输入输出的方法, 所以数据传输速度较慢。
(4)并行扩展输入/输出口电路地址的确定及使用
◆ 扩展芯片地址的使用
在确定好每片芯片的地址后,单
片机就可对其进行读写操作,读写时 先发送芯片地址,选通芯片,接着进 行读写数据。
8.2.2 硬件系统与控制流程分析
2、任务控制流程分析
图8-7 简单并行I/O口扩展控制流程
8.2.3 汇编语言程序分析与设计
输入输出接口电路。输入采用三态门
74LS245,输出采用8D触发器(锁存器) 74LS374,因此,要分析理解以上的电路 设计,必须先学习74LS245与74LS374芯片 的部分知识。
8.2.2 硬件系统与控制流程分析
(1)74LS245扩展芯片的介绍
表8-2 74LS245功能特性
输入
功能
OE
(3)控制总线CB(Control Bus)
◆控制总线实际上就是一组控制信号线,包括由
单片机发出的控制信号以及从其他部件送给单片 机的请求信号和状态信号。 ◆每一条控制信号线的传送方向是单向的固定的, 但由不同方向的控制信号线组合的控制总线则表 示为双向。
8.1.1 51单片机三总线分析
2、MCS-51系列单片机三总线的形成
A15 P2.7 A14 P2.6 A13 P2.5 A12 P2.4 A11 P2.3 A10 P2.2 A9 P2.1 A8 P2.0 A7 P0.7 A6 P0.6 A5 P0.5 A4 P0.4 A3 P0.3 A2 P0.2 A1 P0.1 A0 P0.0
8.1.1 51单片机三总线分析
P0口转换为数据线,以便传输数据,直到访问周期结束。
从而实现了对地址和数据的分离。
8.1.1 51单片机三总线分析
(2)P2口线第二功能用于进行高8位地址线的扩展
◆在访问片外存储器时,自动进入第二功能,不需要进行设 置。 ◆在一个片外存储器读写周期中,P2口线始终输出地址总线 的高8位,可直接与存储器或接口芯片的地址线相连,无需锁 存。 ◆ P2与P0共同提供了16根地址线,实现了MCS-51单片机系统 64KB的寻址范围。
的功能是外部数据存储器或扩展I/O口与累加器A之间的 数据传送。
8.2.3 汇编语言程序分析与设计
1、任务相关汇编指令
(1)在以上4条格式指令中,DPTR的取值范围是:
0000H~0FFFFH;Ri的取值范围是XX00H~XXFFH。
(2)由于MOVX类指令是专访外部数据存储器和外
部接口的指令,因此它的操作数地址(DPTR或Ri
0
DIR 0 B端数据→A端数据
0
1
1
×
A端数据→B端数据
高阻
8.2.2 硬件系统与控制流程分析
(1)74LS245扩展芯片的介绍
表8-3 Dn H L ×
74LS374功能特性 CLK
OE
L L
Qn H L Z
×
H
8.2.2 硬件系统与控制流程分析
(3)单片机的片选方法
保证每次读或写时,只选中某一片存储器芯片或 I/O接口芯片。
8.1.2 并行I/O接口扩展认知
所有扩展的I/O口或相当于I/O口的外设以及通过I/O
口连接的外设,均与片外数据存储器统一编址,访问I/O
口的指令就是访问外部数据存储器的指令(MOVX)。
对于数据存储器来说,或者是单片机读取存储器的数 据,或者是单片机将数据写入存储器,而单片机与外设所 能进行的无非是数据的输入或输出,也就是说,单片机与 外设进行的只是数据的传输,所以,外设或I/O口可当作数 据存储器进行扩展。
任务8.1 单片机并行扩展分析 8.1.1 51单片机三总线分析 8.1.2 并行I/O接口扩展认知 任务8.2 简单并行I/O口扩展控制 8.2.1 控制要求与功能展示
2
8.2.2 硬件系统与控制流程分析
8.2.3 汇编语言程序分析与设计 8.2.4 C语言程序分析与设计 8.2.5 基于Proteus的调试与仿真
74LS245 芯片
74HC32芯片
单片机 74LS374芯片
按键指示灯
实物运行视频
任务8.2 简单并行I/O口扩展控制
8.2.1 控制要求与功能展示
简单并行I/O口扩展控制电路原理图
8.2.2 硬件系统与控制流程分析
1、任务硬件系统分析
如电路原理图所示,该电路实际上是
通过单片机的三总线结构,外扩单片机的
(2)数据总线DB(Data Bus)
◆数据总线用于在单片机与存储器之间或单片机与 I/O端口之间传送数据。 ◆数据总线是双向的,可以进行两个方向的数据传 送。 ◆数据总线的位数与单片机处理数据的字长一致。 MCS-51单片机字长8位,所以它的数据总线位数也 是8位。