DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 167|回复: 0
打印 上一主题 下一主题

基于单片机的红外门控系统源程序

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-28 18:55:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序的具体内容如下:
$MOD52
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP 0100H
ORG 0013H
LJMP 0150H
ORG 0050H
MAIN: CLR A
MOV 30H , A ;初始化缓存区
MOV 31H , A
MOV 32H , A
MOV 33H , A
MOV R6 , A
MOV R7 , A
SETB EA
SETB EX0
SETB EX1
SETB IT0
SETB IT1
SETB PX1
NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序
ACALL DISPLAY ;调用显示子程序
LJMP NEXT1
ORG 0100H ;中断0服务程序
LCALL DELY
mov 70h,#2
djnz 70h,next
JBC F0,NEXT
SETB F0
CLR P0.0
LCALL DELY0
SETB P0.0
MOV A , R7
ADD A , #1
MOV R7, A
MOV A , R6
ADDC A , #0
MOV R6 , A
CJNE R6 , #07H , NEXT
CLR A
MOV R6 , A
MOV R7 , A
NEXT: RETI
ORG 0150H ;中断1服务程序
LCALL DELY
mov 70h,#2
djnz 70h,next2
JBC F0,NEXT2
SETB F0
CLR P0.0
LCALL DELY0
SETB P0.0
CLR C
MOV A , R7

SUBB A , #1
MOV R7, A
MOV A , R6
SUBB A , #0
MOV R6 , A
CJNE R6 , #07H , NEXT2
CLR A
MOV R6 , A
MOV R7 , A
NEXT2: RETI

ORG 0200H
HEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制
PUSH ACC
MOV A , R7
PUSH ACC
MOV A , R2
PUSH ACC
CLR A
MOV R3 , A
MOV R4 , A
MOV R5 , A
MOV R2 , #10H
HB3: MOV A , R7 ;将十六进制中最高位移入进位位中
RLC A
MOV R7 , A
MOV A , R6
RLC A
MOV R6 , A
MOV A , R5 ;每位数加上本身相当于将这个数乘以2
ADDC A , R5
DA A
MOV R5 , A
MOV A , R4
ADDC A , R4
DA A ;十进制调整
MOV R4 , A
MOV A , R3
ADDC A , R3
DJNZ R2 , HB3
POP ACC
MOV R2 , A
POP ACC
MOV R7 , A
POP ACC
MOV R6 , A
RET
ORG 0250H
DISPLAY:
MOV R0 , #30H
MOV A , R5
ANL A , #0FH
MOV @R0 , A
MOV A , R5
SWAP A
ANL A , #0FH
INC R0
MOV @R0 , A
MOV A , R4
ANL A , #0FH
INC R0
MOV @R0 , A
MOV A , R4
SWAP A
ANL A , #0FH
INC R0
MOV @R0 , A
MOV R0 , #30H
MOV R2 , #11111110B
AGAIN: MOV A , R2
MOV P2 , A
MOV A , @R0
MOV DPTR , #TAB
MOVC A , @A+DPTR
MOV P1 , A
ACALL DELAY
INC R0
MOV A , R2
RL A
MOV R2 , A
JB ACC.4 , AGAIN
RET
TAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段码表
DELY: MOV R1,#80
D1: MOV R2,#100
DJNZ R2,$
DJNZ R1,D1
RET
DELAY: MOV TMOD , #01H ;延时子程序
MOV TL0 , #0FEH
MOV TH0 , #0FEH
SETB TR0
WAIT: JNB TF0 , WAIT
CLR TF0
CLR TR0
RET
DELY0: MOV R1, #200
D3: MOV R2,#250
DJNZ R2,$
DJNZ R1,D3

RET
END

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2026-7-27 07:06 , 耗时 0.275421 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表