课程设计--单片机双机通信系统

课程设计--单片机双机通信系统

ID:11314575

大小:524.48 KB

页数:21页

时间:2018-07-11

课程设计--单片机双机通信系统_第1页
课程设计--单片机双机通信系统_第2页
课程设计--单片机双机通信系统_第3页
课程设计--单片机双机通信系统_第4页
课程设计--单片机双机通信系统_第5页
资源描述:

《课程设计--单片机双机通信系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、重庆大学本科学生课程设计指导教师评定成绩表学号20085208指导教师黄扬帆学院自动化学院专业自动化学生姓名王诗年、陈宇、冉宇、常洋课程设计题目单片机双机通信系统指导教师评语课程设计成绩指导教师签名:年月日说明:1、学院、专业、年级均填全称。2、本表除评语、成绩和签名外均可采用计算机打印。重庆大学本科学生课程设计任务书课程设计题目单片机双机通信系统学院自动化专业自动化年级、班08级自动化一班设计要求:1.基本要求:设计两个单片机最小系统,能实现有线通信,一方为发射,另一方为接收。2.提高要求:两个单片机最小系统能相互

2、通信,并能实现校验。学生应完成的工作:设计基本方案,完成软件设计,设计电路图,线路板布线,电路焊接,软件仿真,硬件调试,得到最后成果.参考资料:课程设计工作计划:第一周,接受设计任务书,设计基本方案,完成电路图;第二周,完成电路板布线以及焊接,同时编写软件程序;第三周,烧录程序,硬件调试,得到最后成果.任务下达日期2011年2月21日完成日期2011年3月11日指导教师黄扬帆(签名)学生王诗年、陈宇、冉宇、常洋(签名)说明:1、学院、专业、年级均填全称。2、本表除签名外均可采用计算机打印。本表不够,可另附页,但应在页

3、脚添加页码。电子综合实习报告书----单片机双机通信系统的设计一、引言由于MCS51系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。一个MCS51系列的单片机(如Atmel89c51)内部包含有RAM、FLASHROM、两个或者三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。采用通用的标准器件进行扩充是通常的做法,

4、但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。MCS51系列的单片机(以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,在此不再重述。但如果系统要求扩充的资源是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。所幸的是,单片机的并行端口也能相互连接来进行数据通信。根据单片机端口内部结构的特点,这些

5、端口的端口线可以直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。此次设计就是针对上述情况展开的。系统结构框图如图(1)所示。二、键盘设计1、硬件接线部分考虑到此次设计要求用到的按键数比较多(0~9,A~F共16个按键),为了节约I/O资源,采用行列式键盘,如图(2)所示图(2)按键编排如图(3)所示图(3)2、4×4矩阵键盘识别处理按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态,事先认为设定好行线和列线的序号。此处设行号为i,从上到下编为

6、0-3对应于p1.0-p1.3口,列线设为j,从左到右编为0-3对应于p1.4-p1.7口。每个按键有它的行值和列值 ,行值和列值的组合就是识别这个按键的编码。事先有数组存放好对应键值的段选码。矩阵的行线和列线分别通过两并行接口和CPU通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一

7、个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。3、键盘识别处理程序键盘识别程序如下:voidscanf(void)/*键盘扫描子程序*/{uchari,j,k=0;/*i为行号,j为列号*/unsignedcharnum[4][4]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84};/*采用共阳极输出*/while(1){for(k=0;k<8;k++)

8、/*循环8次,取得8个键盘键值*/{/*存入TAB[]数组*/P1=0x0F;delay();/*软件延时去抖动*/if((P1&0x0F)!=0x0F){switch(P1)/*确定行号*/{case0x07:i=3;break;case0x0b:i=2;break;case0x0d:i=1;break;case0x0e:i=0;break;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。