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

    关注

    244

    文章

    24727

    浏览量

    692556
  • 单片机
    +关注

    关注

    6078

    文章

    45581

    浏览量

    673742
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    经典 PLC 程序(5) - 闪烁

    闪烁程序的核心功能是:通过PLC的定时器(Timer)控制一个或多个输出点(如指示、蜂鸣器等)按照预设的时间间隔交替地接通和断开,从而产生“亮-灭-亮-灭”的周期性变化效果。控制逻辑与硬件接线
    的头像 发表于 01-13 11:42 521次阅读
    经典 PLC 程序(5) - <b class='flag-5'>闪烁</b><b class='flag-5'>灯</b>

    单片机C语言的误区介绍

    经常见网友们说,代码不能写太多了包括注释,单片机的ROM只有几个K的空间,其实这是表面问题的误解。 1、注释是写不进去hex文件的,下载到芯片里的只有你的有效代码汇编以后生成的机器码,注释自动编译器
    发表于 12-22 12:45

    单片机的误区

    任何单片机程序的编写。根本就不要学去C语言的高级用法,即使你用C语言的最基础的语句能够完成程序的编写,底层运行的机制是学习重中之重! 等你积累自己编写一定的代码量以后,你再回过头去学习C语言的一些高级
    发表于 11-14 07:46

    51单片机RS485编程实例资料

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

    第1章 如何学习单片机

      在错误的道路上日夜兼程,最终也无法成功,方法和思路绝对是最重要的。本章节讲到的学习单片机的方法,都是作者学习单片机的无数经验和教训总结出来的瑰宝。通过作者前面的披荆斩棘,开辟了道路,可以告诉读者
    的头像 发表于 10-10 10:32 666次阅读

    单片机原理及应用详解

    单片机(Microcontroller Unit, MCC)  是一种集成计算机核心功能(CPU、存储器、I/O接口等)的微型芯片,广泛应用于嵌入式系统中。以下是其原理及应用的详细介绍: 一、单片机
    的头像 发表于 08-11 13:57 2792次阅读

    单片机用什么封装

    单片机封装是将芯片内部电路与外部引脚连接并包裹保护的结构,不仅影响单片机的安装方式、适用场景,还与电路设计的紧凑性、散热性能密切相关。不同封装类型各有特点,适配从简单电路到复杂系统的多样化需求
    的头像 发表于 08-01 13:47 1608次阅读

    什么单片机比较耐用

            在工业控制、户外设备、医疗仪器等场景中,单片机的耐用性直接决定了设备的稳定运行与维护成本。耐用的单片机通常具备宽温工作范围、强抗干扰能力、稳定的电源适应性和长寿命的硬件设计。深圳市安
    的头像 发表于 07-31 13:48 911次阅读

    怎么测单片机系统频率

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

    单片机怎么驱动电机?

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

    单片机怎么烧程序

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

    怎样学会单片机

    想学会单片机其实没那么复杂,先把心态放平稳,别被那些五花八门的名词吓住。一开始就得把 C 语言基础打扎实,位操作、指针、函数这些概念必须吃透,尤其是指针,单片机里操作寄存器、外设经常要用到,搞不懂
    的头像 发表于 07-23 10:23 796次阅读
    怎样学会<b class='flag-5'>单片机</b>?

    KF32A136系列单片机产品介绍

    F32A136 系列单片机是基于 KF32 内核架构开发的单片机
    的头像 发表于 06-27 11:42 2783次阅读
    KF32A136系列<b class='flag-5'>单片机</b>产品介绍

    KF32A156系列单片机产品介绍

    KF32A156 系列单片机是基于 KF32 内核架构开发的单片机。KF
    的头像 发表于 06-26 14:43 1989次阅读
    KF32A156系列<b class='flag-5'>单片机</b>产品介绍

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

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