| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 563 人关注过本帖
标题:为什么呢?
只看楼主 加入收藏
longguangren
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-17
收藏
 问题点数:0 回复次数:3 
为什么呢?

求问怎么读轻触开关的状态?
红色部分问读开关状态
前2个都不行
为什么第三个可以呢?



SECOND EQU 30H
MINITUE EQU 31H
HOUR EQU 32H
COUNT EQU 33H
SHI1 EQU 34H
SHI2 EQU 35H
ORG 00H
START: MOV SECOND,#00H ;准备开始全部清零
MOV MINITUE,#00H
MOV HOUR, #00H
MOV COUNT,#00H
MOV R0,#00H
MOV R1,#00H
MOV R6,#00H
MOV R7,#00H

AA: MOV A,#24H ;显示00
MOV P2,A
MOV A,#3FH
MOV P0,A
LCALL DELAY1

MOV A,#0DBH ;显示--
MOV P2,A
MOV A,#40H
MOV P0,A
LCALL DELAY1

MOV A,P3 ;判断是否开始计数?
JB ACC.0,AA
;LCALL DELAY2
;MOV A,P3
;JB ACC.0,AA

MOV TMOD,#01H ;开始计数
MOV TH0,#(65536-50000) / 256
MOV TL0,#(65536-50000) MOD 256
SETB TR0

DISP:
MOV A,SECOND
MOV B,#10
DIV AB
MOV DPTR,#TABLE ;显示秒数的十位,并存于R0
MOVC A,@A+DPTR
MOV R0,A
MOV P0,A
MOV A,#0FDH
MOV P2,A
LCALL DELAY1
MOV A,B ;显示秒数的个位,并存于R1
MOVC A,@A+DPTR
MOV R1,A
MOV P0,A
MOV A,#0FEH
MOV P2,A
LCALL DELAY1

MOV A,#0DBH ;显示--
MOV P2,A
MOV A,#40H
MOV P0,A
LCALL DELAY1

MOV A,MINITUE
MOV B,#10
DIV AB
MOV DPTR,#TABLE ;显示分数的十位,并存于R2
MOVC A,@A+DPTR
MOV R6,A
MOV P0,A
MOV A,#0EFH
MOV P2,A
LCALL DELAY1
MOV A,B
MOVC A,@A+DPTR ;显示分数的个位,并存于R3
MOV R7,A
MOV P0,A
MOV A,#0F7H
MOV P2,A
LCALL DELAY1

MOV A,#0DBH ;显示--
MOV P2,A
MOV A,#40H
MOV P0,A
LCALL DELAY1

MOV A,HOUR
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR ;显示时数的十位,并存于R4
MOV SHI1,A
MOV P0,A
MOV A,#07FH
MOV P2,A
LCALL DELAY1
MOV A,B
MOVC A,@A+DPTR ;显示时数的个位,并存于R5
MOV SHI2,A
MOV P0,A
MOV A,#0BFH
MOV P2,A
LCALL DELAY1

MOV A,P3 ;判断是否停止计数?
JNB ACC.0,WAIT1
;LCALL DELAY2
;MOV A,P3
;JNB ACC.0,CC
SJMP CC
CC: LJMP FF

WAIT1: JNB TF0,DD
SJMP EE
DD: AJMP DISP
EE: CLR TF0
MOV TH0,#(65536-50000) / 256
MOV TL0,#(65536-50000) MOD 256
INC COUNT
MOV A,COUNT
CJNE A,#20,NEXT1
MOV COUNT,#00H
INC SECOND
MOV A,SECOND
CJNE A,#60,NEXT2
MOV SECOND,#00H
INC MINITUE
MOV A,MINITUE
CJNE A,#60,NEXT2
MOV MINITUE,#00H
INC HOUR
MOV A,HOUR
CJNE A,#24,NEXT2
LJMP START

NEXT2: LJMP DISP
NEXT1: LJMP WAIT1

FF: MOV A,#0FDH ;显示秒数的十位
MOV P2,A
MOV P0,R0
LCALL DELAY1
MOV A,#0FEH ;显示秒数的个位
MOV P2,A
MOV P0,R1
LCALL DELAY1


WW: MOV A,#0DBH ;显示--
MOV P2,A
MOV A,#40H
MOV P0,A
LCALL DELAY1

MOV A,#0EFH ;显示分数的十位
MOV P2,A
MOV P0,R6
LCALL DELAY1
MOV A,#0F7H ;显示分数的个位
MOV P2,A
MOV P0,R7
LCALL DELAY1


UU: MOV A,#0DBH ;显示--
MOV P2,A
MOV A,#40H
MOV P0,A
LCALL DELAY1

MOV A,#07FH ;显示时数的十位
MOV P2,A
MOV P0,SHI1
LCALL DELAY1
MOV A,#0BFH ;显示时数的个位
MOV P2,A
MOV P0,SHI2
LCALL DELAY1

MOV A,P3 ; 判断是否清零?
JB ACC.1,GG
LCALL DELAY2
MOV A,P3
JNB ACC.1,HH
GG: SJMP FF

HH: LJMP START

DELAY1: MOV R2,#10 ;延时5MS
D1: MOV R3,128
DJNZ R3,$
DJNZ R2,D1
RET

DELAY2: MOV R4,#100 ;延时50MS
D2: MOV R5,#128
DJNZ R5,$
DJNZ R4,D2
RET

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END

2007-07-17 20:31
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

语法没错,可能是逻辑有问题


2007-07-17 22:09
longguangren
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-17
收藏
得分:0 

但是用上下拨动的开关可以实现
用轻触的就萎了

2007-07-17 23:12
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

拨动开关是电平触发,轻触是上下沿触发


2007-07-19 18:02
快速回复:为什么呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019403 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved