- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
范文 范例 指导 参考
PAGE
word版 整理
范文 范例 指导 参考
word版 整理
实验总成绩:
实验总成绩:
——————————————————————————装 订 线—————————————————————————————————
报告份数
报告份数:
西安邮电大学
通信与信息工程学院
课程设计报告
专业班级: 电科1102
学生姓名: ###
学号(班内序号): 01号)
2014 年 4 月 23 日
一.设计内容与要求
实现一个能够通过PC软件控制的IO模块。IO模块的控制部件采用继电器,可以由微处理器(MCU)控制继电器的打开、吸合。IO模块通过RS232串口和PC机连接,PC机上运行上位机控制软件,提供控制IO模块继电器和显示IO模块继电器闭合状态的操作界面。上位机和IO模块间的通信协议可以自己定义,但要求必须有一定的保护校验等保证通信可靠性的措施。系统连接结构如图1所示。
具体要求:
IO模块要求实现4路继电器控制。完成IO模块的原理图设计、电路搭建、测试。
设计IO模块和PC机软件间的通信协议。
设计上位机软件界面,并用C++Builder实现软件界面和RS232串口通信控制。
提交课程设计报告。
图1 系统连接图
二.设计过程与原理
1.原理图设计
利用Proteus软件设计仿真电路,以AT89C51单片机为MCU,在最小系统的基础上通过IO口与继电器电路相连。电路原理图如如图2所示。
单片机代码
利用Keil编写控制单片机的C51代码。
利用Proteus仿真
利用虚拟端口软件添加两个虚拟端口COM1,COM2,将Keil编写的代码导入到原理图中的AT89C51中,将RS232串口中端口改为COM2,打开原理图仿真。运行串口调试助手将端口设为COM1,即可发送数据仿真。
利用C++Builder设计上位机
利用Microsoft Comm Control 6.0 串口控件实现与单片机的通信。
软件界面如图3所示。上位机主要功能如下:
可以选择端口,波特率,校验位,数据位,停止位以及打开关闭串口。
可以输入数据发送给单片机,控制四个继电器打开关闭LED灯。
可以通过按钮控制四个LED的打开与关闭。
图2 电路原理图
图3 程序界面图
三.实习心得
这是一次纯软件的仿真实验,为期两周并不算长,而且还要学习不少新知识,总体来说算的上是一次满充实的的实验。通过本次实验,我充分体会到软件仿真的便利。
本次实验第一周主要是查资料、学习软件知识,如学会用Proteus建元件库、画电路原理图,如何用Keil uVision写单片机程序,用C++Builder编写上位机等。通过网上有哪些信誉好的足球投注网站,查找了关于串口通信的原理知识和上位机的相关内容。
本次实验第二周主要是上位机的编写与仿真,C++ Builder具有快速的可视化开发环境:只要简单地把控件拖到窗体上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面;C++ Builder内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一个专业C++开发环境所能提供的全部功能:快速、高效、灵活的编译器优化,逐步连接,CPU透视,命令行工具等。它实现了可视化的编程环境和功能强大的编程语言(C++)的完美结合。掌握C++Builder对我们以后的学习有非常大的帮助。
Keil C代码:
#include reg52.h
#include stdio.h
#define uchar unsigned char
#define uint unsigned int
sbit LED = P1^0;
sbit KEY = P1^6;
sbit P00 = P0^0;
sbit P01 = P0^1;
sbit P02 = P0^2;
sbit P03 = P0^3;
void main()
{
char key = 0;
SCON = 0x50;
TMOD |= 0x20;
文档评论(0)