IT人
相关图书

帮我看看怎么回事

所属分类:硬件/嵌入开发 单片机/工控
-----------------------------------------

我想实现的功能
(1)P1.1如果是低电平就通过串口向PC机发一个11H
(2)如果T1上6个跳变就把TL1通过串口传到PC上
现在不好用
请高手指点
ORG 0000H
AJMP START
ORG 001BH
AJMP TIMER1
ORG 0023H
AJMP SERIAL
ORG 30H 
START:
MOV SP,#5FH
MOV TMOD,#01010000B;定时计数器1作计数用,1。0不用全置0
MOV PCON,#80H
MOV TH1,#0FDH
MOV SCON,#50H
;预置值,要求每计到6个脉冲即为一个事件
MOV TH1,#0FFH
MOV TL1,#0FAH
SETB REN
SETB TR1
SETB EA
SETB ET1
SETB ES
GG:JNB P1.1,COMMFS
AJMP GG 
COMMFS:
MOV A,#011H
MOV SBUF,A
LCALL DELAY
JBC TI,GG;如果TI等于1则清TI并转GG
SERIAL:
MOV A,SBUF
MOV P2,A
CLR RI
RETI
TIMER1:
MOV A,TL1
MOV SBUF,A
LCALL DELAY
CLR RI
RETI
;延时子程序
DELAY:
MOV R7,#0FFH
DJNZ R7,$
RET
END


----------------------------------------------------------------------

TIMER1:
MOV A,TL1
MOV SBUF,A
LCALL DELAY
CLR RI
RETI

除了在这没有重置一下那个计数值外
其它的都挺好的...


思路也就这样...
还有这个问题:
(2)如果T1上6个跳变就把TL1通过串口传到PC上

产生6个跳变从你的预置值后反正不都是00吗?
不如直接送00呢,呵呵


--------------------------------------------------------

如然厉害 多谢了 
小弟初学 还有几个我认为是问题的问题 别笑我
(1)我现在做的计数器,硬件是在串口通信程序成功的基础上,是不是不用什么别的设备了.?
(2)我在T1脚上接出来个线,去点地线,点六下是不是就能产生中断,是传00?
(3)我在P1.1上接出来个线,去点地线是不是就能传上来个11H?

但现在我用P1.1去点地线串口没有返应.是什么原因哪?
还请别烦,赐教


--------------------------------------------------------

(1)我现在做的计数器,硬件是在串口通信程序成功的基础上,是不是不用什么别的设备了.?

具体用不用别的什么设备,这得看你的具体应用了,比如产品线上的出货计数,那你就得找些东西来检测这个计数,嘿嘿,比如说光传感器,正常的时候打一束光到传感器上,过来一个物品挡住,这时候就能有一个信号(具体怎么处理自己设计吧)这时候计一下数,等等



--------------------------------------------------------

(2)我在T1脚上接出来个线,去点地线,点六下是不是就能产生中断,是传00?

具体的看看了,例如,有干扰什么的,这个麻烦,嘿嘿


--------------------------------------------------------

郁闷,你的波特率不对,你定时器用作波特率发生器后就不能用作计数器了

嘿嘿

用T0吧...



--------------------------------------------------------

那不完了,没有没办法整一整,再次谢过.

--------------------------------------------------------

帮我改一下 在线等
相关问题
    Copyright ◎ 1998 - 2007 编程资料网 All Rights Reserved