课程设计报告单片机PC机串行通讯设计.doc
《课程设计报告单片机PC机串行通讯设计.doc》由会员分享,可在线阅读,更多相关《课程设计报告单片机PC机串行通讯设计.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、- .xxxxxx大学课 程 设 计 报 告课程设计名称:单片机系统综合课程设计课程设计题目:单片机与PC机串行通讯设计院系:专 业:班 级:学 号:姓 名:指导教师:完成日期:目 录第1章 总体设计方案11.1 课程设计的容和要求.11.2 课程设计原理.11.3课程设计思路.21.4 实验环境.2第2章 详细设计方案32.1 实现方法.32.2模块设计.32.2.1主函数流程图.32.2.2功能1模块.42.3程序连线图.7第3章 调试及结果分析83.1 调试步骤及方法.83.2 实验结果及分析.8参考文献9附 录A源程序10附 录B原理图13附 录C元器件清单14. word.zl.-
2、.第1章 总体设计方案1.1 课程设计的容和要求1、课程设计容:利用伟福公司的LAB6000通用微控制器仿真实验系统开发单片机与PC机串行通讯系统,实现单片机与PC机的通讯。要现数据收发功能。具要求容如下:.通过LAB6000的小键盘选择功能;.功能1:接收PC机发送的数据,并将其回发给PC机;.功能2:从LAB6000的小键盘输入数据,发送给PC机。2、课程设计要求:.认真完成课程设计任务;.通过教师现场验收;.交出完整的课程设计报告。1.2 课程设计原理根据题目要求,要完成LAB6000的小键盘选择,接收并且回发数据,小键盘可以输入并发送数据等功能,在本次设计中主要使用了MCS-51芯片以
3、及局部连线来完成串行通讯的模拟。采用MCS-51芯片实现不同模式串行通讯,通过延时程序控制串行通讯的频率。将键盘选择功能、PC机发送及接收数据功能、小键盘发送功能等通过不同的子程序实现,然后在程序中调用不同的子程序来实现不同的功能。因为需要实现小键盘输入数据,所以必须实现键盘扫描功能及按键检测功能。按键的扫描方法有扫描法和线反转法,因为小键盘按键不是非常多,所以本设计采用行列扫描法来进展小键盘扫描。1.3 课程设计思路1提出方案设计键盘扫描函数函数和按键检测函数,通过MCS-51芯片,实现键盘扫描。通过小键盘设置17个键位选择键,输入“1时在LED灯显示并选择功能1接收和发送PC机发送的数据;
4、输入“2时在LED灯显示并选择功能2从小键盘输入数据并发送给PC机。小键盘选择功能:首先设置定时器及波特率,然后再设计键盘扫描函数和按键检测函数,使之能实现小键盘选择功能。输入不同的数实现调用不同的函数,从而实现不同的功能。功能1:设计PC发送函数,此功能还需要有串行口中断处理函数。目的是实现单片机可以承受PC机发送的数据,并将其回发给PC机。设置一个返回键,如按键“1时返回小键盘选择功能,可以重新选择功能1还是功能2。功能2:设计小键盘发送程序,需调用键盘扫描函数及按键检测函数,假设有键按下,将键值发送到LED灯上,并将其转为ASCII码发送回PC机。同样设置一返回键,如按键“NEXT(右数
5、第一列,下数第一行)时返回小键盘选择功能。使函数能循环使用。2方案论证从实际应用的角度,用户可以任意选择事先设计好的2种状态,中选择完一种状态时,它可以无限的按照这种方案循环的运行下去,在此过程中,用户可以选择退出这种工作状态,从而实现对当前进展状态的控制,即可以令程序重新开场。在整个串行口输入过程中可随时做出不同的输入方式,对输入数据的工作状态进展控制。1.4 实验环境硬件环境:MCS-51实验箱,PC机。软件环境:WAVE2000应用软件. word.zl.- .第2章 详细设计方案2.1 实现方法开场运行程序时数码管初始化显示6个数字0,然后选择一种模式1和2,假设输入的数不是“1或“2
6、,只在LED灯上显示该数,等待重新输入一工作状态。此处在扫描键盘并按键检测后需将扫描到的段码发送到LED灯上。假设选择“1,即要实现功能1那么调用PC机发送函数,用串行口中断函数来保存断点防止计数器溢出。使之能实现接收PC机发送的数据后再将其回发给PC机。设置一全局变量flag,当用户输入一个数例如“1的ASCII码时flag置1使之跳出while语句死循环,从而到达返回小键盘选择功能的目的。假设选择“2,即要实现功能2需调用小键盘扫描函数和按键检测函数,将小键盘输入的数据发送到LED灯上,同时然后将该数据转换成ASCII码的形式通过串行口发送到PC机上。同小键盘选择功能一样该功能也要调用小键
7、盘扫描函数和按键检测函数。由于要实现按键返回的目的,在小键盘扫描函数中设置了“NEXT键变量kk=100时,同样利用了while语句来跳出死循环。2.2 模块设计2.2.1主函数流程图主程序用于控制个功能子程序的调用和相应的芯片及存、存放器、变量的初始化,协调整个程序的运行。由于本课设只用了8031芯片,小键盘和LED灯来显示模拟结果,而且所有的功能都是用软件实现的,所以主程序要能很好的组织程序的运行。主函数模块首先设置定时器及波特率的选择,根据标志位k1的值选择是PC模式发送数据还是小键盘模式发送数据,并根据功能选择模块中对各模式的信息的进展相应的初始设置。通过小键盘选择功能控制数据的输出方
8、式,还能承受新的键值来执行相应的功能。读取的键值要先判断是否是无效键,是无效键要执行死循环程序,按下“1或“2键才能继续显示。如果是停顿键指程序设计功能1中的“1键和功能2中的“NEXT键,应立刻清空数码管的显示存并将其重新初始化。如下页图2. 1所示。开场设置定时器工作方式及波特率大小N输入按键为1或2YN按键为1Y小键盘发送函数PC发送函数返回断点图2.1主函数模块流程图2.2.2功能1模块功能1模块利用单片机的串行口,实现PC机的串行通讯。启动功能1时开启定时器,调用串行中断函数,通过while(!flag)语句实现循环发送的功能,在串行中断子函数中先将PC机中输入的容发送到单片机上,执
9、行while(!RI)(即RI=1单片机接收完数据跳出该循环) 语句。在单片机将其容回发给PC机之前需要进展是否返回小键盘选择功能的判定,通过if(temp=49)flag=1语句,判断是否是数1的ASCII码49,假设是那么将flag置1,到达跳出该循环的目的。如图2.2所示。8031的RXD、TXD接线柱在POD51仿真板上,8086的TXD、RXD在POD8086仿真板上的8031芯片旁边。通讯双方的RXD、TXD信号本应经过电平转换后再行穿插连接,本设计中为减少连线可将电平转换略去,而将双方的RXD、TXD直接穿插连接。开场启动定时器工作并允许串口中断调用串行中断函数是否输入数据01数
10、据输入到变量temp中N接收完成YRI=0Y返回断点按键1N从temp中输出数据N发送完成YTI=0图2.2功能1模块流程图2.2.3功能2模块功能2模块实现小键盘发送数据的功能,需调用小键盘扫描函数和按键检测函数,将小键盘输入的数据发送到LED灯上。启动功能2时同功能1一样先启动定时器工作,扫描小键盘使之能够在小键盘输入数据,对输入的数据进展判定,假设为返回键(NEXT)那么跳出该函数重新进展小键盘选择功能,使之能够循环使用;假设为根本键,将扫描到的按键的键值通过查表的方式转为ASCII码,好发送回PC机中。如图2.3。开场声明变量kk和knum启动定时器1工作调用键盘扫描函数Y按键为NEX
11、TN返回断点使LEN2灯亮将键值相对应的ASCII码发送到变量knum中从temp中输出数据N发送完成YTI=0图2.3功能2模块流程图2.3 程序连线图本设计提供了一个6*4的小键盘,向列扫描地址0X002H逐列输出低电平,然后从行码地址0X001H读回。如果有键按下,那么对应行的值应为低电平;如果无键按下,由于上拉的作用,行码为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。地址中的X是由KEY/LED CS决定,做键盘和LED相连时,需将KEY/LED CS接到相应的地址译码上,以便用相应的地址来。例如将KEY/LED CS信号接CS0上,那么列扫描地址为08002H,行码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 单片机 PC 串行 通讯 设计
限制150内