单片机闪烁灯设计

发布者:创意火舞最新更新时间:2012-09-12 来源: 21ic 关键字:单片机  闪烁灯  LED灯 手机看文章 扫描二维码
随时随地手机看文章

;*************************************************
;* 本程序是一个LED灯的循环闪烁程序,用INT键来切换*
;* 闪烁模式 *www.dangdangdz.com
;*************************************************
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

[page]

;*---------------
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灯 引用地址:单片机闪烁灯设计

上一篇:单片机动态数码显示技术
下一篇:基于单片机的频率计的C语言源代码

推荐阅读最新更新时间:2024-03-16 13:08

单片机入门程序三
;*****************************************; ;实验名称:一位数码管静态显示0-9实验 ; ;作者: 龙谊 ; ;版本: VER 1.0 ; ;说明: 采用共阴极数码管 ; ;修改: 无 ; ;编程语言: 汇编语言 ; ;*****************************************; ORG 00H S
[单片机]
ATmega168 MCU控制寄存器SMCR
MCU 控制寄存器包含了电源管理的控制位。 · Bits 7..4 Res 保留位: ATmega168中的这些位都没有使用到,读返回值始终是 0”。 · Bits 3、2、1-SM2..0 : 休眠模式选择位 2、 1 和 0 。如 Table18 所示,这些位用于选择具体的休眠模式。 · Bit 0 – SE: 休眠使能 为了使MCU 在执行SLEEP 指令后进入休眠模式, SE 必须置位。为了确保进入休眠模式是程序员的有意行为,建议仅在SLEEP 指令的前一条指令置位SE。MCU 一旦唤醒立即清除SE。
[单片机]
ATmega168 <font color='red'>MCU</font>控制寄存器SMCR
单片机的特殊功能寄存器完整功能分析
我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什么,这些个零碎的东西怎么连在一起的,让我们来对单片机内部的寄存器作一个完整的功能分析吧! 下图中我们能看出,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在一个51单片机的内部包含了这么多的东西。 单片机内部结构图 对上面的图进行进一步的分析,我们已知,对并行I/O口的读写只要将数据送入到对应I/O口的锁存器就能了,那么对于定时/计数器,串行I/O
[单片机]
<font color='red'>单片机</font>的特殊功能寄存器完整功能分析
采用51单片机数字实验室的实验和设计
  一个 单片机 应用系统是由硬件和软件组成的。系统硬件设计包括单片机CPU的选型、接口 电路 的设计、外围器件的选择、试验电路板的设计等内容。   软件设计则包括软件编写和仿真调试。   仿真是单片机开发的一个非常重要的环节,除了一些较简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行程序调试及硬件排错。现在普遍采用基于 Windows 的单片机集成开发系统( IDE)进行单片机应用程序的开发,它是指将编辑、编译,汇编、连接、调试等开发单片机所要用到的程序集成到一个系统软件中,如德国Keil公司的Keil、南京万利电子公司( Manley)的MedWin等。 iframe id="iframeu216385
[单片机]
采用51<font color='red'>单片机</font>数字实验室的实验和设计
单片机hex和bin文件的区别
ex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。 Hex文件如果用特殊的程序来查看(一般记事本就可以实现)。打开后可发现,真个文件以行为单位,每行以冒号开头,内容全部为16进制码。Hex文件可以按照如下的方式进行拆分来分析其中的内容: 例如: :020000040000FA , 我把它看做 0x02 0x00 0x00 0x04 0x00 0x00 0xFA 第一个 0x02 为数据长度。 紧跟着后面的0x00 0x00 为地址。 再后面的0x04为数据类型,类型共分以下几类: '00' Da
[单片机]
51单片机编程开发(一)之C语言基础一
C51编译器 51单片机开发编译有很多,现在比较有名的是IAR for 8051编译器和KEIL for C51编译器,但这两个软件都不是免费的,官网提高的免费版是有使用限制的。另外还有一些编译器是免费的,但需要一定基础,初学者就不推荐使用了,等你翅膀硬了之后在自己配置编译环境吧。 简单介绍两个免费编译器:可跨平台使用的开源编译器sdcc,有空可以自己查资料搭建一下,后期如果有时间我再做个教程吧。另外微软公司提供的Visual Studio Code这个免费又强大的代码编辑器配合一些三方插件工具也可以实现各种单片机编译功能,效果也不错,这个也以后再另说吧。IAR for 8051编译器和KEIL for C51编译器在官网都可
[单片机]
51<font color='red'>单片机</font>编程开发(一)之C语言基础一
用MSP430实现微波成像的扫描控制与数据采集
引言   ----在无源微波遥感中,微波辐射计是一种获取场景微波特征的重要手段。微波辐射计通常是一部超外差接收机,通过接收被测场景在一定频带内的电磁辐射,转换为输出的低频信号,来表征被测场景的地物信息。利用微波辐射计来探测、接收被测目标、背景在微波波段的电磁辐射,并把接收到的辐射信号按比例用伪彩色图像直观地显现出来的系统称为微波辐射成像系统。   ----微波辐射成像系统要求在恶劣的环境和天气下长期稳定地进行天线扫描成像,所以要求系统设备用于天线扫描控制及数据采集的电路尽量简单、稳定。基于以上的要求,采用了TI公司所生产的MSP430F149型超低功耗FLASH单片机作为这套系统的从机部分,该单片机有60KB的FLASH存储器
[安防电子]
用MSP430实现微波成像的扫描控制与数据采集
STM32单片机特性解析
STM32单片机 由ST厂商推出的STM32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、 低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表现,当然和MSP430的功耗比起来是稍微逊色的一些,但这并不影响工程师们对它的热捧程度,由于其简单的结构和易用的工具再配合其强大的功能在行业中赫赫有名。其强大的功能主要表现在: 特性 1、内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPS/MHz,单周
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved