冲床厂家
免费服务热线

Free service

hotline

010-00000000
冲床厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

串口通信的单片机程序

发布时间:2020-06-30 15:58:13 阅读: 来源:冲床厂家

beepbitp3.7;蜂鸣器定义

org00hjmpmainorg23h;串行中断入口地址jmpcom_int;串行中断服务程序;***********主程序开始*******************org30hmain:movsp,#30h;设置堆栈lcallrest;初始化lcallcomm;串口初始化jmp$;原地等待;*************初始化*********************rest:movp0,#00h;禁止数码管显示movp2,#255clrbeep;禁止蜂鸣器movp1,#255;禁止LED显示RET;返回;**************串口初始化*****************;设置串行口工作方式1,定时器1作为波特率发生器;波特率设置为2400;comm:movtmod,#20h;设置定时器T1工作方式2movtl1,#0f3h;定时器计数初值,波特率2400movth1,#0f3h;定时器重装值setbea;允许总的中断setbes;允许串行中断movpcon,#00h;波特率不倍增movscon,#50h;设置串口工作方式1,REN=1允许接收setbtr1;定时器开始工作ret;返回;***************串口中断服务程序***********;如果接收0FF表示上位机需要联机信号,单片机发送0FFH作为;应答信号,如果接收到数字1~n,表示相应的功能;;这里,如果收到1,则单片机向计算机发送字符'H';;如果收到2,则单片机向计算机发送字符'e';;如果收到其他的数据,则发送'J';com_int:clres;禁止串行中断clrri;清除接收标志位mova,sbuf;从缓冲区取出数据movp1,amovdptr,#tabcjnea,#0ffh,in_1;检查数据movsbuf,#255;收到联机信号,发送联机信号jnbti,$;等待发送完毕clrti;清除发送标志setbes;允许串行中断reti;中断返回in_1:cjnea,#1H,in_2;如果收到1movca,@a+dptrmovsbuf,a;发送'h'jnbti,$;等待发送完毕clrti;清除发送中断标志setbes;允许串行中断reti;中断返回in_2:cjnea,#2,in_3;接收到2movca,@a+dptrmovsbuf,a;发送'e'jnbti,$;等待发送完毕clrti;清除发送中断setbes;允许串行中断reti;中断返回in_3:mova,#03hmovca,@a+dptrmovsbuf,a;发送'j'jnbti,$;等待发送完毕clrti;清除发送中断标志setbes;允许串行中断reti;返回tab:db'2','h','e','j'end

蜂鸣器相关文章:蜂鸣器原理

服装订做

山东防静电工服定做

内蒙古定制防静电工服

东营职业装