[论文]基于单片机与gsm模块无线温度传输系统内容摘要:

机器周期的高电平将使单片机复位。 ALE/PROG(Pin30):地址锁存允许信号。 PSEN(Pin29):外部存储器读选通信号。 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。 (4) 可编程输入 /输出引脚。 STC89C52 单片机有 4组 8位的可编程 I/O 口,分别位 P0、 P P P3 口,每个口有8位 ( 8根引脚),共 32 根。 PO 口( Pin39~ Pin32): 8 位双向 I/O 口线,名称为 ~; P1 口( Pin1~ Pin8): 8 位准双向 I/O 口线,名称为 ~ ; P2 口( Pin21~ 10 Pin28): 8 位准双向 I/O 口线,名称为 ~ ; P3 口( Pin10~ Pin17): 8 位准双向 I/O 口线,名称为 ~。 STC89C52 主要功能 如表 6所示。 表 6 STC89C52 主要功能 主要功能特性 兼容 MCS51 指令系统 8K 可反复擦写 Flash ROM 32 个双向 I/O 口 256x8bit 内部 RAM 3 个 16 位可编程定时 /计数器中断 时钟频率 024MHz 2 个串行中断 可编程 UART 串行通道 2 个外部中断源 共 6 个中断源 2 个读写中断口线 3 级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 TC35i 模块介绍 本文系统通信模块采用 TC35i, TC35i 是 SIEMENS 公司推出的 GSM 专用调制解调器,它可在 GSM 网中完成语音、数据、短消息以及传真的传送, TC35i 具有标准的工业接口和完整的 SIM 卡阅读器,因此使用非常简单,它提供的命令接口符合 GSM0705 和 GSM0707规范,并提供 RS232 数据口,模块和单片机接口通过 40 针数据电缆相连接,由于 TC35i模块的数据接口是 CMOS 电平,因此单片机对 TC35i 模块控制和通信信号不用进行电平转换,通过 R232 将 TC35i 模块和 PC 机连接起来即可。 TC35i 模块输入输出的 TTL 正电平逻辑不是 + 5V,而是 + ,因此 ,必须对该输入电平进行逻辑转换 ,系统通过在集电极开路缓冲器 7407 的输出加上拉电阻完成电路逻辑的转换。 系统加电后 ,为使 TC35i 进入工作状态 ,必须给 IGT(绝缘栅晶体管 )加一延时大于 100ms 的低脉冲电平 ,下降持续时间不可超过 1ms。 启动后 , IGT 应保持高电平( V)。 驱动 IGT 时 TC35i 供电电压不能低于 ,否则 TC35i 不能激活。 ZIF 连接座的 CCIN 引脚用来检测 SIM 卡是否插好 ,如果连接正确 ,则 CC IN 引脚输出高电平 ,否则为低电平 ,可以在系统中 ,将引脚与参考地间连接红色指示灯 ,提示用户 SIM 卡是否插好。 TC35i 模块有 40 个引脚,通过一个 ZIF(Zero Insertion Force,零阻力插座 )连接器引出。 这 40 个引脚可以划分为 5类,即电源、数据输入 /输出 、 SIM 卡、音频接口和控 11 制。 TC35i 的第 1~ 5引脚是正电源输入脚通常推荐值 ,第 6~ 10 引脚是电源接地。 1 12为充电引脚,可以外接锂电池, 13为对外输出电压 (共外电路使用 ), 14为 ACCUTEMP接负温度系数的热敏电阻,用于锂电池充电保护控制。 15 脚是启动脚 IGT,系统加电后为使 TC35i 进入工作状态,必须给 IGT 加一个大于 100ms 的低脉冲,电平下降持续时间不可超过 1ms。 16~ 23 为数据输入 /输出,分别为 DSR0、 RING0、 RXD0、 TXD0、 CTS0、 RTS0、DTR0 和 DCD0。 TC35i 模块的数据输入 /输出接口实际上是一个串行异步收发器,符合ITUT RS232 接口标准。 它有固定的参数: 8位数据位和 1位停止位,无校验位,波特率在 300bps~115kbps 之间可选,默认 9600。 硬件握手信号用 RTS0/CTS0,软件流量控制用XON/XOFF, CMOS 电平,支持标准的 AT 命令集。 其中 18 脚 RxD0、 19 脚 TXD0 为 TTL 的串口通讯脚,需要和单片机或者 PC 通讯。 TC35i 使用外接式 SIM 卡, 24~ 29 为 SIM 卡引脚,SIM 卡同 TC35i 是这样连接的: SIM 上的 CCRST、 CCIO、 CCCL、 CCVCC 和 CCGND 通过 SIM卡阅读器与 TC35i 的同名端直接相连, ZIF 连接座的 CCIN 引脚用来检测 SIM 卡是否插好,如果连接正确,则 CCIN 引脚输出高电平,否则为低电平。 TC35i 的第 32 脚 SYNC 引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示 TC35i 的工作状态,可用 AT命令 AT+SYNC 进行切换,本模块使用的是后一种。 当 LED 熄灭时,表明 TC35i处于关闭或睡眠状态;当 LED 为 600 ms 亮 /600ms 熄时,表明 SIM 卡没有插入或 TC35i正在进行网络登录;当 LED 为 75 ms 亮 /3s 熄时,表明 TC35i 已登录进网络,处于待机状态。 3 32脚为控制脚,其中 30 为 RTC backup, 31为 Power down, 32 为 SYNC。 35~ 38为语音接口, 3 36 接扬声器放音。 3 38 可以直接接驻极体话筒来采集声音 (37是话筒正端, 39是话筒负端 )如下图 5所示。 12 图 5 TC35i 引脚图 13 3 软件设计 TMOD 配置 C51 中有两个计数 /定时器 T1 和 T0。 每个计数器都有两个八位寄存器,即是十六位的寄存器。 TH TL1 分别是计数器 T1 的高八位和低八位存储区, TH0、 TL0分别是计数器 0的高八位和低八位存储区。 在单片机中有两个特殊功能寄存器与定时 /计数有关,这就是TMOD 和 TCON。 TMOD 和 TCON 是寄存器的名称,在写程序时就可以直接用这个名称来指定。 TMOD 寄存器的内容如表 6 所示。 表 6 寄存器 TMOD 从表 6中可以看出, TMOD 被分成两部份,每部份 4 位。 分别用于控制 T1, T0,(前四位控制 T1,后四位控制 T0) TR0、 TR1 分别是控制 T0 和 T1 工作状态的位。 定时 /计数器一共有四种工作方式,就是用 M1M0 来控制的, 2 位正好是四种组合( 00 方式 1, 01方式 1, 10 方式 2, 11方式 3)。 C/T:定时 /计数器即可作定时用也可用计数用,到底作什用,根据需要自行决定,也说是决定权在编程者。 如果 C/T 为 0 就是用作定时器,如 果C/T 为 1 就是用作计数器。 串口通讯原理 串行接口的一般概念 单片机与外界进行信息交换称之为通 讯。 89C52 单片机的通讯方式有两种,并行通讯 :数据的各位同时发送或接收。 本文档不涉及并行通讯,只 讲串行通讯。 串行通讯 :数据一位一位顺序发送或接收。 串行通讯有同步通讯和异步通信两种方式: 异步通讯:它用一个起始位表示字符的开始,用停止位表示字符的结束。 在一帧格式中,先是一个起始位 0,然后是 8 个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位 1。 用这种格式表示字符 ,则字符可以一个接一个地GATE C/T M1 M0 GATE C/T M1 M0 14 传送。 在异步通讯中, CPU 与外设之间必须有两项规定,即字符格式和波特率。 字符格 式的规定是双方能够在对同一种 0 和 1 的串理解成同一种意义。 原则上字符格式可以由通讯的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用ASCII 标准。 波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。 例如,数据传送的速率是 120字符 /s,而每个字符如上述规定包含 10数位,则传送波特率为 1200波特。 89C52 单片机的串行接口结构 89C52 单片机通过引脚 RXD( ,串行数据接收端)和引脚 TXD( ,串行数据发送端)与外界通讯,如图 6所示。 SBUF 是串行口缓冲寄存器,包括发送寄存器和接收寄存器。 它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被 CPU读出数据,一个只能被 CPU 写入数据。 所以,语句 SBUF=SBUF;是有意义的。 它并不是将本身的值赋给了本身,而是将一个寄存器的值赋给了另一个寄存器,并且单片机不会搞错哪个是发送的,哪个是接受的。 图 6 单片机串口电路图 串行口的控制与状态寄存器 串行口控制寄存器 SCON 它用于定义串行口的工作方式及实施接收和发送控制。 其各 15 位定义如表 7 所示。 表 7 串口控制寄存器 SCON 示意表 SM0 SM1 SM2 REN TB8 RB8 TI RI :工作方式控制位(其中 fosc 为晶振频率)如表 8 所示。 表 8 工作方式 SM0 SM1 工作方式 说 明 波特率 0 0 0 同步移位寄存器 Fosc/12 0 1 1 10 位异歩收发 由定时器控制 1 0 2 11 位异步收发 Fosc/32或 Fosc/64 1 1 3 11 位异步收发 由定时器控制 SM2:多机通讯控制位。 本次设计不使用,编程时置 0即可。 REN:接收允许控制位。 由软件置位以允许接收,又由软件清 0来禁止接收。 TB8: 是要发送数据的第 9位。 在方式 2或方式 3中,要发送的第 9位数据,根据需要由软件置 1 或清 0。 例如,可约定作为 奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。 RB8:接收到的数据的第 9位。 在方式 0中不使用 RB8。 在方式 1 中,若( SM2) =0,RB8 为接收到的停止位。 在方式 2或方式 3中, RB8 为接收到的第 9位数据。 TI: 发送中断标志。 在方式 0中,第 8位发送结束时,由硬件置位。 在其它方式的发送停止位前,由硬件置位。 TI 置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。 TI必须用软件清 0。 RI: 接收中断标志位。 在方式 0, 当接收完第 8位数据后,由硬件置位。 在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于 SM2 的说明)。 RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。 RI必须用软件清 0。 电源控制寄存器 PCON,此寄存器只有第一位 SMOD 和本文档有关。 SMOD:串行口波特率加倍位: 1――方式 1, 3波特率=定时器 1溢出率 /16;方式 2波特率为 Fosc/32。 0――方式 1, 3波特率=定时器 1溢出率 /32;方式 2波特率为 Fosc/64。 8051 单片机的全双工串行口可编程为 4种工作方式,现分 述如下。 16 方式 0为移位寄存器输入 /输出方式。 本文档不用,故不叙述。 方式 1为波特率可变的 10位异步通讯接口方式。 发送或接收一帧信息,包括 1 个起始位 0, 8 个数据位和 1 个停止位 1。 输出: 当 CPU 执行一条指令将数据写入发送缓冲SBUF 时,就启动发送。 串行数据从 TXD 引脚输出,发送完一帧数据后,就由硬件置位 TI。 输入: 在( REN) =1时,串行口采样 RXD 引脚,当采样到 1 至 0 的跳变时,确认是开始位 0,就开始接收一帧数据。 只有当( RI) =0 且停止位为 1 或者( SM2) =0 时,停止位才进入 RB8, 8 位数据才能进入接收寄 存器,并由硬件置位中断标志 RI;否则信息丢失。 所以在方式 1接收时,应先用软件清零 RI和 SM2 标志。 方式 2为固定波特率的 11位异步通讯接口方式。 它比方式 1增加了一位可程控为 1或 0 的第 9位数据。 输出 : 发送的串行数据由 TXD 端输出一帧信息为 11位,附加的第 9位来自 SCON 寄存器的 TB8 位,用软件置位或复位。 它可作为多机通讯中地址 /数据信息的标志位,也可以作为数据的奇偶校验位。 当 CPU 执行一条数据写入 SUBF 的指令时,就启动发送器发送。 发送一帧信息后,置位中断标志 TI。 输入 : 在( REN) =1时,串行口采样 RXD 引脚,当采样到 1 至 0 的跳变时,确认是开始位 0,就开始接收一帧数据。 在接收到附加的第 9位数据后。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。