zl程序教程

您现在的位置是:首页 >  其它

当前栏目

C51 震动感应灯

c51 感应 震动
2023-09-11 14:21:42 时间

目录

51对比32来说,不需要配置寄存器什么的,51已经配置好了,32如果没有固件库的话要一个个地址找,一个个地址配置,需要包含头文件#include <REGX52.h>,里面有已经配置好的。

软件平台是Keil uVision5,芯片没有STC89C52,就选择AT89C52

烧程序的软件是stc-isp,单片机型号选择:STC89C52RC
在这里插入图片描述
所属系列:51单片机系列
公司:STC
位数:8位
RAM:512字节
ROM:8K(FLASH)
工作频率:12Mhz

main.c

#include <REGX52.h>
#include <INTRINS.H>

/*·äÃùÆ÷*/
sbit BEEP = P2^0;
/*¼ÌµçÆ÷µÆ*/
sbit LED = P2^1;
/*Õ𶯴«¸ÐÆ÷*/
sbit SHAKE = P2^2;

/**
 *¹¦ÄÜ£ºÑÓʱ500ms
 *²ÎÊý£ºvoid
 *·µ»ØÖµ£ºvoid
 */
void Delay500ms(void)		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	_nop_();
	i = 22;
	j = 3;
	k = 227;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

int main()
{
//		BEEP = 0;
//		Delay500ms();
//		BEEP = 1;
//	  Delay500ms();
		while(1){
				if(SHAKE == 0){
						LED = 0;
						Delay500ms();
						LED = 1;
						Delay500ms();
				}
		}
		
//		return 0;
}