2024-09-06 00:29:53
C语言实现
#include //包含单片机
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void) //两个void意思分别为无需
{
for(i=0;i<20000;i++) //做20000次空循环。
; //什么也不做,等待一个
}
/*******************************************************
函数功能:
********************************************************/
void main(void)
{
while(1) //无限循环。
{
P0=0xfe; //P1=1111 1110B, P0.0输出低电平。
delay(); //延时一段时间。
P0=0xff; //P1=1111 1111B, P0.0输出
delay(); //延时一段时间。
}
}
单片机驱动LED灯的
#include<reg52.h> //头文件。
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定义。
void delay_ms(uint);//mS级带参数延时函数。
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
扩展资料:
单片机应用分类:
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。
通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料来源:
2024-09-06 22:49:37
可以用外部中断计数,来实现流水灯的正转、暂停、以及反转和爆闪。。这是我前几天写的一个这样的程序,楼主可以结合protues 画图仿真,注意程序中所用到的IO端口就行了。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
uchar a,b;
void delay(uchar z)
{
uchar i,j,k;
for(i=z;i>0;i--)
for(k=20;k>0;k--)
for(j=110;j>0;j--);
}
void begain()
{
EA=1;
EX0=1;
IT0=1;
}
void main()
{ a=b=0;
P0=0xfe;
begain();
while(1)
{
if(a==1)
{
P0=_crol_ (P0,1);
delay(50);
}
if(a==3)
{
P0=_cror_(P0,1);
delay(50);
}
if(a==4)
{
P0=0x00;
delay(50);
P0=0xff;
delay(50);
P0=0xfc;
}
if(a==5)
{
a=1;
}
}
}
void int0() interrupt 0
{
a++;
if(a==5)
{
a=1;
}
}
2024-09-06 13:07:14