版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. zTOC o 1-3 t h z u HYPERLINK l _Toc26787 设计概况 PAGEREF _Toc26787 2 HYPERLINK l _Toc12742 1 总体设计 PAGEREF _Toc12742 3 HYPERLINK l _Toc28975 1.1 设计要求 PAGEREF _Toc28975 3 HYPERLINK l _Toc8877 1.2 设计方案 PAGEREF _Toc8877 3 HYPERLINK l _Toc15991 2 双机通信硬件设计 PAGEREF _Toc15991 4 HYPERLINK l _Toc7162 2.1 AT89
2、C51简介 PAGEREF _Toc7162 4 HYPERLINK l _Toc27580 2.2 AT89C51串行口的工作方式 PAGEREF _Toc27580 5 HYPERLINK l _Toc4807 2.3 晶振电路设计 PAGEREF _Toc4807 8 HYPERLINK l _Toc11553 2.4 复位电路设计 PAGEREF _Toc11553 8 HYPERLINK l _Toc30804 2.5 接口电路的设计 PAGEREF _Toc30804 9 HYPERLINK l _Toc11752 2.6 输入输出电路设计 PAGEREF _Toc11752 11
3、 HYPERLINK l _Toc21972 3 双机通信软件设计 PAGEREF _Toc21972 13 HYPERLINK l _Toc6539 3.1 串行通信软件实现 PAGEREF _Toc6539 13 HYPERLINK l _Toc7074 3.2 串行通信程序流程 PAGEREF _Toc7074 13 HYPERLINK l _Toc28314 3.3 程序清单 PAGEREF _Toc28314 16 HYPERLINK l _Toc26410 4 软件仿真 PAGEREF _Toc26410 20 HYPERLINK l _Toc29060 5 硬件连接 PAGERE
4、F _Toc29060 21 HYPERLINK l _Toc23815 6 设计总结 PAGEREF _Toc23815 23 HYPERLINK l _Toc1721 参考文献 PAGEREF _Toc1721 24-. z设计概况要构成一个较大规模的控制系统,常常需要采用多机控制实现,而AT89C51单片机有一个异步通信方式的全双工串行接口,可以方便地构成双机、多机系统。而串行通信也成为单片机与单片机、单片机与上位机之间进展数据传输的主要方式,是一种适用于远距离通信的数据传输方式。串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。通信的结
5、果实用数码管进展显示,数码管采用查表方式显示。两个单片机之间采用RS232进展双机通信。在通信过程中,使用通信协议进展通信。关键词:单片机;串行通信;接口1 总体设计1.1 设计要求设计一个单片机双机通信系统,单片机A接1个8位按键开关,单片机B接8个发光二极管,通过串行通信实现由A机拨码开关控制B机发光二极管的亮灭。1.2 设计方案本次设计,对于两片AT89C51,采用RS-232进展双机通信。如图1所示,发送方的数据由串行口T*D段输出,经过电平转换芯片MA*232将TTL电平转换为RS-232电平输出,经过传输线将信号传送到接收端。接收方也使用MA*232芯片进展电平转换后,信号到达接收
6、方串行口的接收端。接收方接收后,在LED二极管上显示接收的对应信息。晶振电路复位电路8路拨码开关电路发送机接收机接口接口晶振电路复位电路显示电路图1 双机通信系统原理框图 软件局部,通过通信协议进展发送接收,发送机先送联络信号给接收机,当接收机接收到联络信号后,向发送机答复一个应答信号,表示同意接收。发送机收到应答信号后开场发送数据,每发送一个数据块字节都要计算校验和,假定数据长度为16个字节,起始地址为40H,一个数据块发送完毕后立即发送校验和。接收机接收数据并存入数据缓冲区起始地址也为40H,每接收到一个数据字节便计算一次校验和,当接收到一个数据块后,在承受发送机发来的校验和,并将它与接收
7、机计算的校验和进展比拟。假设二者相等,说明承受正确,接收机答复00H,发送机完毕发送;假设二者不等,说明承受不正确,接收机答复0FFH,请求重发,发送机重新发送数据一次。接收机接收到数据后通过发光二极管LED显示发送机的发送状态。2 双机通信硬件设计2.1 AT89C51简介AT89C51 是一个带有4k 字节存储器的单片机,它具有128字节部RAM;32 个I/O 口线和;两个16位定时/计数器,一个5向量两级中断构造,一个全双工串行通信口,片振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停顿CPU的工作,但允许RAM,定时/计数
8、器,串行通信口及中断系统继续工作。掉电方式保存RAM中的容,但振荡器停顿工作并制止其它所有部件工作直到下一个硬件复位。如图2所示,DIP40封装的AT89C51的各个引脚及其功能。 图2 AT89C51单片机引脚封装AT89C51单片机各个引脚功能如下:1电源几时钟引脚VCC40号引脚:电源接入引脚VSS20号引脚:接地引脚*TAL119号引脚:晶振接入的一个引脚*TAL218号引脚:晶振接入的另一个引脚控制线引脚RST/VPD9号引脚:复位信号输入引脚/备用电源输入引脚ALE/30号引脚:地址锁存允许信号输出引脚/编程脉冲输入引/(31号引脚):外存储器选择引脚/片EPROM编程电压输入引脚
9、(29号引脚):外部程序存储器选通信号输出引脚I/O引脚P0.0P0.73932号引脚:一般I/O口引脚/低位地址总线引脚P1.0P1.7(18号引脚):一般I/O口引脚P2.0P2.7(2128号引脚):一般I/O口引脚/高位地址总线引脚P3.0P3.7(1017号引脚):一般I/O口引脚或第二功能引脚P3.010号引脚:R*D串行口输入P3.111号引脚:T*D串行口输出P3.212号引脚:外部中断0输入P3.313号引脚:外部中断1输入P3.414号引脚:T0定时器0的外部输入P3.515号引脚:T1定时器1的外部输入P3.616号引脚:片外数据存储器写选通控制输出P3.717号引脚:片
10、外数据存储器读选通控制输出2.2 AT89C51串行口的工作方式 AT89C51的串行口是一个可编程全双工的通信接口,具有通信异步承受和发送的全部功能,能同时进展数据的接收和发送,也可作为同步移位存放器使用。AT89C51的串行口主要由两个独立的串行数据缓冲存放器SBUF一个发送缓冲存放器,一个接收缓冲存放器,串行口控制存放器、输入移位存放器及假设干控制门电路组成。(1) 串行口数据缓冲存放器SBUF AT89C51可以通过特殊功能存放器SBUF的读写操作,实现对串行接收或串行发送存放器的访问,串行接收和串行发送存放器在串行口部是两个独立的存储单元,共用同一个地址99H。串行口数据传送使用的是
11、部数据传送指令MOV A,SBUF或MOV SBUF,A.当执行写操作时,访问串行发送存放器;当执行读操作时,访问串行接收存放器。(2) 串行口控制存放器SCONAT89C51串行口工作的设定、接收与发送控制的设置都是通过对串行口控制存放器SCON的编程确定的。SCON是一个特殊功能存放器,其地址为98H,可位寻址,其各位的作用定义如下:表2 控制存放器SCON9FH9EH9DH9CH9BH9AH99H98HSCON(98H)SM0SM1SM2RENTB8RB8TIRI SM0、SM1:串行口工作方式选择位,工作方式选择如表2所示。其中是晶体振荡器的频率。SM2:多机通信控制位。在方式0下,S
12、M2应为0;在方式1下,如果SM2=0,则只有收到有效的停顿位时才会激活RI;在方式2和方式3下,如置SM2=1则只有收到第9位数据为1时,RI被激活RI=1,申请中断,要求CPU取走数据。REN:允许接收控制位。由软件置位或清零。REN=1,允许接收;REN=0,制止接收。TB8:在方式2和方式3下,存放要发送的第9位数据,常用作奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位,假设为地址帧,TB8=1;假设为数据帧,TB8=0。RB8:在方式2和方式3下,存放接收到的第9位数据;在方式1下,如SM2=0,则该位为接收到的停顿位;方式0不用此位。TI:发送中断标志。在方式0下,发送
13、完第8位数据位时,由硬件置位;在其他方式下,当开场发送停顿位时,由硬件将TI置位,即是向CPU申请中断,CPU可以发送下一帧数据。在任何方式下,TI必须由软件清零。RI:接收中断标志。在方式0下,接收完第8位数据时,由硬件置位;在其他方式下,当接收到停顿位时RI置位,即申请中断,要求CPU取走数据。它必须由软件清零。表3 串行口工作方式选择SM0SM1方式功能波特率SM0SM1方式功能波特率000同步移位存放器/1210211位UART/16或/3201110位UART可变11311位UART可变 本设计发送机串行口的工作方式为方式1,即控制存放器SCON中容如下:表4 发送机控制存放器SCO
14、N9FH9EH9DH9CH9BH9AH99H98HSCON(98H)SM0SM1SM2RENTB8RB8TIRI01000000 接收机的串行口的工作方式为方式1,即控制存放器SCON中容如下:表5 接收机控制存放器SCON9FH9EH9DH9CH9BH9AH99H98HSCON(98H)SM0SM1SM2RENTB8RB8TIRI01010000串口以方式1发送,由CPU执行一条写发送存放器指令MOV SBUF,A,就可将数据位逐一由T*D端发送。当发送一帧数据后,将TI置1。串口以方式1承受,需控制SMOD中的REN为1SMOD为特殊功能存放器PCON的最高位,此时对R*D引脚进展采样,当
15、采样到起始位置有效时,开场接收数据。当一帧数据接收完毕,且RI=0,SM2=0或接收到RB8=1时,接收数据有效,此时可利用读接收存放器指令MOV A,SBUF将数据送入CPU。同时将RI置1。假设要再次发送或接收数据,必须将TI、RI清零。3波特率的计算根据表2可知串口工作方式方式1时一帧数据为10位8位数据位,起始位、停顿位各1位。其传输波特率是可变的,由定时器T1的溢出率来决定。波特率=当T1作为波特率发生器时,最典型的用法是使T1工作在自动再装入的8位定时器方式即方式2,且TCON的TR=1,以启动定时器。这时溢出率取决于TH1中的计数值。在单片机的应用中,常用的晶振频率为:12MHz
16、和11.0592MHz。在本设计中晶振频率采用=11,。0592MHz。即波特率为 波特率=2.3 晶振电路设计AT89C51单片机部有一震荡电路,只要在单片机的*TL119号和*TAL218号引脚外接石英晶体简称晶振就构成了自激振荡器并在单片机部产生时钟脉冲信号。如图3所示,图中电容器C1和C2的作用是稳定频率和快速起振,电容值为530pF,典型值为30pF,本设计取30pF。晶振CYS的振荡频率围为1.2MHz12MHz,典型值为12MHz和6MHz,本设计取12MHz。图3 晶振电路2.4 复位电路设计AT89C51单片机的RST9号引脚引入高电平并保持两个机器周期时,单片机部就执行复位
17、操作。在实际中AT89C51通常有两种操作方式复位,一种是上电复位;另一种是按键上电复位。在双机通信系统的设计中使用按键上电复位,如图4所示。图4 复位电路单片机复位后进入初始化状态。初始化后,程序计数器PC=0000H,所以程序从0000H地址单元开场执行。单片机启动后,片RAM为随机值,运行中的复位操作不改变片RAM的容。特殊功能存放器复位后的状态是确定的。P0P3为FFH,SP为07H,SBUF不定,IP、IE和PCON的有效位为0,其余的特殊功能存放器的状态均为00H。2.5 接口电路的设计直接通信单片机与单片机进展双击串行通行时,可将两个单片机的串口直接连接,接线图如图5所示,这种接
18、线传输距离短,抗干扰能力差。图5 直接通信接线图2串口通信单片机与单片机进展双击串行通行时,AT89C51串行接口的信号电平为TTL类型,抗干扰性差、传输距离短。为了提高串行通信的靠抗性,延长通信距离,一般设计采用标准的串行接口。RS-232C接口是1969年EIA推出的串行通信标准,目前是PC机与通信工业中应用最广的一种串行接口。数据传输速率在020kbps围的通信,最大传输距离可达15m,能实现一发一收通信,目前常用的RS232C接口连接器有9针串口DB9和25针串口DB25。最常用的的是DB9,常采用三线制接法,即发送数据线、承受数据线和接地线三脚相连。传输线采用屏蔽双绞线,如图6所示。
19、图6 DB9三线制接法RS232C信号的电平与单片机串口信号的电平不一致,二者之间必须进展电平转换。使用电平转换芯片MA*232就可以实现RS232C/TTL电平的双向转换。MA*232芯片使用单一的+5V电源供电,配接5个1uF电解电容即可完成RS232C电平的TTL电平之间的转换,其电路接线图如图7所示。图7 MA*232电平转换芯片电路接线图表6 DB9常用信号引脚说明DB9引脚信号名称符号功能1载波检测DCD 接收远程载波2接收数据R*D承受串行数据3发送数据T*D发送串行数据4数据准备就绪DTR准备就绪5信号的SGND 信号公共地6数据准备就绪DSR准备就绪7发送请求RTS请求将线路
20、切换到发送发式8允许发送CTS线路已接通,可以发送数据9振铃指示RI数据通信接通,终端设备被呼叫2.6 输入输出电路设计P1口是AT89C51单片机的唯一的单功能口,仅能用作数据输入/输出口。P1口的位构造如图8所示图8 P1口的位构造 由图8可知,P1口由一个输出锁存器,两个三态输入缓冲器和输出驱动电路组成。部设有上拉电阻。P1口是通用的准双向I/O口。输出高电平时,能向外提供拉电流负载,不必再接上拉电阻。当口用于输入时,须向口锁存器写入1。输入低电平有效。因此其输入电路如图9,输出电路图10:图9 发送机输入电路图10 接收机输出电路3 双机通信软件设计 通过通信协议进展发送接收。发送机先
21、送联络信号给接收机,当接收机接收到联络信号后,向发送机答复一个应答信号,表示同意接收。发送机收到应答信号后开场发送数据,每发送一个数据块字节都要计算校验和,假定数据长度为16个字节,起始地址为40H,一个数据块发送完毕后立即发送校验和。接收机接收数据并存入数据缓冲区起始地址也为40H,每接收到一个数据字节便计算一次校验和,当接收到一个数据块后,在承受发送机发来的校验和,并将它与接收机计算的校验和进展比拟。假设二者相等,说明承受正确,接收机答复00H,发送机完毕发送;假设二者不等,说明承受不正确,接收机答复0FFH,请求重发,发送机重新发送数据一次。接收机接收到数据后通过发光二极管显示发送机的发
22、送状态。3.1 串行通信软件实现1串行口工作于方式1;用定时器1产生9600bit/s的波特率。2功能:将本机ROM中数码表TAB16中的16个数发送到从机,并保存在从机部ROM中,从机收到这16个数据后送到一个数码管循环显示。3通信协议:发送机首先发送连络信号(E1H),接收机接收到之后返回一个连络信号(E2H)表示从机已准备好接收。通信过程使用第九位发送奇偶校验位。接收机接收到一个数据后,立即进展奇偶校验,假设数据没有错误,则返回00H,否则返回FFH。发送机发送一个数据后,等待接收机返回数据;假设为00H,则继续发送下一个数据,假设为FFH,则重新发送数据。3.2 串行通信程序流程发送机
23、程序流程根据通信协议发送机需向接收机发送联络信号E1,当接收到应答信号后,发送机发送数据,发送数据完毕后将校验和发送至接收机,接收机进展校验如果正确等待下一次发送;如果错误重新发送数据。其流程图如下:开场设置波特率启动定时器T1设置串行口工作方式发送E1联络信号接收机允许发送?指针初始化校验和清0发送1个数据字节求校验和数据块发送完毕?发送校验和接收机接收正确?返回YNYNYN图10 发送流程图接收机程序流程根据通信协议,接收机等待发送机发出的联络信号E1并向发送机发送应答信号E2,当接收1个数据字节后求检验和,发送机在发送完一个数据块后将发送机计算的校验和发送至接收机,接收机将两个校验和进展
24、比拟,如果正确等待下一次接收;如果错误则发送出错标志重新发送数据。其流程图如下:开场设置波特率启动定时器T1设置串行口工作方式等待发送机联络发送机请求发送?NY指针初始化校验和清0接收1个数据字节求校验和数据块发送完毕?比拟校验和接收机接收正确?返回YNYN发送应答信号发送出错标志图11 接收机流程图3.3 程序清单基于AT89C51单片机双机通信时,串行输入输出可直接进展连接,实现双机通信。这样连接方式,传输距离短,抗干扰能力弱,但容易实现,其接线和程序较为简单,其程序如下:1发送机程序 ORG 0000H AJMP MAIN ORG O1OOHMAIN: MOV SP,#6OH MOV S
25、CON,#40H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 MOV P1,#0FFH MOV 30H,#0FFH K0: MOV A,P1 CJNE A,30H,KI SJMP K0 KI: MOV 30H,A MOV SBUF,A SJMP K0WAIT: C T1,K0 SJMP WAIT END接收机程序 ORG 0000H AJMP MAIN ORG O1OOHMAIN: MOV SP,#6OH MOV SCON,#50H MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 M
26、OV P1,#0FFH K0: RI,KK SJMP K0 KK: MOV A,SBUF MOV P1,A CLR RI SJMP K0 END 发送机与接收机也可以经过串口进展通信,这种通信方式较上一种方式提高通信距离,抗干扰能力强,传输稳定,但其接线复杂,程序比拟繁琐。其程序如下:1发送程序清单ASTRT: CLR EA MOV TMOD,#20H ;定时器1置为方式2 MOV TH1,#0F4H ;装在定时器初值,波特率为2400 MOV TL1,#0F4H MOV PCON,#00H SETB TR1 MOV SCON,#50H ;设定串行口方式1,且准备承受应答信号ALOOP1:MO
27、V SBUF,#0E1H ;发送联络信号 JNB TI,$ ;等待一帧发送完毕 CLB TI ;允许在发送 JNB RI,$ ;等待接收机的应答信号 CLR RI ;允许在接收 MOV A,SBUF ;接收机应答后,读至A *RL A,#0E2 ;判断接收机是否准备完毕 JNZ ALOOP1 ;接收机未准备好,继续联络ALOOP2: MOV P1,#0FFH MOV 30H,#0FFH ;设定拨码开关初值 MOV R7,#10H ;设定数据块长度 MOV R6,#00H ;清校验和单元ALOOP3:MOV A,P1 ;读入拨码开关 CJNE A,30H,ALOOP4 SJMP ALOOP3AL
28、OOP4:MOV 30H,A ;存入拨码开关新值 MOV SBUF,A ;发送一个数据字节 MOV A,R6 ADD A,P1 ;求校验和 MOV R6,A ;保存校验和 INC R0 JNB T1,$ CLB T1 DJNZ R7,ALOOP3 ;整个数据块是否发送完毕 MOV SBUF,R6 ;发送校验和 JNB TI,$ CLR TI JNB RI,$ ;等待接收机应答信号 CLR RI MOV A,SBUF ;接收机应答,读至A JNZ ALOOP2 ;接收机应答错误,转至重新发送 SJMP ALOOP3 ;进入下一循环传送 END 接收程序清单BSTART: CLR EA MOV T
29、MOA,#20H MOV TH1,#0F4H MOV TL1,#0F4H MOV PCON,#00H SETB TR1 MOV SCON,#5OH ;设定串行口工作方式1,且准备接收BLOOP1: JNB RI,$ ;等待1号机的联络信号 CLR RI MOV A,SBUF ;收到1号机的信号 *RL A,#0E2H ;判断是否为1号机联络信号 JNZ BLOOP1 ;不是1号机联络信号,再等待 MOV SBUF,#0E2H ;是1号机联络信号,发应答信号 JNB T1,$ CLR TIBLOOP2: MOV R0,#40H ;设定数据块地址指针初值 MOV R7,#10H ;设定数据块长度初
30、值 MOV R6,#00H ;清校验和单元BLOOP3: JNB RI,$ CLR RI MOV A,SBUF MOV R0,A ;接收数据转储 INC RO ADD A,R6 ;求校验和 MOV R6,A DJNZ R7,BLOOP3 ;判断数据块是否接收完毕 JNB RI,$ ;完毕,接收1号机发来的校验和 CLR RI MOV A,SBUF *RL A,R6 ;比拟校验和 JZ END1 MOV SBUF,#0FFH ;校验和相等,跳至发正确标志 JNB TI,# ;校验和不相等,发错误标志 CLR TI ;转重新接收 SJMP BLOOP2END1: MOV SBUF,#00H RET4 软件仿真 Proteus 7 Professional 是一种低投资的电子设计自动化软件,它可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU。与KEIL和MPLAB不同的是,它还可以仿真周边的设备。例如,示波器、RAM、ROM、LED等。本次设计,通过两片两片AT89C52单片机由8位按键开关分别控制8个指示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教育教学设计试题及答案
- 深度解析(2026)《GBT 30234-2013文物展品标牌》
- 2026年恩施初中语文试题及答案
- 深度解析(2026)《GBT 29998-2013铜矿山低品位矿石可采选效益计算方法》
- 深度解析(2026)《GBT 29875-2013磷矿石和磷精矿中铅、砷、汞含量的测定》
- 深度解析(2026)《GBT 29836.2-2013系统与软件易用性 第2部分:度量方法》
- 《GBT 8051-2008计数序贯抽样检验方案》(2026年)合规红线与避坑实操手册
- 《GBT 701-2008低碳钢热轧圆盘条》(2026年)合规红线与避坑实操手册
- 《DL/T 2620-2023汽轮机高压调节阀流量特性测试技术导则》(2026年)合规红线与避坑实操手册
- 2026年生态修复植物应用合同协议
- 国家事业单位招聘2025中国宋庆龄青少年科技文化交流中心招聘人员笔试历年参考题库典型考点附带答案详解
- 安徽省合肥市2026届高三下学期第二次教学质量检测政治卷及答案
- 数据安全培训协议
- 博士后导师协议书
- 专题06 拓展:对勾函数、飘带函数、V型函数、高斯函数的四大题型(高效培优专项训练)数学北师大版2019必修第一册(解析版)
- 2025年医疗器械自查报告模板
- 派安普利单抗注射液-临床用药解读
- 2025重庆机场集团有限公司社会招聘150人(第二次)笔试参考题库附带答案详解
- 药企消防安全培训课件
- 村镇建设科培训课件
- 室内概念方案汇报
评论
0/150
提交评论