技术热线: 4007-888-234

实战一 、点亮单个LED

更新时间: 2019-03-21
阅读量:403

;84led-a.asm 用程序点亮RB7A一个LED8的实验,供初学入门用

;本程序的功能是:程序复位后,RB7口的LED8被点亮,其它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
 
      BSF PORTB,7           ;置 RB7为1,点亮LED8,
         GOTO

实战一 、点亮单个LED

点击次数:947次        更新时间:2012-08-22

;84led-a.asm 用程序点亮RB7A一个LED8的实验,供初学入门用

;本程序的功能是:程序复位后,RB7口的LED8被点亮,其它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
 
      BSF PORTB,7           ;置 RB7为1,点亮LED8,
         GOTO {D_L_技术支持_内容浏览}nbsp;                ;在本指令不停循环。

         END                  ; 形式上的程序结束

 

nbsp;                ;在本指令不停循环。

         END                  ; 形式上的程序结束