• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > 对stc片内eeprom的测试

对stc片内eeprom的测试

录入:edatop.com    点击:

#include<stc89.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsgined int
uchar code shuzi[]="0123456789-:";
uchar d0,d1,d2,d3,t0;
sbit lcd_rs=P2^5;//数据/命令选择端 H高 L低
sbit lcd_rw=P2^6;//读/写选择端    H高 L低
sbit lcd_e=P2^7; //使能信号   上升沿所存数据
void init();               //液晶初始化操作
void write_com(uchar com); //液晶写命令函数
void write_data(uchar dat);//液晶写数据函数
void delay(uchar a0);    //延时函数
void main()
{init();                  //调用液晶初始化函数对液晶初始化操作
ISP_CONTR=0x82;
ISP_ADDRH=0x20;//高八位地址定义
ISP_ADDRL=0x00;//低八位地址定义
ISP_TRIG=0x00;
ISP_CMD=0x01;//读取内容
ISP_TRIG=0x46;//手册中说要先写入
ISP_TRIG=0xb9;
d0=ISP_DATA;


while(1)
{

 write_com(0x83);
 d1=d0/100%10;
 d2=d0/10%10;
 d3=d0%10;
 write_data(shuzi[d1]);
 write_data(shuzi[d2]);
 write_data(shuzi[d3]);
 if(d0>=255)
 {d0=0;}
 ISP_DATA=d0;

  ISP_CMD=0x03;//扇区擦除
  ISP_TRIG=0x46;
ISP_TRIG=0xb9;

 ISP_CMD=0x02;;//编程
 ISP_TRIG=0x46;
ISP_TRIG=0xb9;

 for(t0=10;t0>0;t0--)
 {
  delay(255);
 }
d0++;

}}

 void init()//液晶初始化操作
{lcd_rw=0; //读写选择端 始终为写
  lcd_e=0; //使能端拉低 以便形成上升沿
  delay(15);
  write_com(0x38);//设置显示模式为1602
  write_com(0x0c);//光标设置和 显示开不开设置
  write_com(0x06);//光标和屏幕移动不移动 设置
  write_com(0x01);//清屏操作
  write_com(0x80);//设置数据指针
}

void write_com(uchar com)//液晶写命令函数
{
   lcd_rs=0; //设置数据命令为 命令
   P0=com;  //将命令送到P0口
   delay(2); //延时一下
   lcd_e=1;  //e使能端上升沿吧数据读走
   delay(2); //延时一下好让液晶准备好
   lcd_e=0;  //使能端拉低 以便下次形成上升沿
}

void write_data(uchar dat)//液晶写数据函数
{
   lcd_rs=1; //设置数据命令为 数据
   P0=dat;  //将命令送到P0口
   delay(2); //延时一下
   lcd_e=1;  //e使能端上升沿吧数据读走
   delay(2); //延时一下好让液晶准备好
   lcd_e=0;  //使能端拉低 以便下次形成上升沿
}

 void delay(uchar a0)
{ uchar a1,a2;
  for(a2=a0;a2>0;a2--)
  for(a1=110;a1>0;a1--);
}

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:基于并行计算的木马免疫算法研究
下一篇:便携式低功耗温度检测仪设计

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图