- 流水灯的实现
在本次练习中使用的主器件是单片机AT89C51,首先进行原理图的绘制,包括晶振电路、上电复位电路和LED小灯电路。原理图如下:
其中,晶振电路和上电复位电路,在单片机的内置属性中已有设置,在绘制电路时可省略该部分电路。
在进行电路连接时有两种连接方式:普通连接和电器连接。普通连接就是正常的将端与端相连,而电器连接则是将端口设置网络标号(两个需要相连的端要设置相同的端口号),从而达到链接的目的。(感觉电器连接和论文原理图更像,也是更简洁的方式)
连接完毕电路后,在KEIL中写代码。
#include <c8051f020.h>
sbit LED1=P2^0;
sbit LED2=P2^1;
sbit LED3=P2^2;
sbit LED4=P2^3;
sbit LED5=P2^4;
sbit LED6=P2^5;
sbit LED7=P2^6;
sbit LED8=P2^7;
void delay(unsigned int n)
{
unsigned int i=0,j=0;
for(i=0;i<n;i++)
{
for(j=0;j<120;j++);
}
}
void main()
{
while(1)
{
P2=0xFE;
delay(50);
P2=0xFD;
delay(50);
P2=0xFB;
delay(50);
P2=0xF7;
delay(50);
P2=0xEF;
delay(50);
P2=0xDF;
delay(50);
P2=0xBF;
delay(50);
P2=0x7F;
delay(50);
}
}
在keil中需要设置输出hex文件。编译完成后,将hex文件放入Proteus中的单片机内。开始仿真。