FM31xx的控制软件(8052)(C语言)和相关电路图
;仅供参考 cn_f__12308.c
;路泽阳
while(1)////////////////////////////
{
ADDRESS2=0x01;
ADDRESS1=0x00;
for(i=0;i14;i++)
{
save_char(ADDRESS1,ADDRESS2,SAVE_DATA);
}
_NOP();
ADDRESS2=0x01;
ADDRESS1=0x00;
for(j=0;j14;j++)
{
DISP_NUM[0][j]=get_char(ADDRESS1,ADDRESS2);
}
_NOP();
}
/////////writebyte/////////////////////////////////////////////////////////////
voidsave_char(charaddress1,charaddress2,charwbyte)
{
P_LCM_CONOUT|=FM18L08_CEB;//预充电
P_ADDRESSHIGH_OUT=~FM1808_WEB;//写操作
P_ADDRESSLOW_OUT=address1;//低8位地址
P_ADDRESSHIGH_OUT=address2;//高7位地址
P_LCM_CONOUT=~FM18L08_CEB;//地址锁定
P_DATA_DIR=0XFF;//DATA—BUS口线改为输出状态
P_DATA_OUT=wbyte;//给出数据内容
P_LCM_CONOUT|=FM18L08_CEB;//结束写操作
P_ADDRESSHIGH_OUT|=FM1808_WEB;//取消写状态
ADDRESS1++;//地址递增
if(ADDRESS1>0xff)
{
ADDRESS1=0x00;
ADDRESS2++;
if(ADDRESS2>0x7f)
{
ADDRESS2=0x00;
}
}
P_DATA_DIR=0XFF;//BUS口线为输出状态
P_DATA_OUT=0XFF;//释放BUS总线
}
///////readbyte///////////////////////////////////////////////////////////////
charget_char(charaddress1,charaddress2)
{
charrbyte;
P_ADDRESSHIGH_OUT|=FM1808_WEB;//取消写状态
P_LCM_CONOUT|=FM18L08_CEB;//预充电
P_ADDRESSLOW_OUT=address1;//低8位地址
P_ADDRESSHIGH_OUT=address2;//高7位地址
P_LCM_CONOUT=~FM18L08_CEB;//地址锁定
P_LCM_CONOUT=~FM18L08_OEB;//读状态
P_DATA_DIR=0X00;//DATA—BUS口线改为输入状态
rbyte=P_DATA_IN;//读入数据内容
P_LCM_CONOUT|=FM18L08_CEB;//结束读操作
P_LCM_CONOUT|=FM18L08_OEB;//取消读状态
ADDRESS1++;//地址递增
if(ADDRESS1>0xff)
{
ADDRESS1=0x00;
ADDRESS2++;
if(ADDRESS2>0x7f)
{
ADDRESS2=0x00;
}
}
P_DATA_DIR=0XFF;//BUS口线为输出状态
P_DATA_OUT=0XFF;//释放BUS总线
returnrbyte;//返回数据值
}
单片机 51单片机 MCU 单片机视频教程 单片机开发 ARM单片机 AVR单片机 PIC单片机 Atmel stm32 单片机学习 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)