作者tea1116 (大钧)
看板ASM
标题[问题] 关於测试垂直讯号进入8051的程式
时间Sun Oct 7 00:48:46 2007
现在因为我所要做的专案有需要接收
1.RS232 INTERFACE 的 触控萤幕座标位置资料
这部份有确实接收到,但是位置上有些ERROR,以後再来请教
2.萤幕的VERTICAL 数位讯号
现在问题点在於似乎2的讯号没有进来
所以我写了个测试程式
电路方面我将P0.0当做输入数位讯号的角
输出则由P2.1角外接LED(接+5V,所以CLR灯会亮)
以下是程式
ORG 00H
;=========等待垂直讯号进来,开始做延迟==================
LOOP1:
MOV A,P0 ;等待下一个垂直脉波出现
CJNE A,
#00000001B,LOOP1
CLR P2.1
ACALL DELAY
LOOP2:
MOV A,P0
CJNE A,
#00000001B,LOOP2
SETB P2.1
ACALL DELAY
JMP LOOP1
DELAY: MOV R5,#10 ;DELAY 2u*10*250*200
S1: MOV R6,#250
S2: MOV R7,#200
DJNZ R7,$
DJNZ R6,S2
DJNZ R5,S1
RET
END
请问我这样写是否可以测试确实有讯号进来LED就会亮灭亮灭呢?
因为测试过LED没反应,所以有点怀疑是电路的问题
但程式部份也请版友们帮我检查一下
感谢你们
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.143.121.113
1F:→ tea1116:顺便问一下,P0需不需要特别设定才能当I/O PORT? 10/07 01:56
2F:→ tea1116:应该是说是否需要先写例如SETB P0代表有高电位才开始接收 10/07 02:09
3F:推 DamonF1:我记得51 RESET时就会先将所有的PORT设定为HI 10/08 00:24