作者huangwow10 (哈哈哈哈!!!)
看板ASM
标题[问题] 测试程式的问题
时间Fri Jan 20 11:06:18 2012
#include <reg51.h>
sbit SMOD = 0x87^7;
main()
{ P2=0xff;
TMOD=0x20;
SMOD=0; /*将SMOD设定为0*/
TH1=0xfd; /*鲍率设定为9600bps */
TR1=1; /*启动Timer 1*/
SCON=0x50; /*设定为mode 0*/
while(1) /* while回圈开始*/
{ SBUF=P2; /*将指拨开关状态,放入SBUF*/
while (RI==0); /*检查是否完成接收?*/
RI=0; /*RI=1时(接收完成),清除RI旗标*/
P0=SBUF; /*将所接收的资料输出到Port 0*/
TI=0; /*清除TI旗标*/
} /* while回圈结束*/
} /* 主程式结束 */
功能是:烧到2个51并测试RX TX的输入能操控这2个51的PORT
这个程式是我用Keil uVision4-C写的,我是照书上打的程式码,可是,编译时就会不过
错误讯息是
rxtx.c(3): error C142: 'SFR': invalid base address
rxtx.c(9): error C202: 'SMOD': undefined identifier
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.85.2.161
1F:推 ruemann:sbit SMOD = 0x87^7; 这行有问题 01/20 20:42
2F:→ huangwow10:不要意思大大刚学不久...请问该如何修改? 01/20 20:56
3F:→ ruemann:SFR PCON = 0x87; 01/20 21:06
4F:→ ruemann:sbit SMOD = PCON^7; 01/20 21:07
5F:推 ruemann:等一下,PCON好像不支援BIT ACCRESS,所以你不能这样用吧 01/20 21:09
6F:→ ruemann:请用 PCON &= 0x7F;清除smod,用 PCON |= 0x80; 设定smod 01/20 21:10