1.1 点亮流水灯

事先软硬件的准备

  1. 学习板 你学51总要一块有一块51芯片吧,用学习板挺好的
  2. 板子对应的驱动
  3. 烧写软件 我用的死stc-isp 一般stc的芯片都可以用这个
    • 烧写 就是把你写好代码(C或者是汇编)专程的机器语言通过一定的方式下载到单片机中。称为烧写
  4. 编写软件 keil uVision 4 你总要有个编写的软件
  • 单片机中,利用keil将写好的c代码文件编译成可执行的.HEX文件。
  1. 你板子的原理图,非常重要,一定要有

点亮led1


由原理图可知,想要led1亮,P10要低电平
单片机是TTL电平 高5v 低0v
计算机串口 MAX232电平 高-12v 低+12v
通过单片机中的MAX232芯片 可以将电平转化


注意选好型号,选好串口好,还有晶振11.0592MHZ

流水灯的其他玩法

  • 点亮多个流水灯
#include<reg52.h>
sbit  LED1 = P1^0;
sbit  LED3 = P1^2;
sbit  LED5 = P1^4;
sbit  LED7 = P1^6;
int main()
{
    LED1 = 0;
    LED3 = 0;
    LED5 = 0;
    LED7 = 0;
        
    return 0;
}
  • 闪烁灯
    #include<reg52.h>
    #define  uint unsigned int
    sbit  LED1 = P1^0;
    void delay(uint xms)
    {
      uint x, y;
      for(x=xms; x>0; x--)
          for(y=114;y>0;y--);
    }
    

int main()
{
while(1)
{
LED1 = 0;
delay(500);
LED1 = 1;
delay(500);
}
return 0;
}

- 真流水灯

include<reg52.h>

include<intrins.h>

define uchar unsigned char

define uint unsigned int

sbit LED1 = P1^0;
uchar i;
uchar temp;

void delay(uint xms)
{
uint x, y;
for(x=xms; x>0; x--)
for(y=114;y>0;y--);
}

int main()
{
temp = 0x7f;
P1 = temp;
while(1)
{
for(i=0;i<8;i++)
{
temp = cror_(temp,1);
P1 = temp;
delay(1000);
}
}
return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 姓名:李浩然 学号:16030410020 转自:http://www.51hei.com/bbs/dpj-438...
    洛花无阅读 1,448评论 0 2
  • Arduino Due有14个数字I/O,6个模拟I/O,一个复位开关,一个ICSP下载口,7-12v电源供电。 ...
    麦牛2013阅读 3,389评论 0 8
  • 姓名:周崇杰 学号:16040120059 专业:机械设计制造及其自动化 转载自:http://blog.csd...
    CJbaby阅读 1,490评论 0 6
  • 你有看到一匹马吗? 一匹全身雪白的马 那是我的白马 我要骑着他去童话镇 迎娶我的姑娘 你知道,蒲公英的家吗? 就是...
    镜愚阅读 312评论 2 5
  • 我从不觉得自己年龄逐渐增大 的同时就是人生趋于老化。20岁信奉的格言就是:只要还没结婚,我所有的时间都是青春!一个...
    夏可可阅读 496评论 0 0