历史上的今天

今天是:2024年10月19日(星期六)

正在发生

2019年10月19日 | PIC单片机在ICD1上做LED灯的循环闪烁程序

发布者:花开堂前 来源: eefocus关键字:PIC单片机  ICD1  LED灯  循环闪烁 手机看文章 扫描二维码
随时随地手机看文章

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

;* 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灯的循环闪烁程序

上一篇:PIC单片机的LCD例程1
下一篇:PIC16系列单片机与PC机 串行通信的软硬件实现

推荐阅读

不久前,上汽安吉物流旗下创新型智能物流一体化解决方案系统集成商安吉智能物联技术有限公司与全球著名的机器人专业生产企业发那科(FANUC)联合研发具有区域移动能力的协作机器人亮相。该机器人项目将智能AGV技术与协作机器人相结合,通过在区域内的自主移动,实现货物的智能抓取、搬运和操作。 安吉智能与发那科携手,将各自在智能AGV技术与协作机器人...
在日前的AMD大中华区合作伙伴峰会上,AMD再次提到了今年11月份推出第三代锐龙Threadripper(线程撕裂者)处理器,而且首次公布会是一款24核48线程的处理器,这个核心数比目前最高32核要少,但是三代Threadripper显然更强大。之所以这么说,是因为三代锐龙Threadripper(线程撕裂者)处理器中,AMD将会把游戏版与工作站版分开,二者使用不同的平台,芯...
近日,三款三星新机通过了3C认证,有消息称该机对应的是三星Galaxy S21系列,全系标配25W充电器。图源:3C认证官网据数码博主爆料,三星Galaxy S21型号为SM-G9910,额定电池容量为3880mAh,标准值4000mAh±。三星Galaxy S21+型号为SM-G9960,额定电池容量为4660mAh,标准值4800mAh±。三星Galaxy S21 Ultra型号为SM-G9980。图源:微博结合此前曝光的...
Profibus现场总线以其的技术性能,在全世界范围内得到广泛的应用。在电动执行机构行业内也需要开发带有Profibus现场总线接口的产品。上海自动化仪表十一厂着重介绍了带有Profibus现场总线接口的智能型电动执行机构的开发、试验和应用,实践证明,使用效果较好,对其推广具有重要意义。现场总线是一种应用于生产现场,在现场设备(仪表)之间、现场设备控制...

史海拾趣

问答坊 | AI 解惑

WinCE开发GPIO驱动,需要了解寄存器知识吗?

才接触WinCE,嵌入式开发,网上看文章说:通过GPIO控制设备,是通过虚拟寄存器来实现的 “GPIO是ARM芯片最基本的输入输出通道,在ADS下操作就是一个单片机工作, 直接读写其寄存器.在ARM9平台上,Windows CE系统将GPIO的实地址(例如2410的 GPIO的基 ...…

查看全部问答∨

NandFlash的Kernel区是存放什么的呢

1.恒丰锐科2440的开发板, 有何kernel区, 不知道是用来干嘛的,具体如下: mtdpart info. (6 partitions) name              offset            size  & ...…

查看全部问答∨

急!有关telnet和busybox的问题

   我用的是am9的开发板,通过minicom启动后,可以从开发板telnet宿主机,但是宿主机无法telnet登陆到开发板,显示connect refused.什么原因呢?怎么解决?…

查看全部问答∨

用C#在开发WinCE程序时候,在Edit控件输入的时候,想把一个键盘的Key,比如本来是字符A的变成回车键改怎么做?有知道的吗?

用C#在开发WinCE程序时候,在Edit控件输入的时候,想把一个键盘的Key,比如本来是字符A的变成回车键改怎么做?有知道的吗?…

查看全部问答∨

请教怎样调整对话框的大小

小弟的对话框总是过大, 超过了手机模拟器的屏幕, 请问如何调整对话框的大小和位置, 谢谢高手们。…

查看全部问答∨

对IDE和SATA的I/O端口比较了解的高手看看

  最近要把原来写过的IDE接口的硬盘读写程序改成SATA的,用到1F0~1F7和3F6~3F7这些I/O映射地址对硬盘控制芯片的寄存器进行寻址,现在我需要知道用SATA接口时,这些I/O地址应该是什么,只要知道对SATA操作的I/O端口地址就能解决所有问题了,请 ...…

查看全部问答∨

介绍一下Windows CE的学习路线

欢迎大家加入这个群一起讨论学习 中关村智能手机开发:41995469 Q:什么是嵌入式系统? 国际电气和电子工程师协会(IEEE)对嵌入式系统的定义是这样的:嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”(Devices used to contro ...…

查看全部问答∨

stm32中AFIO的作用

                                 在调试stm32的timer的OC输出时,我没有用到管脚remap的功能,所以我觉得不用打开AFIO的时钟,但是不少区友认为要打 ...…

查看全部问答∨

(ulTemp%1024)/102+'0'

lm3s测量芯片内部温度程序里的一个,这句话的意思应该是 将温度的小数部分转化为字符,但是还是不理解为什么做这么一个运算(对1024求余再对102求商)。…

查看全部问答∨

stm32用摄像头拍照存储成为bmp格式不正确

求帮助。。。。上图先,昨天晚上太急着走了,我是这样子的一个工作的过程,stm32驱动ov7670摄像头,出来的数据是RGB565的数据,直接送到LCD显示,有按键按下的时候就拍下照片,存储成为bmp格式的图像。我的摄像头出来的数据是: 从右上角往下一列的 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved