list p=16F877A,R=DEC
include "p16F877A.inc"
;;;;;user variables;;;;;;;;
Count2 equ 23H
Count3 equ 24H
data_out1 equ 25H
data_out2 equ 26H
;;;;;;;reset vector;;;;;;;;;
org 0x00
goto mainline
;;;;;;delay program;;;;;;;
delay_2ms
movlw 0x05
movwf Count2
lp0 movlw 0xff
movwf Count3
lp1 decfsz Count3,F
goto lp1
decfsz Count2,F
goto lp0
return
delay_250ms
movlw 0x41
movwf Count2
movlw 0xff
movwf Count3
decfsz Count3,F
goto $-1
decfsz Count2,F
goto $-5
movlw 0xff
movwf Count2
movlw 0xff
movwf Count3
decfsz Count3,F
goto $-1
decfsz Count2,F
goto $-5
return
;;;;;;main program;;;;;;;;;
mainline
banksel TRISA
movlw 0x00
movwf TRISA
movlw 0xff
movwf TRISB
movlw 0x00
movwf TRISC
movwf TRISD
movwf TRISE
banksel PORTA
movlw 0x00
movwf PORTA
movwf PORTB
movwf PORTC
movwf PORTD
movwf PORTE
banksel INTCON
bcf INTCON,PEIE
lp
btfsc PORTB,0
goto lp
call delay_250ms
wait1
btfss PORTB,2
goto led1
btfss PORTB,3
goto led2
goto wait1
lp2
movf PORTA,W
movwf data_out1
L2
btfsc PORTB,1
goto L2
call delay_250ms
wait2
btfss PORTB,2
goto led3
btfss PORTB,3
goto led4
goto wait2
led1
call delay_250ms
movlw 0x00
movwf PORTA
movlw 0x01
movwf PORTA
movlw 0xfe
movwf PORTC
goto lp2
led2
call delay_250ms
movlw 0x00
movwf PORTA
movlw 0x02
movwf PORTA
movlw 0xfe
movwf PORTC
goto lp2
led3
call delay_250ms
movlw 0x01
movwf PORTA
movlw 0xfd
movwf PORTC
call delay_2ms
banksel PORTC
movlw 0x00
movwf PORTC
movlw 0xfe
movwf PORTC
movf data_out1,W
movwf PORTA
call delay_2ms
call delay_2ms
led4
call delay_250ms
movlw 0x02
movwf PORTA
movlw 0xfd
movwf PORTC
call delay_2ms
banksel PORTC
movlw 0x00
movwf PORTC
movlw 0xfe
movwf PORTC
movf data_out1,W
movwf PORTA
call delay_2ms
end
上一篇:用PIC12C509单片机控制LED
下一篇:PIC单片机的LCD例程1
推荐阅读
史海拾趣
AMRI Enterprise Co Ltd注重与高校和研究机构的产学研合作,通过引进先进技术和人才,推动公司的技术创新。公司与多所知名高校建立了紧密的合作关系,共同开展科研项目和技术攻关。这些合作不仅为AMRI带来了前沿的技术成果,还提升了公司的研发能力和创新能力。在产学研合作的推动下,AMRI不断推出具有创新性和竞争力的新产品,为公司的持续发展提供了强有力的支撑。
杰力(EMC)公司成立于XXXX年,由一群具有丰富电子行业经验的专业人士创立。公司初期专注于功率组件和集成电路(IC)的设计与开发,以满足不断增长的电子市场需求。通过引进先进的生产设备和工艺,杰力迅速建立起一条高效的生产线,并开始为一些小型电子厂商提供定制化的产品。随着产品质量的不断提升和客户口碑的积累,杰力逐渐在市场中树立了良好的品牌形象。
为了保持市场竞争力,杰力不断投入研发资源,致力于技术创新和产品升级。公司成功研发出多款高性能、低功耗的功率组件和集成电路产品,并获得了多项专利。这些产品不仅满足了客户对高品质电子元件的需求,还推动了整个电子行业的发展。同时,杰力还密切关注市场动态和技术趋势,不断调整产品策略,以适应市场的变化。
随着半导体行业的竞争加剧,价格战和技术更新速度不断加快。CSDC面临着巨大的市场压力。为了应对这些挑战,公司决定调整战略,专注于高端市场的开发。通过加大研发投入,提升产品质量和性能,CSDC逐渐在高端市场站稳了脚跟,实现了业务的稳步增长。
随着科技的不断发展,BOSER公司意识到只有不断创新才能在激烈的竞争中立于不败之地。因此,公司投入大量研发资源,致力于开发具有自主知识产权的新技术。经过不懈努力,BOSER成功推出了一系列创新产品,引领了电子行业的技术发展潮流。
刚搜索了一下坛子里的贴库,确认没有该话题 我不是搞产品研发的,就一修理工而已, 所以就通俗地讲一下温度校验仪的原理, 希望能够抛砖引玉,引发一定范围的讨论。 利用标准热感应器件输入的高精度数显控制表, 将校验腔的温度恒定在设定值 ...… 查看全部问答∨ |
|
我用的是AD0804,按时序图写出的状态机程序,但是在数码管老是无法正常显示,数字不是老跳就是定在一个值不动,我让其每隔0.5秒就转换一次 always@(posedge clk) if(sw) begin cs<=1; rd<=1; wr<=1; statead<=idle; end else cas ...… 查看全部问答∨ |
1,空闲模式,2440数据手册上说IDLE_BIT:Enter IDLE mode. This bit is not cleared automatically.这样的话我如果手动进入空闲模式,被任何中断唤醒后都进入Normal,我在那个中断里把该位重新置零呢? 2,很多手机用的windows monile系统,当手 ...… 查看全部问答∨ |
我做了块mpc862的目标板. 使用bootrom引导,然后用网口把VxWorks映像下载到板子上. 超级终端的信息: Starting at xxxx 之后就没有信息了. 看tornador一本书,说可能是引导映像的问题. 请给点儿建议,非常感谢… 查看全部问答∨ |
我通过BOOL NTLMSetUserInfo( LPTSTR pszUser, LPTSTR pszPassword )这个函数给系统添加了用户名和密码,请问如何通过过程序来获取这个密码呢?我看了看Ntlmssp.h 这个头文件,好像没有类似NTLMGetUserInfo函数用来获取用户信息的。 … 查看全部问答∨ |
把一个二进制转成BCD码,使用逻辑分析仪抓的数据,输入的数据最大为189975,加个60000后最大249975,平时这个数据是不断变化的,最大会有正负1000左右的跳动。现在的问题是:假如输入为100000,那么正确的输出应该是1、6、0,让我想不明白的是,最 ...… 查看全部问答∨ |
|
想做个廉价的气体探测器吗?用Arduino便可以实现,前提是计算量不复杂的话。所以PM2.5估计是测不了,一是传感器成本可能会高,ADC器件性能也不够,至于计算能力就不知道了。详细链接请点击:http://www.instructables.com/id/How-To-Smell-Pollutan ...… 查看全部问答∨ |