3398|8

29

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

电话遥控程序3 [复制链接]










ORG 0000H

LJMP SETUP

ORG 0003H
LJMP INEX0P
ORG 000BH
LJMP INET0P
ORG 00013H
LJMP INEX1P
ORG 0030H
SETUP: MOV 7AH,#21

MOV 7BH,#43
;
密码初值
MOV R0,#3
;3
次密码错挂机
MOV R1,#2
;2
500HZ信号音
MOV R2,#0
MOV R3,#2
MOV 7FH,#0FFH

MOV TMOD,#01H


MOV TH0,#60


MOV TL0,#176
;50ms
初值

SETB TR0


SETB P3.2

SETB IT0
SETB IT1
;
选择下降沿触发
SETB EX0
SETB EA
MAIN: LCALL
JM
;
调解码子程序

LCALL
Password
;
调密码校验子程序

LCALL
CONTROL
;
调控制子程序
SJMP MAIN
INEX0P: DJNZ R3,CC

LCALL
DELAY


LCALL
DELAY
;
延时24s

SETB P3.6
;
模拟摘机
CC: CLR EX0


SETB ET0

INET0P: MOV TH0,#60

MOV TL0,#176


INC R2


CJNE R2,#100,NIS
;
判断是否到5s,这一步主要判断主叫方是否误操作

SETB EX0


NIS:
RET1

JM:
JB P3.3,NIS1


SETB TOE
;
输出Q4~Q1

RET

Password: MOV C,P0.0

MOV 00H,C


MOV C,P0.1


MOV 01H,C


MOV C,P0.2


MOV 02H,C


MOV C,P0.3

MOV 03H,C
MOV C,P0.4
MOV 04H,C
MOV C,P0.5

MOV 05H,C

MOV C,P0.6


MOV 06H,C

MOV C,P0.7

MOV 07H,C


MOV A,20H


CJNE
A,7AH,FALSE


MOV C,P0.0


MOV 08H,C


MOV C,P0.1


MOV 09H,C

MOV C,P0.2
MOV 10H,C
MOV C,P0.3
MOV 11H,C
MOV C,P0.4
MOV 12H,C
MOV C,P0.5

MOV13H,C

MOV C,P0.6

MOV 14H,C

MOV C,P0.7

MOV 15H,C


MOV A,21H


CJNE
A,7BH,FALSE


NIS1: RET

CONTROL: MOV R4,#16

MOV
A,P1


CPL
A

AA:
DJNZ R4,NIS1

DEC 7FH

CJNE A,7FH,AA


MOV P2,7FH


RET

DELAY:
MOV R5,#192
;
延时12s

DEL2: MOV R6,#0


DEL1: MOV R7,#0


DEL:
DJNZ R7,DEL


DJNZ R6,DEL1


DJNZ R5,DEL2


RET

FALSE: DJNZ R0,GJ
;3
次密码错挂机

MOV TH0,#252


MOV TL0,#24
;1mS
定时

CPL P0.0


DJNZ R1,FALSE
;2
500HZ代表“密码错误”(可以在原电路将P0.0引脚连到电话线上)

LJMP Password


GJ: CLR P3.6

;
挂机子程序
RET
END

[ 本帖最后由 TSB53 于 2009-4-22 17:49 编辑 ]
此帖出自单片机论坛

最新回复

EX0INT:             SETB P1.4;(TOE引脚),使输出数据有效             MOV A,P1;密码读到累加器处理             CLR P1.4;已经读取了,使输出数据无效  详情 回复 发表于 2009-4-25 14:51

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

救助

用软件可以模仿单片机我很急
此帖出自单片机论坛
 
个人签名一切皆有可能
 

回复

154

帖子

0

TA的资源

纯净的硅(高级)

板凳
 

电话遥控程序3

就程序而言:
       我没有去细对你程序的功能实现如何,只是从你的程序指令上看,
       1、中断返回指令为:RETI(reti)而不是RET1
       2、你写了外部中断1而没有用到它,不用就不要写       ORG 00013H  /    LJMP INEX1P ,用到再写。不然会出错。
       3、SETB TOE  ; TOE你定义成什么?名称用时要定义,不论是位还是字节,不然会找不到则出错
能自己写程序,很好,写好要编译,再到硬件电路上去试一下结果如何。
继续努力。
成功就在前方!

[ 本帖最后由 LIUZZ 于 2009-4-24 11:09 编辑 ]
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
 
 

回复

1634

帖子

0

TA的资源

裸片初长成(高级)

4
 

请参考 http://www.8052.com/forum/read/164595

 
 
 

回复

1634

帖子

0

TA的资源

裸片初长成(高级)

5
 
密码部分修改为
ORG 0000H
LJMP SETUP
ORG 0013H;8870的输出选通信好STD是不是接在P3.3的?
LJMP EX0INT
ORG 0030H
SETUP:
MOV 7CH,#1
MOV 7DH,#2
MOV 7EH,#3
MOV 7FH,#4 ;4位密码初值,这部分在初始化部分
MOV R0,#78H;读进来的首位密码准备保存在此(direct(78H~7BH)中)
MOV R1,#7CH;已知的密码位置(direct(7CH~7FH)中)
MAIN:
            SJMP MAIN
EX0INT:
            SETB P1.4;(TOE引脚),使输出数据有效
            MOV A,P1;密码读到累加器处理
            CLR P1.4;已经读取了,使输出数据无效
            ANL A,#0FH;使累加器高4位为0,仅保留低4位数据
MOV @R0,A;传送到目标单元,如传送到78H,或78H~7BH
INC R0;指向高一级单元
CJNE R0,#7CH,INT0RET;如果没到达7CH,则退出中断
MOV R0,#78H;如果到达7CH,则4个数据已经接受完毕,R0重新指向78H
LOOP_PASSWORD:
MOV A,@R0;取出保存的数据
CJNE A,@R1,MIMA_ERR;与对应得密码单元比较,如果不相等则转密码错误处理
              INC R0;前一位密码正确,调整指针
INC R1
              CJNE R0,#7CH, LOOP_PASSWORD;四个密码都比较完了吗?没完循环继续比较
            ;完了做密码正确的处理
            LJMP INT0RET
MIMA_ERR:
             做密码错误的处理
INT0RET:
              MOV R0,#78H
              MOV R1,#7CH
              RETI

[ 本帖最后由 xu__changhua 于 2009-4-25 00:48 编辑 ]
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
 
 

回复

29

帖子

0

TA的资源

纯净的硅(中级)

6
 

回刘老师

中断1是从STD引脚输出,经反向器到p3.3,当有DTMF信号输入的时候,中断触发,指使CPU的P1.0~P1.3接收Q1~Q4的输出;TOE是8870的一个引脚,其为高电平时,Q1~Q4输出,这一点我还有点模糊
此帖出自单片机论坛
 
 
 

回复

29

帖子

0

TA的资源

纯净的硅(中级)

7
 

回徐老师

闁哄被鍎冲﹢鍛村嫉椤掆偓缁楁﹢宕楅妸鈺佸姤閻犱降鍔忛鎴︽晬瀹€鍐惧殲闁谎嗩嚙缂嶏拷闁瑰瓨鐗為埀顒婃嫹婵炲鍔岄崬锟�
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
 
 

回复

1634

帖子

0

TA的资源

裸片初长成(高级)

8
 

查:EX0INT:中断入口中有SETB P1.4

闁哄被鍎冲﹢鍛村嫉椤掆偓缁楁﹢宕楅妸鈺佸姤閻犱降鍔忛鎴︽晬瀹€鍐惧殲闁谎嗩嚙缂嶏拷闁瑰瓨鐗為埀顒婃嫹婵炲鍔岄崬锟�
此帖出自单片机论坛
 
 
 

回复

29

帖子

0

TA的资源

纯净的硅(中级)

9
 
闁哄被鍎冲﹢鍛村嫉椤掆偓缁楁﹢宕楅妸鈺佸姤閻犱降鍔忛鎴︽晬瀹€鍐惧殲闁谎嗩嚙缂嶏拷闁瑰瓨鐗為埀顒婃嫹婵炲鍔岄崬锟�
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表