单片机原理与应用课程设计单片机与PC机双工通信.docx
- 文档编号:6630414
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:16
- 大小:313.93KB
单片机原理与应用课程设计单片机与PC机双工通信.docx
《单片机原理与应用课程设计单片机与PC机双工通信.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计单片机与PC机双工通信.docx(16页珍藏版)》请在冰豆网上搜索。
单片机原理与应用课程设计单片机与PC机双工通信
等级:
课程设计
课程名称
单片机原理与应用课程设计
课题名称
单片机与PC机双工通信
专业
班级
学号
姓名
指导老师
赵葵银汪超等
2016年03月25日
电气信息学院
课程设计任务书
课题名称
单片机与PC机双工通信
姓名
专业
班级
学号
指导老师
赵葵银
课程设计时间
2016年03月14日-2016年03月25日(3、4周)
教研室意见
意见:
同意审核人:
汪超
一、任务及要求
本课题以MCS-51系列单片机为核心,设计实现MCS51单片机与PC机的双向通信。
(1)PC做接收且显示屏幕显示该值,也可由PC键盘发送数据;调试时可用虚拟终端或串口调试助手实现。
P0口接8个发光二级管显示PC键盘的状态。
(2)MCS51采用4*4键盘(0-F);P2口可接8个发光二极管显示4X4键盘对应状态。
设计要求:
(1)确定系统设计方案;
(2)进行系统的硬件设计;
(3)完成应用程序设计;
(4)应用系统的硬件和软件的调试。
二、进度安排
第一周:
周一:
集中布置课程设计任务和相关事宜,查资料确定系统总体方案。
周二~周三:
完成硬件设计和电路连接
周四~周日:
完成软件设计
第二周:
周一~周三:
程序调试
周四~周五:
设计报告撰写。
周五进行答辩和设计结果检查。
三、参考资料
[1]王迎旭等.单片机原理及及应用[M].2版.机械工业出版社,2012.
[2]胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010.
[3]戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,2010.
目录
第1章设计任务及要求1
1.1课程设计目的1
1.2课程设计要求1
第2章系统方案设计2
2.1矩阵键盘的设计思路2
2.2串行通信的设计思路2
第3章系统硬件电路设计3
第4章系统软件设计5
4.1双工通信设计5
4.2矩阵键盘设计6
第5章系统仿真及调试7
参考文献8
附录A电路仿真图9
附录B汇编程序10
第1章:
设计任务及要求
1.1课程设计目的
本课题以MCS-51系列单片机为核心,设计实现MCS51单片机与PC机的双向通信。
让学生学会使用Keil,Protuce这些软件,加强自身软件设计能力。
1.2课程设计要求
(1)PC做接收且显示屏幕显示该值,也可由PC键盘发送数据;调试时可用虚拟终端或串口调试助手实现。
P0口接8个发光二级管显示PC键盘的状态。
(2)MCS51采用4*4键盘(0-F);P2口可接8个发光二极管显示4X4键盘对应状态。
(3)确定系统设计方案;
(4)进行系统的硬件设计;
(5)完成应用程序设计;
(6)应用系统的硬件和软件的调试。
第2章:
系统方案设计
2.1矩阵键盘的设计思路
根据课题的要求,可以由两个方面来设计。
一个是矩阵式键盘接口,由于采用的是4X4矩阵式键盘,这种键盘以M条I/O线组成行输入口,以N条I/O线组成列输入口,在行列线的每一个交点处设置一个按键,组成一个矩阵。
根据任务要求,可由AT89C51芯片上的键盘(P1)发送数据(由P2显示),所以用P1.0到P1.3组成输入端口,用P1.4到P1.7组成输出端口。
并且采用常见的扫描法来判定有无键被按下以及被按键的位置。
键处理的流程图如图2-1所示:
NO
Y
A=NNH
A=01HH
A=00H
....
图2-1
2.2串行通信的设计思路
MCS-51单片机具有一个可编程的全双工串行I/O口,通过TXD和RXD与外界进行通信,它可以做通用异步接收和发送器(UART),也可以做同步移位寄存器。
现在的PC机上均带有RS-232接口,是在异步串行通信中应用最为广泛的标准总线接口,适合于短距离通信,所以本次设计我们采用RS232接口,它使用的是RS-232逻辑电平,但是由于我们采用的是AT89C51芯片,其输入输出皆为TTL电平,因此PC机与单片机通信时必须进行电平转换。
我们采用MAX232电平转换芯片来实现这一功能。
如图2-2所示:
图2-2
第3章:
系统硬件电路设计
3.1:
RS232总线标准
RS-232采用负逻辑,将-5V到-15V规定为逻辑1,+5V到+15V规定为逻辑0,最高传输速率为19.2Kbit/s,传输距离一般不超过15米。
RS-232采用标准的DB-25连接器,也可采用DB-9连接器,在本次设计中我们采用了DB-9连接器,其引脚功能如下表3-1.1,模型如图3-1.2:
表3-1.1:
引脚编号
1
2
3
4
5
6
7
8
9
功能符号
DCD
RXD
TXD
DTR
GND
DSR
RTS
CTS
RI
功能说明
数据载波检测
接收数据
发送数据
数据终端准备就绪
信号地
数据通信建立就绪
请求发送
允许发送
振铃指示
图3-1.2
3.2:
MAX232电平转换芯片
MAX232电平转换芯片是美信(MAXIM)公司生产的具有两路接收器和驱动器的IC芯片,其内部有一个电源电压变换器,可以将输入的+5V电压变成RS-232输出电平需要的+/-12V电压。
在其内部也可以完成TTL信号电平和RS-232信号电平的转换。
所以,采用此芯片实现接口电路只需单一的+5V电源就可以。
MAX232芯片组成框图如图3-2.1所示。
MAX232引脚如图3-2.2所示,其管脚1-6用于电源电压转换,只要在其内部接入响应电解电容即可,管脚7-10和11-14组成两组TTL信号电平与RS-232信号电平的转换电路,对应管脚可以直接与单片机串行口的TTL电平引脚和RS-232引脚相连接。
图3-2.1
图3-2.2
第4章:
系统软件设计
4.1:
双工通信原理:
AT89C51串行口主要由2个数据缓冲器(SBUF),发送控制器,接收控制器,发送端口,接收端口等组成。
串行口的工作方式和波特率由专用寄存器SCON和PCON控制。
本次设计我们采用了工作方式1,波特率为2400,以便实现点对点的异步通信。
发送时,只需要执行一条“MOVA,SBUF”指令,就启动了发送功能,累加器A中的数据就会按事先设置的方式和波特率从TXD端口串行输出。
一帧数据发送完毕,则发送中断标志T1=1,串行口向CPU请求中断。
此时让T1=0,就可以发送下一帧数据。
接收时,让SCON中的接收允许控制位REN=1,AT89C51就以16倍波特率的速率检测RXD上的信号,检测时采取3中取二的原则,即当联系检测3次RXD,出现2次以上0到1的负跳变时,就启动控制器接收数据,一帧数据接收完毕,接收中断标志位R1=1,串行口向CPU请求中断。
此时需要执行一条“MOVA,SBUF”指令,就可以将数据读入累加器中。
有关双工通信的汇编程序如下:
ORG00H
JMPSTART
START:
MOVSP,#60H;设置堆栈
MOVSCON,#50H;UART工作在方式1,SM1=1,REN=1
MOVTMOD,#20H;T1工作在方式2
MOVTH1,#0F3H;波特率为2400
MOVTL1,#0F3H
SETBTR1;启动T1
SCAN0:
MOVR3,#0F7H;行扫描初值
SCAN:
JBRI,UART;检测SCON的RI是否为1?
是则表示收到
MOVR1,#00H;TABLE取码指针
SCAN1:
MOVA,R3;扫描输出
MOVP1,A
MOVA,P1
MOVR4,A
SETBC
MOVR5,#04H;4列
UART:
MOVA,SBUF;将SBUF的值载入ACC
CPLA;显示至P0
MOVP0,A
CLRRI;清除RI=0
JMPSCAN
4.2:
有关矩阵键盘的汇编程序如下:
L1:
RLCA;检测有按键否?
JNCKEYIN
INCR1;指针码加1
DJNZR5,L1
MOVA,R3;扫描下一行
SETBC
RRCA
MOVR3,A
JCSCAN1;4行是否扫描完毕
JMPSCAN0
KEYIN:
MOVR7,#10;消除抖动
D2:
MOVR6,#248
DJNZR6,$
DJNZR7,D2
D3:
MOVA,P1;按键放开否?
XRLA,R4
JZD3
MOVA,R1;至TABLE取码
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVSBUF,A;载入SBUF发送出去
CPLA
MOVP2,A
JMPSCAN0
TABLE:
DB01H,02H,03H,04H
DB05H,06H,07H,08H
DB09H,0AH,0BH,0CH
DB0DH,0EH,0FH,00H
END
第五章:
系统仿真及调试
本次系统设计的仿真平台选择了Protuce,整个系统由芯片AT89C51,虚拟终端,16个发光二极管,4X4键盘,RS-232,MAX232芯片构成。
如图5-1所示系统初始化状态:
图5-1
如图5-2所示,按下矩阵键盘数字7后:
图5-2
如图5-3所示,在虚拟终端上输入字母A:
图5-3
参考文献
[1]王迎旭等.单片机原理及及应用[M].2版.机械工业出版社,2012。
[2]胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010。
[3]戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,2010。
附录A:
电路仿真图
附录B:
汇编程序
ORG00H
JMPSTART
START:
MOVSP,#60H;设置堆栈
MOVSCON,#50H;UART工作在方式1,SM1=1,REN=1
MOVTMOD,#20H;T1工作在方式2
MOVTH1,#0F3H;波特率为2400
MOVTL1,#0F3H
SETBTR1;启动T1
SCAN0:
MOVR3,#0F7H;行扫描初值
SCAN:
JBRI,UART;检测SCON的RI是否为1?
是则表示收到
MOVR1,#00H;TABLE取码指针
SCAN1:
MOVA,R3;扫描输出
MOVP1,A
MOVA,P1
MOVR4,A
SETBC
MOVR5,#04H;4列
L1:
RLCA;检测有按键否?
JNCKEYIN
INCR1;指针码加1
DJNZR5,L1
MOVA,R3;扫描下一行
SETBC
RRCA
MOVR3,A
JCSCAN1;4行是否扫描完毕
JMPSCAN0
KEYIN:
MOVR7,#10;消除抖动
D2:
MOVR6,#248
DJNZR6,$
DJNZR7,D2
D3:
MOVA,P1;按键放开否?
XRLA,R4
JZD3
MOVA,R1;至TABLE取码
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVSBUF,A;载入SBUF发送出去
CPLA
MOVP2,A
JMPSCAN0
UART:
MOVA,SBUF;将SBUF的值载入ACC
CPLA;显示至P0
MOVP0,A
CLRRI;清除RI=0
JMPSCAN
TABLE:
DB01H,02H,03H,04H
DB05H,06H,07H,08H
DB09H,0AH,0BH,0CH
DB0DH,0EH,0FH,00H
END
电气信息学院课程设计评分标准
环节
项目
评价
优
良
中
及格
不及格
实践环节(70%)
1、设计方案合理性与创造性
2、开发板焊接及其调试完成情况
3、硬件设计或软件编程完成情况
4、硬件测试或软件调试结果*
5、解决问题能力及答辩情况
6、纪律和出勤情况
设计报告(30%)
1、设计报告内容完整、规范,
2、图纸正确、清晰,
3、设计步骤规范、正确,
4、设计结果可行
综合评价
课程设计成绩评定为:
□优□良□中□及格□不及格
指导老师签名:
________________
日期:
________________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 课程设计 PC 双工 通信