5642|15

89

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

PIC单片机必须配置字吗? [复制链接]

 
这个月买了块PIC的开发板子玩,在板子上烧C可以工作,烧汇编者按就不行,PIC单片机必须配置字吗?
这是下面的汇编程序,哪位大神帮忙看下,是不是哪有错啊,在MPLAB可以编译过去。汇编程序里面在哪可以配置字?

status    equ   3h       ;定义状态寄存器地址
portd     equ    8h      ;定义端口C的数据寄存器地址
trisd     equ   88h      ;定义端口C的方向控制寄存器地址
;***********************************************************
       org   000h          ;定义程序存放区域的起始地址
       nop                 ;放置一条ICD必须的空操用指令
main   bsf     status,5    ;设置文件寄存器的体1
       movlw   0x00        ;对端口C的方向控制码00H先送W
       movwf   trisd       ;再由W转移到方向控制寄存器
       bcf    status,5     ;恢复到文件寄存器体0
       movlw  0xff         ;将00000001B先送W
       movwf  portd        ;再由W转移到数据寄存器,让RC0输出高电平点亮LED
       call  delay         ;调用廷时子程序
           call   delay
       goto   main         ;循环
;-------------------------廷时子程序----------------------------
delay                       ;子程序名,也是子程序入口地址
       movlw   0x0f         ;将外层循环参数值FFH经过W
       movwf   20h          ;送入用作外循环变量的20H单元
lp0    movlw   0xff          ;将第二层循环参数值FFH经过W
       movwf   21h           ;送入用作内循环变量的21H单元
lp1    movlw   0xff          ;将内层循环参数值FFH经过W
       movwf   22h           ;送入用作内循环变量的22H单元
lp2    decfsz   22h,1        ;变量22H内容递减,若为0跳跃
       goto     lp2          ;跳转到LP2处
       decfsz    21h,1       ;变量21H内容递减,若为0跳跃
       goto     lp1          ;跳跃到LP1处
       decfsz    20h,1       ;变量20H内容递减,若为0跳跃
       goto     lp0          ;跳跃到LP0处
       retlw     0           ;返回主程序
       end                   ;源程序结束


最新回复

configure下拉菜单的configuration Bits 就是配置字。汇编用__CONFIG 0xa ,即1010 后面10是内部RC,第三位0是WDT关,第四1是不加密   ( 最多是由bit0~11 12位二进制数对应,0关,1开,但加密位0才是开,最后2位时钟位要查看对应PIC手册决定振荡方式,先用二进制数对应好再转16进制数),或用前面菜单选配置字。  详情 回复 发表于 2017-9-20 00:43
点赞 关注
 

回复
举报

89

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
单片机型号是PIC16F877A
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
用是4M的小晶振
 
 
 

回复

1万

帖子

24

TA的资源

版主

4
 
汇编用的人很少了
 
 
 

回复

6040

帖子

203

TA的资源

版主

5
 
如果是MPLAB X的话,IDE可以生成C语言的配置代码,没用汇编,不知道能不能生成汇编的配置代码。
如果是其他环境,可以查找一下相关用户手册。
 
 
 

回复

638

帖子

2

TA的资源

版主

6
 
本帖最后由 dingzy_2002 于 2017-8-25 14:36 编辑

C语言的器件配置一般是:__config 0x****,或者是类似这样:
__CONFIG(        VCAPEN_RA6        );        //Vcap引脚选择:RA6
而汇编一般是在开发环境中设置或者,强行定义,如:
ORG 2007H
DATA 0x314A

点评

习惯了PIC的汇编指令,写PIC32 汇编程序的时候总想骂人  详情 回复 发表于 2017-8-26 22:48
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(中级)

7
 
哈哈,随便抄了一个配置字,像C一样,在程序头顶上CPOY一下就可以了。

点评

随便?配置字就那几个可以认真看一下,没什么难度。PIC 8位我一直用汇编。  详情 回复 发表于 2017-8-26 22:40
 
 
 

回复

721

帖子

1

TA的资源

一粒金砂(高级)

8
 
windirection 发表于 2017-8-25 22:58
哈哈,随便抄了一个配置字,像C一样,在程序头顶上CPOY一下就可以了。

随便?配置字就那几个可以认真看一下,没什么难度。PIC 8位我一直用汇编。
 
 
 

回复

721

帖子

1

TA的资源

一粒金砂(高级)

9
 
dingzy_2002 发表于 2017-8-25 14:35
C语言的器件配置一般是:__config 0x****,或者是类似这样:
__CONFIG(        VCAPEN_RA6        );         ...

习惯了PIC的汇编指令,写PIC32 汇编程序的时候总想骂人

点评

PIC32用汇编? 那真算你厉害! 到32位时,一般全用C了,主要是调用函数库最为方便,而且,用HUMMY生成的配置文件也是C的.  详情 回复 发表于 2017-8-28 11:50
 
 
 

回复

2640

帖子

6

TA的资源

五彩晶圆(初级)

10
 
好像mplab 8.6可以直接设置配置字的

点评

8.62里面是Configure 菜单,里面有Configure bits,但是,在里面配置好象没有用似的,就像C一样,头顶上直接使用__configure 0xXX才行。  详情 回复 发表于 2017-8-27 20:12
是的,在软件上直接勾选!  详情 回复 发表于 2017-8-27 13:37
 
 
 

回复

721

帖子

1

TA的资源

一粒金砂(高级)

11
 
xutong 发表于 2017-8-27 11:51
好像mplab 8.6可以直接设置配置字的

是的,在软件上直接勾选!
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(中级)

12
 
xutong 发表于 2017-8-27 11:51
好像mplab 8.6可以直接设置配置字的

8.62里面是Configure 菜单,里面有Configure bits,但是,在里面配置好象没有用似的,就像C一样,头顶上直接使用__configure 0xXX才行。
 
 
 

回复

638

帖子

2

TA的资源

版主

13
 
电子微创意 发表于 2017-8-26 22:48
习惯了PIC的汇编指令,写PIC32 汇编程序的时候总想骂人

PIC32用汇编?
那真算你厉害!
到32位时,一般全用C了,主要是调用函数库最为方便,而且,用HUMMY生成的配置文件也是C的.

点评

没办法,老板让用汇编,HUMMY什么鬼,你说的是Harmony吧?  详情 回复 发表于 2017-8-29 22:19
 
 
 

回复

721

帖子

1

TA的资源

一粒金砂(高级)

14
 
dingzy_2002 发表于 2017-8-28 11:50
PIC32用汇编?
那真算你厉害!
到32位时,一般全用C了,主要是调用函数库最为方便,而且,用HUMMY生成的配置 ...

没办法,老板让用汇编,HUMMY什么鬼,你说的是Harmony吧?

点评

是的,就是那个东东  详情 回复 发表于 2017-8-30 13:03
 
 
 

回复

638

帖子

2

TA的资源

版主

15
 
电子微创意 发表于 2017-8-29 22:19
没办法,老板让用汇编,HUMMY什么鬼,你说的是Harmony吧?

是的,就是那个东东
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(中级)

16
 
configure下拉菜单的configuration Bits 就是配置字。汇编用__CONFIG 0xa ,即1010 后面10是内部RC,第三位0是WDT关,第四1是不加密   ( 最多是由bit0~11 12位二进制数对应,0关,1开,但加密位0才是开,最后2位时钟位要查看对应PIC手册决定振荡方式,先用二进制数对应好再转16进制数),或用前面菜单选配置字。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表