点亮一个LED

一、51单片机介绍

  • 内部集成了CPU、ARM、ROM、定时器、中断系统、通讯接口等一系列的电脑常用硬件功能

  • 单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设备的控制(如电机、LED等)

  • 单片机算是一个袖珍版计算机,但性能上相差甚远。成本低,结构简单,体积小。

  • 学习使用单片机是了解计算机原理与结构的最佳选择。

    1、STC89C52单片机

    位数:八位

    RAM:512字节 内存条,相当于运存

    ROM:8k(Flash) 硬盘,相当于内存

    工作频率:12MHz(本开发板使用)

    2、数电基础(待补充)

    进制转换

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7hw7tkC9-1666702137381)(C:\Users\大江\AppData\Roaming\Typora\typora-user-images\image-20221025202826372.png)]

二、点亮一个LED

LED介绍

LED原理图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6MWw7RPC-1666702137382)(C:\Users\大江\AppData\Roaming\Typora\typora-user-images\image-20221025200451931.png)]

CPU控制 寄存器(八个分为一组),每个通过驱动器控制IO口输出高低电平。进而控制硬件电路。

1、点亮一个LED

void main()
{
	P2=0xFE;//P2=1111 1110;
    while(1){//在这里不断兜圈子,相当于停下来了
        
    }
}

调用P2这组寄存器前,需要在主函数前添加头文件。

2、LED闪烁

void main()
{
	/*P2=0xFE;
	P2=0xFF;*/
	//单片机的执行频率单位是MHz,执行速度非常快,这样就达不到闪烁的目的,肉眼看不清。
    
    void Delay500ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 4;
	j = 129;
	k = 119;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}
    //利用STC-ISP软件延时器生成延时代码
    while(1)
    {
    P2=0xfe;
    Delay500ms();
    P2=0XFF;
    Delay500ms();
    }
    
    
    
    
	
}

3、LED流水灯

void main()
{
	while(1)
	{
		P2=0xFE;
		Delay500ms();
		P2=0xFD;
		Delay500ms();
		P2=0xFB;
		Delay500ms();
		P2=0xF7;
		Delay500ms();
		P2=0xef;
		Delay500ms();
		P2=0xdf;
		Delay500ms();
		P2=0xbf;
		Delay500ms();
		P2=0x7f;
		Delay500ms();
	}
}
//自己封装好函数,可以写入参数来表示想要时间的延迟
void Delay1ms(unsigned int xms)		//@11.0592MHz
{
	unsigned char i, j;

	while(xms)
	{
	i = 2;
	j = 199;
		do
		{
			while (--j);
		} while (--i);
		xms--;
	}
}

4、流水灯PLUS

void main()
{
	while(1)
	{
		P2=0xFE;
		Delay1ms(1000);
		P2=0xFD;
		Delay1ms(1000);
		P2=0xFB;
		Delay1ms(1000);
		P2=0xF7;
		Delay1ms(100);
		P2=0xef;
		Delay1ms(100);
		P2=0xdf;
		Delay1ms(100);
		P2=0xbf;
		Delay1ms(100);
		P2=0x7f;
		Delay1ms(100);
	}




}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值