基于Proteus单片机的流水灯实验教程.docx
《基于Proteus单片机的流水灯实验教程.docx》由会员分享,可在线阅读,更多相关《基于Proteus单片机的流水灯实验教程.docx(11页珍藏版)》请在冰点文库上搜索。
基于Proteus单片机的流水灯实验教程
基于Proteus单片机的流水灯实验教程
对于没有单片机实验板子的童鞋来说,想要学习单片机就有点费力了,没法来亲自动手做实验。
但是现在proteus的出现,可以让那些没有单片机实验板子的童鞋来做实验了。
因为proteus可以用来单片机仿真了,不仅仅是电路图的仿真,还可以加载HEX文件,看到实验现象哦。
废话不多说了。
首先打开proteusISIS
然后开始挑选元件了:
如下图
点击P,即可进入元件挑选界面:
然后再关键词(Keywords)框中输入你所需要的元件,本次教程元件列表如下
连接电路图如下:
小点的图
大点的图
里面的一些操作技巧这里就不一一讲了,可参考
这里面的一些资料,自己选择。
至此就算完成了一半了,再就是程序的了
关于proteus和keil的联调看这里:
程序的编写如下:
#include<>
unsignedchara,b;
voiddelay(unsignedinti) //延时程序
{
for(a=i;a>0;a--)
for(b=225;b>0;b--);
}
voidmain()
{
while
(1)
{
//多灯亮灭
P1=0xff; //全灭
delay(1000);
P1=0; //全亮
delay(1000);
P1=0xff;
delay(1000);
//流水灯单向移动
P1=0xfe; //P10灯亮
delay(1000);
P1=0xfd; //P11灯亮
delay(1000);
P1=0xfb; //P12灯亮
delay(1000);
P1=0xf7; //P13灯亮
delay(1000);
P1=0xef; //P14灯亮
delay(1000);
P1=0xdf; //P15灯亮
delay(1000);
P1=0xbf; //P16灯亮
delay(1000);
P1=0x7f; //P17灯亮
delay(1000);
//多灯一一亮
P1=0xfe;
delay(1000);
P1=0xfc;
delay(1000);
P1=0xf8;
delay(1000);
P1=0xf0;
delay(1000);
P1=0xe0;
delay(1000);
P1=0xc0;
delay(1000);
P1=0x80;
delay(1000);
P1=0x00;
delay(1000);
//流水灯双向移动
P1=0x7e;
delay(1000);
P1=0xbd;
delay(1000);
P1=0xdb;
delay(1000);
P1=0xe7;
delay(1000);
P1=0xe7;
delay(1000);
P1=0xdb;
delay(1000);
P1=0xbd;
delay(1000);
P1=0x7e;
delay(1000);
}
}
效果图
多灯全亮:
多灯全灭:
流水灯单向移动:
1
2
3
······
多灯一一亮:
1
2
3
````````
/流水灯双向移动:
1
2
```````
对于keil的操作,注意要生成HEX文件
生成的HEX文件导入单片机:
双击proteus中的AT89C51芯片
看到上面这个元件编辑框,在黑圈圈中点击打开的图示
然后再选择你生成的HEX文件,如图我的HEX文件命名为
ok,这个教程就写到这里了