標(biāo)題: VB與單片機(jī)通訊中的奇怪問題 [打印本頁]

作者: lyz8421    時(shí)間: 2009-4-25 08:27
標(biāo)題: VB與單片機(jī)通訊中的奇怪問題
 

我做了一個(gè)VB與單片機(jī)通訊的程序,主機(jī)是微機(jī),從機(jī)單片機(jī)使用AT89C52,從機(jī)ID號(hào)=01h或者02h時(shí)通訊正常,主機(jī)叫號(hào)時(shí)單片機(jī)向微機(jī)發(fā)送從機(jī)ID號(hào)。當(dāng)從機(jī)ID號(hào)=31h時(shí),主機(jī)叫號(hào)時(shí)單片機(jī)不發(fā)送從機(jī)ID號(hào)。調(diào)試程序使用串口精靈,軟仿真沒有發(fā)現(xiàn)問題,缺少仿真器不能進(jìn)行仿真不知道問題在那里。因?yàn)楸救耸且粋(gè)養(yǎng)牛農(nóng)民,水平太低,向各位老師請教!程序如下:主意紅色部分。本人郵箱:lyz8421@163.com

jh          EQU  01h    ;從機(jī)ID號(hào)=01H,通訊正常收到從機(jī)號(hào)

jh          EQU  31h     ;從機(jī)ID號(hào)=31H,接收不到從機(jī)號(hào)

       org         0000h

       sjmp              main     ;轉(zhuǎn)主程序 

       org         0023h    ;中斷入口地址

       ljmp        sm       ; 轉(zhuǎn)收碼程序

       org         0030h    ; 

main:

setb        p1.0     ;準(zhǔn)備接收數(shù)據(jù)  

     mov        th1,#0fdh

     mov        tl1,#0fdh   ;9.6k po

     mov        scon,#0f0h  ;方式1=50h,方式3=f0h

     mov        pcon, #00h

       mov       ie,#82h

     setb        tr1

       setb        ea

wait:       sjmp              wait



  ;中斷通訊程序子程序     

sm:  push              psw

       push              acc

       clr          es        ;關(guān)串口中斷 

    clr          ri

       mov        a,  sbuf      ;接收第一個(gè)數(shù)據(jù)(叫號(hào))

     xrl          a,  #jh   ;異或,和本機(jī)號(hào)比較*

     jnz          return    ;不是本機(jī)號(hào),則退出          

    clr          p1.0      ;485工作時(shí)p1.0為1發(fā)送,為0接收    

     mov        a,#jh      ;發(fā)送本機(jī)編號(hào)

     mov        sbuf, a

    .

       .

       .

return:                   ;結(jié)束中斷

       end






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1