51的仿真在proteus中也是十分的方便,默认情况下,我们不必要将典型电路绘制完全就可以开始仿真,如下图,我这里没有把震荡电路接好,同样可以很方便的仿真。 如果你不知道如何利用proteus仿真51单片,那么可以参考我的前一篇博文《利用proteus仿真51单片机(无须keil)》
代码如下:
#include <reg51.h>
#include <stdio.h>
unsigned char led_mod[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(unsigned int time);
void main(void)
{
char i=0;
while (1)
for(i=0;i<=9;i++)
{
P0=led_mod[i];
delay(500);
}
}
void delay(unsigned int time)
{
unsigned int j=0;
for(;time>0;time--)
for(j=0;j<125;j++);
}
对于第一次接触51系列C编程的新手可能需要去看看51的硬件资源及管脚定义,程序代码里的P0,指的就是接数码管的那8个管脚(有一个置空,有小数点的时候可以接)。 通过led_mod数组里面的16进制数一次赋值给八个管脚,实现数码管的显示。 程序很简单,作为第一次使用51在proteus中的仿真是不错的选择。
|