网站导航免费论文 原创论文 论文搜索 作业答案 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 设计资源 > 单片机 > 正文
实战三《花样LED闪烁灯》
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: Admin 发布时间: 10/06/19

;实战三、《花样LED闪烁灯》
;该实战的目的是让大家进一步熟悉IO口输入输出的的使用
;随着大家对程序指令的进一定熟悉,本实例减略了简单的注释
;通过前面的实例大家对PIC16F87X(A)的寄存器已经有了初步的认识,本实例不再
;单独定义寄存器,引入了PIC16F877的预定义文件
 
;程序名为"MCD-LED3.ASM"
;*************************************************
;*  本程序是一个LED灯的循环闪烁程序,用INT键(S3)来切换*
;*  闪烁模式                                     *
;*************************************************
 include <p16f877.inc>
;*----
MODESEL equ 20h
MODESELB equ 21h
Count  equ 22h
Count1 equ 23h
Count2 equ 24h
PORTDB equ 25h

;*-----

 org 0
        nop
 goto start
 org 4
 goto ISR

 org 10
start
 clrf PORTC   ;清D口
 movlw 00h
 movwf MODESEL  ;初始化模式选择寄存器
 movwf MODESELB
 movlw b'10010000'
 movwf INTCON  ;初始化中断控制
 bsf STATUS,RP0
 clrf TRISC   ;设C口全为输出
 movlw b'10111111'
 OPTION   ;选择INT下降沿有效 

 bcf STATUS,RP0
 call FMsel
        movwf   PORTDB   
 movwf PORTC
main btfsc PORTB,0  ;\
 goto content6   ; \
 call Delay   ;  按键去抖动
 btfsc PORTB,0
 goto content3   ; /
 call FMsel   ;/
 movwf PORTDB
 movf MODESELB,W  ;
 movwf MODESEL  ;
 call LongDelay
 bcf STATUS,C
 rlf PORTDB,1
 btfsc STATUS,C
 bsf PORTDB,0
 movf PORTDB,W
 movwf PORTC
 goto main

;*----------
Delay     ; call指令占用2个指令周期
 clrf Count   ; 清 Count占用1个指令周期
Dloop
 decfsz Count,f   ; 这两行指令将延时
 goto Dloop   ; (256 * 3) -1 个指令周期
 return    ;  return占用2个指令周期

;*----------------
LongDelay
 clrf Count
 clrf Count1
 movlw 0x01
 movwf Count2
LDloop
 decfsz Count,f
 goto LDloop
 decfsz Count1,f
 goto LDloop
 decfsz Count2,f
 goto LDloop
 return

;*---------------
FMsel
 movf MODESEL,w
 movwf MODESELB
 movf MODESEL,w
 addwf PCL
 retlw b'11111000'
 retlw b'11110000'
 retlw b'11100000'
 retlw b'11000000'
 retlw b'10000000'
 movlw 00h
 movwf MODESELB
 bsf INTCON,GIE
 retlw b'11111000'
 return

;*-------------
ISR
 btfss INTCON,INTF
 goto content3
 bcf INTCON,INTF
 incf MODESEL
 retfie
 end
;****************************************************
;    进入该实战演练的工序流程如下:
;    1.创建源文件和编辑源文件;在此介绍一种不同于前面讲的创建源文件的方法,用Windows附件中的”记事本”
;   这个为大家所熟知和好用的文件编辑器,并且可以方便的加入中文注释.不过有两点需要注意,一是注释前面的
;   分号”;”必须用西文半角输入;二是必须用”.asm”扩展名存储到事先建立的一个专用子目录下.
;    2.打开MPLAB集成开发环境:首先在WINDOWS环境下,选用开始>程序>Microchip MPLAB>MPLAB命令,启动MPLAB
;   并

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 电话:013574892963 QQ:3710167 邮箱:Educs@163.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 Www.myeducs.Cn All Rights Reserved
湘ICP备09003080号