1、单片机原理与应用课程设计单片机与PC机双工通信等级:课 程 设 计课程名称单片机原理与应用课程设计课题名称单片机与PC机双工通信专 业班 级学 号姓 名指导老师赵葵银 汪超等2016年03月25日电气信息学院课程设计任务书课题名称单片机与PC机双工通信姓 名专业班级学号指导老师赵葵银课程设计时间2016年03月14日-2016年03月25日(3、4周)教研室意见意见:同意 审核人:汪超一、任务及要求本课题以MCS-51系列单片机为核心,设计实现MCS51单片机与PC机的双向通信。(1)PC做接收且显示屏幕显示该值,也可由PC键盘发送数据;调试时可用虚拟终端或串口调试助手实现。P0口接8个发光二
2、级管显示PC键盘的状态。(2) MCS51采用4*4键盘(0-F);P2口可接8个发光二极管显示4X4键盘对应状态。设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4)应用系统的硬件和软件的调试。二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。周二周三:完成硬件设计和电路连接周四周日:完成软件设计第二周:周一周三:程序调试周四周五:设计报告撰写。周五进行答辩和设计结果检查。三、参考资料1 王迎旭等.单片机原理及及应用M. 2版.机械工业出版社,2012.2 胡汉才.单片机原理及其接口技术M.3版.清华大学出版社,2010.
3、3 戴灿金.51单片机及其C语言程序设计开发实例M.清华大学出版社,2010.目 录第1章 设计任务及要求 11.1课程设计目的 11.2 课程设计要求 1第2章 系统方案设计 22.1 矩阵键盘的设计思路 22.2 串行通信的设计思路 2第3章 系统硬件电路设计 3第4章 系统软件设计 54.1 双工通信设计 54.2 矩阵键盘设计 6第5章 系统仿真及调试 7参考文献 8附录A 电路仿真图 9附录B 汇编程序 10第1章:设计任务及要求1.1课程设计目的 本课题以MCS-51系列单片机为核心,设计实现MCS51单片机与PC机的双向通信。让学生学会使用Keil,Protuce这些软件,加强自
4、身软件设计能力。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线组成列输入口,在行列线的每一个交点处设置
5、一个按键,组成一个矩阵。根据任务要求,可由AT89C51芯片上的键盘(P1)发送数据(由P2显示),所以用P1.0到P1.3组成输入端口,用P1.4到P1.7组成输出端口。并且采用常见的扫描法来判定有无键被按下以及被按键的位置。键处理的流程图如图2-1所示:NOYA=NNHA=01HHA=00H.图2-12.2串行通信的设计思路MCS-51单片机具有一个可编程的全双工串行I/O口,通过TXD和RXD与外界进行通信,它可以做通用异步接收和发送器(UART),也可以做同步移位寄存器。现在的PC机上均带有RS-232接口,是在异步串行通信中应用最为广泛的标准总线接口,适合于短距离通信,所以本次设计我
6、们采用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:
7、引脚编号123456789功能符号DCDRXDTXDDTRGNDDSRRTSCTSRI功能说明数据载波检测接收数据发送数据数据终端准备就绪信号地数据通信建立就绪请求发送允许发送振铃指示 图3-1.23.2:MAX232电平转换芯片 MAX232电平转换芯片是美信(MAXIM)公司生产的具有两路接收器和驱动器的IC芯片,其内部有一个电源电压变换器,可以将输入的+5V电压变成RS-232输出电平需要的+/-12V电压。在其内部也可以完成TTL信号电平和RS-232信号电平的转换。所以,采用此芯片实现接口电路只需单一的+5V电源就可以。MAX232芯片组成框图如图3-2.1所示。MAX232引脚如图
8、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,以便实现点对点的异步通信。 发送时,只需要执行一条“MOV A,SBUF”指令,就启
9、动了发送功能,累加器A中的数据就会按事先设置的方式和波特率从TXD端口串行输出。一帧数据发送完毕,则发送中断标志T1=1,串行口向CPU请求中断。此时让T1=0,就可以发送下一帧数据。 接收时,让SCON中的接收允许控制位REN=1,AT89C51就以16倍波特率的速率检测RXD上的信号,检测时采取3中取二的原则,即当联系检测3次RXD,出现2次以上0到1的负跳变时,就启动控制器接收数据,一帧数据接收完毕,接收中断标志位R1=1,串行口向CPU请求中断。此时需要执行一条“MOV A,SBUF”指令,就可以将数据读入累加器中。 有关双工通信的汇编程序如下: ORG 00H JMP START S
10、TART: MOV SP,#60H ;设置堆栈 MOV SCON,#50H ;UART工作在方式1,SM1=1,REN=1 MOV TMOD,#20H ;T1工作在方式2 MOV TH1,#0F3H ;波特率为2400 MOV TL1,#0F3H SETB TR1 ;启动T1 SCAN0: MOV R3,#0F7H ;行扫描初值 SCAN: JB RI,UART ;检测SCON的RI是否为1?是则表示收到 MOV R1,#00H ;TABLE取码指针 SCAN1: MOV A,R3 ;扫描输出 MOV P1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04H ;4列
11、UART: MOV A,SBUF ;将SBUF的值载入ACC CPL A ;显示至P0 MOV P0,A CLR RI ;清除RI=0 JMP SCAN 4.2:有关矩阵键盘的汇编程序如下: L1: RLC A ;检测有按键否? JNC KEYIN INC R1 ;指针码加1 DJNZ R5,L1 MOV A,R3 ;扫描下一行 SETB C RRC A MOV R3,A JC SCAN1 ;4行是否扫描完毕 JMP SCAN0 KEYIN: MOV R7,#10 ; 消除抖动 D2: MOV R6,#248 DJNZ R6,$ DJNZ R7,D2 D3: MOV A,P1 ;按键放开否?
12、XRL A,R4 JZ D3 MOV A,R1 ;至TABLE取码 MOV DPTR,#TABLE MOVC A,A+DPTR MOV SBUF,A ;载入SBUF发送出去 CPL A MOV P2,A JMP SCAN0 TABLE: DB 01H,02H,03H,04H DB 05H,06H,07H,08H DB 09H,0AH,0BH,0CH DB 0DH,0EH,0FH,00H END 第五章:系统仿真及调试 本次系统设计的仿真平台选择了Protuce,整个系统由芯片AT89C51,虚拟终端,16个发光二极管,4X4键盘,RS-232,MAX232芯片构成。 如图5-1所示系统初始化状
13、态:图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:汇编程序 ORG 00H JMP START START: MOV SP,#60H ;设置堆栈 MOV SCON,#50H ;UART工作在方式1,SM1=1,REN=1 MOV TMOD,#20H ;T1工作在方式2 MOV TH1,#
14、0F3H ;波特率为2400 MOV TL1,#0F3H SETB TR1 ;启动T1 SCAN0: MOV R3,#0F7H ;行扫描初值 SCAN: JB RI,UART ;检测SCON的RI是否为1?是则表示收到 MOV R1,#00H ;TABLE取码指针 SCAN1: MOV A,R3 ;扫描输出 MOV P1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04H ;4列 L1: RLC A ;检测有按键否? JNC KEYIN INC R1 ;指针码加1 DJNZ R5,L1 MOV A,R3 ;扫描下一行 SETB C RRC A MOV R3,A JC
15、SCAN1 ;4行是否扫描完毕 JMP SCAN0 KEYIN: MOV R7,#10 ; 消除抖动 D2: MOV R6,#248 DJNZ R6,$ DJNZ R7,D2 D3: MOV A,P1 ;按键放开否? XRL A,R4 JZ D3 MOV A,R1 ;至TABLE取码 MOV DPTR,#TABLE MOVC A,A+DPTR MOV SBUF,A ;载入SBUF发送出去 CPL A MOV P2,A JMP SCAN0 UART: MOV A,SBUF ;将SBUF的值载入ACC CPL A ;显示至P0 MOV P0,A CLR RI ;清除RI=0 JMP SCAN TABLE: DB 01H,02H,03H,04H DB 05H,06H,07H,08H DB 09H,0AH,0BH,0CH DB 0DH,0EH,0FH,00H END 电气信息学院课程设计评分标准环节项目评价优良中及格不及格实践环节(70%)1、设计方案合理性与创造性2、开发板焊接及其调试完成情况3、硬件设计或软件编程完成情况4、硬件测试或软件调试结果*5、解决问题能力及答辩情况6、纪律和出勤情况设计报告(30%)1、 设计报告内容完整、规范,2、 图纸正确、清晰,3、 设计步骤规范、正确,4、 设计结果可行综合评价课程设计成绩评定为:优 良 中 及格 不及格 指导老师签名:_ 日 期:_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1