1.1 点亮流水灯
2017-07-05 本文已影响0人
忘川止
事先软硬件的准备
- 学习板 你学51总要一块有一块51芯片吧,用学习板挺好的
- 板子对应的驱动
- 烧写软件 我用的死stc-isp 一般stc的芯片都可以用这个
- 烧写 就是把你写好代码(C或者是汇编)专程的机器语言通过一定的方式下载到单片机中。称为烧写
- 编写软件 keil uVision 4 你总要有个编写的软件
- 单片机中,利用keil将写好的c代码文件编译成可执行的.HEX文件。
- 你板子的原理图,非常重要,一定要有
点亮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;
}