注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
05210324kw的个人空间 https://home.eeworld.com.cn/space-uid-160232.html [收藏] [复制] [分享] [RSS]
日志

把外部器件当成固定地址的存储器访问

已有 1346 次阅读2010-6-5 11:26 |

当用并行方式访问外部器件,如ch375时,有两种方法:
     1、按照芯片手册,用三个单片机端口模拟ch375的三个口wr、rd、cs的时序。
     2、把ch375当成一个外部存储器地址来来访问,这样的话ch375就相当有外部ram地址,ch375的rd、wr分别连接到单片机的复用引脚rd、wr上,ch375的cs引脚练到单片机P2的一个引脚上。用这种方法是最方便的,程序非常简单,而且不容易出错,单片机可以外挂很多个芯片。逻辑也很简单的。
     以前朋友也和我提过这种方法,但是一直没有去留意,呵呵,今天看了别人的程序才想起去看书的。
注意:用方法二的时候,ch375的访问地址不是唯一的,但是和硬件是相关的
     ch375驱动方法一:IO模拟方式
/******************************************************************
 - 功能描述:向CH375写入命令
 - 隶属模块:CH375模块
 - 函数属性:内部
 - 参数说明:cmd:要写入的命令码
 - 返回说明:无返回
 ******************************************************************/
void CH375_Write_Cmd(unsigned char cmd)
{

  CS=0;
 A0=1;
 P0=cmd;
 WR=0;
 WR=1;
 CS=1;
 A0=1;
}
/******************************************************************
 - 功能描述:向CH375写入数据
 - 隶属模块:CH375模块
 - 函数属性:内部
 - 参数说明:dat:是要写入到CH375中的一个字节的数据
 - 返回说明:无返回
 ******************************************************************/
void CH375_Write_Dat(unsigned char dat) 
{
CS=0;
 A0=0;
 P0=dat;
 WR=0;
 WR=1;
 CS=1;
 A0=1; 
}
 ch375驱动方法二:总线读写方式
/******************************************************************
 - 功能描述:向CH375写入命令
 - 隶属模块:CH375模块
 - 函数属性:内部
 - 参数说明:cmd:要写入的命令码
 - 返回说明:无返回
 ******************************************************************/
 
  

本帖隐藏的内容需要回复才可以浏览

void CH375_Write_Cmd(unsigned char cmd)
{
   CH375_CMD_PORT=cmd;
   for ( cmd = 2; cmd != 0; cmd -- );  /* 发出命令码前后应该各延时2uS */
}
/******************************************************************
 - 功能描述:向CH375写入数据
 - 隶属模块:CH375模块
 - 函数属性:内部
 - 参数说明:dat:是要写入到CH375中的一个字节的数据
 - 返回说明:无返回
 ******************************************************************/
void CH375_Write_Dat(unsigned char dat) 
{
  CH375_DAT_PORT=dat;
}
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章