您好,今天是: ·加入收藏·设为首页·联系站长·
网站首页 | 公司介绍 | 维修项目 | 收费标准 | 维修联盟 | 联系方式 | 在线报修 | 电器导购 | 本站地图  Rss2.0 Wap1.2

网站首页 | 行业新闻 | 家电维修 | 电脑维修 | 工控维修 | 制冷维修 | 网站制作 | 网络工程 | 休闲娱乐 | 英文欣赏 | 维修论坛

维修品牌 索尼 松下 日立 东芝 爱华 夏普 三星 三洋 先锋 健伍 胜利 飞利浦 日电 JVC NEC LG 长虹 海尔 康佳 王牌 海信 创维 牡丹 苹果 IBM 优派 狮龙 厦新 厦华 康力 宏基 三菱 JBL 湖山 熊猫 金正 万利达 安桥 高士达 明基 戴尔 BenQ DELL 长城 台达 现代 美格 EMC HPC SUN 联想 上广电 SVA TCL 北京牌 大宇 山水 彩星 冠捷 美的 格力 奇声 新科 狄克威尔 EIZO 金星 Sony Sharp Sanyo Haier Apple
当前位置:北京燕旭电子公司 >> 工控维修 >> 工控单片机开发 >> 浏览文章 立即入驻本站 | 免费发布供应信息
PIC16F877上做LED灯的循环闪烁程序
作者:佚名 来源:互联网 文章点击数:

;*************************************************
;* 本程序是一个LED灯的循环闪烁程序,用INT键来切换*
;* 闪烁模式 *
;*************************************************
include 
;*----
MODESEL equ 20h
MODESELB equ 21h
Count equ 22h
Count1 equ 23h
Count2 equ 24h
PORTDB equ 25h
;*-----

org 0
goto start
org 4
goto ISR

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

bcf STATUS,RP0
call FMsel
movwf PORTDB
movwf PORTD
main btfsc PORTB,0 ;\
goto $+6 ; \
call Delay ; 按键去抖动
btfsc PORTB,0
goto $+3 ; /
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 PORTD
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 $+3
bcf INTCON,INTF
incf MODESEL
retfie
end




人支持

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
  最新文章
  热门文章
  推荐信息

| 设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 雁过留声 | 网站地图

Copyright 2000-2008 Powered by Bjlxjw.COM,北京龙旭电子技术服务中心 All Rights Reserved.
全天24小时服务电话:010-60118386、85451495.传真:010-64621509 技术支持:13146594250. E-Mail:bjlxjw@126.com
报修咨询服务QQ:879851559 技术支持QQ: 275960024 网站制作服务QQ: 377152508 维修讨论群:27584257(非技术人员请勿加入,加入本群请注明来意!)
送修联系地址:北京市朝阳区三元桥顺源里2号(坐车到三元桥下车南行60米三元东桥下向西200米左右路南建设银行后边即到)
免责声明:我站部分文章信息来自网络,如果侵犯了原作者的著作权,请直接联系我站,我站必将第一时间删除,谢谢支持! 京ICP备06024783号