51单片机蓝桥杯学习记录
学院通知让参加蓝桥杯,可能我们参加的好的话学弟们说不定也有机会参加以后的蓝桥杯了,还是代码备份,就当做以后给学弟们上课的课件了^^
蓝桥杯单片机有stm32f103的,还有51的,还是选择51吧,103的话不知道给不给库
首先
蓝桥杯的51用的是stc15f2k61s2, 用keil5的话stc的包是一个问题,解决方法如下:
点这里的添加型号和头文件到keil中,找到keil的安装目录就行
其他的就按步骤来吧
由于我买的是二手的板子,没有资料得自己摸着过河,看了眼B站上发的视频打算先写个流水灯的再说
玩儿着才发现蓝桥杯板子P0的最高位接的灯的最后一盏
第一讲先不用定时器直接来个延时
代码如下:
/*****************************
author: 风行天
time:2020.01.15
*****************************/
#include <stc15f2k60s2.h>
#define uint unsigned int
void delay_ms(uint sec)//定时sec ms 调试算出来的
{
uint a,b;
for (;sec>0;sec--)
{
for (a=0;a<5;a++)
{
for (b=0;b<157;b++)
{}
}
}
}
void crol_()//左流
{
uint x,y;
y=P0;
x=P0&0x01;
if(x)
{
y=y>>1;
y=y|0x80;
P0=y;
}
else
{
y=y>>1;
P0=y;
}
}
void cror_()//右流
{
uint x,y;
y=P0;
x=P0&0x80;
if(x)
{
y=y<<1;
y=y|0x01;
P0=y;
}
else
{
y=y<<1;
P0=y;
}
}
void main ()
{
P2=0xa0;
P0=0x00;
P2=0x80;
P0=0xff;//初始化
P0=0x7f;
while(1)
{
delay_ms(100);
// P0=0xbf;
// delay_ms(100);
cror_();
}
}
写完收工睡觉