51单片机 C语言编程

刚接触单片机编程,询问点基本的东西。
1.我在编程中想要使用各个端口,包括给端口赋值,应该怎么定义端口怎么实现?我看到例程写的是sbit P1 = P1^1;是不是不需要其他的定义就可以了?P1^1是已经在系统中给定得了么?
2.我想直接使用单片机的RTX和TDX这两个端口要怎么实现?包括获得数据发送数据。如何定义这两个端口。获取端口数据的命令和发送数据的命令是什么?
之前编JAVA的C语言也会一点,所以只要把代码打出来带上标注就行了。

首先要明确单片机的端口名称一般都是规定好了的(参考该单片机的datasheet);
其次,要给某个端口赋值(1或0),还是给端口组(8位单片机一个组八个脚)赋值,这就是按位操作还是按字节操作的问题。例如:单片机有PA口,PB口,其中PA口有PA0~PA7八个脚,拉高PA口(PA = 0XFF;),拉高PA0脚(PA &=0X01;或者PA0 = 1; )。当然有些单片机是通过读写IO口输入输出寄存器来实现的。
再者,RTX,TDX两个脚应该是通信的脚,与通用IO口为复用的脚,要怎么用,怎么发送数据、接收数据就涉及到通信协议了,不同通信方式,工作方式就不一样了,具体(参考该单片机的datasheet)。

建议先仔细阅读单片机的datasheet和该单片机的编程指南(如果有的话)

希望能解决你的疑问
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-10
P1^1在编译预处理的头文件里都给定的,同为初学者。
第2个回答  2013-04-10
默认端口已经在编译环境内定义好了,在编译的时候软件会将基于单片机的端口设置头文件链接进来的.
RTX TDX应该是串口吧.你可以查找一下51串口收发的程序
第3个回答  2013-04-10
I9010的回答已经OK了