51单片机IO端口操作的一个有趣现象

来源:本站
导读:目前正在解读《51单片机IO端口操作的一个有趣现象》的相关信息,《51单片机IO端口操作的一个有趣现象》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《51单片机IO端口操作的一个有趣现象》的详细说明。
简介:在KEIL仿真运行也没问题,可是下载到89S52中,只见OUT闪烁,LED根本不动,奇怪??

我想实现P1.1端口跟随P1.4端口同步输出,都是驱动LED,P1.4端口使用定时器定时翻转,主循环程序随时判断P1.4状态,同步驱动P1.1。

开始我是这样写的:

OUT BIT P1.4

LED BIT P1.1

ORG 0000H

AJMP main

ORG 000BH

AJMP TIME0

ORG 0030H

main:

MOV TMOD,#01H

MOV TH0,#00h

MOV TL0,#00h

MOV R0,#00H

SETB EA

SETB ET0

SETB TR0

LOOP:

MOV C,OUT

MOV LED,C

AJMP LOOP

TIME0:

MOV TH0,#00h

MOV TL0,#00h

INC R0

CJNE R0,#10H,TIME9

CPL OUT

MOV R0,#00H

TIME9:

RETI

END

看来没问题,在KEIL仿真运行也没问题,可是下载到89S52中,只见OUT闪烁,LED根本不动,奇怪??

后来经过查阅资料和网络搜索,是由于准双向口的结构问题造成的!

然后增加了一个FLAG标志位,才解决。

OUT BIT P1.4

LED BIT P1.1

FLAG BIT 00H

ORG 0000H

AJMP main

ORG 000BH

AJMP TIME0

ORG 0030H

main:

MOV TMOD,#01H

MOV TH0,#00h

MOV TL0,#00h

MOV R0,#00H

SETB EA

SETB ET0

SETB TR0

LOOP:

MOV C,FLAG

MOV LED,C

AJMP LOOP

TIME0:

MOV TH0,#00h

MOV TL0,#00h

INC R0

CJNE R0,#10H,TIME9

CPL FLAG

MOV C,FLAG

MOV OUT,C

MOV R0,#00H

TIME9:

RETI

END

所以,以后有类似的应用时大家编程时要注意喽!

提醒:《51单片机IO端口操作的一个有趣现象》最后刷新时间 2024-03-14 01:09:00,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51单片机IO端口操作的一个有趣现象》该内容的真实性请自行鉴别。