汇编程序中一个没有PORTD的PIC单片机,PORTD能作通用寄存器吗?如果能,需要定义吗?具体步骤怎样?谢谢
答案:2 悬赏:50 手机版
解决时间 2021-03-06 11:39
- 提问者网友:战魂
- 2021-03-05 19:10
汇编程序中一个没有PORTD的PIC单片机,PORTD能作通用寄存器吗?如果能,需要定义吗?具体步骤怎样?谢谢
最佳答案
- 五星知识达人网友:荒野風
- 2021-03-05 20:07
我简单试了下,你这种情况可以做通用寄存器,见下图
PIC16F6767:已知它只有PORTA口和PORTC口,没有PORTD口,程序中PORTD就是用作通用寄存器,先给PORTC赋值3FH,转给PORTD口,然后都清零,再反复
追问看你程序是给PORTD赋个地址,然后再用PORTC给他赋值,相当于是定义了一下PORTD?那PORTD做通用寄存器能有哪些作用呢?追答你就把它当成一个一般的自定义寄存器,比如T1、N1、W_TEMP等等,只是在我这个程序里它恰好和端口名类似而已,没有特殊意义,具有自定义寄存器的所有功能。
PIC16F6767:已知它只有PORTA口和PORTC口,没有PORTD口,程序中PORTD就是用作通用寄存器,先给PORTC赋值3FH,转给PORTD口,然后都清零,再反复
追问看你程序是给PORTD赋个地址,然后再用PORTC给他赋值,相当于是定义了一下PORTD?那PORTD做通用寄存器能有哪些作用呢?追答你就把它当成一个一般的自定义寄存器,比如T1、N1、W_TEMP等等,只是在我这个程序里它恰好和端口名类似而已,没有特殊意义,具有自定义寄存器的所有功能。
全部回答
- 1楼网友:持酒劝斜阳
- 2021-03-05 21:19
没有PORTD时,PORTD是个无效的地址.
不过编译不一定会报错.追问我编译时报错了,报错说是未定义。追答那就是一个无效的地址咯.
你可以尝试一下自定义一个名称,并指向那个地址试试.追问写程序的人说是当作通用寄存器用,但是他又没有定义。我的理解是单片机没有这个端口,所以头文件里面没有定义PORTD,编译无法识别。你说的是什么意思?PORTD是一个具体的地址?然后我给他定义个名字?无效的地址可以赋名吗?无效的地址赋名后有什么意义?菜鸟求具体,谢谢!!!追答只是PORTD这个名称和物理端口无效,它在内部实际上还是一个实际存在的,你可以像定义普通变量一样定义一个名称,并将这个变量指定到那个地址即可.
不过编译不一定会报错.追问我编译时报错了,报错说是未定义。追答那就是一个无效的地址咯.
你可以尝试一下自定义一个名称,并指向那个地址试试.追问写程序的人说是当作通用寄存器用,但是他又没有定义。我的理解是单片机没有这个端口,所以头文件里面没有定义PORTD,编译无法识别。你说的是什么意思?PORTD是一个具体的地址?然后我给他定义个名字?无效的地址可以赋名吗?无效的地址赋名后有什么意义?菜鸟求具体,谢谢!!!追答只是PORTD这个名称和物理端口无效,它在内部实际上还是一个实际存在的,你可以像定义普通变量一样定义一个名称,并将这个变量指定到那个地址即可.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯