51单片机入门学习小结(流水灯与数码管) |
您所在的位置:网站首页 › 单片机流水灯1到8依次亮 › 51单片机入门学习小结(流水灯与数码管) |
51单片机入门学习小结(流水灯与数码管)
对原理图的分析
以下是我所用单片机的原理图 1.先来说一下如何点亮LED灯 #include "reg52.h"//调用52单片机的头文件,写51也可以// sbit LED=P2^0;//sbit 是用来确定地址,这里是把LED定义为P2的0号接口// void main() { LED=0;//代表着P2口出低电位使发光二极管前后产生电位差而发光// }所以以此类推我们可以使开发板上的多个发光二极管点亮,但是如果一个一个接口定义过去会比较麻烦,所以我们可以对整个P2口进行操作。 #include "reg52.h" #define LED P2 void main() { LED=0; }这样就能实现LED灯全部点亮。 那么我们要如何使LED灯实现流水灯的样子呢? 流水灯实现首先我们要知道8个LED灯每一个灯都代表二进制位上的一位,也就是说8个灯在一开始都为1111 1111(顺序从LED1到8),这样两边高电位所以不会亮,我们把他写为十六进制数为0xff(0x是为了告诉电脑这是16进制) 所以我们想要把灯点亮,就可以把各个位置变为0出低电位,这样就可以实现点亮LED灯。 那么我们要怎么样才能使LED灯逐个点亮呢? 我们可以用到C语言中的""来实现位的左移右移。也就是说我们可以这样写 #include "reg52.h" #define LED P2 #define ui unsigned int #define uc unsigned char void delayms(ui del) //延时语句,延时时长为(del*10)ms { ui i,j; for(i=0; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |