亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
STC12C5A片內EEPROM測試程序
[打印本頁]
作者:
騰飛的龍
時間:
2015-10-1 08:43
標題:
STC12C5A片內EEPROM測試程序
#include<reg52.h>
#include"stc12ceeprom.h"
#define DEBUG_DATA 0x5A //本測試程序最終存儲在 EEPROM 單元的數值
#define DATA_flash_START_address 0x00 //STC5Axx 系列 EEPROM 測試起始地址
sbit wei=P0^6;
sbit duan=P0^7;
//uchar code table[]="0123456789";
/*uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,
0xa1,0x86,0x8e,0x89};//0到H段碼 */
void delay(uint x)
{
uint z,j;
for(z=x;z>0;z--)
for(j=800;j>0;j--);
}
void main()
{
uint eeprom_add;
uchar read_eeprom;
P1=0XFF;
delay(2000);
P1=0XF0;
delay(2000);
//將EEPROM 測試起始地址單元的內容讀出
eeprom_add=DATA_flash_START_address;
//將測試起始地址送給eeprom_address
//讀EEPROM的值,存到read_eeprom
read_eeprom=Byte_read(eeprom_add);
if(DEBUG_DATA ==read_eeprom)
{
//數據是對的然后在 P0 口上將 EEPROM 的數據顯示出來
// P1=~0xaa;
P1=0xaa;
delay(2000);
// P1=~read_eeprom;
P1=read_eeprom;
}
else//數據是錯的然后在 P0 口上將 EEPROM 的數據顯示出來
{
P1=~0x55;
delay(1000);
P1=~read_eeprom;
delay(10);
sector_Erase(eeprom_add);//擦除扇區
//將 DEBUG_DATA 寫入 EEPROM
Byte_write(eeprom_add,DEBUG_DATA);//字節編?
P1=~0Xaa;//熄滅 P1.3 控制的燈
}
while(1);
}
#ifndef __STC12CEEPROM_H__
#define __STC12CEEPROM_H__
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//用于STC12C2052
//sfr IAP_DATA =0XE2;
//sfr IAP_ADDRH =0XE3;
//sfr IAP_ADDRL =0XE4;
//sfr IAP_CMD =0XE5;
//sfr IAP_TRIG =0XE6;
//sfr IAP_CONTR =0XE7;
//#define WD1 0X46
//#define WD2 0XB9
//用于STC12C5A60S3
sfr IAP_DATA =0XC2;
sfr IAP_ADDRH =0Xc3;
sfr IAP_ADDRL =0Xc4;
sfr IAP_CMD =0Xc5;
sfr IAP_TRIG =0Xc6;
//sfr IAP_CONTR =0Xc7;
#define WD1 0X5A
#define WD2 0XA5
#define ENABLE_ISP 0X81
uchar Byte_read(uint add);//讀一字節 調用前打開IAP
void Byte_write(uint add,uchar ch);//字節編程
void sector_Erase(uint add);//擦除扇區
void IAP_Disable();//關閉IAP
uchar Byte_read(uint add)
{
IAP_DATA=0X00;
IAP_CONTR=ENABLE_ISP;
IAP_CMD =0X01;
IAP_ADDRH=add/256;
IAP_ADDRL =add%256;
IAP_TRIG =WD1;
IAP_TRIG =WD2;
_nop_();_nop_();
IAP_Disable();
return (IAP_DATA);
}
void Byte_write(uint add,uchar ch)
{
IAP_CONTR =ENABLE_ISP;
IAP_CMD =0X02;
IAP_ADDRH=add/256;
IAP_ADDRL =add%256;
IAP_DATA=ch;
IAP_TRIG =WD1;
IAP_TRIG =WD2;
_nop_();_nop_();
IAP_Disable();
}
void sector_Erase(uint add)
{
IAP_CONTR =ENABLE_ISP;
IAP_CMD =0X03;
IAP_ADDRH=add/256;
IAP_ADDRL =add%256;
IAP_TRIG =WD1;
IAP_TRIG =WD2;
_nop_();_nop_();
IAP_Disable();
}
void IAP_Disable()
{
IAP_CONTR =0;
IAP_CMD =0;
IAP_TRIG =0;
IAP_ADDRH=0;
IAP_ADDRL =0;
}
#endif
復制代碼
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1