9100|14

284

帖子

2

TA的资源

纯净的硅(高级)

楼主
 

坛子里有XC8的大侠没有,请教一个问题 [复制链接]

各位大侠,请问,RB口弱上拉使能位如何设置?我在XC8中设置为RBPU,结果报错,请问,怎么设置啊?还有就是,我设置选项寄存器OPTION,XC8也报错,请问,我该怎么设置啊?我用的单片机型号是PIC16F877A

最新回复

问下,用XC8编译出现cgpic18.exe应用程序错误是什么原因呀??  详情 回复 发表于 2015-1-22 10:58
点赞 关注
 

回复
举报

6040

帖子

195

TA的资源

版主

沙发
 
MPLABX?自己去相应的头文件中找寄存器定义啊。
配置位是可以用软件直接生成代码的。
 
 
 

回复

284

帖子

2

TA的资源

纯净的硅(高级)

板凳
 
lcofjp 发表于 2014-2-3 12:09
MPLABX?自己去相应的头文件中找寄存器定义啊。
配置位是可以用软件直接生成代码的。

下面这段,我是在网上博客里复制先来的
请问,我若是设置端口B弱上拉,该怎么书写?

//*  OPTION bits 选择寄存器  */
static bank1 bit RBPU @ (unsigned)&OPTION*8+7; //端口B上拉设置允许位
static bank1 bit INTEDG @ (unsigned)&OPTION*8+6; //外中断源选择位
static bank1 bit T0CS @ (unsigned)&OPTION*8+5; //时钟选择位。T0CS=0,使用内部时钟;T0CS=1,使用外部时钟。
static bank1 bit T0SE @ (unsigned)&OPTION*8+4; //计数器使用外部时钟,T0SE=0,上升沿触发;T0SE=1,下降沿触发。
static bank1 bit PSA  @ (unsigned)&OPTION*8+3; //PSA=0,作为time0的预分频器;PSA=1,作为WDT的后分频器。
static bank1 bit PS2  @ (unsigned)&OPTION*8+2; //PS2,PS1,PS0。预分频比例。000=1:2(Timer0)1:1(WDT)...
static bank1 bit PS1  @ (unsigned)&OPTION*8+1; //
static bank1 bit PS0  @ (unsigned)&OPTION*8+0; //
 
 
 

回复

284

帖子

2

TA的资源

纯净的硅(高级)

4
 
lcofjp 发表于 2014-2-3 12:09
MPLABX?自己去相应的头文件中找寄存器定义啊。
配置位是可以用软件直接生成代码的。

图是我在网上博客里截出来的,如果我设置端口B弱上拉,怎么书写啊?设置选择寄存器该怎么书写?

QQ图片20140203122932.jpg (47.11 KB, 下载次数: 0)

QQ图片20140203122932.jpg
 
 
 

回复

6040

帖子

195

TA的资源

版主

5
 
真不明白你为什么要去网上查寄存器的定义,难道编译器的头文件里没有吗,你能保证网上的和编译器一样吗,最终是要以编译器提供的为准的,网上的仅供参考。
 
 
 

回复

6040

帖子

195

TA的资源

版主

6
 
我只是曾经接触过PIC单片机,现在没用,手头也没有他的编译器,具体如何设置要看手册的,不要总去参考网上的东西。要参考你也要保证你参考的开发环境是一样的,否则是一点意义都没有的。
 
 
 

回复

6040

帖子

195

TA的资源

版主

7
 
  1. extern volatile __bit                   nPOR                @ (((unsigned) &PCON)*8) + 1;
  2. #define                                 nPOR_bit            BANKMASK(PCON), 1
  3. extern volatile __bit                   nRBPU               @ (((unsigned) &OPTION_REG)*8) + 7;
  4. #define                                 nRBPU_bit           BANKMASK(OPTION_REG), 7
  5. extern volatile __bit                   nRC8                @ (((unsigned) &RCSTA)*8) + 6;
  6. #define                                 nRC8_bit            BANKMASK(RCSTA), 6
复制代码



这才是XC8里面的定义。
 
 
 

回复

37

帖子

3

TA的资源

一粒金砂(中级)

8
 
寄存器全名是 OPTION_REG      RB口弱上拉控制位全名为 NOT_RBPU
我用汇编是这样写的:  bcf    OPTION_REG,NOT_RBPU    ; 允许RB口弱上拉

你目前该使用PIC16F887芯片,有详细的中文手册 价格比16F877A便宜---还好用!
 
个人签名专业:PIC单片机软硬件开发 http://shop104728125.taobao.com
 
 

回复

284

帖子

2

TA的资源

纯净的硅(高级)

9
 
lcofjp 发表于 2014-2-3 14:59
这才是XC8里面的定义。

老大,这个编译器里面的头文件,是怎么看的啊?有时间的话,能否讲解一下啊?
 
 
 

回复

284

帖子

2

TA的资源

纯净的硅(高级)

10
 
youmcu 发表于 2014-2-4 14:43
寄存器全名是 OPTION_REG      RB口弱上拉控制位全名为 NOT_RBPU
我用汇编是这样写的:  bcf    OPTION_REG ...

我买的教材书都是用PIC16F877A的。
寄存器名这些全部在编译器头文件中吗?如何看啊?我找了下编译器里面的头文件,但是看的头大,一点都看不懂,老大,有时间,能否说说怎么看的啊?
 
 
 

回复

37

帖子

3

TA的资源

一粒金砂(中级)

11
 
汇编的是打开对应的  .inc 头文件,



 
个人签名专业:PIC单片机软硬件开发 http://shop104728125.taobao.com
 
 

回复

37

帖子

3

TA的资源

一粒金砂(中级)

12
 
cawyai23 发表于 2014-2-5 18:37
我买的教材书都是用PIC16F877A的。
寄存器名这些全部在编译器头文件中吗?如何看啊?我找了下编译器里面 ...

寄存器详细说明还是要看芯片手册, 头文件中的定义可能与手册略有不同--在编译出错时可查看:


 
个人签名专业:PIC单片机软硬件开发 http://shop104728125.taobao.com
 
 

回复

37

帖子

3

TA的资源

一粒金砂(中级)

13
 

 
个人签名专业:PIC单片机软硬件开发 http://shop104728125.taobao.com
 
 

回复

1632

帖子

4

TA的资源

纯净的硅(高级)

14
 

  1. #define BIT7 0x80
  2. nRBPU = 0xFF;           // 设置PORTB0~7为弱上拉
  3. OPTION_REG &= ~BIT7;    // 使能PRRTB弱上拉
复制代码

这个是XC8的代码,跟picc 9.83是一样的
 
个人签名科技改变生活
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

15
 
问下,用XC8编译出现cgpic18.exe应用程序错误是什么原因呀??
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表