高级会员
主题
回帖0
积分4773
阅读权限30
注册时间2010-7-10
最后登录1970-1-1
在线时间 小时
|
楼主 |
发表于 2010-8-30 19:15
|
显示全部楼层
本帖最后由 y_z_q 于 2010-8-30 19:21 编辑
回复 7# LBQ691477940
不好意思,忘了,现在贴上程序。单片机机:STC12C5412AD,11。0592M的晶振。说明一下:这个子程序以前用89S51的时候是正常的,现在移植到STC12C5412A/D上就成这样了。
/***************读1302函数***********/
unsigned char Read1302 (unsigned char addr )//数据读取子程序
{
unsigned char i,temp,dat1,dat2;
RST1302=0;
CLK1302=0;
RST1302= 1;
//发送地址
for(i=8;i>0;i--) //循环8次移位
{
CLK1302=0;
temp=addr;
IO1302=(bit)(temp&0x01); //每次传输低字节
addr>>=1; //右移一位
CLK1302=1;
}
//读取数据
for(i=8;i>0;i--)
{
ACC_7=IO1302;
CLK1302=0;
ACC>>=1;
CLK1302=1;
}
RST1302=0;
dat1=ACC;
dat2=dat1/16; //数据进制转换
dat1=dat1%16; //十六进制转十进制
dat1=dat1+dat2*10;
return (dat1);
} |
|