蓝桥杯单片机之模块代码《逐个点亮LED》

过往历程

历程1:秒表

历程2:按键显示时钟

历程3:列矩阵按键显示时钟

历程4:行矩阵按键显示时钟

历程5:新DS1302

历程6:小数点精确后两位ds18b20

历程7:35定时器测量频率

历程8:AT24C02

历程9:AT24C02秒表

历程10:AD

历程11:超声波

历程12:多样点灯方式

历程13:AT24C02页写入

历程14:DA

历程15:串口发数据



前期准备

1:本文使用的头文件是由stc生成
在这里插入图片描述
点击保存文件之后,保存至自己文件目录下方即可
在这里插入图片描述
2:本文使用的都是官方提供的底层驱动代码
在这里插入图片描述

原理图

在这里插入图片描述

#include<reg51.h>
#include<intrins.h>

void aa(int x)
{
	while(x--);

}

void fmq()
{
	P2=((P2^0X1F)|0XA0);
	P0=0X00;
  P2&=0X1F;
}

void led()
{
	int i;
P0=0xfe;	
	for(i=0;i<8;i++)
	{
	P2=((P2^0X1F)|0X80);
	P0=P0<<i;
aa(50000);
  P2&=0X1F;
}
}

void main()
{
	while(1)
	{
		fmq();
		led();
	}
}

省赛代码传送门

第三届蓝桥杯单片机省赛
第四届蓝桥杯单片机省赛
第五届蓝桥杯单片机省赛
第六届蓝桥杯单片机省赛
第七届蓝桥杯单片机省赛
第八届蓝桥杯单片机省赛
第九届蓝桥杯单片机省赛
第十届蓝桥杯单片机省赛
第十一届蓝桥杯单片机省赛

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是单片机LCD1602的代码: ```c #include <reg52.h> // 导入STC单片机头文件 #define LCD1602_DB P0 // LCD1602数据线所在的P0口 sbit LCD1602_RS = P2 ^ 0; // LCD1602的RS引脚所在的P2.0口 sbit LCD1602_RW = P2 ^ 1; // LCD1602的RW引脚所在的P2.1口 sbit LCD1602_E = P2 ^ 2; // LCD1602的E引脚所在的P2.2口 void delay(unsigned int i) // 延时函数 { while (i--) ; } void write_com(unsigned char com) // 写指令函数 { LCD1602_RS = 0; // 将RS引脚置为0,表示写入指令 LCD1602_RW = 0; // 将RW引脚置为0,表示写入模式 LCD1602_DB = com; // 将指令写入数据线 LCD1602_E = 1; // 将E引脚置为1,表示允许写入 delay(100); // 延时一段时间(至少50ns) LCD1602_E = 0; // 将E引脚置为0,表示禁止写入 } void write_data(unsigned char dat) // 写数据函数 { LCD1602_RS = 1; // 将RS引脚置为1,表示写入数据 LCD1602_RW = 0; // 将RW引脚置为0,表示写入模式 LCD1602_DB = dat; // 将数据写入数据线 LCD1602_E = 1; // 将E引脚置为1,表示允许写入 delay(100); // 延时一段时间(至少50ns) LCD1602_E = 0; // 将E引脚置为0,表示禁止写入 } void init() // 初始化函数 { write_com(0x38); // 设置显示模式为2行,5*7点阵 write_com(0x0c); // 设置显示模式为开,光标不显示,不闪烁 write_com(0x06); // 设置输入方式为移动光标,不移动屏幕 write_com(0x01); // 清屏 } void main() { init(); // 执行初始化 write_data('H'); // 写入字符'H' write_data('e'); // 写入字符'e' write_data('l'); // 写入字符'l' write_data('l'); // 写入字符'l' write_data('o'); // 写入字符'o' write_data(','); // 写入字符',' write_data('W'); // 写入字符'W' write_data('o'); // 写入字符'o' write_data('r'); // 写入字符'r' write_data('l'); // 写入字符'l' write_data('d'); // 写入字符'd' while (1) // 主循环 ; } ``` 以上代码使用STC单片机,通过P0口连接1602液晶屏,实现在液晶屏上显示"Hello, World"的功能。其中,`write_com()`函数用于写入指令,`write_data()`函数用于写入数据,`init()`函数用于初始化。在`main()`函数中,先执行初始化,然后逐个写入字符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值