单片机原理与应用课程设计单片机与PC机双工通信.docx

上传人:b****6 文档编号:6630414 上传时间:2023-01-08 格式:DOCX 页数:16 大小:313.93KB
下载 相关 举报
单片机原理与应用课程设计单片机与PC机双工通信.docx_第1页
第1页 / 共16页
单片机原理与应用课程设计单片机与PC机双工通信.docx_第2页
第2页 / 共16页
单片机原理与应用课程设计单片机与PC机双工通信.docx_第3页
第3页 / 共16页
单片机原理与应用课程设计单片机与PC机双工通信.docx_第4页
第4页 / 共16页
单片机原理与应用课程设计单片机与PC机双工通信.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

单片机原理与应用课程设计单片机与PC机双工通信.docx

《单片机原理与应用课程设计单片机与PC机双工通信.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计单片机与PC机双工通信.docx(16页珍藏版)》请在冰豆网上搜索。

单片机原理与应用课程设计单片机与PC机双工通信.docx

单片机原理与应用课程设计单片机与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、设计结果可行

综合评价

 

课程设计成绩评定为:

□优□良□中□及格□不及格

 

指导老师签名:

________________

日期:

________________

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1