- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机与pc机软件开发
1.1 设计内容和要求
(1)课程设计内容
利用南京伟福公司的LAB8000来开发单片机与PC机串行通讯系统,实现单片机与PC机的通讯。要求实现数据收发功能。具体要求内容如下:
①通过LAB8000的小键盘选择功能;
②功能1:接受PC机发送的数据,并将其回发给PC机;
③功能2:从LAB8000的小键盘输入数据,发送给PC机。
(2)课程设计要求:
①认真完成课程设计任务;
②通过老师现场验收;
③交出完整的课程设计报告。
1.2课程题目分析
题目背景:串行口在计算机中有重要的作用,MCS—51单片机内部有一个功能强的全双工的异步通信串行口,就是指双机之间的串行接收、发送数据可同时进行。要传送的串行数据在发方是以数据帧形式一帧一帧地发送,通过传输线由收方一帧一帧地接收。本次课设要求完成从PC机发送数据,将其传入单片机,并将其发回给PC机。然后再从LAB8000的小键盘输入数据,将其发送给PC机。
1.3课程设计原理
本次课程设计由于要完成功能的选择,所以要用键盘扫描程序。通过键盘扫描程序来判断按下来的是哪一个按键,实现功能选择。当扫描到用户按LAB8000上面的小键盘1时,实现功能1的选择,这时候从PC机的键盘输入数据,就可以使之发送出去,传送到单片机然后后传回PC机,这里面需要一个SBUF缓冲区来缓冲存储数据,当把数据往单片机里面发送时,数据需要先发送到SBUF缓冲区里面,然后再往单片机里面发送,当单片机往PC机发送数据时,数据也需要先送到SBUF里面,然后在往外发送,当扫描到输入的值是1时,结束功能1,停止发送。。当扫描到用户按LAB8000上面的按键2时,通过键盘扫描程序进入功能2,功能二要求从LAb8000小键盘输入数据,然后传给PC机。当扫描到按NEXT键时,停止发送。
要实现单片机与PC机的串行通信,要用到MAX232来实现电平转换。串行通信时选择串行口工作在方式一,定时器工作时选择工作在方式二。经过计算,设置通信时的波特率为4800bits/s,将4800bits/s往回带入公式,计算出误差小于 7% ,所以可以选择这种工作模式。
1.4方案设计
设计键盘扫描函数和按键检测函数,通过MCS-51芯片,实现键盘扫描,通过小键盘设置17个键位选择键(4*4+NEXT键),再输入时在数码管上面显示1,进入功能一:接收PC机发送的数据并将其发回给PC机,在输入2时,在数码管上面显示数值2,然后从小键盘输入数据发送给PC机。
1.4.1小键盘选择功能
小键盘选择功能:首先设置定时器及波特率,然后在设计键盘扫描函数和按键检测函数,使之能实现小键盘的选择功能。输入不同的数实现调用不同的函数,从而实现不同的功能。
1.4.2功能1,PC机发送模块
功能1:设计PC发送函数,此功能还需要有串行口中断函数。目的是实现单片机可以接收PC机发送的数据,并且将其发送给PC机。设置一个返回键,让按键1实现返回小键盘选择功能,可以重新选择功能1还是功能2。
1.4.3功能2,单片机发送模块
功能2:设计小键盘发送程序,需要调用键盘扫描函数和按键检测函数,若有键按下,将键值发送到数码管上,并将其转化为ascii码发回PC机。同样设置一个返回键,设置小键盘右下角的“NEXT”时返回小键盘的功能选择,使函数能够循环使用。
1.5方案论证
从实际应用的角度,可以任意选择事先设计好的3种状态,当选择完一种状态时(除0),它可以无限的按照这种方案循环的运行下去,在此过程中,用户可以选择退出这种工作状态,从而实现对当前进行状态的控制,即可以令程序重新开始。当输入0时,结束。在整个串行口输入过程中可随时做出不同的输入方式,对输入数据的工作状态进行控制。
2 总体设计方案
2.1实现方法
开始运行程序时,数码管初始化显示6个数字0,然后选择一种模式(1和2),若输入的数不是“1”或“2”, 只在LED登上显示该数,等待重新输入一个工作状态,此处在扫描键盘并按键检测后需要将扫描到断码发送到登上。
在选择“1”,即要实现功能1,则调用PC机发送函数,用串行口中断函数来保存断点(防止计数器溢出)。使之能实现接收PC机发送的数据后,在将其回发给PC机。设置一全局变量flag,当用户按键1时,flag置1,使之跳出while死循环,从而达到返回小键盘,重新选择功能1跟2。
若选择“2”,即要实现功能2,须调用小键盘扫描函数,将数据显示到数码管上,同时然后将该数据转化成acsii码的形式通过串行口发送到PC机上。当从小键盘按键NEXT时,返回初始状态,可以进行功能1和2的重新选择。
2.2 设计思路
本课设主要分
您可能关注的文档
最近下载
- 牙齿健康和龋齿预防科普知识ppt(共67张PPT).pptx VIP
- 2024年10月 政法干警锻造新时代政法铁军专题研讨班发言材料.docx VIP
- 反恐验厂-危机管理和应急恢复计划.doc
- 2024.10 政法干警锻造新时代政法铁军专题研讨班发言材料.docx VIP
- 六年级上册快乐读书吧知识测试题及答案.pdf VIP
- 北京字节跳动科技有限公司运营模式分析及发展趋势预测研究报告.docx VIP
- 《财务风险管理—以乐视公司为例》10000字.docx
- 人教八年级上册物理《光的反射》PPT教学课件.pptx
- 信息资源管理专业毕业设计论文:信息资源管理在学校教育中的应用研究.docx VIP
- 网络安全项目网络建设方案.doc
文档评论(0)