单片机的第一个程序(硬件部分)

来源:互联网 发布:bi 数据统计是什么 编辑:程序博客网 时间:2024/06/04 19:18

proteus仿真软件用法:

1.打开软件创建工程

     2.选择要用的元件画图,如选择一个c52,

点击p在keywords中写入要用的元件然后在右边的框中选中目标元件,点击ok

出来后,在要放该元件的地方双击就放好了



这个图是画完之后的图形,led灯亮是因为与程序进行了仿真

仿真步骤:双击单片机选择产生的hex文件,运行仿真


然后点击电路图左下端三角进行仿真




软件程序:

#include <reg52.h>


void Delay10ms(unsigned int c);   


unsigned char LED;


void main()

unsigned char i;


  
LED = 0xFE;


while (1) 
{  
for (i = 0 ;i < 7 ; i++)


P1  = LED;

Delay10ms(50); 

LED = LED << 1;    

// LED = LED | 0x01; 
}


for (i = 0 ;i < 7 ; i++)
{
P1  = LED;


Delay10ms(50);


LED = LED >> 1;


LED = LED | 0x80; 
}



P1=~0x81;
Delay10ms(50);
P1=~0xc3;
Delay10ms(50);
P1=~0xe7;
Delay10ms(50);
P1=~0xff;
Delay10ms(50);
P1=0xff;
Delay10ms(50);
P1=0x00;
Delay10ms(50);
P1=0xff;
Delay10ms(50);
P1=0x00;
Delay10ms(50);
}
 
}


void Delay10ms(unsigned int c)   //误差 0us
{
    unsigned char a, b;


    for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
           
}       
}

状态1:控制系统通电或复位后,8LED发光二极管依次从左到右开始逐个点亮;

状态28LED发光二极管全亮后,从右向左再逐个熄灭;

状态38LED发光二极管全灭后,从左到右两边开始同时点亮LED发光二极管,全亮后,8LED发光二极管再明暗一起闪烁2次。


原创粉丝点击