;84led-a.asm 用程序点亮RB口8个LED的实验,供初学入门用 ;本程序的功能是:程序复位后,RB7口的8个LED都被点亮, ;烧写时应注意:配置位已经在程序中写明,加载HEX文件时会自动加载,烧写时不用再手动设置配置位。 ;实验时请注意套件跳线选择,跳线全部插入串口座方向 ;******************************************************************* LIST P=16F84A,R=DEC; 告诉编译程序使用何种PIC单片机,默认数制为10进制。 ;------------------------------------------------------------------- __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC ;没有代码保护 ;看门狗关闭 ;上电廷时器开启 ;振荡器模式为XT ;------------------------------------------------------------------- STATUS EQU 03H; 定义状态寄存器地址 PORTA EQU 05H ;端口A的数据寄存器地址 PORTB EQU 06H ;端口B的数据寄存器地址 TRISA EQU 5H ;定义端口A的方向控制寄存器地址 TRISB EQU 6H ;定义端口B的方向控制寄存器地址 ;---------------------- STATUS RP0 EQU 5 ;定义状态寄存器中的RAM页选位RP0 ;-------------------- ORG 0000H ; 程序从零地址开始 CLRF PORTA CLRF PORTB ;初始化I/O口 BSF STATUS,RP0 ;设置数据寄存器体1 MOVLW B'00000000' ; 1代表输入,0代表输出 MOVWF TRISA ; 设置PORTA全部IO为输出 MOVLW B'00000000' MOVWF TRISB ; 设置PORTB 全部IO为输出 BCF STATUS,RP0 ;恢复数据寄存器体0 MOVLW 0FFH MOVWF PORTB ;RB口全部为1,8个LED都被点亮 GOTO $ ;在本指令不停循环。 END ; 形式上的程序结束