;*************************************************
;* FLASH.ASM *
;*************************************************
;*-----------------------------------------------*
;*-----------------------------------------------*
;*************************************************
;* 本程序是一个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
关键字:PIC单片机 ICD1 LED灯 循环闪烁
引用地址:
PIC单片机在ICD1上做LED灯的循环闪烁程序
推荐阅读最新更新时间:2024-11-12 06:59
51单片机的七彩LED灯渐变调光调色程序
//------------------------------------------------------------------------------------ // Main.c //------------------------------------------------------------------------------------ // Copyright (C) 2013 Shenyang JYXD. // WEN BO RUI // Tool chain: KEIL Full 'c' // //#pragma CD OE DB SB // Compilation direc
[单片机]
提高LED灯具散热水平的几点建议
LED照明灯具的可靠性(寿命)很大程度上取决于散热水平,所以提高散热水平是关键技术之一。主要是解决芯片产生多余热量通过热沉、散热体传出去,这是个很复杂的技术问题。 下面我们一起分别叙述: LED灯具的功率,哪些LED需要考虑散热问题,功率LED需要散热。功率LED是指工作电流在100mA以上的发光二极管。是我国行标参照美国ASSIST联盟定义的,按现有二种LED的正向电压典型值2.1V及3.3V,即输入功率在210mw及330mw以上的LED均为功率LED,都需要考虑器件热散问题,有些人可能有不同看法,但实践证明,要提高功率LED的可靠性(寿命),就要考虑功率LED的散热问题。 散热有关参数与LED散热有关的主要参
[电源管理]
LED灯、激光灯和有机EL灯将配备到汽车上
在电子业界全球最大的展会“Electronica 2014”开幕前一天(2014年11月10日)举行的并设研讨会“Electronica Automotive Conference”上,德国欧司朗光电半导体公司(OSRAM Opto Semiconductors)的Claus Allgeier登台演讲,介绍了该公司从事的汽车头灯的开发情况。
在演讲中,Allgeier首先强调说,LED头灯的采用量正在逐年增加。“原来发光效率是推动汽车采用LED头灯的主要因素,但最近,出色的造型自由度成为新的推动力”。在LED头灯得到广泛应用的同时,大众车上配备的标准产品以及高档车上配备的产品开始两极分化。
高档
[汽车电子]
厂商采低价策略冲击销量,10月份全球LED灯泡价格继续下滑
集微网消息,据集邦咨询LED研究中心(LEDinside)最新价格报告指出,2017年10月,全球LED灯泡价格继续下滑,取代40瓦白炽灯的LED灯泡零售均价下滑1.7%,为6.2美元;取代60瓦白炽灯的LED灯泡零售均价下滑1.7%,为7.4美元。 LEDinside分析师余彬表示,步入第四季度,为了冲击销量,部分厂商采取低价促销策略,10月份全球LED灯泡价格继续下滑。 LED器件价格保持稳定,多家厂商推出新品 中国LED封装方面,10月份价格继续维稳。相较于8、9月份,10月份LED行业景气度有所回暖,LED芯片厂商库存虽然有所提升,但尚属正常范围之内,芯片价格继续维稳,致使LED封装价格亦比较稳定。部分厂商有推出新品,中功
[手机便携]
C语言编程--用Do-While语句控制P0口LED灯
/**************************** 用Do-While语句控制P0口LED灯---配套51单片机开发板 ***************************/ //实例23:用do-while语句控制P0口8位LED流水点亮 #include reg51.h //包含单片机寄存器的头文件 /**************************************** 函数功能:延时约60ms (3*100*200=60000 s) ****************************************/ void delay60ms(void) { unsigned char m,n;
[单片机]
美研发成功新无线电力传输技术:1米范围内均能实现高效传
电子报道:英国《自然》杂志13日发表一项物理学最新研究成果称,美国科研团队利用宇称—时间对称(PT对称性)原理制成了一种无线电力传输系统,其在1米范围内的不同距离均能实现高效电力传输。实验中,LED灯可以在远离电源的情况下成功充电。 无线电力传输技术的发展将为现今社会的多种应用奠定基础,如为植入式医疗装置充电和固定式电动车无线充电。但是,要创建一个不受操作条件变化影响的系统很不容易,譬如说,不受电源与无线受电设备之间距离的制约就难以做到;而同时还要保持电力传输效率稳定的话,就存在更大的挑战。 此次,美国斯坦福大学电子工程教授范汕洄及其同事创建的无线电力传输系统,在1米范围内的不同距离均能实现高效电力传输。该系统是利用宇称—
[电源管理]
ARM裸板程序的开发和编译(以点亮LED灯为例)
制作好交叉编译工具链后,怎么确定是否有效呢,当然是编译一个程序烧写到板上跑一下了。这里我们以点亮LED灯为例描述如何使用我们制作的交叉编译工具链编译裸板程序。 首先,需要了解下Nor flash,Nand flash,片内内存,片外内存,地址空间这几个概念。其中,Nor flash是CPU可以直接通过硬件信号读取的,不需要配置,但是Norflash的写操作是需要配置和实现驱动的。片内内存不需要配置,CPU可以直接通过硬件信号读写。这是因为Nor flash和片内内存在硬件设计上就已经固化了他们的电气特性。而Nand flash的读写都必须配置,并且需要实现驱动。CPU通过相应的Nand flash控制器间接的读写数据。片外内存
[单片机]
PIC单片机中的bank和PC问题
简介:PIC单片机的bank和PC的问题往往在我们进行查表时和BANK设置时很容易出错。下面小编就大家来着重来介绍下面这俩点。希望能对大家有所帮助。 1、 BANK设置错误: 先来看一段程序: include PORTDB EQU 20H …… START movlw b‘11110000’ movwf PORTDB clrf TRISD MAIN bcf STATUS,C rlf PORTDB,1 btfsc STATUS,C bsf PORTDB,0 movf PORTDB,W movwf PORTD call DELAY goto MAIN …… 上面的是一个将D口的发光二极管循环点亮的小程序,实际运行发现并不能达到点亮
[单片机]