


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一个用于单片机和上位机通讯的简单程序,程序中采用2400波特率,11.0592M晶振,8位,无校验。程序采用了简单的握手协议也就说当PC机通讯软件发小写字母j的时候,单片机再回应字符串jLQGk给上位机。你可采用串口调试助手配合完成你的实验,也可以采用proteus软件中的虚拟终端进行仿真调试,后者很方便。晶振12M时波特率因子为F3H,11.0592M时定时因子为F4H,均可正常通讯。 ORG 0000H SJMP MAIN&
2、#160; ;转主程序 ORG 0023H AJMP SINTER ;串行中断 ORG 0030HMAIN: NOP
3、160; NOPRESET: MOV SP,#60H MOV SCON,#50H ;8位UART,串行通道工作方式1,REN=1,允许接收 MOV PCON,#0 ;波特率不加倍,RB8=TB8=RI=TI=0 MO
4、V TMOD,#21H ;T1方式2(波特率发生器) MOV TH1,#0F3H MOV TL1,#0F3H ;波特率=2400(+0.16%) SETB ET0 ;T0开中断
5、160; SETB TR0 ;T0运行 CLR ET1 ;禁止定时器溢出中断 SETB TR1 &
6、#160; ;启动定时器T1 SETB PS ;串行通讯中断优先级为高 SETB ES ;开串行通讯中断 S
7、ETB EA ;开总中断 SJMP $;-SINTER: NOP NOP CLR ES
8、; PUSH ACC PUSH PSW CLR PSW.4 SETB PSW.3 JNB RI,$
9、; CLR RIRVDATA: MOV A,SBUF CJNE A,#'j',LEND ;0握手字节j,否则退出 MOV A, #'j'
10、 ;1发送准备信号'j' CALL SBYTE MOV 30H,#'L' MOV 31H,#'Q'
11、; MOV 32H,#'G'1 / 3 MOV R1,#3 MOV R0,#30HSENDLOOP:MOV A,R0 CALL SBYTE ;2发送数据块3字节
12、160; INC R0 DJNZ R1,SENDLOOP MOV A,#'k' ;3发结束标志'k' CALL
13、SBYTELEND: NOP NOP POP PSW POP ACC SETB ES NOP NOP RETI;-SBYTE: NOP NOP MOV SBUF,A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论