单片机实验四 串行口实验.doc

单片机实验四 串行口实验.doc

ID:57731063

大小:60.00 KB

页数:7页

时间:2020-09-02

单片机实验四 串行口实验.doc_第1页
单片机实验四 串行口实验.doc_第2页
单片机实验四 串行口实验.doc_第3页
单片机实验四 串行口实验.doc_第4页
单片机实验四 串行口实验.doc_第5页
资源描述:

《单片机实验四 串行口实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、评阅单片机实验报告四姓名学号时间2013.12地点B526实验题目实验四串行口实验一、实验目的1.学习MCS-51串行口的工作原理及使用方法。2.学习MCS-51串行口的初始化程序、应用程序的编写和调试。二、实验说明本实验1单片机通过检测开关,将开关编号存入内部数据存储器并在LED数码管上显示,同时记录开关动作的总次数存入工作寄存器,然后通过本机的串口发送和接收开关编号。实验2通过单片机的串行口进行双机通信,由甲机将开关编号和开关动作的总次数发往乙机。通过本实验学生可以掌握单片机串口的工作原理及使用方法以及串口的初始化程序、应用程序的编写和调试。三、实验

2、内容1、P1.0--P1.7作输入口接拨动开关S0--S7,每当有开关动作(低电平)时,1)将开关编号(0—7)存入内部数据存储器,要求存入的开关编号数据不少于10个,存储空间自定;2)采用工作寄存器记录开关动作总次数;3)通过本机的TXD和RXD进行串行通信,发送开关编号,接收的数据存入另一内部数据存储器,存储空间自定(不能重叠),要求采用方式1,波特率为4800b/s,fosc=11.0592MHz;4)将接收到的数据显示在LED数码管。编写初始化程序和中断服务程序,在实验板上调试通过。2、双机通信:1)甲机P1.0--P1.7作输入口接拨动开关S0

3、--S7,每当有开关动作(低电平)A、将开关编号(0—7)存入内部数据存储器,开关编号数据显示在LED数码管上。B、采用工作寄存器记录开关动作总次数,数据以二进制形式显示在LED上。C、通过本机的TXD发送开关编号及开关动作总次数,要求采用方式3,奇校验,波特率为2400b/s,fosc=11.0592MHz;2)乙机通过本机的RXD接收甲机发送的开关编号及开关动作总次数数据,要求采用方式3,奇校验,波特率为2400b/s,fosc=11.0592MHz;将接收到的开关编号数据显示在LED数码管,开关动作总次数数据以二进制形式显示在LED上。编写初始化程

4、序和中断服务程序,在实验板上调试通过。将接收和发送互换,将波特率改为9600b/s,完成上述双机通信任务。四、实验步骤1.事先写好程序,在WAVE软件上编译仿真通过后,下载到硬件上进行调试。将单片机的P2口与数码管连接以显示编号,将P1.0——P1.7分别通过开关控制高低电平。将串行口输入P3.0与输出3.1接在一起,实现本机向自身传送数据。读P1口状态当前P1口状态与之前P1口比较将P1口值存入内部RAM初始化N是否一样Y是否产生中断判断是输出中断还是输入中断执行输出中断服务程序若为输出中断若为输出中断执行输入中断服务程序Y中断返回2.将P1.0—P1

5、.7与拨动开关连接以控制高低电平,P0.0--P0.7接发光二极管,P2口与数码管相连,甲机的串口输出P3.1接到乙机的串口输入P3.0,将甲机的GND与乙机的GND接在一起实现双击共地。五、实验程序流程框图、实验程序1、第一个实验的程序与框图如下:ORG0000HLJMPMAINORG0023HLJMPSINTORG0100HMAIN:MOVSP,#60H;各寄存器初始化MOVTMOD,#20H;T1工作方式二MOVTH1,#0FAH;设置波特率MOVTL1,#0FAHMOVSCON,#50H;工作方式1SETBEASETBTR1;启动T1CLRET1

6、CLRTB8SETBPT1CLRPSSETBESMOVR6,#00H;记录开关总次数MOVR0,#30H;地址MOVR1,#50HMOVSBUF,#FFHLP2:MOVA,P1;读P1口状态CJNEA,#0FFH,LP1;有键按下则跳置LP1SJMPLP2;无键按下则跳回LP2,等待按键LP1:INCR0;R0加一MOV@R0,P1;读入P1到地址@R0INCR6;R6自加一,记录开关次数LP3:MOVA,P1XRLA,@R0;比较当前P1口与以前P1口的状态,如果CJNEA,#00H,LP2一样,则继续循环,反之跳出循环,SJMPLP3重新读取P1口S

7、INT:JNBTI,IT;由于串口的输入与输出都能产生串口中断,CLRTI因此应先判定是哪个引起的中断MOVSBUF,P1;发送LJMPLAST;中断返回IT:CLRRIMOVA,SBUFMOV@R1,AINCR1CJNEA,#0FFH,LC;如果开关没有动作,LED数码管不显示MOVP2,#00HLJMPLAST初始化读取P1口状态将P1口状态存入内部RAM当前P1口状态与之前比较Y动作次数加1N是否产生中断执行中断服务程序Y返回N是否一样?LC:LCALLSHULAST:RETI;中断返回SHU:MOVR7,#00H;数码管显示子程序XUN:RRCA

8、JCL1MOVA,R7MOVDPTR,#TABMOVCA,@A+DPTR;查表M

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。