找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6168|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

VB與單片機(jī)通訊中的奇怪問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:11790 發(fā)表于 2009-4-25 08:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 

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

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

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

       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      ;接收第一個數(shù)據(jù)(叫號)

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

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

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

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

     mov        sbuf, a

    .

       .

       .

return:                   ;結(jié)束中斷

       end

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表