2022年通信系统设计 .pdf
《2022年通信系统设计 .pdf》由会员分享,可在线阅读,更多相关《2022年通信系统设计 .pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、附录:校园网布线图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 26 页 - - - - - - - - - 基于单片机的多机通信系统设计张胜杰 31202064 通信 1202 【摘要】随着单片机技术的不断发展, 单片机的应用已经从单机向多机互联化方向发展。单片机在实时数据采集和数据处理方面,有着成本低、能满足一般要求、开发周期短等优点, 其在智能家居、 计算机的网络通信与数据传输、工业控制自动化等方面有着广泛的应用。 单片机又以其极高的性价比越来越多的在智能式仪表和
2、工业过程控制中也得到广泛的应用。但由于其本身资源有限, 在一些复杂过程或功能较多的控制中就难以满足要求,需要将单片机的数据送到上一级的微机进行处理。因此实现上位机(PC 机) 与下位机 ( 单片机 )之间的数据可靠通信是必须解决的主要问题之一。 本系统能够实现单片机之间的串口通信及无线通信。在多机通信系统中, 要保证主机与从机间可靠的通信,必须要让通信接口具有识别功能,51 单片机串行口控制寄存器SCON 中的控制位 SM2正是为了满足这一要求而设置的。1、系统总体方案设计系统的组成图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
3、- 名师精心整理 - - - - - - - 第 2 页,共 26 页 - - - - - - - - - 1.1 单片机STC12C5A60S2/AD/PWM 系列单片机是 STC生产的单时钟 / 机器周期 (1T) 的单片机,是高速/ 低功耗 / 超强抗干扰的新一代8051 单片机,指令代码完全兼容传统8051,但速度快 8-12 倍。内部集成 MAX810 专用复位电路 ,2 路 PWM,8 路高速 10 位 A/D 转换(250K/S, 即 25万次/ 秒), 针对电机控制,强干扰场合。1)增强型 8051 CPU,1T,单时钟 / 机器周期,指令代码完全兼容传统8051 2)工作电压
4、:STC12C5A60S2 系列工作电压: 5.5V - 3.5V(5V单片机)STC12LE5A60S2 系列工作电压: 3.6V - 2.2V(3V单片机)3)工作频率范围: 035MHz ,相当于普通 8051的 0 420MHz 4)有 EEPROM功能(STC12C5A62S2/AD/PWM无内部 EEPROM) 5)内部集成 MAX810 专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)6)外部掉电检测电路 : 在 P4.6 口有一个低压门槛比较器5V单片机为 1.33V,误差为 5%,3.3V 单片机为 1.31V,误差为 3% 7)时钟源:外部高精度晶体 / 时钟
5、,内部 R/C振荡器 ( 温漂为 5% 到10% 以内) 用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体 / 时钟常温下内部 R/C振荡器频率为: 5.0V 单片机为: 11 MHz 17MHz 3.3V 单片机为: 8MHz 12MHz 精度要求不高时, 可选择使用内部时钟, 但因为有制造误差和温漂, 以实际测试为准8)共 4 个 16位定时器两个与传统 8051兼容的定时器 / 计数器 ,16 位定时器 T0和 T1, 没有定时器 2,但有独立波特率发生器做串行通讯的波特率发生器, 再加上 2 路 PCA模块可再实现 2 个 16 位定时器9)3 个时钟输出口,可由T0
6、的溢出在 P3.4/T0 输出时钟,可由T1 的溢出在P3.5/T1 输出时钟 , 独立波特率发生器可以在P1.0 口输出时钟名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 26 页 - - - - - - - - - 10) 外部中断 I/O7 路, 传统的下降沿中断或低电平触发中断, 并新增支持上升沿中 断 的PCA 模 块 , Power Down 模 式 可 由 外 部 中 断 唤 醒 ,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5,
7、RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到 P4.2), CCP1/P1.4(也可通过寄存器设置到P4.3) 11) PWM(2路)/ PCA(可编程计数器阵列 ,2 路)- 也可用来当 2 路 D/A 使用- 也可用来再实现 2 个定时器- 也可用来再实现 2 个外部中断 ( 上升沿中断 / 下降沿中断均可分别或同时支持 ) 12) A/D 转换, 10 位精度 ADC ,共 8 路,转换速度可达250K/S(每秒钟 25 万次) 13)通用全双工异步串行口 (UART),由于 STC12系列是高速的8051,可再用定时器或 PCA 软件实现多串口14) STC12C5A60
8、S2 系列有双串口, 后缀有 S2标志的才有双串口, RxD2/P1.2(可通过寄存器设置到P4.2) ,TxD2/P1.3( 可通过寄存器设置到P4.3) 15)工作温度范围: -40 +85 (工业级 ) / 0 75( 商业级 ) 16)封装: LQFP-48, LQFP-44, PDIP-40, PLCC-44, QFN-40I/O口不够时,可用2 到 3 根普通 I/O 口线外接 74HC164/165/595(均可级联)来扩展I/O 口, 还可用 A/D做按键扫描来节省I/O 口,或用双 CPU, 三线通信,还多了串口。STC12C5A60S2 系列单片机具有2 个采用UART(U
9、niversal Asychronous Receiver/Transmitter) 工作方式的全双工串行通信接口( 串口 1 和串口 2)。每个串行口由 2 个数据缓冲器、一个移位寄存器、 一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2 个互相独立的接收、 发送缓冲器构成, 可以同时发送和接收数据。发送缓冲器只能写入而不能读出, 接收缓冲器只能读出而不能写入,因而两个缓冲器可以共用一个地址码。串行口1 的两个缓冲器共用的地址码是99H ;串行口 2 的两个缓冲器共用的地址码是9BH 。串行口 1 的两个缓冲器统称串行通信特殊功能寄存器SBUF ;串行口 2 的两个缓冲
10、器统称串行通信特殊功能寄存器 S2BUFSTC12C5A60S2系列单片机的两个串行口都有4 种工作方式,其中两种方式的波特率是变的, 另两种是固定的, 以供不同应用场合选用。 用户可用软件设置不同的波特率和选择不同的工作方式。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 26 页 - - - - - - - - - STC12C5A60S2 单片机引脚图1.2 LCD1602 1602液晶也叫 1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块
11、。它由若干个5X7或者 5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符, 每位之间有一个点距的间隔, 每行之间也有间隔, 起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形. 1602采用标准的 16 脚接口,其中:第 1 脚:VSS为电源地第 2 脚:VCC 接 5V电源正极第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第 4 脚:RS为寄存器选择,高电平1 时选择数据寄存器、低电平0 时选择指令寄存器。名师资料总结 - - -精品资料欢迎下载 - -
12、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 26 页 - - - - - - - - - 第 5 脚:RW 为读写信号线,高电平 (1) 时进行读操作,低电平 (0) 时进行写操作。第 6 脚:E(或 EN)端为使能 (enable) 端, 高电平( 1)时读取信息,负跳变时执行指令。第 714 脚:D0D7为 8 位双向数据端。第 1516 脚:空脚或背灯电源。 15 脚背光正极, 16 脚背光负极。引脚图3、2.4G:(1) 2.4Ghz 全球开放 ISM 频段免许可证使用(2) 最高工作速率 2Mbps ,高
13、效 GFSK调制,抗干扰能力强,特别适合工业控制场合(3) 126 频道,满足多点通信和跳频通信需要(4) 内置硬件 CRC 检错和点对多点通信地址控制(5) 低功耗 1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为 900nA (6) 内置 2.4Ghz 天线,体积小巧15mm X29mm (7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8) 内置专门稳压电路,使用各种电源包括DC/DC 开关电源均有很好通信效果(9) 2.54MM 间距接口, DIP 封装(10) 工 作 于 Enhanced Shock
14、Burst 具 有Automatic packethandling, Auto packet transaction handling, 具有可选的内置包应答机制, 极大的降低丢包率。(11) 与 51 系列单片机 P0口连接时候,需要加10K的上拉电阻 , 与其余口连接不需要。(12) 其他系列的单片机,如果是 5V的, 请参考该系列单片机IO 口输出电流大小,如果超过 10mA ,需要串联电阻分压,否则容易烧毁模块! 如果是 3.3V 的,可以名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
15、- - 第 6 页,共 26 页 - - - - - - - - - 直接和 RF24l01 模块的 IO 口线连接。比如AVR系列单片机;如果是5V 的,一般串接 2K 的电阻引脚定义图1.3 串口通信串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少, 在远距离通信中可以节约通信成本, 但其传输速度比并行传输低。最重要的参数是波特率、 数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。1.4 5V转 3.3V 用电阻分压的方式使5V转为 3.3V 名师资料总结 - - -精品资料欢迎下载 - - - -
16、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 26 页 - - - - - - - - - 3 硬件设计4 软件设计源代码中,对应代码要改成sbit CE =P11; /双路电流检测板sbit CS =P14; sbit IRQ =P32; sbit MOSI =P15; /双路电流检测板sbit MISO =P16; sbit SCK=P17; sbit LCD1602_RS=P23; /双路电流检测板sbit LCD1602_RW=P22; sbit LCD1602_EN=P21; 名师资料总结 - - -精品资料欢迎下载
17、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 26 页 - - - - - - - - - 附录A 系统原理图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 26 页 - - - - - - - - - B 系统实物图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共
18、 26 页 - - - - - - - - - C 源代码HELLOWOLD #include Timertimer.h #include LCD1602lcd1602.h BYTE code str0=-Hello World!-; BYTE code str1=-Hello LCD1602-; BYTE code str2=-Welcome to 51 MCU WORLD!-; void main(void) / InitSerial(); TimerInit(); LCD1602_init(); EA=1; while(1) LCD1602_string(0,0,str0); LCD16
19、02_string(0,1,str1); Delay100ms(10); LCD1602_string(0,0,str2); Delay100ms(10); 文件名称: timer.c * * 功能描述: timer0设置为自动重装工作模式,每100us 产生一次中断,复用为多个定时器* * 开发环境: IDE 为 Keil uVision2 v7.20。MCU 为 STC89C516RD+ ,晶振频率24M * * 程序作者:张懿* * 文件版本: v0.9 * * 创建时间: 2008/11/1 * * 修改记录:无* */ #define _TIMER_C_ 名师资料总结 - - -精品
20、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 26 页 - - - - - - - - - #include .Timertimer.h static data BYTE gBa_TmrBufMAX_TMR; / Timer array static data BYTE gB_Count1ms; / 1ms counter static data BYTE gB_Count10ms; / 10ms counter static data BYTE gB_Count; /* * * 函数名称: T
21、imerInit * * 功能描述:复用定时器初始化操作,注意全局中断(EA )在函数中并未打开,使用中在合* 适的地方需要添加EA=1语句* * 输入参数:无* * 输出参数:无* */ void TimerInit(void) BYTE B_Index; for (B_Index=0; B_IndexMAX_TMR; B_Index+) gBa_TmrBufB_Index = 0 xFF; / Initialize timer values gB_Count=0; gB_Count1ms=0; gB_Count10ms=0; /Init the timer value,using time
22、r0 ET0 = 0; / Timer 0 Interrupt disabled TH0 = 56; /24M,timeout=100us TMOD= TMOD&0 xF0; TMOD= TMOD|0 x02; / Gate1 = 0, C/T1 = 0, Mode1 = 2 TR0 = 1; / Enable Timer 0 PT0 = 0; / Timer 0 Interrupt ET0 = 1; / Timer 0 Interrupt Enabled /EA = 1; /* * * 函数名称: timer0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
23、 - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 26 页 - - - - - - - - - * * 功能描述:定时器0 中断函数* * 输入参数:无* * 输出参数:无* */ void timer0(void) interrupt 1 using 3 BYTE i; gB_Count+; if(gB_Count=10) gB_Count=0; gB_Count1ms+; for(i=0;i0&gBa_TmrBufi!=0 xFF) gBa_TmrBufi-; if(gB_Count1ms=11) gB_Count1ms=1; gB_Count1
24、0ms+; for(i=NUM_1ms_TMR;i0&gBa_TmrBufi!=0 xFF) gBa_TmrBufi-; if(gB_Count10ms=12) gB_Count10ms=2; for(i=NUM_1ms_TMR+NUM_10ms_TMR;i0&gBa_TmrBufi!=0 xFF) gBa_TmrBufi-; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 26 页 - - - - - - - - - /* * * 函数名称: TimerStart *
25、 * 功能描述:启动指定的复用定时器* * 输入参数: B_Timer=复用的定时器号,例如USER_1ms_TMR等, DELAY_xms_TMR 为系统使用,* 不能作为输入参数* B_value=定时的时间,范围0255(指定 255 时实际定时为254),* 延时时间 =B_value* 定时器的延时时间,例如使用USER_1ms_TMR时,* 延时时间 =B_value*1ms * * 输出参数:无* */ void TimerStart(BYTE B_Timer, BYTE B_value) / Error checking if (B_Timer = MAX_TMR) / Wit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年通信系统设计 2022 通信 系统 设计
限制150内