- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]第5章并行输入输出接口及其应用
第5章 8051单片机结构 ;I/O接口的作用
1. 速度协调。大多数的外设速度很慢,无法和μs或ns数量级的单片机速度相比。单片机只有在确认外设已为数据传送做好准备的前提下, 才能进行I/O操作。
2. 输出时数据锁存。由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。I/O电路应具有数据锁存器,以保证接收设备接收。
3. 输入三态缓冲。输入设备向单片机输入数据时,但数据总线上面可能“挂”有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的应处
于隔离状态。
4. 数据转换 。一般情况下,CPU与接口进行并行数据传送。许多情况也需要传送模拟信号、串行信号,这需要数字模拟转换、并行串行转换等。;接口的概念:
I/O接口(Interface):是指单片机与外设间的I/O接口电路。I/O端口(Port) :简称I/O口,指具有端口地址的寄存器或缓冲器。;P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7;1. P0口 ; 作输出口时,CPU执行口的输出指令,内部数据总线上的数据在“写锁存器”信号的作用下由D端进入锁存器,经锁存器的反向端送至场效应管T2,再经T2反向,在P0.X引脚出现的数据正好是内部总线的数据。; 在作为输入方式之前曾向锁存器输出过“0”,则T2导通会使引脚箝位在“0”电平,使输入高电平“1”无法读入。所以,P0口在作为通用I/O口时,属于准双向口。; 执行“读—修改—写”类输入指令时(如:ANL P0,A),内部产生的“读锁存器”操作信号,使锁存器Q端数据进入内部数据总线,在与累加器A进行逻辑运算之后,结果又送回P0的口锁存器并出现在引脚。;P0用作地址/数据总线 ;2. P1口;3. P2口;; P2口用作输入时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入操作采用的是“读锁存器”指令还是“读引脚”指令来决定。;(2) P2用作地址总线 ;4. P3口结构 ;; 输出时,锁存器的状态(Q端)与输出引脚的状态相同;
输入时,要先向口锁存器写入1,使引脚处于高阻输入状态。输入的数据在“读引脚”信号的作用下,进入内部数据总线。
P3口作为通用I/O口时,属于准双向口。;(2) P3用作第二功能使用 ;5. 并行端口负载能力和接口要求 ;5.3 I/O端口的简单应用 ;汇编语言程序
ORG 0000H ; 单片机复位从0000H地址开始执行程序
START: CLR P1.2 ; 将P1.2引脚设置为低电平,LED发光二极管亮
ACALL DELAY ; 调用子程序,延时200 ms
SETB P1.2 ; 将P1.2引脚设置为高电平,
; LED发光二极管灭
ACALL DELAY ; 调用子程序,延时200 ms
SJMP START ; 跳转循环执行
DELAY:MOV R6,#200 ; 200 ms 延时子程序
DL1: MOV R5, #250
DL2: NOP ; 1μs
NOP ; 1μs
DJNZ R5, DL2 ; 2μs 内循环延时大约4*250*1μs=1 ms
DJNZ R6, DL1 ; 双重循环共延时大约200*1 ms=200 ms
RET
END;例5-2,如图所示,P1口输出接8个发光二极管(LED)L0~L7,限流电阻510Ω。低电平时发光二极管被点亮,高电平时LED熄灭。编程控制LED闪烁。 ;程序一:要求单灯左移,循环往复。
START: MOV A, #0FEH
; 将P1.0引脚设置为低电平,LED亮
LOOP: MOV P1, A
RL A ; 循环左移
ACALL DELAY ; 调用子程序,延时200 ms
SJMP LOOP ; 跳转循环执行 ;程序二:要求单灯左移,然后单灯右移,循环往复。
START: MOV A,#0FEH
; 将P1.0引脚设置为低电平,LED发光二极管亮
LOOP: MOV R2,#07
LOOPL: MOV P1, A
RL A
ACALL DELAY ; 调用子程序延时200 ms
DJNZ R2, LOOPL
MOV R2, #07
LOOPR: MOV P1, A
RR A
ACALL DELAY ; 调用子程序延时200 ms
DJNZ R2, LOOPR
SJMP LOOP ; 跳转循环执行; 程序三:每次其中一个灯闪烁点亮10次后,
您可能关注的文档
最近下载
- 2025年教师资格考试初级中学学科知识与教学能力体育与健康试题及解答参考.docx VIP
- 燃气轮机发电机组可靠性评价指标的计算公式.PDF
- 山东省2022年度基本公共卫生服务项目经费测算和任务分工指导意见(75元)6.23 (1).xlsx VIP
- 离婚登记申请受理回执单(模板).pdf
- 2023-2024学年江苏省连云港市译林版(三起)六年级上册期末质量检测英语试卷(含答案解析).pdf
- 远程教育学丁兴富.pdf
- 2025年中考语文一轮复习阅读理解专题22 《经典常谈》(知识梳理+练习)(含答案).docx VIP
- 雾化吸入操作考核评分标准.docx
- (第五章导数与微分.doc VIP
- 哈锅600MW锅炉系统图.pdf
文档评论(0)