目录
- 设置单片机的延迟(睡眠)函数
 - 查看单片机的时钟频率
 - 设置系统频率、定时长度、指令集
 
- 完整代码
 - 生成HEX文件
 - 下载HEX文件到单片机
 - 流水灯代码 (自定义延迟时间)
 
设置单片机的延迟(睡眠)函数
查看单片机的时钟频率
检测前单片机必须连接电脑并打开,点击检测之后关掉单片机再打开。 这被称为冷启动。
 

设置系统频率、定时长度、指令集
系统频率填上面查到的
 
将生成的代码复制到编辑器中
 
完整代码
#include <REGX52.H>
//#include <INSTRINS.H>
void Delay500ms(void)	//@11.030MHz
{
	unsigned char data i, j, k;
	i = 4;
	j = 127;
	k = 25;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}
void main()
{
	
	while(1)
	{
		P2 = 0xFE; // 1111 1110 第一个灯亮
		Delay500ms();
		P2 = 0xFF; // 1111 1111 灯灭
		Delay500ms();
	}
	
}
 
生成HEX文件

 然后点击编译。
下载HEX文件到单片机


点击下载,然后冷启动。显示操作成功。
 

流水灯代码 (自定义延迟时间)
#include <REGX52.H>
#include <INTRINS.H>
//  自定义延迟函数
void Delay1ms(unsigned int xms)	//@11.030MHz
{
	unsigned char data i, j;
	
	while(xms)
	{
		_nop_();
		i = 2;
		j = 198;
		do
		{
			while (--j);
		} while (--i);
		xms=xms-1;
	}
}
void main()
{
	while(1)
	{
		P2 = 0xFE; // 1111 1110 第一个灯亮
		Delay1ms(500);
		P2 = 0xFD; // 1111 1101 第二个灯亮
		Delay1ms(500);
		P2 = 0xFB; // 1111 1011 第三个灯亮
		Delay1ms(500);
		P2 = 0xF7; // 1111 0111 第四个灯亮
		Delay1ms(500);
		P2 = 0xEF; // 1110 1111 第五个灯亮
		Delay1ms(500);
		P2 = 0xDF; // 1101 1111 第六个灯亮
		Delay1ms(500);
		P2 = 0xBF; // 1011 1111 第七个灯亮
		Delay1ms(500);
		P2 = 0x7F; // 0111 1111 第八个灯亮
		Delay1ms(500);
	}
}
                


















