pic单片机中在设置单片机引脚时总会有如下的定义?是什么意思啊?请高手帮忙指点下呀!!

/*单片机与LCD1602连接数据线定义*/#defineLCD_RSPORTAbits.RA2/*PORTforRS*/#defineTRIS_LCD_RSDDRAbi... /*单片机与LCD1602连接数据线定义*/
#define LCD_RS PORTAbits.RA2 /* PORT for RS */
#define TRIS_LCD_RS DDRAbits.RA2 /* TRIS for RS */
上面这两句话是什么意思啊,请高手指点啊。。。。
主要是见到好多程序中都有DDRAbits.RA2 DDRBbits.RA2 这样的定义 ,DDRAbits DDRBbits是什么样的寄存器啊???? 还有/* TRIS for RS * 中的tris 和rs是什么意思呀?
展开
 我来答
百度网友2b6b49683
2012-08-30 · 超过26用户采纳过TA的回答
知道答主
回答量:127
采纳率:0%
帮助的人:90.3万
展开全部
两句都是宏定义,你学过C语言的话你是知道的;
#define LCD_RS PORTAbits.RA2 /* PORT for RS */
#define TRIS_LCD_RS DDRAbits.RA2 /* TRIS for RS */

#define 是宏定义
LCD_RS 这个是谁便你取的标示符,一个代号,你自已取的,你更容易看懂
PORTAbits.RA2 这个是PIC单片机,PORTA端口RA2位,就是单片机上RA2这个引脚.这个在头文件中有定义,

/* */这里面的所有内容,与程序无关,只是一个备注;
这个定义起的作用就是,你要控制单片机RA2这个引脚电平的高低,可以使用LCD_RS=1,此时为高电平,LCD_RS=0,此时端口为低电平;
当然,如果你没有这个宏定义的话,要控制RA2这个引脚,就必须用PORTAbits.RA2=1;这样程序写长了,你看程序的时候,就不是很直观,只知道,这是一个RA2引脚,不知道这个引脚在你的成序里是接到那里的,还有,当你要改度端口时,你得一个一个去程序里去改PORTAbits.RA2;这句话,如果用了宏定义的话,你就可以直接在宏定义那改就全程序都改了.说C语言容易移植,这也是其中很大的一个功能.
追问
#define TRIS_LCD_RS  DDRAbits.RA2        /* TRIS for RS */
DDRAbits.RA2是什么样的寄存器呢?这个在头文件和宏定义中都找不到。。。。
追答
DDRAbits.RA2和TRISAbits.TRISA2是一样的,IO口输入输出方向控制的!

这两种写法都是控制TRIS这一个寄存器的,你可以看成是一个简写,没什么区别。
迪凯特科技(北京)有限公司_
2025-01-03 广告
单片机串口通信的原理是利用单片机的串口通信模块,通过把数据转化为一位一位的用时序方式传送数据,实现单片机与外部设备之间的数据通信。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以... 点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
身后的阳光wql
2012-08-27
知道答主
回答量:73
采纳率:0%
帮助的人:39.1万
展开全部
第一句是一个位定义,你懂的,第二句也是位定义,
第一句是为了给RA2这个引进高低电平,第二句是定义这个引脚应该是输出或者是输入
更多追问追答
追问
主要是见到好多程序中都有DDRAbits.RA2  DDRBbits.RA2  这样的定义  ,DDRAbits  DDRBbits是什么样的寄存器啊????  还有/* TRIS for RS *   中的tris  和rs是什么意思呀?
追答
后面是注释啊 不用管的啊,那两个估计是有头文件定义好的 要不不能直接用的 你看看头文件吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
悠悠de斜阳
2012-08-27 · TA获得超过173个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:92.8万
展开全部
宏定义 还有位定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式