第5章并行口
《单片机原理及应用》第5章 P0~P3口应用基础

3、矩阵键盘:
5.4 实验与设计
• 实验1 闸刀型开关输入/8段LED静态显示输出
5.4 实验与设计
• 设计1:LED模拟交通
• 6个灯—南北:黄、红、绿
•
东西:黄、红、绿
• (红、绿是10秒,黄闪烁2秒)
• 2个应急开关:南北绿或东西绿
• 画出硬件设计,编出模拟程序。
实验2 并行接口键盘/LED指示灯输出
同,每个显示缓冲器对应着一位显示器。
(3)查表并操作相应的显示器
• MOV • MOV • MOVC
A,#data DPTR,#DSPTAB A,@A+DPTR
• (4)显示子程序的调用
3、静态显示示例
• 【例5-4】利用51单片机的并行口作为静态显示的控制 口的示例
请修改:
(1)显示“12”; (2)轮流显示“12”、“--”、“AB”; (3)计数器:从00开始,1S加1。
设计1 计时秒表的设计
• (1)两位LED显示 • 可以显示00~99秒; • (2)两个按键 • 分别为启动/停止键、清零键。 • 要求:设计硬件电路,编写出软件程序(延时由软件
形成)。
设计2 模拟交通信号灯控制装置的设计
• (1)6个发光二极管模拟交通灯 • 南北:黄、红、绿 ;东西:黄、红、绿。 • (2)2个应急开关 • 南北绿东西红或东西绿南北红。 • 要求:设计硬件模拟电路,编写软件程序。
• 单片机原理及应用(第4版)
• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第5章 P0~P3口应用基础
• 片内并行I/O口的应用。 • 5.1 P0~P3口概述 • 5.2 输出操作 • 5.3 输入操作 • 5.4 实验与设计
并行接口P0~P3

K
30P
XTAL2 GND
第5章 并行接口P0~P3和单片机的中断系统
编程如下:
CLR P1.0 AGA:SETB P1.1 JB P1.1,LIG SETB P1.0 SJMP AGA LIG: CLR P1.0 SJMP AGA
;使发光二极管灭 ;先对P1口写入“1” ;开关开,转LIG ;开关合上,二极管亮
LED数码管的g~a七个发光二极管因加正电压而发亮, 因加零电压而不能发亮,不同亮暗的组合就能形成不同的字 形,这种组合称之为字形码,显然共阳极和共阴极的字形码 是不同的 ,其字形码见下表。LED数码管每段需10~20ma 的驱动电流,可用TTL或CMOS器件驱动。 字形码的控制输出可采用硬件译码方式,如采用BCD 7段译码/驱动器74LS48、74LS49、CD4511(共阴极)或 74LS46、74LS47、CD4513
P1.7
SCቤተ መጻሕፍቲ ባይዱ引脚,在系统编程时钟输入
第5章 并行接口P0~P3和单片机的中断系统
3.P2口 内部上拉电阻的8位准双向并行I/O口,P2口的位结构比P1 多了一个转换控制部分,当P2口作通用I/O口时,多路开关 MUX倒向左; 读锁存器
1 内部总线 写锁存器 P2.x 锁存器 CL 2 读引脚 D Q
/数据复用总线(用于口扩展) 两个输入缓冲器(BUF1和BUF2) 读锁存器
P0R1
地址/数据
BUF1
AD0
控制 Vcc
b c
内部总线
D0
D C
a
T1
写锁存器
P0W
锁存器
Q
Q
P00
3、P0W为端口输出写信号,用于 推拉式I/O驱动器 锁存输出状态 多路开关 4、P0R1为读锁存器信号,执行 功能:用于控制选通I/O方式 “ANL P0,#0FH”时该信号有效 A 还是地址/数据输出方式 5、P0R2为读引脚信号,执行 2) “MOV A,P0”时该信号有效 方式控制:由内部控制信号
第5章 并行接口P0~P3

大多数口线都有双重功能,具体介绍如下:
PO口—1.作为输入/输出口。
2.作为地址/数据总线 ,接外围芯片时PO口分时输出低 8 位地址与数据信号。
P1口—作为输入/输出口。
P1.0 T2引脚,定时/计数器2外部计数脉冲输入 P1.1 T2EX引脚,定时/计数器2触发和方向控制 P1.5 MOSI引脚,在系统编程数据输入 P1.6 MISO引脚,在系统编程数据输出 P1.7 SCK引脚,在系统编程时钟输入
这是为了避免错读引脚的电平信号,例如用一根口线去 驱动一个晶体管基极,当向口线写“1”,晶体管导通,导通 的PN结会把引脚的电平拉低,如读引脚数据,则会读为0 , 而实际上原口线的数据为1。因而采用读锁存器Q的值而避免 了错读。究竟是读引脚还是读 锁存器,CPU内部会自行判断 是发读引脚脉冲还是读锁存器脉冲,读者不必在意。
归纳四个并行口使用的注意事项如下:
1.如果单片机内部有程序存贮器,不需要扩展外部存贮器和 I/O接口,单片机的四个口均可作I/O口使用。
2.四个口在作输入口使用时,均应先对其写“1”,以避免误 读。
3.P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。 4.P2可某几根线作地址使用时,剩下的线不能作I/O口线使用。 5.P3口的某些口线作第二功能时,剩下的口线可以单独作I/O
内容提要
★单片机的并行接口P0~P3
★ PO~P3端口的功能和内部结构 ★ PO~P3端口的编程 ★ 用并行口设计LED数码显示和键盘电路 ★ 并行接口小结
★MCS-51单片机的中断系统
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应过程 ★ 中断的的应用编程
★小结
I/0接口
第5章单片机技术80C51的并行端口

5.1
80C51的引脚功能 80C51的引脚功能 基本输入/ 基本输入/输出功能 简单的人机接口 80C51并行端口的特点 80C51并行端口的特点
CPU与外设间数据传送的方式 CPU与外设间数据传送的方式
5.2
5.3
5.4
5.5
5.1 80C51的引脚功能
封装80C51引脚布局图 图5-1 PDIP40封装 封装 引脚布局图
5.4.3
并行端口的操作指令
(1)读锁存器指令 )
表5-4
具有“ 具有“读—改—写”功能的指令 改 写
类 型
指 令 ANL Pm,A
注 释 ;Pm和A内容按位逻辑“与”,结果送回 和 内容按位逻辑 内容按位逻辑“ Pm(m=0,1,2,3) ( ) ;Pm和A内容按位逻辑“或”,结果送回 和 内容按位逻辑 内容按位逻辑“ Pm ;Pm和A内容按位逻辑“异或”,结果送 和 内容按位逻辑 异或” 内容按位逻辑“ 回Pm ;Pm内容加 内容加1 内容加 ;Pm内容减 内容减1 内容减 ;Pm内容被 的内容所替换 内容被A的内容所替换 内容被
5.3.1 非编码键盘
(1)矩阵式键盘工作原理 )
图5-10 8行×4列矩阵式非编码键盘接口电路 行 列矩阵式非编码键盘接口电路
• • • •
(2)矩阵式非编码键盘接口及程序设计 ) ① 子程序 键盘扫描程序中要调用两个子程序。 键盘扫描程序中要调用两个子程序。 DIS显示子程序(程序见后面的 显示子程序( 显示子程序 程序见后面的LED显示子 显示子 程序):该程序具有延时功能, ):该程序具有延时功能 程序):该程序具有延时功能,其延时时 间为8ms。 间为 。
3.控制(control) 控制(control)
第5章 输入、输出接口P0~P3--1讲解

武汉科技大学
电信系
2. P1口 字节地址90H,位地址90H—97H
P1.0—P1.7: 准双向I/O口 输出时一切照常,输入时要先对其写“1”
读锁存器
内部 总线
写锁 存器
2
DQ CK /Q
1
读引脚
单片机及接口技术
Vcc 内部上拉电阻
引脚P1.X
17
第五章 输入、输出接口P0~P3
武汉科技大学
电信系
P1口
输入数据时,要先对其写“1”
读锁存器
Vcc 内部上拉电阻
内部 总线 1
写锁 存器
2
DQ
1
CK /Q
0
截 引脚P1.X 止
1
读引脚 =1
18
单片机及接口技术
第五章 输入、输出接口P0~P3
武汉科技大学
电信系
P1口
读锁存器
输出数据 1 时
内部 总线 1
写锁 存器
2
DQ
1
CK /Q
0
1
Vcc 内部上拉电阻
1
读引脚 =0
控制=1时,此脚作通用输出口: 输出=1时
23
单片机及接口技术
第五章 输入、输出接口P0~P3
武汉科技大学
电信系
P2口
读锁存器
内部 总线 0
写锁 存器
2
DQ CK /Q
地址高8位 控制 =1
Vcc 内部上拉电阻
0
1
3
=0
导 引脚P2.X 通
1 读引脚 =0
单片机及接口技术
控制=1 时,此脚作通用输出口: 输出=0 时
例5-1.设计一电路,监视某开关K,用发光二极 管LED显示开关状态,如果开关合上,LED亮、 开关打开,LED熄灭
微机接口技术课本答案

14/80
7.执行如下令后,标志寄存器中各状态位之值。 执行如下令后,标志寄存器中各状态位之值。
(1)MOV AX,34C5H ADD AX,546AH
0011010011000101 解: + 0101010001101010 1000100100101111 显然:CF = 0, SF = 1, ZF = 0, AF = 0, OF = 1, PF = 0
2011年7月5日
习题解答
7/80
(11)SEC 解:SEC———Single Edge Contact,单边接触。这是 Pmntiium II微处理器所采用的新的封 装技术。先将芯片固 定在基板上,然后用塑料和金属将其完全封装起来,形成 一个SEC插 盒封装的处理器,这一SEC插盒通过Slot1插槽 同主板相连。 (12)SSE 解:SSE——Streaming SIMD Extensions,数据流单指 令多数据扩展技术。采用SSE技 术的指令集称为SSE指令 集, Pentium III微处理器增加了70条SSE指令,使Pentium III微处理器在音频、视频和3D图形领域的处理能力大为增 强。
2011年7月5日
习题解答
8/80
(13)乱序执行 解:指不完全按程序规定的指令顺序依次执行,它同推 测执行结合,使指令流能最有效 地利用内部资源。这是 Pentium Pro微处理器为进一步提高性能而采用的新技术。 (14)推测执行 解:是指遇到转移指令时,不等结果出来便先推测可能 往哪里转移而提前执行。 由于推测不一定全对,带有一定 的风险,又称为“风险执行”。
2011年7月5日
习题解答
13/80
6.写出寄存器AX、BX、CX、DX、SI和DI的隐 写出寄存器AX、BX、CX、DX、SI和DI的隐 AX 含用法。 含用法。
并行接口程序设计

并行接口程序设计本章介绍在Windows 2000/XP下的并行接口的程序设计方法,分析一下目前进行并行接口编程的方法,可以归纳为几种:•DLL直接I/O方式:应用程序通过一个可以进行端口I/O访问的DLL接口软件实现对并行接口的访问,即通过调用第三方DLL接口软件中的I/O端口读写函数实现对并行口的寄存器的读写。
这样的软件很多,像WinIo、Inpout32、TVicPort等;•Active X控件直接I/O方式:通过一个提供Active X控件实现对端口的直接I/O访问,一般控件的方式采用VB编程比较简单。
这样的软件包括Inpout32、TVicPort等;•并行接口专用接口软件:使用这一类软件对并行接口编程要比上2种方法简单,有些软件支持中断。
这样的软件如TVicLPT。
•自己编写驱动程序:直接在VC++环境下通过Windows 2000 DDK或Windows XP DDK编写驱动程序,这是一种最灵活的方法,但编程的难度比较大。
5.1 实现直接I/O方式的软件并行接口的编程在不同的操作系统下采取不同的方法,在DOS和Windows95之前的操作系统下,可以直接对端口进行读写,根据并行接口的不同模式的寄存器进行读写操作就可以完成各种模式的接口编程。
在目前的Windows 2000/XP操作系统下,不能直接对端口寄存器进行访问,这是由于Windows2000/XP对系统底层操作采取了屏蔽的策略,对用户而言,系统变得更为安全,但这却给接口和接口软件开发人员带来了不小的困难,因为只要应用程序中涉及到底层的操作,开发人员就不得不深入到Windows的内核去编写属于系统级的设备驱动程序。
对并行口的读写操作就是如此,由于Windows对系统的保护,应用程序不允许直接I/O操作。
在Windows2000/XP操作系统下,正规的接口程序的编程方法是采取驱动程序的开发方法。
由于驱动程序需要与操作系统最底层进行交互,因此不同的操作系统的底层结构对应不同的设备驱动程序模型。
第5章 与显示器、开关、键盘接口设计

1
5.1 单片机控制发光二极管显示 大部分发光二极管工作电流1~5mA之间,其内阻为
20~100Ω。电流越大,亮度也越高。 为保证发光二极管正常工作,同时减少功耗,若供电电压为
+5V,则限流电阻可选1~3kΩ。 第2章已介绍,P0口作通用I/O用,由于漏极开路,需外接
//包含移位函数_crol_( )的头文件
#define uchar unsigned char #define uint unsigned int void delay(uint i) {
//延时函数
uchar t; while (i--)
{ for(t=0;t<120;t++);
}
}
8
void main( )
/*前8个数据为左移点亮数据,后8个为右移点亮数据*/
void delay( )
{
uchar i,j;
for(i=0; i<255; i++)
for(j=0; j<255; j++);
}
void main( )
//主函数
{
uchar i;
while (1)
{
for(i=0;i<16; i++)
{
P1=tab[i];
// 延时函数
for(;j>0;j--)
{
i=250;
while(--i); i=249;
while(--i);
}
}
说明:语句“if(seg[i]==0x01)i=0; ” 含义:如果欲送出的数组元素为
0x01(数字“9”段码0x90的下一个元素,即结束码),表明一个循环显
单片机习题集

单片机原理及应用习题第一章绪论1-1单项选择1、计算机中最常用的字符信息编码是()。
(A)ASCII (B)BCD码(C)余3码(D)循环码2、-31D的二进制补码为.( )。
(A)1110000B (B)11100001B (C)01100000B (D)01100001B3、十进制29的二进制表示为原码()。
(A)11100010B (B) 10101111B (C)00011101B (D)00001111B4、十进制0.625转换成二进制数是()。
(A)0.101 (B) 0.111 (C)0.110 (D)0.1005、十六进制数7的ASCII码是()。
(A) 37 (B) 7 (C) 07 (D) 476、十六进制数B的ASCII码是()。
(A) 38 (B) 42 (C) 11 (D) 10117、通常所说的主机是指()(A)运算器和控制器(B)CPU和磁盘存储器(C)CPU和主存储器(D)硬件和软件8、使用单片机实现在线控制的好处不包括( )(A)精确度高(B)速度快(C)成本低(D)能与数据处理结合1-2填空1、计算机中常作的码制有(原码)(补码)和(反码)。
2、(输入输出设备)是计算机与外部世界交换信息的载体。
3、计算机中的数称为(机器数),它的实际值叫(真值)。
4、单片机的存储器结构形式有普林斯顿结构(又称冯.依诺曼结构)与哈佛结构,MCS-51存储器采用的是(哈佛)结构。
1-3 问答题1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点?2、单片机主要应用在哪些领域?3、二进制数、十进制数、十六进制数各用什么字母尾缀作为标识符?无标识符时表示什么进制数?第二章 MCS-51单片机的硬件结构与工作原理2-1 单项选择1、要MCS-51系统中,若晶振频率屡6MHz,一个机器周期等于( ) μsA 1B 2C 3D 0.52、以下不是构成的控制器部件():A 程序计数器、 B指令寄存器、 C指令译码器、 D存储器3、以下不是构成单片机的部件()A 微处理器(CPU)、B存储器 C接口适配器(I\O接口电路) D 打印机4、下列不是单片机总线是()A 地址总线B 控制总线C 数据总线D 输出总线5、PSW=18H时,则当前工作寄存器是()(A)0组(B)1组(C)2组(D)3组6、P1口的每一位能驱动()(A)2个TTL低电平负载有(B)4个TTL低电平负载(C)8个TTL低电平负载有(D)10个TTL低电平负载7、MCS-51的中断允许触发器内容为82H,CPU将响应的中断请求是( )(A) T0, (B)T1 (C)串行接口 (D) INT08、外部中断0的中断入口地址为()(A)0003H (B)000BH (C)0013H (D)001BH9、内部定时/计数器T0的中断入口地址为()(A)0003H (B)000BH (C)0013H (D)001BH10、在中断服务程序中,至少应有一条( )(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令11、MCS-51有中断源()(A)5个(B)2个(C)3个(D)6个12、在中断流程中有“关中断”的操作,对于外部中断0,要关中断应复位中断允许寄存器的 ( )(A)EA位和ET0位(B)EA位和EX0位(C)EA位和ES位(D)EA位和ET1位13、MCS-51的并行I/O口读-改写操作,是针对该口的 ( )(A)引脚(B)片选信号(C)地址线(D)内部锁存器14、MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是( )(A)读锁存(B)读数据(C)读A累加器(D)读CPU15、MCS-51的中断源全部编程为同级时,优先级最高的是()(A)INT1 (B)TI (C)串行接口(D)INT02-2判断1、MCS-51是微处理器。
第5章 并行端口2015解析

(4)P0口用作通用I/O口:输入
0 0
Vcc
Q1 0:截止
0 置“1”
0:截止
• 控制信号是“0”, Q1截止, MUX向下导通。 • 将锁存器置“1”,下方Q0截止。输入信号经BUF进入内部总线。 • 输入并不是悬浮态!作通用I/O口,是准双向口。
• 并口做输入之前,应保证 Q0 是截止的(栅极是低电平)! • 做输入前,要求将并口内的每个锁存器置“1”。
单片机复位后,P0口~P3口内的内容都是FFH。保证复位后, 并行I/O口既可以做 输入,也可以做输出!!
5.1 P0结构和工作原理
51单片机共有4个双向的8位并行I/O口。将 每个并行口的8个输出锁存器定义成特殊功 能寄存器。并行口可按字节输入输出,还有 位寻址和位控制功能。
第5章 并行输入/输出口的结构及其原理
单片机通过输入/输出端口(I/O口)与外界通信。对单片机 的控制,其实就是对I/O口的控制。
51单片机四个并行口的设计非常巧妙,学习并行口的逻 辑电路,有利于正确合理地使用端口,也会对设计单片 机外围逻辑电路有所启发。
要求:1)掌握并行口的工作原理; 2)分析设计简单的外围电路; 3)使用C51语言进行应用编程。
口线 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
表5-1 P3口的第二功能
信号 RXD TXD INT0 INT1
T0 T1 WR RD
功能
串行口数据输入(接收数据) 串行口数据输出(发送数据) 外部中断 0 输入 外部中断 1 输入 定时器0的外部输入(计数输入) 定时器1的外部输入(计数输入) 外部数据存储器写选通控制输出 外部数据存储器读选通输出控制
Vcc
计算机组成原理第5章习题

2. 简要说明CPU与I/O之间传递信息可采用哪 几种联络方式?它们分别用于什么场合?
答: CPU与I/O之间传递信息常采用三种联络方式:立即响 应、 同步、异步。 适用场合分别为: 立即响应适用于结构极简单、速度极慢的I/O设备,当 它们与CPU联系时通常已处于某种等待状态,因此CPU的 I/O指令一到,它们便立即响应,无须特殊联络信号。 同步方式采用统一的时标进行联络,适用于CPU与I/O 速度差不大,近距离传送的场合。 异步方式采用应答机制进行联络,适用于CPU与I/O速 度差较大、远距离传送的场合。
25. 根据以下要求设计一个产生3个设备向量地 址的电路。 (1)3个设备的优先级按A→B→C降序排列。 (2)A、B、C的向量地址分别为110 100、 010 100、000 110。 (3)排队器采用链式排队电路。 (4)当CPU发来中断响应信号INTA时,可 将向量地址取至CPU。
5.8 某计算机的I/O设备采用异步串行传送方式传送字 符信息。字符信息的格式为1位起始位、7位数据位、 1位校验位和1位停止位。若要去每秒传送480个字符, 那么该设备的数据传送速率为多少?
若为输出,除数据传送方向相反以外,其他操作与输 入类似。工作过程如下: 1)CPU发I/O地址地址总线接口设备选择 器译码选中,发SEL信号开命令接收门; 2)输出: CPU通过输出指令(OUT)将数据放 入接口DBR中; 3)CPU发启动命令 D置0,B置1 接口向设 备发启动命令设备开始工作; 4)CPU等待,输出设备将数据从 DBR取走; 5)外设工作完成,完成信号接口 B置0,D 置 1; 6)准备就绪信号控制总线 CPU,CPU可通 过指令再次向接口DBR输出数据,进行第二次传送。
13. 说明中断向量地址和入口地址的区别和联 系。
并行接口P0~P3

内容提要
★单片机的并行接口P0~P3
★ PO~P3端口的功能和内部结构
★ PO~P3端口的编程 ★ 用并行口设计LED数码显示和键盘电路
★ 并行接口小结
★MCS-51单片机的中断系统
★ 中断的基本概念 ★ 中断的系统结构 ★ 中断的响应过程 ★ 中断的的应用编程
A, Px MOV Rn, Px MOV @ Ri, Px MOVX A, @Ri MOVX A, @DPTR
产生RD信号
第5章 并行接口P0~P3和单片机的中断系统
2.output:
MOV
Px, A MOV Px, Rn MOV Px, @ Ri MOV Px, #data MOVX @Ri, A MOVX @DPTR, A 3.接口到接口 MOV P3, P1
第5章 并行接口P0~P3和单片机的中断系统
一、I/O端口的结构
共有4个8位双向I/O口,共32口线。每位均有自己 的锁存器(SFR),输出驱动器和输入缓冲器。
第5章 并行接口P0~P3和单片机的中断系统 说明:
1. P0口位图内部结构
1、当控制信号为0时,P0口做双 向I/O口,为漏极开路(三态) 输入锁存器 1时,P0口为地址 2 、控制信号为
负载能力
P0口:每位输出可驱动8个LS TTL电路;只在用作“地址/数 据”总线是,才不需要外加上拉电阻,直接驱动MOS输入。 P1~P3口:每位可驱动3个LS TTL电路,不需要外加提升电阻, 可驱动MOS输指令
1.input:
MOV
2.四个口在作输入口使用时,均应先对其写“1”,以避免误
第5章并行接口

方式2双向引脚
PA7~PA0
INTE1
PC6 PC7
ACKA
用PC6设置INTE1(输出) 用PC4设置INTE2(输入)
OBFA
STBA
INTE2 PC4
输入和输出中断通过
或门输出INTRA信号
PC5
IBFA
INTRA
PC3
5.2.5 8255A的编程
初始化编程:一个方式控制字
采用控制I/O地址:A1A0=11
IBF——输入缓冲器满信号,高电平有效
INTR——中断请求信号,高电平有效
方式1中断控制
8255A的中断由中断允许触发器INTE控制
置位允许中断,复位禁止中断
对INTE的操作通过写入端口C的对应位实 现,INTE触发器对应端口C的位是作应答 联络信号的输入信号的哪一位,只要对那 一位置位/复位就可以控制INTE触发器 选通输入方式下
硬件连线如图
8255A的控制字为:1010XXX0 PC0置位: 00000001 即 01H PC0复位: 00000000 即 00H PC6置位: 00001101 即 0DH ,允许8255A的 A口输出中断 由硬件连线可以分析出,8255A的4个口地址分别 为:00H,01H,02H,03H。 假设8259A初始化时送ICW2为08H,则8255A A 口的中断类型码是0BH,此中断类型码对应的中断 向量应放到中断向量表从2CH开始的4个单元中。
端口A的INTEA对应PC4 端口B的INTEB对应PC2
方式1输出引脚:A端口
PA7~PA0
INTEA
第五章_MCS-51单片机的系统扩展

8255A的控制字与工作模式
8255A有3种工作方式,即模式0、模式1和模式2,这些工作方式可用软件编程来 指定,其设定格式如图5-21所示,设定指令由单片机根据表5-5所示的地址选择表实 现,其中8255A芯片的三个端口在模式0下被分成两组,在模式1和模式2下PC口为 读写控制信号线,只有PA能工作在模式2下。 此外,PC口还具有位控制功能,可以通过工作方式控制字将其任意一位置“1” 或者清“0”,其控制方式见图5-22所示。
图5-21 8255A方式控制字设置
图5-22 PC口位操作控制字
(1)方式0(基本输入/输出方式) 这种工作方式不需要任何选通信号,A口、B口及C口的高4位和低4位都 可以设定为输入或输出。作为输出口时,输出的数据均被锁存;作为输入口 时,A口的数据能锁存,B口与C口的数据不能锁存。例如,欲设定PA口和PC 口高四位工作在模式0输出以及PB口和PC口低四位工作在模式0输入方式的指 令为: MOV DPTR,#8003H ;控制字的地址为8003H MOV A,#83H ;工作方式控制字为83H MOVX @DPTR,A ;设定工作方式控制字 在这种模式下,单片机可以对8255A的数据端口进行无条件读写,8255A 三个I/O端口数据可得到锁存和缓冲。因此,8255A的模式0属于基本输入输出 模式。
(2)方式1(选通输入/输出方式) 在这种工作方式下,A口可由编程设定为输入口或输出口,C口的3位用来作 为A口输入/输出操作的控制和同步信号;B口同样可由编程设定为输入口或输出口, C口的另3位用来作为B口输入/输出操作的控制和同步信号。在方式1下A口和B口的 输入数据或输出数据都能被锁存。C口的6条线作为控制和状态信号线,其定义如 表5-6所示。
图5-18 利用74LS164扩展并行输出口
单片机第5章 输入输出接口P0~P3讲解

P2口—1.作为输入/输出口。 2.作为高8位地址总线。
P3口—P3口为双功能 1.作第一功能使用时,其功能为输入/输出口。 2.作第二功能使用时,每一位功能定义如下表
所示:
端口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
第二功能 RXD (串行输入线) TXD (串行输出线) INT0(外部中断0输入线) INT1 (外部中断1输入线) T0 (定时器0外部计数脉冲输入) T1 (定时器1外部计数脉冲输入) WR (外部数据存储器写选通信号入)
为了节省口线,可将按键接成矩阵的形式。
例如:8×8的形式接64个按键,行列用两个接口 表示。每个按键都有行值和列值,行值和列值的组合 (称为按键的扫描码)就可以唯一的标识某个按键。 矩阵的行线和列线分别通过两个并口与CPU通信。按键 的状态用开关量“0/1”表示。
键盘处理程序的任务是: 确定有无键按下; 判哪一个键按下, 键的功能是什么; 还要消除按键在闭合或断开时的抖动。
TAB2 : db 78H,79H,38H,38H,3FH ; “HELLO”的字形码
DAY: MOV R6,#20 ; 延时20ms子程序 DL2: MOV R7,#7DH DL1: NOP
NOP DJNZ R7,DL1 DJNZ R6,DL2
RET
END
5.3.2用并行口设计键盘电路
键盘是计算机系统中不可缺少的输入设备,当按 键少时可接成线性键盘(一个按键对应一位,如图5.2 中的按键 ),按键较多时,这样的接法占用口线较多。
a
5
EE DE BE 7E ED DD BD 7D EB DB BB 7B E7 D7 B7 77
开始
51单片机复习题及答案

第1章单片机概述1.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。
答:CPU、存储器、I/O口。
2.8051与8751的区别是。
A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同答:C。
3.在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。
4.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。
5.MCS-51系列单片机的基本型芯片分别为哪几种它们的差别是什么答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。
它们的差别是在片内程序存储器上。
8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。
6.为什么不应当把51系列单片机称为MCS-51系列单片机答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
第2章51单片机片内硬件结构1.在51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2μs2.AT89C51单片机的机器周期等于个时钟振荡周期。
答:12。
3.若A中的内容为63H,那么,P标志位的值为。
答:P标志位的值为0。
4.内部RAM中,可作为工作寄存器区的单元地址为H~H。
答:00H;1FH。
5.通过堆栈操作实现子程序调用,首先要把的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到。
答:PC;PC。
6.51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为51单片机的PC 是16位的,因此其寻址的范围为KB。
单片机原理及C51应用设计-理论篇-第5章

图5-3 P2口的1位结构图
5.4 P3口的工作原理
P3口是一个多功能口,它除了可以作为I/O口外,还具有第二功能。
图5-4 P3口的1位结构图
例5-1:利用8个拨动开关,把8位数据送到P2口,程序读 入,然后送到P1口显示,如图5-5所示。
【C程序】: #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int #define key p2 #define led p11) { led=key; }
return 0; }
第5章 片内并行I/O接口
51系列单片机有4组I/O端口:P0、P1、P2 和P3口,每组端口都是8位准双向口,共占 32根引脚。
5.1 P0口的工作原理
P0口是一个三态双向口,可作为地址/数据分 时复用口,也可作为通用I/O接口。
图5-1 P0口的1位结构图
5.1.1 P0口作为地址/数据总线 一是以P0口引脚输出地址或数据信息。 二是由P0口输入数据,此时输入的数据是从引脚通过输入缓 冲器2进入内部总线。 当P0口做地址/数据总线复用后,就不能再做通用I/O口使用了。 5.1.2 P0口做通用I/O口使用 当P0口做I/O端口使用时,CPU内部发出控制电平“0”信号 封锁与门,使输出上拉场效管T1截止,同时多路开关把输出 锁存器Q端与输出场效应管T2的栅极接通。
5.2 P1口的工作原理 P1端口是一个准双向口,结构最简单,用途也单一,仅作为 数据输入/输出端口使用。
图5-2 P1口的1位结构图
5.3 P2口的工作原理 P2口也是准双向口,有8条端口线,命名为P2.7~P2.0, 它具有通用I/O接口或高8位地址总线输出两种功能,所以 其输出驱动结构多了一个数字多路开关MUX和反相器。
第五章顺序功能图及编程方法

(2) 用状态驱动的M、Y若要在状态转移后继续保持接 通,则需用SET指令。当需要复位时,则需用RST指令。
5.2 单流程顺序功能图的编程
线段上的短线表示工作转移条件,图中状态转移条件为SB、SQ1。 方框与负载连接的线段上的短线表示驱动负载的联锁条件,当联锁 条件得到满足时才能驱动负载。转移条件和联锁条件可以用文字或 逻辑符号标注在短线旁边。
状态条件 状态
准备
SB 启动(前进) 工序一
SQ1 后退 工序二
SQ2 后退停 工序三
T0
(2) 指定转移的目的地。状态转移的目的地由连接状态之 间的线段指定,线段所指向的状态即为指定转移的目的地。 例如,S20转移的目的地为S21。
流程图中的每一步,可用一个状态来表示,由此绘出 图所示的台车流程图的状态转移图。如图所示,分配状态 的元件如下:
初始状态 S0 前进(工序一) S20 后退(工序二) S21 延时(工序三) S22
各个 PLC 厂家 都 开发 了 相 应 的 功 能 表 图 , 各 国 家 也 都制 定 了 国 家 标 准 。 我 国 1986 年 颁 布了功能表图国家标准 (GB6988.6-86)。
顺控设计法的设计步骤
梯形图的编制 (可省略)
根 据 功 能 表 图 , 按 某 种 编 程 方式 写 出 梯 形 图程 序 。 如果 PLC 支持 功 能 表 图 语 言 , 则 可 直接 使用该功能表 图作为最终程序。
保持型动作:若为保持型动作,则该步不活动时继续执行 该动作。
非保持型动作:若为非保持型动作则指该步不活动时,动 作也停止执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要内容 • P0~P3口的功能及内部结构 • P0~P3口的编程
第一节 P0~P3端口的功能和内部结构
1、P1口 1) 功能 ① 用作输入/输出口 ② 在增强型(52系列)和ISP(在系统编程)中有如下功 能: P1.0 T2引脚,定时/计数器2外部计数脉冲输入 P1.1 T2EX引脚,定时/计数器2触发和方向控制 P1.5 MOSI引脚,在系统编程数据输入 P1.6 MISO引脚,在系统编程数据输出 P1.7 SCK引脚,在系统编程时钟输入
可字节操作: MOV P1,#10H ANL P1,#53H ;读—修改—写指令
可位操作: SETB P1.5 ;P1口第5位置1
2) 结构
Vcc 读锁存器
内部总线 写锁存器
1
D P1.X Q
锁存器
CL
Q
内部上拉电阻
P1.X 引脚 T
读引脚
2
P1 口位结构
2、P2口 1) 功能
① 用作输入/输出口 输出时,内部有上拉电阻,不需要外接。 输入时,先对端口写入“1”后,再执行读端口 操作。 ② 用作地址线 输出外部存储器的高8位地址。
示开关状态,如果开关合上,则LED亮;开关打开,则
LED熄灭。
+5V
Vcc
10uF -E-A
LED
RST P1.0
+5V
1K
89C51 89S51
1K
30P
XTAL1 P1.1
XTAL2
K
30P GND
编程如下: CLR P1.0 ; SETB P1.1 ;先对P1口写入“1”
AGN: JB P1.1, OFF ;开关开,转OFF SETB P1.0 ; SJMP AGN
传送外部存储器的低8位地址,高8位地址由P2口 传递。
2) 结构
读锁存器
地址/数据
控制 C
Vcc
内部总线 写锁存器
1
T1
D P0.X Q
1
锁存器
CL
Q
0 MUX
T2
P0.X 引脚
2 读引脚
P0 口位结构
归纳四个并行口使用的注意事项如下: 1、不外扩存贮器和I/O口时,单片机的四个口均可
作I/O口使用。 2、四个口在作输入口使用时,均应先对其写“1”,
CLR C MOV A, JSQ+1 SUBB A, #1 MOV JSQ+1, A MOV A, JSQ SUBB A, #0 MOV JSQ, A SJMP INKG DLY500: MOV R7, #250
DJNZ R7, $ RET END
报警1S,即输 出1000个脉冲。
P1.0
89C51 89S51
P1.7
+5V K
流程图
SBIT KG = P1.7;
SBIT YSQ = P1.0;
DSEG AT 30H
MYSTK:DS 10H
JSQ: DS 2
CSEG AT 0000H
START:LJMP MAIN
ORG 0100H
MAIN: MOV
SP, #MYSTK-1
;初始化 – 关扬声器,KG设置为输入
SETB YSQ
SETB KG
KGDK: SETB YSQ MOV JSQ, #03H MOV JSQ+1, #0E8H
INKG: MOV C, KG JC KGDK MOV A, JSQ ORL A, JSQ+1 JZ INKG SETB YSQ CALL DLY500 CLR YSQ CALL DLY500
读锁存器
第二输出功能
内部总线 写锁存器
1
D P3.X Q
锁存器
CL
Q
读引脚
2
3
第二输入功能
P3 口位结构
Vcc
内部上拉电阻
P3.X 引脚 T
4、P0口 1) 功能
① 可用作一般的I/O口; 输出时,外接上拉电阻才能形成高电平输出; 输入时,先向该口写入“1”后,才可执行读端口 操作。
② 可作为地址/数据线使用;
OFF: CLR P1.0 ; SJMP AGN
例2:用P1.0输出1KHz的音频信号驱动扬声器,作报 警信号。P1.7接一开关进行控制,开关闭合时,响 报警信号;开关断开时,停止告警。若开关一直闭合, 则报警1S后停止报警。试编程实现(软件实现延时)。
分析: 1KHz的信号周
期为1ms,信号 电平每500µS变 反1次。
2) 结构
读锁存器
内部总线 写锁存器
地址
控制 C
Vcc
1
D P2.X Q
锁存器
CL
Q
1 0 MUX
内部上拉电阻
P2.X 引脚
T
2 读引脚
P2 口位结构
3、P3口 1)功能 ① 与P1口功能相同。 ② 交替输入/出功能,借助P3口产生某些控制信
号,其每位功能定义如下表所示:
端口引脚
P3.0 P3.1 P3.2 P3.3
P3.4 P3.5 P3.6 P3.7
第 二功能
RXD (串行输入线) TXD (串行输出线) INT0(外部中断0输入线) INT1(外部中断1输入线) T0(定时器0外部计数脉冲输入) T1(定时器1外部计数脉冲输入) WR(外部数据存储器写选通信号出) RD(外部数据存储器读选通信号出)
2) 结构
以避免误读。 3、P0口作I/O口使用时应外接10K的上拉电阻,其
它口则可不必。 4、P2口某几根线作地址使用时,剩下的线不能作
I/O口线使用。 5、P1和P3口的某些口线作第二功能时,剩下的口
线可以单独作I/O口线使用。
第二节 P0~P3端口的编程
例1:设计一电路,监视某开关K,用发光二极管LED显