MPLAB IDE 8.73 编译工具C18 V3.4 MCU:PIC18F452
本人在看书看到书有这么一段程序,让学生观察PORTB的变化,程序如下:
#include<p18F452.h>
void main(void)
{
TRISB=0;
for(;;)
{
PORTB=0xAA;
PORTB=0x55;
}
}
下载后,按F7,观察后却发现PORTB的值要么为0x2A,要么为0x15,而WREG的值正常为AAH或者55H. 百思不得其解
以下为C18编译后LIST文件的一部分:
1: #include<p18F452.h>
2: void main(void)
3: {
4: TRISB=0;
00E2 6A93 CLRF 0xf93, ACCESS
5: for(;;)
00EC D7FB BRA 0xe4
6: {
7: PORTB=0xAA;
00E4 0EAA MOVLW 0xaa
00E6 6E81 MOVWF 0xf81, ACCESS
8: PORTB=0x55;
00E8 0E55 MOVLW 0x55
00EA 6E81 MOVWF 0xf81, ACCESS
9: }
10: }
00EE 0012 RETURN 0
此帖出自
小平头技术问答
一周热门 更多>