【发布时间】:2014-05-06 07:14:52
【问题描述】:
我有一块带有 PIC18LF26K22 的电路板,而且我是单片机编程的初学者。 PIC 的RC0(引脚 11)连接到 LED。
作为开始练习,我想点亮 LED。由于这是一件非常简单的事情,我想在汇编中完成。
所以,我执行以下操作:设置TRISC 和ANSELC 以使PORTC 的引脚输入/输出(RC0 设置为输出)然后在无限循环中发送@987654326 @ 到 PORTC 和 LATC。
我不确定PORTC 和LATC 之间的区别是什么,但似乎它们都不能完成这项工作。
INCLUDE "p18lf26k22.inc"
; Initialize
init
; Initialize port C
CLRF PORTC
CLRF LATC
MOVLW B'01100111'
MOVWF TRISC
MOVLW B'00000000'
MOVWF ANSELC
mainloop
; light up led on RC0
MOVLW B'11111111'
MOVWF PORTC
MOVWF LATC
GOTO mainloop
END
LED 不亮。由于我对图片很陌生,我想我做错了什么或忘记了什么。 (当然,这可能是一个焊接错误,但似乎我只是在上面的代码中遗漏了一个重要的点。)
你能告诉我我做错了什么吗?
编辑
为了记录,我也犯了一个错误,错误地使用了pk2cmd。 (我错过了-M 标志。)
以下是如何部署到 PIC:
gpasm yourcode.asm
./pk2cmd -X -PPIC18LF26K22 -R -M -Fyourcode.hex -T
【问题讨论】:
标签: assembly microcontroller pic microchip led