0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机闪烁灯设计的源代码

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-06-07 11:33 次阅读

;*************************************************

;* 本程序是一个LED灯的循环闪烁程序,用INT键来切换*

;* 闪烁模式 *www.dangdangdz.com

;*************************************************

include 《p16f877.inc》

;*----

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

单片机控制LED灯闪烁的程序编制方法

1:程序开始(START)

2:A=00000000B

3:PORT 0

4:延迟(DELAY)

5:A=11111111B

6:PORT 0

7:延迟(DELAY)

8:反回开始

延迟子程序编制方法:

1:R6=0

2:DEL1

3:R7=0

4:$

5:R7-1

6:R7=0 不等于0,返回2

7:R6-1

8:R6=0 不等于0,返回4

回主程序

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22205

    浏览量

    645152
  • 单片机
    +关注

    关注

    5979

    文章

    43776

    浏览量

    617907
  • 源代码
    +关注

    关注

    94

    文章

    2920

    浏览量

    65872
收藏 人收藏

    评论

    相关推荐

    如何使得单片机的LED闪烁又不影响主程序运行?

    51单片机问题,紧急求助! 怎样使得单片机的LED闪烁又不影响主程序运行??? 我想通过单片机接收串口命令让一个LED
    发表于 11-06 07:18

    51单片机如何让led闪烁

    51单片机如何让led闪烁
    发表于 11-01 06:32

    基于51单片机的电子称设计源代码分享

    基于51单片机的电子称设计源代码
    发表于 09-26 08:10

    基于51单片机的表决器例程源代码例程

    基于51单片机的表决器例程源代码例程源代码
    发表于 05-18 09:54 0次下载

    基于51单片机的交通灯例程源代码

    基于51单片机的交通灯例程源代码
    发表于 05-16 11:14 13次下载

    基于51单片机的定时器例程源代码例程下载

    基于51单片机的定时器例程源代码例程源代码
    发表于 05-12 16:10 1次下载

    基于51单片机的占空比可调方波(PWM)例程源代码

    基于51单片机单片机产生占空比可调方波(PWM)例程源代码
    发表于 05-12 15:59 19次下载

    基于51单片机的表决器例程源代码

    基于51单片机的表决器例程源代码例程源代码
    发表于 05-12 15:55 1次下载

    基于STM32单片机ADC使用库文件设计源代码

    基于STM32单片机ADC使用库文件设计源代码
    发表于 04-26 15:07 4次下载

    基于STM32单片机DMA使用库文件设计源代码

    基于STM32单片机DMA使用库文件设计源代码)
    发表于 04-26 15:03 1次下载

    基于STM32单片机USB读卡器使用库文件设计源代码

    基于STM32单片机USB读卡器使用库文件设计源代码
    发表于 04-26 14:53 1次下载

    基于STM32单片机触控USB鼠标使用库文件设计源代码

    基于STM32单片机触控USB鼠标使用库文件设计源代码
    发表于 04-26 14:51 2次下载

    基于STM32单片机串口实验使用库文件设计源代码

    基于STM32单片机串口实验使用库文件设计源代码
    发表于 04-26 14:49 0次下载

    基于STM32单片机SD卡使用库文件设计源代码

    基于STM32单片机SD卡使用库文件设计源代码
    发表于 04-26 14:27 1次下载

    基于STM32单片机SPI使用库文件设计源代码

    基于STM32单片机SPI使用库文件设计源代码
    发表于 04-26 14:26 4次下载