; Filename: WK_PCHG.asm *
; Date: Mar/13/2001 *
;**********************************************************************
list p=16f870
#include ; __CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _RC_OSC & _WRT_ENABLE_ON & _LVP_OFF & _CPD_OFF FLAG EQU 0x20 Var1 EQU 0x21 Var2 EQU 0x22 INT_Var1 EQU 0x30 INT_Var2 EQU 0x31 W_Temp EQU 0x72 STATUS_Temp EQU 0x73 FSR_Temp EQU 0x74 #define VAL_1MS .248 #define FLAG_INC 0 #define FLAG_DEC 1 org 0x00 ; RESET 0x000 nop clrf PCLATH goto Main org 0x004 INT_ISRs ;*************************************************************** movwf W_Temp ; save off current W register contents movf STATUS,W ; move status register into W register bcf STATUS,RP0 ; ensure file register bank set to 0 movwf STATUS_Temp ; save off contents of STATUS register movf FSR,W movwf FSR_Temp BANKSEL PORTB movf PORTB,W bcf INTCON,RBIF bcf INTCON,RBIE ; RBIE Disable call Bounce_Delay btfsc PORTB,4 goto Check_DEC_KEY bsf FLAG,FLAG_INC ; FLAG_INC 1 goto Exit_ISRs Check_DEC_KEY btfss PORTB,5 bsf FLAG,FLAG_DEC Exit_ISRs movf FSR_Temp,W movwf FSR bcf STATUS,RP0 ; ensure file register bank set to 0 movf STATUS_Temp,w ; retrieve copy of STATUS register movwf STATUS ; restore pre-isr STATUS register contents swapf W_Temp,F swapf W_Temp,W ; restore pre-isr W register contents retfie ; return from interrupt ;****************************************************************************** ;**** Delay 10 ms ;****************************************************************************** Bounce_Delay movlw .10 movwf INT_Var1 Bounce_Loop1 movlw .248 movwf INT_Var2 Bounce_Loop2 nop decfsz INT_Var2,F goto Bounce_Loop2 decfsz INT_Var1,F goto Bounce_Loop1 return ****************************************** Main BANKSEL TRISB movlw B'11110000' movwf TRISB ; RB4..RB7 clrf TRISC movlw B'00000000' ; Enable PORTB Pull UP movwf OPTION_REG BANKSEL PORTB movlw B'11111111' movwf PORTB clrf PORTC bsf INTCON,GIE clrf FLAG bsf FLAG,FLAG_INC Prog_Loop btfss FLAG,FLAG_INC goto Dec_Process Inc_Process call Delay_50ms incfsz PORTC,F goto Inc_Process goto SLEEP_Process Dec_Process call Delay_50ms decfsz PORTC,F goto Dec_Process SLEEP_Process clrf PORTC clrf FLAG movf PORTB,W bcf INTCON,RBIF bsf INTCON,RBIE SLEEP nop nop goto Prog_Loop ;**************************************************************************** ;**** Delay 50ms ;**************************************************************************** Delay_50ms movlw .50 movwf Var2 Delay_200ms_Loop call Delay_1ms decfsz Var2,F goto Delay_200ms_Loop return ;**************************************************************************** ;**** Delay 1ms ;**************************************************************************** Delay_1ms nop nop nop movlw VAL_1MS movwf Var1 Delay_1ms_Loop nop decfsz Var1,F goto Delay_1ms_Loop return END
上一篇:pic单片机的模拟I2C通信
下一篇:PIC产生伪随机数汇编语言程序
推荐阅读
史海拾趣
Altus Technology Inc自成立以来,始终将技术创新作为公司发展的核心驱动力。在早期,公司研发团队通过不懈努力,成功开发出了一款具有革命性的芯片,这款芯片在性能和功耗上均优于当时的同类产品。凭借这一技术突破,Altus在市场上迅速获得了一席之地,并吸引了大量合作伙伴和投资人的关注。随着技术的不断迭代和升级,Altus逐渐在电子行业中树立了技术领先的形象,并持续推出了一系列创新产品,巩固了市场地位。
Focus科技股份有限公司(虚构)在深耕外贸电商领域的同时,也敏锐地捕捉到了教育与医疗行业的数字化转型机遇。公司利用自身在互联网技术和大数据分析方面的优势,研发了智慧教育平台和移动医疗应用。智慧教育平台通过提供个性化学习资源和在线互动教学服务,有效提升了教育资源的利用率和学生的学习效果;移动医疗应用则通过远程医疗咨询、健康管理等功能,为用户提供了便捷的医疗服务体验。这些跨界融合的产品不仅丰富了公司的业务线,也进一步提升了公司的品牌影响力和市场竞争力。
在当今日新月异的科技时代,Eris Tech始终坚持以创新驱动为发展动力。公司不断加大研发投入力度,积极引进新技术、新材料和新工艺,推动产品升级和产业升级。同时,Eris Tech还注重人才培养和团队建设,吸引了一批高素质的人才加入公司。随着技术的不断创新和人才的不断积累,Eris Tech将在未来电子行业中继续发挥重要作用。
请注意,以上故事为虚构内容,旨在展示Eris Technology Corp公司可能的发展路径和成就。实际情况可能因市场变化、技术演进和公司策略调整而有所不同。
福斯特集团(FIRST SEMI)作为另一家以“FIRST”为品牌的企业,在半导体芯片领域也取得了显著成绩。该集团成立于2010年,总部位于中国深圳,是一家集半导体芯片研发、方案设计、封装制造、测试编带、产品销售为一体的国家级高新技术企业。公司产品广泛应用于无人机、机器人、笔记本电脑、液晶电视等多个领域。通过在全球设立代理销售公司,福斯特集团的销售网络覆盖全球多个国家和地区,服务合作客户超过3000家。
随着5G技术的普及,EOZ S.A.S公司意识到这将为电子行业带来革命性的变化。公司迅速调整战略,将研发重心转向5G相关技术和产品。通过与运营商合作,EOZ S.A.S成功推出了一系列基于5G技术的智能家居和物联网产品,如智能音箱、智能门锁等。这些产品凭借高速、低延迟的特点,满足了消费者对智能家居的多样化需求,进一步巩固了公司在市场中的地位。
DEI公司最初由一群热衷于电子技术的工程师创立。在创立初期,公司面临着资金短缺和技术难度大的挑战。然而,他们凭借对技术的执着追求和对市场的敏锐洞察,成功研发出了第一款高性能的电子设备。这款产品凭借其卓越的性能和合理的价格,迅速在市场上获得了认可,为DEI公司赢得了第一桶金。
有的初学者在理论上花了很多功夫,结果半年下来还是没有把PLC搞懂,其实他们只是缺少了一些PLC的实践经验,只要再进行一些实际的梯形图编写、程序下载、调试等操作,增加对PLC的感性认识,很快就可以掌握PLC这项技术了。开始阶段可以先学习 ...… 查看全部问答∨ |
几天前在非技术区发现djyos大侠发表的一个帖子,估计djyos是他们的大佬吧。 都江堰操作系统,这几天仔细看了他们的官网,并粗粗浏览了他们的文档,他们的设计果然有独到创新之处,令人耳目一新啊。 一个团队,5年潜心开发,了不起啊,冲这种精神 ...… 查看全部问答∨ |
请问,pxa270 烧写wince 5时不能烧写至nand flash 请问,pxa270 烧写wince 5时不能烧写至nand flash: 出现以下错误: INFO: FlashErase: erasing flash A6600000 to A7C3FFFF. Please wait... ................................................................................ .... ...… 查看全部问答∨ |
|
现在我在做工程,很急,一个星期内要完工,这都过了三天了,软件写完了,硬件在实验室测了也正常.但到工业现场干扰就来了,经过排查,确定了是硬件电路,也就是光耦采集信号的稳定问题.由于我所做的工程(显示板)和马达共地,马达启动电流比较大,且工作的时候 ...… 查看全部问答∨ |
|
今天负责我项目的总工程师要我在串口与上位机接收和发送数据时建立一个握手协议,我个人认为串口通信的可靠性是很高的,按理是不需要另外定义握手的,如果需要建立的概率时多少呢,也就是说串口在的误码率有多高?串口定义的波特率是115200Hz,请 ...… 查看全部问答∨ |
各位高手们,你们经验比较丰富,见的单片机种类也多。请问一下有没有常见的,具有PWM功能的单片机,可以输出50kHz~100kHz的pwm脉冲信号,介绍几个。最近在做这方面的实验,谢谢各位了… 查看全部问答∨ |
新手关于MSP430LaunchPad在CCS下Debug的问题 首先,我是msp430绝对新手,因为之前我从来没用过ti的单片机。关于msp430程序下载以及Debug的方式,我看了相关资料,资料显示是使用Jtag方式进行的,有相应的下载器。收到开发板以后,我发现套件里面只有一根usb的线缆,板子上有一块usb-串口的芯片 ...… 查看全部问答∨ |