;LED流水灯的另一种实现方法 ;使用资源 ;1、PORTC口,8个流水灯LED ;功能说明 ;1、该程序首先把C口输出全0,然后通过改变输入输出方向来电亮流水灯。 ;2、先从最低位电亮,点亮到最高位后,又从最高位开始点亮到最低位,如此循环。 ;3、通过改变DELAY延时时间的长短可改变流水等点亮的速度。 ;硬件连接 ;1、DEMO实验板作以下设置 s1拔到ON。 ;2、S4,S5全部拔到OFF LCD不要插在演示板上 ;本实例原提供者:pic16论坛会员:学期班 ,在此鸣谢学前班同志共享本实例. ;由深圳市乾龙盛电子科技有限公司技术部钟闺田(工程师)(论坛网名:zhongruntian)验正并加于整理、注释. ;网站:PIC单片机学习网 http://www.pic16.com 讨论论坛:http://pic16.com/bbs/ ;版权所有,转载请注明出处,并不能去掉或改变文件中的说明文字。 ;程序文件名“LED.ASM“ ;源程序如下: ;LIST P=16F877A R=DEC ;OST 4MHZ ;DATE 2006.04.27 ;*********************************** __CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SPECIAL REGISTER STATUS EQU 83H RC EQU 07H TRISC EQU 87H AB0 EQU 20H AB1 EQU 21H AB2 EQU 22H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STATUS BIT C EQU 0 DC EQU 1 Z EQU 2 RP0 EQU 5 RP1 EQU 6 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PROGRAM ST ORG 0000H ;复位地址 NOP ;放置一条MCD所需的空指令 ST CLRF RC ;所有C口输出为低,关闭所有显示 BSF STATUS,5 ;选体1 LOOP MOVLW B'11111110' ;先点亮RC0 MOVWF TRISC BCF STATUS,5 ;回到体0 MOVLW B'11111111' ;所有输出为1,只要相应的位被设置为输出,即可点亮 MOVWF RC CALL DELAY ;延时一段时间,保证LED的亮度 BSF STATUS,5 BSF STATUS,C LOOP1 RLF TRISC,F ;点亮的位左移一位 CALL DELAY ;延时 BTFSC STATUS,C ;判断是否点亮到了RC7 GOTO LOOP1 ;否,继续左移 MOVLW B'01111111' ;是,点亮RC7位 MOVWF TRISC CALL DELAY BSF STATUS,0 LOOP2 RRF TRISC ,F ;点亮的位右移一位 CALL DELAY BTFSC STATUS,C ;是否点亮到最低位 GOTO LOOP2 ;否,继续右移 GOTO LOOP ;是,重新开始新一轮循环 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DELAY 0.12S DELAY MOVLW 0FFH MOVWF AB0 DELAY1 MOVLW 0DH MOVWF AB1 DELAY2 MOVLW 0BH MOVWF AB2 DELAY3 DECFSZ AB2,F GOTO DELAY3 DECFSZ AB1,F GOTO DELAY2 DECFSZ AB0,F GOTO DELAY1 RETURN ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; END ;源程序结束 ; 进入该实战演练的工序流程如下: ; 1.创建源文件和编辑源文件;在此介绍一种不同于前面讲的创建源文件的方法,用Windows附件中的”记事本” ; 这个为大家所熟知和好用的文件编辑器,并且可以方便的加入中文注释.不过有两点需要注意,一是注释前面的 ; 分号”;”必须用西文半角输入;二是必须用”.asm”扩展名存储到事先建立的一个专用子目录下. ; 2.打开MPLAB集成开发环境:首先在WINDOWS环境下,选用开始>程序>Microchip MPLAB>MPLAB命令,启动MPLAB ; 并进入MPLAB的桌面. ; 3.创建项目:选用菜单File>New或Project>New Project,在事先建立的一个专用子目录下创建一个新项目,将 ; 用记事本创建的源文件加入到该项目中. ; 4.建立项目中的目标文件:选择菜单Project >Build All(项目>建立所有文件),MPLAB将自动调用MPASM将项目 ; 文件管理下的源文件(.asm)汇编成十六进制的目标文件(.hex).