标题: 求助一下关于串口方式1的问题 [打印本页]

作者: situhaoda    时间: 2014-12-15 21:50
标题: 求助一下关于串口方式1的问题
我做了一个简单的由一个 单片机向另一个单片机传递数据,另外一个单片机驱动共阴极7段LED码的简单程序,但是不知道为什么总是运行不了。
求大神给解答一下,不胜感激。
我不明白的是方式 1用了定时计数器1,而且还用了串口中断,它就存在了两个中断源,这到底是怎么一回事啊。
发送机
ORG 0000H
          AJMP MAIN
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH   
MAIN :MOV R0,#10
          MOV R1,#0
      MOV TMOD,#20H
          MOV TH1,#0E8H
          MOV TL1,#0E8H
          SETB TR1      
      MOV SCON,#50H
          SETB EA
          SETB ES
          
          MOV DPTR,#TABLE
LOOP :MOV A,R1
          MOVC A,@A+DPTR
          MOV SBUF,A
          JNB TI,$
          INC R1
          CLR TI
          DJNZ R0,LOOP
          
      END
接收机
                  ORG 0000H
          AJMP MAIN
          ORG 0023H
          AJMP ZD
ZD   :CLR RI
          MOV A,SBUF
          MOV @R0,A
          INC R0
          DEC R1
          RETI          

DELAY:MOV R7,#20
DEL1 :MOV R6,#200
DEL2 :MOV R5,#123
      NOP
          DJNZ R5,$
          DJNZ R6,DEL2
          DJNZ R7,DEL1
          RET

MAIN :MOV R1,#10
          MOV R0,#40H
      MOV TMOD,#20H
          MOV TH1,#0E8H
          MOV TL1,#0E8H
          SETB TR1      
      MOV SCON,#50H
          SETB EA
          SETB ES
          CJNE R1,#0,$

      MOV R1,#10
          MOV R0,#40H
XH   :MOVX A,@R0
      MOV P0,A
          ACALL DELAY
          INC R0
          DJNZ R1,XH
          END      



作者: mqwu    时间: 2014-12-16 11:54
现在能看懂汇编的人越来越少了, 学汇编主要是了解算法,有时候在C里面会插入一些, 像你这样整段函数用汇编的我们没法理解, 也无从修改。能用C再写一下吗
作者: situhaoda    时间: 2014-12-16 14:06
mqwu 发表于 2014-12-16 11:54
现在能看懂汇编的人越来越少了, 学汇编主要是了解算法,有时候在C里面会插入一些, 像你这样整段函数用汇 ...

感谢你了,我决定从现在开始学习C语言,能不能解答一下我理论方面的问题,如果说串口1要用定时器1的话,那不就有两个中断源了么,很不理解
作者: mqwu    时间: 2014-12-16 17:34
定时器1 用的是模式2自动重装,用来定义串口通信波特率的值; 不是中断源;若串口通信用中断的话,在51单片机 也就是中断4了。
作者: situhaoda    时间: 2014-12-16 22:16
mqwu 发表于 2014-12-16 17:34
定时器1 用的是模式2自动重装,用来定义串口通信波特率的值; 不是中断源;若串口通信用中断的话,在51单片 ...

首先谢谢您,我还是有些不懂在与定时器1应用模式2产生了TF1 置1,这个1怎么去处理,不管么???
作者: mqwu    时间: 2014-12-17 08:11
当TL1溢出后, TH1自动付给TL1初始值, 这就是所谓的自动重装模式, 也没有你说的溢出标志位TF1,因此也无需你软件清零。就是不管它。
作者: 菜鸟一个666    时间: 2014-12-17 15:48
心有余而力不足啊,用C语言的话还差不多
作者: 来自火星的蜗牛    时间: 2014-12-17 22:01
看见汇编都头大了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1