搜档网
当前位置:搜档网 › 中断与串行通信实验

中断与串行通信实验

电子科技大学中山学院学生实验报告 院别电子信息学院 课程名称微处理器实验 班级09电子科学与技术 姓名保灵童 学号29010201054
实验名称中断与串行通信实验 实验时间2011年11月3日
成绩 教师签名 批改时间 一、实验
原理与目的 一、实验目的和任务 1、学会实验仪用户程序的下载和执行
2、理解单片机的串口通信原理学会单片机串行口的使用
3、学会单片机串行口中断的使用。 二、实验原理介绍
串口通讯实验是单片机和主机之间进行的通讯实验。由于仿真仪系统已经占用了通讯口因
此不能使用仿真系统的监控程序来进行软硬件联合调试只能可以通过软件仿真来排除语法错误
和关键程序段的错误然后直接将程序下载到仿真仪上脱机执行程序具体可参考p17。 二、
实验仪器 1、PC机一台
2、DP-51PRO 单片机综合仿真实验仪一台 三
、实验内容与分析 1、编写一段程序利用单片机的串行口向PC机发送字符串。在下面的原理图中短接JP15就将
单片机的串口通过MAX232和插座连接到主机的串口信号线上了。

图3-2 串口通信连接图
1)编写程序设置目标选项成功通过KEIL系统的编辑、编译和部分程序的动态调试。 https://www.sodocs.net/doc/2b7140913.html,ORG 0000H
LJMP MAIN
ORG 0050H
DB 'WELCOME TO ZSC'
ORG 0100H
MAIN: CLR EA
MOV SP,#60H ;给堆栈指针赋初值
MOV TMOD,#20H ;设置T1 为方式2
MOV TH1,#0FDH ;设置波特率为9600
MOV TL1,#0FDH
MOV SCON,#40H ;设置串口位方式1
MOV PCON,#00H
SETB TR1 ;定时器1 开始计数
MOV R7,#14
MOV DPTR,#0050H
LOOP: MOV A,#00H
MOVC A,@A+DPTR
MOV SBUF,A ;开始发送
JNB TI,$
CLR TI
INC DPTR
DJNZ R7,LOOP
SJMP $
END
2)连接实验仪的串口和主机的串口参照实验二方法将用户程序下载到单片机的FLASH中。
3)运行主机上的DPFLASH点击主菜单上的串口调试器并设置相应的参数波特率为9600字符
数为8位。
4)将MOD-SW1拨到RUN一边按一下复位键程序就开始运行了。观察主机上接收到的字符串。 https://www.sodocs.net/doc/2b7140913.html,
2、编写一段程序接收主机串行口发送来的字符在单片机接收到‘A’的时候返回一个‘T’表示正
确否则返回一个‘F’表示错误。
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: CLR EA
MOV SP,#60H ;给堆栈指针赋初值
MOV TMOD,#20H ;设置T1 为方式2
MOV TH1,#0FDH ;设置波特率为9600
MOV TL1,#0FDH
MOV SCON,#50H ;设置串口位方式1
MOV

PCON,#00H
SETB TR1 ;定时器1 开始计数
SETB TI
LOOP: JNB RI,$
CLR RI
MOV A,SBUF
CJNE A,#'A',FSEND
MOV A,#'T'
AJMP SEND
FSEND: MOV A,#'F'
SEND: JNB TI,$
CLR TI
MOV SBUF,A ;开始发送
SJMP LOOP https://www.sodocs.net/doc/2b7140913.html, END
3、采用串行口中断方式实现实验内容和步骤2的要求。
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP ZRS232
ORG 0100H
MAIN: CLR EA
MOV SP,#60H ;给堆栈指针赋初值
MOV TMOD,#20H ;设置T1 为方式2
MOV TH1,#0FDH ;设置波特率为9600
MOV TL1,#0FDH
MOV SCON,#50H ;设置串口位方式1允许接收
MOV PCON,#00H
SETB ES
SETB TR1 ;定时器1 开始计数
SETB EA
SJMP $
ZRS232: JB RI,ZR
ZT: CLR TI
AJMP ZEND
ZR: CLR RI
MOV A,SBUF
CJNE A,#'A',FSEND
MOV A,#'T'
AJMP SEND
FSEND: MOV A,#'F'
SEND: MOV SBUF,A ;开始发送
JNB TI,$
CLR TI
ZEND: RETI
END https://www.sodocs.net/doc/2b7140913.html, 四、实验心得 这次实验的要求不再是简单的复制已经编好的程序调试就可以了还需要我们进一步
的改进来达到其他的实验目的。在做“编写程序并运行接受主机发来的一串字母大小写兼
有和数字以$结束然后将其中的大写字母变成小写其余不变再回送给主机。”时由于
没有想到实验一中“#14”是表示“WELCOME TO ZSC”有14字符所以没有定义位数造成验证时
出现乱码。
https://www.sodocs.net/doc/2b7140913.html,

相关主题