双单片机的串行通信_第1页
双单片机的串行通信_第2页
双单片机的串行通信_第3页
双单片机的串行通信_第4页
双单片机的串行通信_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一、总体设计11、系统概述12、 设计要求23、设计方案2二、设计原理21、硬件设计32、系统软件设计4三、系统设计图6四、设计小结6五、参考文献7 双单片机的串行通信一、总体设计 1、系统概述 MCS-51 单片机系列是 Intel 公司推出的功能强、速度快的 8位高档单片微型计算机系列产品,是当前工业测试系统中较理想的一种,内部有一个可编程的全双工的串行通信口,即串行通信和发送缓冲器 (SBUF),这两个在物理上是独立的接收发送器,既可以发送数据,也可以接收数据。全双工的串行通信只需要一根输出线 (发送数据TXD)和一根输入线 (接收数据RXD)。串行通信中主要有两种技术问题,一个是数

2、据传送,另一个是数据转换。具体说,在发送端,要把并行数据转换为串行数据;而在接收端,则要把接收到的串行数据转换为并行数据。 串行数据传送是将构成字符的每个二进制数据按一定的顺序进行传送的方式,串行通信协议规定字符数据的传送格式,每个串行数据由起始位、数据位、奇偶校检位和停止位组成。本系统就是利用单片机的串行口,以串行通信方式,实现两单片机之间的数据交换,信息共享。2、 设计要求功能要求:实现两片51单片机之间信息的串行通信。通信信息由小键盘(0F)输入,发送机每按一次任意键,即刻发送到接收机。 接收机按接收的顺序在本机的4位LED显示器上从右往左挤兑显示。没有接收到信息前两处的4位LED显示器

3、不显示。每一个单片机既可以是接收机也可以是发送机。3、设计方案 本系统利用单片机的串行口,由软件和硬件两部分协调实现两单片机的串行数据传输。硬件电路以AT89C5l单片机为核心,外围电路包括键盘电路(数据的输入),显示电路(数据的输出)。工作在硬件电路基础上的软件主要完成数据输入,存储,显示,发送和接收。由于两单片机相距很近,可以直接将其串行口相连。系统整体电路图如图 1所示 图 1 系统整体电路框 二、设计原理此设计以AT89C5l单片机为核心,利用其内部的串行口,通过硬件与软件相结合的方式,实现双机的全双工的串行通信。硬件电路包括键盘电路,显示电路,单片机主控电路,串行通信线和电源电路。软

4、件包括键盘扫描程序,显示程序,发送程序和接受程序。发送和接收都采用中断方式。硬件电路的组成如图2所示。 图 2硬件电路的组成由于两个单片机应用系统相距很近,近程通信时 (通信距离小于 15米),可以不使用调制解调器,将它们的串行口直接相连就可以实现全双工的串行通信。1、硬件设计 ( 1)系统组成下面就以 1 号机为例,介绍硬件。硬件电路包括AT89C5l 单片机,共阳性LED数码管以及传输线。 AT89C5l 是一个低电压,低功耗,高性能 CMOS 8位单片机,40个引脚,32个外部双向输入/输出 (I/0)端口,同时内含2个外设中断口,2个 16位可编程定时计数器,2个全双工串行通信口。AT

5、89C5l可以按照常规的方法进行编程,也可以在线编程。片内含4k bytes 的可反复擦写的Flash只读程序存储器和 128 bytes 的随机存取数据存储器 (RAM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51 指令系统。 (2)单片机主控电路 AT89C5l 是片内有ROM/EPROM 的单片机,用其构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可。 晶振电路 AT89C5l 单片机的时钟信号通常有两种形式:一种是内部时钟方式,另外一种是外部时钟方式。内部时钟方式是在单片机的XTALI和XTAL2 引脚外接石英晶体,就构成了自激震荡并在单片机

6、内部产生时钟脉冲信号。本设计采用内部时钟方式,可以不受设各条件的影响。 复位电路 当在AT89C5l 单片机的RST引脚引入高电平并保持两个机器周期时,单片机内部就执行复位操作。在实际应用中,复位操作有两个基本形式:一种是上电复位,另一种是上电与按键均有效的复位。本系统采用上电与按键均有效的复位。 开机瞬间RST引脚获得高电平,随着电容C 的充电,RST引脚的高电平将获得下降。RST引脚的高电平只能保持足够的时间 (2个机器周期),单片机就可以进行复位操作。另外在单片机运行期间,还可以利用按键完成复位操作。 (3)键盘电路 按键实际上就是简单的开关,当按键接下时,相当于开关闭合;当按键松开时,

7、相当于开关断开。操作员通过键盘输入数据或命令,实现简单的人机对话。按键有独立式按键和行列式按键。独立式按键的各个按键相互独立,每一个按键独立地与一根数据输入线相连。独立式按键配置灵活,软件结构简单,但每个按键必须占用一根口线,在按键数量多时,口线占用多。所以,独立式按键常用于按键数量不多的场合。由于此系统所用的按键较少,故选用独立式按键。 (4)显示电路显示器是单片机应用系统常用的设备,主要包括 LED和LCD。LED显示器由若干个发光二极管组成。当发光二极管导通时,相应的一个笔画或一个点就发光,控制相应的二极管导通,就能显示出对应字符。七段LED通常构成字型“8”,还有一个发光二极管用来显示

8、小数点。由于LED显示器成本低廉,配置灵活,并且与单片机接口方便,所以本系统选用七段LED显示器 (共阳极)2、系统软件设计 ( 1)总体方案 此系统欲实现双机的全双工的串行通信。甲乙两机的内部软件是完全相同的,1 号机和 2 号机都能发送和接收数据信息能同时进行数据交换。 假设 1 号机为发送方,2 号机为接收方。当接下发送按键时,1号机开始发送数据,存储在R7 中并通过显示器显示接下 2号机的接收按键,2号机开始接收数据,每接收一个数值就直接送到显示器显示。本设计通过键盘输入数据。利用软件控制键盘进行加 1或者减1操作,可以使其输入0F之间的任意一个数。 (2)模块说明 串行口工作方式 单

9、片机的串行通信口是可编程的,在工作之前应该初始化,对它初始化编程只需将两个控制字分别写入特殊功能寄存器SCON 98H和电源控制寄存器PCON 97H即可。 串行控制寄存器SCON是一个特殊功能寄存器,用以设定串行口的工作方式、发送/接收控制以及设置控制状态标志。字节地址为 98H,可进行位寻址,SMO和 SMI(SCON. 7和SCON. 6):串行口工作方式选择位,可选择 4 种工作方式 (见表 1)SM0SM1方式说明波特率000移位寄存器Fosc/1201110位异步收发器可变10211位异步收发器Fosc/12或Fosc/3211311位异步收发器可变 表1 串行口工作方式本系统采用

10、串行口方式1 (SMO置0,SMI置1)进行通信,一帧信息为 10位,其中有 1个起始位,8个数据位和 1个停止位。 中断口设定 AT89C5l单片机有5个中断源,在应用之前应该初始化。 本系统用到外部中断0 (丽),外部中断 1(丽),作为发送中断,入口地址是OOO3H。当此键接下,转到中断服务程序 (执行发送程序)。丽作为接收中断,入口地址是OOl3H。当此键接下,转到中断服务程序 (执行接收程序)。 中断控制寄存器TCON FP ITO位,IT1 位应置0,采用电平触发方式。中断允许控制寄存器IE FP EXO、EXI、ES位应置 1,允许中断。 (3)键盘工作设定 本系统采用独立式按键

11、结构。对于是否有按键接下的信息输入方式有中断方式和查询方式,本系统采用查询方式。 本系统的键盘控制程序分为以下几个部分: 判断有无键接下; 用软件编程的方式控制键盘的输入数值; 可靠的逻辑处理方法。 (4)显示工作设定 显示程序用查表法显示,七段数码管 (共阳性)显示段选码如表2所示。 表2数码管显示段选码 显示字符0 1234567段选码COHF9HA4HBOH99H92H82HF8H显示字符89ABCDEF段选码80H90H88H83HC6HAIH86H8EH三、系统设计图四、设计小结我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我

12、们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了,无论是课本上的还是网上的都浏览了不少相关的程序,从中也借鉴了别人的思想,开阔了自己的思路。做单片机课程设计,对设计者对软硬件的理解和掌握的要求都比较高。在设计程序之前,设计者必学对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经

13、之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。回顾这段时间以来自己从接到题目到编写出程序、画出电路原理图,自己真的收获不少。无论是软件的使用还是对单片机内部资源的了解,自己的认识都加深了很多。真希望能有多点的时间来把设计深入下去,把原理图做成实实在在的电路板,并在板子上实现设计的功能。另外,这次课程设计让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个

14、人都会对我们的设计产生影响。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励!五、参考文献1.单片机接口技术(C51版) 张道德编著 水利水电出版社2.单片微型计算机原理及接口技术 杨光友 朱宏辉主编 水利水电出版社3.51单片机C语言应用程序设计实例精讲 戴佳 戴卫恒编著 电子工业出版社4.单片机语言C51典型应用设计 刘文涛编著 人民邮电出版社5.Vision2单片机应用程开发指南 尹勇 李宇编著 科学出版社6.单片机控制实习与专题制作 蔡朝洋编著 北京航天航空大学出版社附录:1. 主机发送程序#include#define uchar unsigned charuchar TAB

15、8;uchar i,sum; /*sum为求和校验*/void delay(void) /*延时程序*/int j;for(j=0;j12000;j+); void scanf() /*键盘扫描程序*/uchar j,k=0;unsigned char num44=0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e; while(1) for(k=0;k8;k+) P1=0x0F; delay(); /*软件去抖动*/ if(P1&0x0F)!=0x0F) switch(P1) c

16、ase 0x07: i=3; break; case 0x0b: i=2; break; case 0x0d: i=1; break; case 0x0e: i=0; break; default: break; P1=0xF0; /*反转行和列上的电平*/ if(P1&0xF0)!=0xF0) switch(P1) case 0x70: j=3; break; case 0xb0: j=2; break; case 0xd0: j=1; break; case 0xe0: j=0; break; default: break; TABk=numji; /*P1输出对应的按键值*/ void

17、init(void) /*初始化程序*/TMOD=0x20;TH1=0xf3; /*波特率为2400bps*/TL1=0xf3;PCON=0x00; /*SMOD=0*/TR1=1; /*开T1中断*/SCON=0x50; /*接收允许*/ void send(void) /*发送函数*/ doSBUF=0xaa; /*发送握手信号0XAA*/while(!TI); /*等待接收*/TI=0; /*传送完复位*/while(!RI); /*等待接收*/RI=0; /*接收完复位*/while(SBUF!=0xbb); /*甲机收到BBH后就把数码表*/TAB8 /*中的8个数据发送给乙机,并发

18、送校验和*/dosum=0;for(i=0;i=7;i+)SBUF=TABi; /*发送段选码*/sum+=TABi; /*和校验*/while(!TI);TI=0;SBUF=sum; /*发送校验和*/while(!TI);TI=0;while(!RI);RI=0;while(SBUF!=0); /等待接收 main() /主程序 init(); while(1) scanf();send();2. 从机接受程序#include#define uchar unsigned charvoid init(void) /初始化程序 TMOD=0x20; TH1=0xf3; /波特率为2400bps TL1=0xf3; PCON=0x00; TR1=1; SCON=0x50; void delay(void) /*延时程序*/uchar j; for(j=0;j12000;j+); void receive(void) /接收函数 uchar i,sum; uchar TABS4; /定义接收数组 do while(!RI);RI=0; while(SBUF!=0xaa); /接收完0XAA则向主机发送0XBB SBUF=0xbb; while(!TI);TI=0; while(1) sum=0; for(i=0;i=3;i+) whil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论