image.png

在51单片机的原理图中,共有8个LED   其中一侧在串联电阻后,连接到了电源的正极(VCC)

另一端分别连接到了P20,P21,P22,P23.....P27(这些相当于编号,跟单片机对应的编号都是通着的)

以下是单片机的管脚图:

image.png

那么只要让单片机的P20输出低电平(输出负,二进制的0) 那么即可点亮第一个LED

如果让单片机的P20输出高电平(输出正极,二进制的1)  那么相当于LED两端都连到正极,则不亮

点亮一个LED:


所以点亮第一个LED的代码就是:

#include <REGX52.H>
void main(){
	P2=0xfe;	//11111110
}

0x代表十六进制,fe转化到二进制是 11111110   表示输出7个正极和1个负极  (p20是第一个LED,所以8个二进制位只把最低位设置为0,其余为1)

  P2在头文件里已定义了寄存器的地址。可以直接给他赋值即可控制引脚输出正还是输出负

需要注意的是,由于他是每个二进制位对应一个引脚,因此更改P2的值一次即可同时更改8个灯的状态.

总结:单片机通过配置寄存器来控制单片机内部线路的连接


相关推荐

51单片机延时函数

在51单片机开发板的晶振上写着11.0592代表了11.0592MHz我们可以用STC-ISP软件上的 软件延时计算器 来生成一个代码,需在系统频率那里选择11.0592指令集选择STC-Y1(因为我

51单片机数码管显示多位数数字

(此数码管为共阴极)首先写一个函数,在指定的其中数码管显示单个1位数数字参数一:第几个数码管参数二:要显示的数字unsigned char arr[]={0x3f,0x06,0x5b,0x4f,0x6

51单片机定时器,时钟周期事件

以下为51单片机,11.0592的晶振直接定义一个初始化时钟的函数,这里定义的是1毫秒,一般情况足够了/*定时器0初始化*/ void Timer0Init(void) //1毫秒@11.0592

74HC245的作用 引脚图以及功能 (解决单片机输出功率不足的问题)

以下仅为简单总结,详情请参阅购买开发板附带的资料作用: 由于单片机输出的功率不足,所以可以通过74HC245来增强他的电流上限功能:八个输入信号原封不动的输出,只不过可接的电流更大一些。可解决led太

css让html文本闪烁的代码

<style> @keyframes blink { 0% {opacity: 0;} 50% {opacity: 1;} 100% {opacity: 0;} } .blinkin

Warning: require(__dIR__/wp-blog-header.php) [function.require]: failed to open stream: No such file

WordPress安装时出现 Warning: require(__DIR__/wp-blog-header.php) [function.require]: failed to open strea

php正则表达式匹配中文(用户名过滤)报错:Compilation failed: PCRe does not support \l, \l, \N, \U, or \u at offset 2 in

找了很多方法.都不行.麻麻蛋的,偶然一次又可以了.记下来再说!X试过不靠谱的方法$preg='([\\u4e00-\\u9fa5_a-zA-Z0-9_]{4,10})'; 和一些各种 大括

一个好用的国产中文编辑器hbuild(hbuildx)

tag:国产编辑器 中文编辑器项目管理非常方便全中文界面代码提示功能自动完成功能速度好像比dw快,但是比editplus反应慢没有做过多的测试.需要了解更多可以到官网去看一下.官网详细介绍:https

css选择器练习的一个小游戏 很有意思

地址:http://flukeout.github.io/一共26关 很萌的小游戏,或者自行百度搜索【CSS Diner】查找据说这个游戏通关了。css就没什么难度了。娱乐中学习也是很不错的

seo优化一个优质高权重的大型流量网站的流程

一般规划建设一个网站大部分都是先准备域名服务器 然后就直接搭建起来了.实际上要搭建一个正规的.优质的网站还是需要分为几个步骤.这几个步骤顺序不能颠倒.第一步:挖掘关键词为什么第一要先挖掘关键词呢?原因