上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

【蓝桥杯51单片机入门记录】LED

guduadmin231月前

目录

一、基础

(1)新建工程

(2)编写前准备

二、LED

(1)点亮LED灯

(2)LED闪烁

延时函数的生成(stc-isp中生成)

实现

(3)流水灯


一、基础

(1)新建工程

  1. 养成良好的编程习惯,每一个不同的工程项目对应一个不同的文件夹【蓝桥杯51单片机入门记录】LED,第1张
  2. 芯片选择(本篇选择的是AT89C52)
  3. 点开“品”字工具栏,修改相关信息【蓝桥杯51单片机入门记录】LED,第2张
  4. 点开魔术棒,勾选生成HEX文件erer【蓝桥杯51单片机入门记录】LED,第3张

(2)编写前准备

  1. 右键点击user栏添加用户主程序(main.c)
  2. 右键引用51头文件
  3. 编写程序主框架
    //程序主体框架
    void main()
    {
    	
    	while(1)
    	{
    	}
    	
    }
  4. 按照原理图编写程序
    【蓝桥杯51单片机入门记录】LED,第4张

二、LED

(1)点亮LED灯

  1. 对P1中8个LED灯整体赋值【蓝桥杯51单片机入门记录】LED,第5张

     

  2. 单个赋值
    【蓝桥杯51单片机入门记录】LED,第6张

(2)LED闪烁

  • 延时函数的生成(stc-isp中生成)
  • 【蓝桥杯51单片机入门记录】LED,第7张
  • 备注:_nop_() 是一种内置的延时函数,它是汇编指令 NOP 的 C 语言等效形式,用于在单片机中产生一定的延时。包含在头文件intrins.h 中
  • 实现

    【蓝桥杯51单片机入门记录】LED,第8张

    (3)流水灯

    • 实现原理:通过不断给P1中不同的IO口置低电平,从而达到LED流水灯的效果
    • 实现思路一:通过给P1口赋不同的值从而达到流水灯的效果
    • 实现思路二:2.通过内置库函数(intrins.h)实现流水灯效果
    • _crol_:循环左移;_cror_:循环右移
    • 使用:_crol_(移动的变量,移动的位数)
      //引用头文件
      #include 
      #include 
      //自定义延时函数
      void Delay(unsigned int x)	//@12.000MHz
      {
      	unsigned char data i, j;
      	while(x--)
      	{
      	i = 2;
      	j = 239;
      		do
      			{
      		while (--j);
      			} while (--i);
      	}
      }
      //变量声明区域
      unsigned char LED = 0xfe; //LED数据变量
      unsinged int time = 1000;
      //程序主体框架
      void main()
      {
      	
      	while(1)
      	{
      		P1 = LED;
      		Delay(time);
      		LED = _crol_(LED,1);
      		time = time - 100;//每次快1秒,实现LED闪烁
      	}
      	
      }

网友评论

搜索
最新文章
热门文章
热门标签
 
 梦见车被偷了是什么预兆  梦见放鞭炮是什么预兆  梦见河水