fun.h

来自「从零开始学51单片机源代码」· C头文件 代码 · 共 53 行

H
53
字号
#include "intrins.h"

void ms_delay(unsigned int t)
{
	unsigned  int  i;
	for (t; t > 0; t--)	//外层循环t次	 
		for (i = 110;i > 0; i--)	//内层循环110次		   
		;
}

sfr IAP_DATA = 0xe2;
sfr IAP_ADDRH = 0xe3;
sfr IAP_ADDRL = 0xe4;
sfr IAP_CMD = 0xe5;
sfr IAP_TRIG = 0xe6;
sfr IAP_CONTR = 0xe7;

unsigned char IAP_read (unsigned char addrh, unsigned char addrl)
{
	unsigned char edata;
	IAP_ADDRH = addrh; //送地址
	IAP_ADDRL = addrl;
	IAP_CMD = 0x01;  //读指令
	IAP_CONTR = 0x81; //允许操作,设置等待时间为01,20MHz以内
	IAP_TRIG = 0x46;  //触发指令
	IAP_TRIG = 0xb9;
	_nop_();
	edata = IAP_DATA;  //取数据
	return edata;
}

void  IAP_erase  (unsigned char addrh, unsigned char addrl)
{
	IAP_ADDRH = addrh; //送地址
	IAP_ADDRL = addrl;
	IAP_CMD = 0x03;  //扇区擦除指令
	IAP_CONTR = 0x81; //允许操作,设置等待时间为01,20MHz以内
	IAP_TRIG = 0x46;  //触发指令
	IAP_TRIG = 0xb9;
	_nop_();
}

void  IAP_write  (unsigned char addrh, unsigned char addrl, unsigned char edata)
{
	IAP_ADDRH = addrh; //送地址
	IAP_ADDRL = addrl;
	IAP_DATA = edata; //送数据
	IAP_CMD = 0x02;  //写指令
	IAP_CONTR = 0x81; //允许操作,设置等待时间为01,20MHz以内
	IAP_TRIG = 0x46;  //触发指令
	IAP_TRIG = 0xb9;
	_nop_();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?