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
    +关注

    关注

    243

    文章

    24434

    浏览量

    687442
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663567
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    69655
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    51单片机RS485编程实例资料

    详细介绍51单片机RS485通信接线和编程代码
    发表于 10-20 14:57 2次下载

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要意义。测量
    的头像 发表于 07-25 11:39 476次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 439次阅读

    单片机怎么烧程序

    单片机烧程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机应用开发中不可或缺的环节。无论是简单的灯光控
    的头像 发表于 07-23 11:47 651次阅读

    PLC指示异常闪烁原因及维修

    PLC(可编程逻辑控制器)作为工业自动化控制的核心设备,其运行状态的稳定性直接影响生产线的效率与安全。指示作为PLC最直观的状态反馈窗口,其异常闪烁往往预示着潜在故障。本文将系统分析PLC指示
    的头像 发表于 06-07 16:13 6476次阅读
    PLC指示<b class='flag-5'>灯</b>异常<b class='flag-5'>闪烁</b>原因及维修

    51+单片机TCP-IP+协议栈ZLIP源码

    概述 单片机上网技术,是当前的一个热门技术。单片机上网技术中的一个重要部分是在单片上实现 TCP/IP 协议栈。现在可获得的 TCP/IP 源代码一般并不为 51
    发表于 04-22 15:11

    单片机C语言编程宝典大全,初学必备【强推下载!】

    (400页PPT) 6. 单片机程序设计实例 7. 单片机应用程序设计技术_周航慈.pdf 8. 8051单片机C语言彻底应用 9. C语言程序实例大全-220个详细程序源代码 10.
    发表于 03-14 11:03

    基于STM32单片机的智能电路图设计

    基于STM32单片机的智能电路图设计 获取资料可下载附件哦!!!!
    发表于 03-13 14:29

    160个51单片机案例源代码汇总资源(建议下载!)

    资料包含160个51单片机案例源代码,部分截图如下:
    发表于 03-13 14:26

    基于瑞萨RA8单片机的智能小车项目方案 附源代码

    基于瑞萨RA8单片机,e2studio开发环境,给大家讲述一下智能小车项目的方案,并附上主要的源代码
    的头像 发表于 03-07 14:36 2083次阅读
    基于瑞萨RA8<b class='flag-5'>单片机</b>的智能小车项目方案 附<b class='flag-5'>源代码</b>

    企业电脑加密系统保护企业源代码、图纸安全防护。# 嵌入式开发#单片机

    单片机
    安秉信息数据安全
    发布于 :2025年02月12日 18:17:22

    单片机学习—C51源代码和Proteus仿真文件

    单片机学习—C51源代码和Proteus仿真文件.zip, 有各种例子
    发表于 02-10 13:46 2次下载

    怎么提升单片机代码执行效率

    ​ 提升单片机代码执行效率需要从多个方面入手,包括代码优化、硬件资源利用、编译器设置、中断处理优化以及其他技巧等。在实际应用中,需要根据具体需求和硬件条件综合考虑这些因素,以实现最佳的性能表现。 ​
    的头像 发表于 01-10 11:06 940次阅读

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机和开发环境可能使用不同的调试工具和命令
    的头像 发表于 12-19 09:56 2163次阅读

    单片机Debug与仿真区别

    单片机的开发是一个复杂的过程,涉及到硬件设计、软件开发和测试等多个环节。为了确保单片机能够按照预期工作,开发者需要使用Debug和仿真技术来检测和修正代码中的错误。 Debug(调试) Debug
    的头像 发表于 12-19 09:47 1402次阅读