标题: 51单片机为什么用宏定义P0端口就可以控制8LED左移呀? [打印本页]

作者: 17886985184    时间: 2022-4-23 23:31
标题: 51单片机为什么用宏定义P0端口就可以控制8LED左移呀?
如题

作者: 188610329    时间: 2022-4-24 00:53
因为你的8LED接在 P0端口
作者: vimli    时间: 2022-4-24 06:38
因为这样便于修改接口参数
作者: vimli    时间: 2022-4-24 06:40
实际LED左移就是控制显示位码的选通
作者: 人人学会单片机    时间: 2022-4-24 08:00
下载《单片机入门七章》http://www.51hei.com/bbs/dpj-219574-1.html
作者: wwh2382    时间: 2022-4-24 08:38
写程序就应该简洁明了,用一条语句能做到的,就不要写2句
作者: man1234567    时间: 2022-4-24 10:06
51单片机为什么用宏定义P0端口就可以控制8LED左移呀?
因为你乐意呀
作者: 红花无常    时间: 2022-4-24 15:38
你想啊,如果没有这个功能,你点亮8个小灯就得Sbit 8次
作者: lyonkon    时间: 2022-4-25 12:53
P0口的字节地址是80h,是8bit寄存器。P0口8位端口线电平的高低对应着80H寄存器的值。
P0口8位数据线可以位控制,就是只控制其中的1位
也可以向80H地址单元直接写值,相当于8位同时控制
mov A,80H    ;80H值给a累加器
RL A             ;累加器左移一位
MOV 80H,A     ;累加器a的值给80H
上面是汇编程序P0口左移一位


作者: gebo    时间: 2022-4-25 13:49
点亮8个小灯就得Sbit 8次
作者: pdxwu    时间: 2022-4-26 13:20
P0八个端口可以代表八位二进制数,在单片机中八位二进制数可以用0x**(0x11,0xff等)来表示,所以我们只要给P0口赋上这些值并带上“reg52.h”里面的左移动指令(_crol_),可以让八位二进制中的各个数移动,就可以实现led灯的左移依次亮灭




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1