-
谢谢你的回答,我再去仔细对比下
-
都是12 T的。。并没发现使用特别的功能啊
其他部件如8255使用正常,下面是一小段写LCD的程序
void LCDcmd0(uchar c) //写无参数指令
{
if(P23==0)
{
do{ ACC=XBYTE[0x0501];}
while(STA0==0);
XBYTE[0x0501]=c;
}
else
{
do{ ACC=XBYTE[0x0D01];}
while(STA0==0);
XBYTE[0x0D01]=c;
}
}
STA0=ACC^0
-
这么点汇编,换成C的话真心不多啊。。。用心点花个把钟头也就出来了,求人不如求己。。再说汇编是基础,多学习点也好啊
-
弄出来的话你是给钱呢还是给钱呢还是给钱呢?:shy: :shy: :shy:
-
你的P2是AD转化口是吧。。。.貌似不能直接SBUF=P2的吧。。。刚还没发现
你这样试试
TI=0;
DATA=P2;
SBUF=DATA;
while(!TI);
如果还是不行,你就要找是串口的问题还是AD转换的问题
先试试直接SBUF=0x01等直接赋值发送,看看串口是否可用,如果可以那么就是AD转换的问题,不行那就继续找原因
[ 本帖最后由 abo6016 于 2011-11-30 12:17 编辑 ]
-
看下虚拟终端的波特率和端口设置是否正确吧。。。其他的不是很懂:titter:
-
额。。难道是我的表述有问题??= =
他的问题是“返回的值怎么判别从器件应答了呢?”
我的回答是“数据线被拉低表示正常应答”
我觉得我的表述没有问题啊。。。。
-
uchar ack(void) //应答,一般接收器件要产生应答
{
scl=0;
sda=1;
scl=1;
delay();
F0=sda;
scl=0;
if(F0) return 0;
else return 1;
}
这样是否明白,数据线被拉低表示正常应答:)
-
像单片机之类的其实可以自学,还是蛮容易的,而且有乐趣。
如果到外面报班建议学ARM之类的,当然这是又一定基础的情况下= =
还有游戏也可以玩玩嘛,毕竟这是跟同班同学拉好关系的最直接方式:lol
-
是我没看仔细,我晕= = :titter: 下次会注意,我看成是写指令了= =还在纳闷。。
-
MARK一下,不错的东西,对我们新手如何选择合适的单片机有一定的指导:)
-
不能理解这个语句 temp|=0x80; //每次传输低字节
要传输低字节不是应该 temp&=0x01么
不知道是不是定义的不一样还是怎么
既然是右移,比较的应该是最低位啊。。。
能力有限。。越来越糊涂了。。。。
-
指教谈不上,我也顶多算是瞎蒙蒙出来的,当时就是灵光一闪就去看汇编了,没想到真找出了问题:)
对于网上繁杂的学习教程和各种例题,我们要做的就是去其糟粕,取其精华
-
啊~~我也遇到同样的问题过,当时还在这里提问来的,不过没多久就找到答案了
因为用for(i=0;i
-
见微知著~~~楼主有心了~:kiss:
-
同学估计你还不如百度更快哟= =:Sweat:
-
是不是直接R/w接地只能写了?
-
不错= =就是这样
-
不管如何还是要赞一声的,楼主好能耐= =:)
-
楼主可以说下你学到什么程度了吗?