• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 串口通信的單片機(jī)程序

    串口通信的單片機(jī)程序

    作者: 時(shí)間:2013-12-04 來源:網(wǎng)絡(luò) 收藏

    beepbitp3.7;蜂鳴器定義

    org00h
    jmpmain
    org23h;串行中斷入口地址
    jmpcom_int;串行中斷服務(wù)程序

    ;***********主程序開始*******************
    org30h
    main:movsp,#30h;設(shè)置
    lcallrest;初始化
    lcallcomm;串口初始化
    jmp$;原地等待

    ;*************初始化*********************
    rest:movp0,#00h;禁止數(shù)碼管顯示
    movp2,#255
    clrbeep;禁止蜂鳴器
    movp1,#255;禁止LED顯示
    RET;返回

    ;**************串口初始化*****************
    ;設(shè)置串行口工作方式1,定時(shí)器1作為波特率發(fā)生器
    ;波特率設(shè)置為2400;

    comm:movtmod,#20h;設(shè)置定時(shí)器T1工作方式2
    movtl1,#0f3h;定時(shí)器計(jì)數(shù)初值,波特率2400
    movth1,#0f3h;定時(shí)器重裝值
    setbea;允許總的中斷
    setbes;允許串行中斷
    movpcon,#00h;波特率不倍增
    movscon,#50h;設(shè)置串口工作方式1,REN=1允許接收
    setbtr1;定時(shí)器開始工作
    ret;返回
    ;***************串口中斷服務(wù)程序***********
    ;如果接收0FF表示上位機(jī)需要聯(lián)機(jī)信號(hào),單片機(jī)發(fā)送0FFH作為
    ;應(yīng)答信號(hào),如果接收到數(shù)字1~n,表示相應(yīng)的功能;
    ;這里,如果收到1,則單片機(jī)向計(jì)算機(jī)發(fā)送字符'H';
    ;如果收到2,則單片機(jī)向計(jì)算機(jī)發(fā)送字符'e';
    ;如果收到其他的數(shù)據(jù),則發(fā)送'J';
    com_int:clres;禁止串行中斷
    clrri;清除接收標(biāo)志位
    mova,sbuf;從緩沖區(qū)取出數(shù)據(jù)
    movp1,a
    movdptr,#tab
    cjnea,#0ffh,in_1;檢查數(shù)據(jù)
    movsbuf,#255;收到聯(lián)機(jī)信號(hào),發(fā)送聯(lián)機(jī)信號(hào)
    jnbti,$;等待發(fā)送完畢
    clrti;清除發(fā)送標(biāo)志
    setbes;允許串行中斷
    reti;中斷返回
    in_1:cjnea,#1H,in_2;如果收到1
    movca,@a+dptr
    movsbuf,a;發(fā)送'h'
    jnbti,$;等待發(fā)送完畢
    clrti;清除發(fā)送中斷標(biāo)志
    setbes;允許串行中斷
    reti;中斷返回
    in_2:cjnea,#2,in_3;接收到2
    movca,@a+dptr
    movsbuf,a;發(fā)送'e'
    jnbti,$;等待發(fā)送完畢
    clrti;清除發(fā)送中斷
    setbes;允許串行中斷
    reti;中斷返回
    in_3:mova,#03h
    movca,@a+dptr
    movsbuf,a;發(fā)送'j'
    jnbti,$;等待發(fā)送完畢
    clrti;清除發(fā)送中斷標(biāo)志
    setbes;允許串行中斷
    reti;返回
    tab:db'2','h','e','j'
    end

    蜂鳴器相關(guān)文章:蜂鳴器原理


    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 开封县| 威远县| 乾安县| 来安县| 和政县| 山东省| 潼南县| 石屏县| 秦安县| 子长县| 凤冈县| 百色市| 长阳| 天峻县| 汶上县| 和静县| 远安县| 民权县| 海兴县| 安远县| 梁平县| 泾源县| 岱山县| 密山市| 新余市| 莲花县| 屯留县| 锦州市| 阿拉善左旗| 共和县| 白朗县| 慈溪市| 治多县| 保靖县| 新平| 万山特区| 丰原市| 关岭| 渭源县| 虎林市| 舟曲县|