东北石油大学毕业论文巡检定时器

更新时间:2024-06-15 14:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

东北石油大学本科生毕业设计(论文)

摘 要

随着生活节奏的加快,人们时间观念的加强,时钟已经成为人们日常生活中不可或缺的一部分,而如何在时钟的基础上,根据人们生活的需要增加相应的功能以方便人们的生活,成为时钟设计方面的重点。

本设计基于单片机技术原理,以单片机芯片STC89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计了基于数字时钟的可定时报警并向手机发送短信的巡检定时器。其中时钟系统主要由时钟模块、液晶显示模块、键盘控制模块以及报警模块组成。系统具有简单清晰的操作界面,能在+5V直流电源下正常工作。能够准确显示日期和时间(显示格式为年、月、日、时、分、秒;24小时制),可随时进行时间调整。具有闹钟时间设置、闹钟开/关、止闹功能。而定时向手机发送短信的部分则是基于单片机的GSM短信收发系统。

关键词:单片机;数字时钟;巡检;定时

东北石油大学本科生毕业设计(论文)

Abstract

With the accelerated pace of life,with people’s concept of time to strengthen,the clock has become an integral part of daily life,and how to increase,according to the needs of people’s lives on the basis of the clock,the corresponding functions to facilitate people’s lives becomes what the clock design focuses on.

Based on principles of single-chip computer,using chip STC89C52 as the core controller,the paper shows a design of a polling timer based on the design of the digital clock timing alarm.The design can realize the function of sending SMS to mobile phone. The clock system is mainly composed of a clock module, LCD display module, keyboard control module and a warning module. The system has a simple and clear user interface, and it can be in the +5V DC power supply to work. Also it can be able to accurately display the date and time (display format for year, month, day, time, minutes, seconds. 24 hours system ).It may at any time to adjust time, and has funtions of setting the alarm time, turning the alarm on / off, stopping alarm. While the part of timing sending SMS to mobile phone is based on the MCU GSM SMS transceiver system.

Key words: Single chip microcomputer;digital clock; On-site inspection;Timing

东北石油大学本科生毕业设计(论文)

目 录

第1章 绪论 .......................................................1

1.1 课题研究背景及意义 ...................................... 1 1.2 数字时钟的发展现状 ...................................... 1 1.3 论文主要内容及结构安排 .................................. 3

第2章 总体方案论证与设计 ..........................................4

2.1 设计要求 ................................................ 4 2.2 总体设计方案 ............................................ 5 2.3 各功能模块方案选择 ...................................... 5 2.4 本章小结 ................................................ 7

第3章 系统硬件设计 ................................................8

3.1 单片机最小系统电路设计 .................................. 8 3.2 LCD显示系统硬件设计 ................................... 11 3.3 时钟系统电路设计 ....................................... 12 3.4 键盘控制系统电路设计 ................................... 14 3.5 报警系统电路设计 ....................................... 15 3.6 手机传送短信系统电路设计 ............................... 15 3.7 串行通信接口系统电路设计 ............................... 18 3.8 本章小结 ............................................... 20

第4章 系统软件设计 ...............................................21

4.1 主程序的设计 ........................................... 21 4.2 时钟电路程序的设计 ..................................... 22 4.3 LCD显示电路程序的设计 ................................. 25 4.4 按键电路程序的设计 ..................................... 27 4.5 报警电路程序的设计 ..................................... 29 4.6 定时向手机发送短信电路程序的设计 ....................... 29

I

东北石油大学本科生毕业设计(论文)

4.7 本章小结 ............................................... 30

第5章 系统调试 ...................................................31

5.1 系统调试环境 ........................................... 31 5.2 软件调试 ............................................... 31 5.3 硬件调试 ............................................... 32 5.4 调试结果 ............................................... 33 5.5 本章小结 ............................................... 34

结 论 ............................................................35 参考文献 .........................................................36 致 谢 ............................................................37 附录1 程序清单 ...................................................38 附录2 电路原理图 .................................................46 附录3 实物图 .....................................................47

II

东北石油大学本科生毕业设计(论文)

第1章 绪论

1.1 课题研究背景及意义

数字时钟显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式指针式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

在数字时钟的基础上设计一种巡检定时器,突破了每次定时一次就只提醒一次的闹铃的功能,可以实现只预设一次时间就起到每隔特定时间提醒的作用。间隔的时间可以通过按键来设定,在预设的时间点上报警并向手机发送短信告诉人们时间。将巡检定时器应用于工厂中,给工作人员带来了很大的方便。

1.2 数字时钟的发展现状

现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英表、石英钟都采用了石英技术,因此走时精度高、稳定性好、使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LCD显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

[1]

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。近些年,随着科技的发展和社会的进步,人们对数

1

东北石油大学本科生毕业设计(论文)

字闹钟的要求也越来越高,传统的时钟不能满足人们的需求。多功能数字闹钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。

[2]

数字时钟的发展现状:

一、基于微机系统的数字时钟设计

计时单元由定时/计数器8253的通道0来实现。定时采用硬件计数和软件技术相结合的方式,即通过8253产生一定的定时时间,然后再利用软件进行计数,从而实现24小时制定时。8253定时时间到了之后产生中断信号,8253在中断服务程序中实现时、分、钞的累加。时间显示采用实验平台上的6个LED数码管分别显示时、分、秒,采用动态扫描方式实现。校时和闹铃定时通过键盘电路和单脉冲产生单元来输入。按键包括校时键、闹钟定时键、加1键、减1键等。报警声响用蜂鸣器产生,将蜂鸣器接8253的一个端口,通过输出电平的高低来控制蜂鸣器的发声。

二、基于VHDL的数字时钟设计

基于VHDL语言,用Top_Down的思想进行设计。

用CN6无进位六进制计数器选择数码管的亮灭以及对应的数、循环扫描显示,用SEL61六选一选择器选择给定的信号输出对应的数送到七段码译码器。K4模块进行复位,设置小时和分、输出整点报时信号和时、分、秒信号。

三、基于单片机数字时钟设计

基于单片机的数字时钟设计是模块化设计,以单片机做主控制模块,控制时钟芯片、温度传感器芯片等,又将数据控制输出到显示模块。

基于单片机的数字时钟系统具有显示准确、直观、易于调整等特点。单片机自诞生以来给全世界人类的生活和工作起到了剧烈的变化,通过该系统的设计,对单片机的原理和功能有个比较系统和全面的掌握。

单片机指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

[3]

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,录象机、摄象机,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,可以通

2

东北石油大学本科生毕业设计(论文)

过它的时钟信号进行时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术和数码管显示技术。

单片机在多功能数字闹钟中的应用已是越来越普遍,人们对数字闹钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字闹钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来,与此同时,还可以设定时间,当到达设定的时间时,在LCD上可以显示的温度,通过键盘可以进行定时、校时功能。输出设备显示器用液晶显示技术。

[4]

1.3 论文主要内容及结构安排

本次在数字时钟的基础上设计一种巡检定时器,突破了每次定时一次就只提醒一次的闹铃的功能,可以实现只预设一次时间就起到每隔特定时间提醒的作用。本次的数字时钟设计中由单片机AT89S52芯片和LCD为核心,辅以必要的电路,如调时按键、蜂鸣器等。实现了对各个单元的有效控制,本文分五章对系统设计进行了详细介绍,各章节安排如下:

第1章 简要介绍了数字时钟的发展现状,提出了研究课题,介绍了论文的章节安排。

第2章 本章给出了总体方案的论证与设计,其中提出了设计要求,给出方案的比较并最终确定了方案。

第3章 本章主要是对巡检定时器各个功能模块进行设计。并且分别阐述了各个功能模块的工作原理、具体工作过程以及硬件连接。

第4章 本章主要研究了在电路的基础上设计相应的软件程序,说明程序运行过程,给出各个功能模块应用程序的流程图以及源程序。

第5章 本章主要介绍数字时钟的调试,包括调试环境、硬件制作和软件调试过程,给出了调试软件的成功运行结果。

3

东北石油大学本科生毕业设计(论文)

第2章 总体方案论证与设计

2.1 设计要求

本系统采用单片机STC89C52为LCD显示屏的控制核心,基本要求是设计键盘电路,用按键完成系统信息的输入,用三个按键分别实现调整,按键加和按键减的功能;显示电路拟采用LCD液晶显示;要求显示屏可以显示两个界面:一个界面显示实时日期和时间,另一个界面显示闹钟时间和设定闹钟响起的间隔时间。有定时报警系统,用蜂鸣器实现,预计响声持续一分钟;有定时向手机传送短信系统。

在数字时钟的基础上设计一种巡检定时器,突破了每次定时一次就只提醒一次的闹铃的功能,可以实现只预设一次时间就起到每隔特定时间提醒的作用。间隔的时间可以通过按键来设定,在预设的时间点上报警并向手机发送短信告诉人们时间。将巡检定时器应用于工厂中,给工作人员带来了很大的方便。其中巡检定时器的功能有:

本设计时钟能用LCD显示年、月份、日期、小时(24小时制)、分钟、秒,能对各位进行调节。

(1)本设计有2种显示模式,分别是显示模式和调整模式,并且有两个界面,分别是时间、日期界面和闹钟界面。

(2)用户可以设置电子时钟的时间。设置时间时必须先单击模式选择按钮,进入调整时间模式,选择相应的调节位,然后再单击调整时间加减按钮,使其调节为正确的时间。

(3)单击调整时间的加按钮时,数字时钟的分或者秒会一直往上增加,当增加到59就会循环到0,数字时钟的时会增加到23就会循环到0,数字时钟的月也是增加到12循环至0,但日就不一样了,它会由月来决定增加到的最高数值,其数值遵循现实的值。当单击调整时间的减按钮时,与增刚好相反,减为0时,循环到相应数值最高位去。

(4)闹铃响起时可通过按下加按钮停止响铃,减按钮使闹铃重新开始响起。 (5)进入调整模式后,在预设闹钟的时间后再按一次调整按键可以调整闹钟响起的间隔时间,实现巡检定时的作用:定时响铃和发送短信。

4

东北石油大学本科生毕业设计(论文)

2.2 总体设计方案

综合上述要求系统主要包括LCD显示系统模块、时间采集系统模块、按键控制系统模块、报警系统模块、手机发送短信模块,其中手机发送短信模块又是由TC35i模块和GSM网络组成的。系统框图如图2-1所示。下面对各模块的设计逐一进行论证比较。

手机发 送短信 图2-1总体硬件组成框图

报警模块 采集模块 主控器件 STC89S52 按键控 制模块 LCD液晶 显示模块 2.3 各功能模块方案选择

2.3.1 LCD显示系统模块

方案一:用液晶12864显示。用可以显示汉字的12864液晶显示器可以增加显示信息的可读性,让人看起来会很方便。但是价格高些。

方案二:用液晶1602显示。用1602液晶虽然显示数据有限,但对于本次的设计显示是足够的且显示数据的可读性好,价格便宜。

比较以上两种方案,系统设计中采用方案二。

2.3.2 时钟采集系统模块

方案一:通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;虽然用软件实现时钟硬件线路简单,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确度,对定时器定时也不是十分准确,时钟精度很低,对于我们实现所需要的功能造成软件编程非常复杂。

方案二:用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。用专用时钟芯片硬件成本相对较高,但它的精度很高,软件编程很简单。

5

东北石油大学本科生毕业设计(论文)

比较以上两种方案,方案二有明显的优点,因此选择方案二。

2.3.3 按键控制系统模块

方案一:购买集成键盘,采用矩阵形式连接。集成美观,与单片机的接口少,但是它的成本比较高。

方案二:购买单个复位开关做成键盘。单片机的IO口对于我们的设计绰绰有余。

比较以上两种方案,我们选用价格便宜的单个复位开关做成键盘。因此选择方案二。

2.3.4 报警系统模块

方案一:语音报警,电路复杂。

方案二:采用蜂鸣器实现用声音报警。价格便宜,电路简单,易于实现。 比较以上两种方案,我们选用价格便宜的蜂鸣器实现用声音报警。因此选择方案二。

2.3.5 手机短信发送系统模块

方案一:通过移动网关发送短消息,使用该方法不需要附加的硬件,但是需要到电信部门申请网关,比较适用于一些大型的网络通讯公司开发,目前华为、中兴等公司就做的这方面的工作,并且还有相应的开发包供开发人员使用。

方案二:通过一些网站上提供的短信发送功能来实现,比如新浪网、网易都提供这方面的服务,这种方法是这三种方法中实现起来最简单,所需资源最少的,但是对于网站的依赖性太强,对网络的依赖同样无法避免,不适用于项目开发。

方案三:在电脑或单片要上通过GSM MODEM向手机发送中文短消息,这是目前比较适合于小项目开发的一种方法,所需硬件包括一款手机,提供GSM MODEM,以及相应的数据线或是红外线适配器。该方法编码简单,只需对AT指令和串口编程比较熟悉就可以实现,而且对硬件需求不高,并能自动收发短消息。

比较以上三种方案,选择方案三。

6

东北石油大学本科生毕业设计(论文)

2.4 本章小结

本章给出了各个模块的方案论证,比较与选择。经过多方比较,我们最终确定出各个模块的最佳方案。液晶显示采用LCD1602,时钟采集系统采用专用芯片DS1302来实现,按键用复位开关实现,报警系统用蜂鸣器实现,手机短信发送系统则利用TC35i模块和GSM网络实现。如图2-2所示。

GSM 网络 图2-2 模块选择形式方框图 TC35i模块 用蜂鸣器实现的报警模块 主控器件 STC89C52 LCD1602液晶显示模块 用复位开关实现 的按键控制模块 7

东北石油大学本科生毕业设计(论文)

第3章 系统硬件设计

为使该模块化LCD显示屏控制系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。硬件电路包括LCD显示模块、时间采集系统模块、按键控制系统模块、报警系统模块、手机发送短信系统模块、串口下载程序模块。

3.1 单片机最小系统电路设计

3.1.1 单片机芯片选择

单片机采用52系列单片机。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。

[5]

3.1.2 单片机管脚说明

VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,

8

东北石油大学本科生毕业设计(论文)

输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89S52的一些特殊功能口。

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX、MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH), 不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

[6]

3.1.3 单片机的最小系统

单片机最小系统主要由复位电路、晶振电路、电源等几部分组成。 (1)复位电路

复位电路有两种方式:上电复位和按钮复位,我们采用上电和按键复位方式。如图3-1所示:

9

东北石油大学本科生毕业设计(论文)

图3-1 复位电路

(2)晶振电路

晶振电路原理图如3-2:选取原则:电容选取30pF,晶振为12MHz。如图3-2所示:

图3-2 晶振电路

(3)电源

AT89S52单片机的供电电源是5V的直流电。用USB口实现。如图表3-3所示。USB引脚如表3-3所示。

图3-3 电源电路

10

东北石油大学本科生毕业设计(论文)

表3-1 USB引脚介绍

针脚 1 2 3 4 名称 VCC D- D+ GND 说明 +5V电压 数据线负极 数据线正极 接地 (4)EA非/Vpp脚

我们没有用外部扩展ROM,因此EA非/Vpp为高电平,即接+5V电源。

3.2 LCD显示系统硬件设计

3.2.1 LCD1602简介

工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。注:为了表示的方便,后文皆以1表示高电平,0表示低电平。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形 (用自定义CGRAM,显示效果也不好)1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。蓝底白字,标准型16X2液晶显示字符模块(背光/蓝屏)。

1602采用标准的16脚接口,其中: 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命

11

东北石油大学本科生毕业设计(论文)

令。

第7~14脚:D0~D7为8位双向数据线。 第15脚:背光电源正极。 第16脚:背光电源负极。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。

3.2.3 液晶显示电路

设计中采用 LCD1602液晶显示。1602的4脚与单片机的P1.0相连,5脚接地,6脚与单片机的P1.1相连。7~14脚与单片机的 P0口相连。1、16号脚接地,2号脚接电源,15号脚背光灯与电源相连。3号脚是对比度(亮度)调整,这里要用一个滑动变阻器来调整亮度,这里我们取电位器大小为10K。LCD1602显示电路如图3-4所示:

图3-4 LCD驱动电路原理图

3.3 时钟系统电路设计

3.3.1 时钟芯片选择

我们采用具有涓细电流充电能力的低功耗实时时钟电路DS1302。它可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。它采用主电源和备用电源双电源供电。它的工作电压范围2.0-5.5V,在2.2V时,小于300mA。它内部含有31个字节的静态RAM,可提供用户访问。

12

东北石油大学本科生毕业设计(论文)

DS1302可以对年、月、日、时、分、秒进行计时,可以达到我们设计的基本要求。内部的寄存器为我们调时,闹钟定时提供了寄存空间。备用用电源也实现了当系统断电后,时钟仍然可以保持。而且它是串行接口,与单片机通信所需要的接口少。不像DS12887等芯片并行通信需要很多IO口。

3.3.2 DS1302管脚及寄存器说明

(1)DS1302的引脚排列

Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。因此,我们Vcc1用3V的纽扣电池作为备用电源,Vcc2用系统电源作为主电源。 X1和X2是振荡源,外接32.768kHz晶振。 RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。 SCLK为时钟输入端。

(2)DS1302的寄存器说明

DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。

3.3.3 DS1302时钟电路

DS1302与单片机的连接仅需3条线:时钟线SCLK、数据线I/O和复位线RST。时钟线SCLK与P1.4相连,数据线I/O与P1.3相连,复位线RST与P1.2相连。由于DS1302是靠涓细电流充电来实现串行输入输出的,因此,在SCLK、I/O、RST线上要加上拉电阻,其中,它们的电流应该在500u-1mA之间,若电源为5V,则R约为5K,因此,我们的电阻R=4.7K。

在单电源与电池供电系统中,Vcc1提供低电源并提供低功率的备用电源。Vcc2

13

东北石油大学本科生毕业设计(论文)

提供高电源作为芯片供电的主电源。因此,这里Vcc1用3V纽扣电池,Vcc2用5V的系统电源。

晶振为32.768KHz接入X1、X2引脚。DS1302时钟电路如图3-5所示:

图3-5 时钟电路

3.4 键盘控制系统电路设计

按键需要3个,分别实现为时间调整、时间的加、时间的减三个功能。用单片机的3个I/O口接收控制信号,3个按键的一端与地相连,另一端分别与P2.0、P2.1、P2.2相连。这时当按键按下就输入低电平。其中按下K1set键后,系统进入调整模式,即可对年、月、日、时、分、秒、闹钟定时时间及响铃间隔时间进行设定。K2up和K3down键分别是可实现进入调整状态后的加操作和减操作。另外,在闹钟响起时,按下K2up可使闹钟停止,再按下K3down则可使闹钟重新开始响起。其电路图如图3-6所示:

图3-6 键盘控制电路

14

东北石油大学本科生毕业设计(论文)

3.5 报警系统电路设计

报警电路设计原理:用一个三极管,平时导通,短接基极和发射极该管截止蜂鸣器不响,一旦断开,三极管导通蜂鸣器鸣响。蜂鸣器与单片机的连接仅需1条线,与单片机的P3.5口相连。电路图如图3-7所示。

图3-7 报警电路

3.6 手机传送短信系统电路设计

在本次设计中采用单片机和GSM模块来实现手机短信的传送。GSM(Global System for Mobile communication)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统。目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。基于GSM的短信息服务,是一种信息在移动网络上储存和转寄的过程。由于公众GSM网络在是一种在移动网络上传送简短信息的无线应用全球范围内实现了联网和漫游,建立上述系统不须再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。

目前,国内已经开始使用的GSM模块有Falcom的A2D系列、Wavecome的WMO2系列、西门子的TC35系列、爱立信的DM10/DM20系列、中兴的ZXGM18系列等,而且这些模块的功能、用法差别不大。其中西门子的TC35系列模块性价比很高,并且已经有国内的无线电设备入网证。所以本设计选用的是西门子TC35

[7]

系列的TC35i。这是西门子推出的最新的无线模块,功能上与TC35兼容,设计紧凑,大大缩小了用户产品的体积。TC35i与GSM2/2+兼容、双频(GSM900/GSM1800)、

15

东北石油大学本科生毕业设计(论文)

RS232数据口、符合ETSI标准GSM0707和GSM0705,且易于升级为GPRS模块。该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输,方便用户的应用开发及设计。

3.6.1 TC35i模块简介

TC35i新版西门子工业GSM模块是一个支持中文短信息的工业级GSM模块,工作在EGSM900和GSM1800双频段,电源范围为直流3.3~4.8V,电流消耗休眠状态为3.5mA,空闲状态为25mA,发射状态为300mA(平均),2.5A峰值;可传输语音和数据信号, 功耗在EGSM900(4类)和GSM1800(1类)分别为2W和1W,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。SIM电压为3V/1.8V,TC35i的数据接口(CMOS电平)通过AT命令可双向传输指令和数据,可选波特率为300b/s~115kb/s,自动波特率为1.2kb/s~115kb/s。它支持Text和PDU格式的SMS(Short Message Service,短消息),可通过AT命令或关断信号实现重启和故障恢复,资料如下:

TC35i由供电模块(ASIC)、闪存、ZIF连接器、天线接口等6部分组成。作为TC35i的核心基带处理器主要处理GSM终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。

TC35i硬件设计:TC35i模块有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。

TC35i的第1~5引脚是正电源输入脚通常推荐值4.2V,第6~10引脚是电源地。11、12为充电引脚,可以外接锂电池,13为对外输出电压(共外电路使用),14为ACCU-TEMP接负温度系数的热敏电阻,用于锂电池充电保护控制。 15脚是启动脚IGT,系统加电后为使TC35i进入工作状态,必须给IGT加一个大于100ms的低脉冲,电平下降持续时间不可超过1ms。6~23为数据输入/输出,分别为DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0 和DCD0。tc35i模块的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-T 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的工作状态,可

16

东北石油大学本科生毕业设计(论文)

用AT命令AT+SYNC进行切换,本模块使用的是后一种。当LED熄灭时,表明TC35i处于关闭或睡眠状态;当LED为600 ms亮/600ms熄时,表明SIM卡没有插入或TC35i正在进行网络登录;当LED为75 ms亮/3s熄时,表明TC35i已登录进网络,处于待机状态。30、31、32脚为控制脚,其中30为RTC backup,31为Power down,32 为SYNC。 35~38为语音接口,35、36接扬声器放音。37、38可以直接接驻极体话筒来采集声音(37是话筒正端,39是话筒负端)。

[8]

TC35i开发技巧:模块的供电电压如果低于3.3V会自动关机。同时模块在发射时,电流峰值可高达2A。同时在此电流峰值时,电源电压(送入模块的电压)下降值不能超过0.4V。所以该模块对电源的要求较高,电源的内阻+FFC联接线的电阻必需小于200mΩ。

单片机通过两根I/O口控制TC35的开关机、复位等,通过串口与TC35进行数据通信,通信速率为9600Kbps,采用8位异步通讯方式,1位起始位,8位数据位,1位停止位。

TC35i模块输入输出的TTL正电平逻辑不是+5V,而是+2.9V,因此必要时加端口保护。

3.6.2 SIM卡

用户识别模块(SIM),SIM卡上包含了所有的用户信息。TC35i使用外接式SIM卡,ZIF连接器上有6个引脚作为SIM卡的接口,SIM卡上也有6个引脚分别与它们相对应,如图3-8所示:

图3-8 SIM卡引脚图

与TC35i模块的引脚连接方式见图3-9。但是SIM卡不能真焊到电路板上,应该需要一个SIM卡座,这里我们用一个8个引脚的SIM卡座。

17

东北石油大学本科生毕业设计(论文)

图3-9 手机发送短信电路

3.7 串行通信接口系统电路设计

MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。它可以将TTL电平转换成和电脑串口匹配的电压。DB9通过下载线缆于电脑连接,可以将程序下载到单片机上。MAX232芯片的11脚和12脚分别接单片机的P3.1和P3.0口,电路图如图3-10所示。

MAX232内部有两个电荷泵,将+5V 转换为±10V (空载),为RS-232驱动器提供工作电压。第一个转换器利用电容C1 将+5V输入加倍,得到V+ 输出端C3上的+10V;第二个转换器利用电容C2将+10V转换为V-输出端C4上的-10V。可以从+10V (V+)和-10V (V-)输出端获取少量的电源功率,为外部电路供电;当V+、V-为外部电路提供电流时,注意不要因为所加负载的原因使V+、V-低于EIA/TIA-232E驱动器输出电压最小值±5V的限制。

[9]

18

东北石油大学本科生毕业设计(论文)

MAX232引脚和内部电路引脚功能如下:

第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。

第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。

其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。

第三部分是供电。15脚GND、16脚VCC(+5V)。

图3-10串行通信接口电路

19

东北石油大学本科生毕业设计(论文)

3.8 本章小结

本章通过对设计思想的介绍,分别对单片机最小系统、按键模块、LCD显示模块、时钟模块、报警模块、串行通信接口模块的设计原理进行分析和阐述。对各模块所需的芯片、元器件进行介绍。

20

东北石油大学本科生毕业设计(论文)

第4章 系统软件设计

本次设计用Keil编程软件进行软件设计。Keil软件是目前最流行的开发系列单片机软件,近年来各仿真机厂商纷纷宣布全面支持Keil。Keil提供了包括C 编译器、宏汇编、连接器、库管理和仿真调试器在内的完整开发方案,通过集成开发环境将这些部分组合在一起。Keil支持汇编语言和C语言的程序设计,易学易用。

4.1 主程序的设计

系统主程序首先对系统进行初始化,包括设置端口,液晶,DS1302的初始化。由于单片机没有命令指令,所以可以设计系统程序不断的循环执行显示程序,用while语句实现。如果单片机接收命令指令,就执行相应的程序及闹钟是否到的判断,执行相应的报警及手机发送短信程序。主程序流程图如图4-1所示:

21

东北石油大学本科生毕业设计(论文)

开始 初始化 N扫描按键 是否调整时间 闹钟响起,并向手机发送 短信 Y进入调整时间 NN调整完毕? 闹钟时间到? YY读取数据,显示 图4-1 主程序流程图

4.2 时钟电路程序的设计

DS1302 所进行的一切工作必须先由CPU 向DS1302 发送命令字节, 命令字节格式如图4-2。各位定义如下:命令字节的最高位7 必须为“1”,否则禁止对DS1302 进行操作。第6 位是时钟/日历或RAM 选择位,如它为“1”可对内部RAM 读写,如它为“0”可对时钟日历操作。此处所谓日历型数据即数据格式为压缩型BCD 码,且数值必须在它的定义域内;例如:“月份”的定义域为1~12, “秒”的定义域为0~59 等等。所谓RAM型数据即指一般16 进制数据。位5 至位1 为DS1302 内部寄存器地址。DS1302 有单字节和多字节两种读、写方式。所谓单字节读、写方式即每次只能从DS1302 中读、写1 字节数据。所谓多字节读、写方式则每次可从DS1302 中连续读、写若干字节数据。当位5 至位1 各位均为“1”时,DS1302为多字节读、写方式。最低位0 为“0”表示写操作,否则为读操作。

22

东北石油大学本科生毕业设计(论文)

命令字节的传输都是从最低位开始。

7 6 5 4 3 2 1 0

1 RAM /CK A4 A3 A2 A1 A0 RAM /K 图4-2 DS1302时钟芯片的控制字

DS1302 采用串行方式与微控制器通讯。在片选信号RST 变为高电平后,可向芯片发送指令及读取数据。DS1302 的命令字的传输从最低位开始。当对DS1302 进行写数据时,首先发写控制指令,在控制指令字输入后的下一个SCLK时钟的上升沿,数据被写入DS1302,数据输入从低位即位0开始。当对DS1302 进行读数据时,首先发读控制指令,在紧跟8 位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302 的数据,读出数据时从低位0 位至高位7。注意在SCLK为高电平期间,不能读I/O 线,此期间I/O 端为高阻状态。因此,在程序设计时应保证在SCLK上升沿之前读I/O线,即可正确读出时钟数据。在本记录仪表系统中,实时时钟软件首先应将日历信息初值———秒、分、时、日、月、星期、年等按序写入到DS1302 相关寄存器中,此后,时钟便以此初值为基准进行计时,只要主电源VCC2 和备份电源VCC1 尚有一个工作正常,则计时就不会终止。初始化日历信息程序分为三部分:(1) 发送“解除写保护”命令字8EH 和内容00H ,以开放DS1302 写操作。(2) 发送“涓流充电”命令字90H 和内容A7H,以开放DS1302 内部充电电路。(3) 发送“多字节写日历型数据”或“单字节写日历型数据”命令字写入日历信息初值。上述部分属于对DS1302 内部功能寄存器操作,因此必须以“单字节”方式进行发送;而第3 部分属于对DS1302 一般寄存器操作,故可以采用“多字节”方式发送,以便提高效率。同时,在仪表工作过程中需要读取时间日历信息时,可根据具体需要采用“多字节”方式或“单字节”方式。这里,无论采用“单字节”还是“多字节”方式,能否可靠、准确地读出这些信息,其技术关键是和硬件密切相联的DS1302 读写驱动程序的设计。该驱动程序的功能是产生正确的同步时钟脉冲,并在同步时钟脉冲上升沿将数据按位写入DS1302 或在同步时钟脉冲的下降沿按位从DS1302 中读出日历型数据,从而完成1 字节数据的发送或接收。对于“多字节”方式,只需改变命令控制字和增加循环次数即可完成多字节的连续读写。写了DS1302 的读写程序。编写DS1302 驱动程序时,首先应对硬件电路使用的端口进行定义声明,并初始化芯片引脚及工作状态,系统一切就绪后执行读写操作。同时,DS1302 在执行相应操作时,应保证延时时间的选择需满足芯片的时序要求,并注意RTS 引脚的及时打开与关闭,以确保数据的正常读写和避免CPU 的长时间占用,减少干扰,提高程序的执行效率。其流程图如图4-3、图4-4、图4-5所示:

23

东北石油大学本科生毕业设计(论文)

开始 初始化引脚状态 RST=1启动DS1302 写控制指令最低位 SCLK发脉冲 控制指令右移1位 右移8次 NY写发送数据最低位 SCLK发脉冲 发送数据右移1位 右移8次 NYRST=0关闭DS1302 返回 4-3 DS1302读状态流程图 开始

初始化引脚状态 RST=1启动DS1302

写控制指令最低位 SCLK发脉冲

控制指令右移1位 右移8次 N Y 读数据字节

SCLK发脉冲

右移8次 NY RST=0关闭DS1302

返回

图4-4 DS1302写状态流程图24

东北石油大学本科生毕业设计(论文)

初始化 读日期数据 数据处理 将设置的数据写入芯片 转为ASCII

图4-5 DS1302程序流程图

返回主程序 4.3 LCD显示电路程序的设计

4.3.1 LCD的四种基本操作

LCD有四种基本操作,具体如表所示。

表4-1 LCD与单片机之间有四种基本操作

RS 0 0 1 1 R/W 0 1 0 1 操作 写命令操作(初始化,光标定位等) 读状态操作(读忙标志位) 写数据操作(要显示内容) 读数据操作(可以把显示存储区中的数据反读出来)

(1)读状态操作

执行读状态字操作,如表4-1所示须满足RS=0、R/W=1。根据管脚功能,当为有效电平时,状态命令字可从LCD模块传输到数据总线。同时可以保持一段时间,从而实现读状态字的功能。如图4-6所示为读入状态字流程图。

25

东北石油大学本科生毕业设计(论文)

开始 RW置1,等待 E清0,等待 RS清0,等待 RW清0,等待 E置1,等待 返回 读入状态字,图4-6 LCD读入状态字流程图

(2)写命令操作

由表4-1可知当RS=0,R/W=0时,才可以通过单片机或用户指令把数据即命令,写到LCD模块,此时就对LCD进行调制。可采用查询方式:先读入状态字,再判断忙标志,最后写命令字。写命令字流程图如图4-7所示。

AC.7=0? 不忙吗? 读入命令字→A E=1 返回 写命令字 RS=0 RS=0 开始 R/W=0 E=0 N命令字→A→P0 Y延时 图4-7 写命令流程图

(3)定义光标位置

把显示数据要某个位置,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。Set DDRAM address 命令如表4-2所示。光标定位,写入一个显示字符后,DDRAM地址会自动加1或减1,加或减由输入方式设置。第一行DDRAM地址与第二行DDRAM地址并不连续。如表4-3所示。

26

东北石油大学本科生毕业设计(论文)

表4-2 Set DDRAM address 命令

RS 0 R/W 0 DB7 1 DB6 AC6 DB5 AC5 DB4 AC4 DB3 AC3 DB2 AC2 DB1 AC1 DB0 AC0 表4-3 DDRAM地址

row Line1 Line2 1 80H 0c0H 2 81H 0c1H 3 82H 0c2H 4 83H 0c3H 5 84H 0c4H …… …… …… 14 8dH 0cdH 15 8eH 0ceH 16 8fH 0cfH

(4)LCD初始化

从通电开始通过延时,先经过判忙后再进行功能设置,过一段时间后可以设置显示状态(如设置行、位或阵列)再经过后清屏后再可以设置输入方式。

4.3.2 LCD显示程序设计

LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,LCD就可以按如图4-8显示。

开始 LCD初始化 光标定位 显示字符 返回 图4-8 LCD显示程序流程图

4.4 按键电路程序的设计

采用三按键控制模式,设定三个变量keyset、k1up、k2down分别代表调整模式、按键加、按键减。当这三个变量等于零时表示按键按下。电路程序流程图如图4-9所示:

27

东北石油大学本科生毕业设计(论文)

开始 控制键有效,进入月调整程序 控制键有效,进入年调整程序 加键有效 加键有效 日加1 日减1 减键有效 控制键有效,进入日调整程序年加1 年减1 减键有效 等待按键程序 等待按键程序 加键有效 减键有效 月加1 月减1 控制键有效,进入小时调整程序 等待按键程序 等待按键程序 加键有效 减键有效 小时加1 小时减1 控制键有效,进入分钟调整程序 等待按键程序 加键有效 减键有效 年加1 年减1 控制键有效,进入闹钟调整程序 等待按键程序 加键有效 减键有效 闹钟时 闹钟时 间加1 间减1 图4-9 按键调整程序设计

28

控制键有效,进入星期调整程序 等待按键程序 加键有效 星期加1 减键有效 星期减1 控制键有效,进入闹钟间隔时间调整程序 等待按键程序 加键有效 时间加1 减键有效 时间减1 按键有效,跳出时间调整程序 进入主循环程序

东北石油大学本科生毕业设计(论文)

4.5 报警电路程序的设计

设置标志位did,当did==0时,蜂鸣器响起。在蜂鸣器响起的过程中,按下按键加可停止响铃,再按下按键减可使蜂鸣器重新响起。过一分钟后蜂鸣器自动停响。

4.6 定时向手机发送短信电路程序的设计

利用西门子TC35i模块组成一个短信息收发系统,TC35i直接与单片机相连,单片机通过AT命令来控制TC35i模块。单片机与PC机相连,两者通过RS232接口通信。TC35i模块短信息内容采用PDU格式,可以发送中文,短信息内容中文在单片机中通过查表转换成Unicode编码方式后发送至TC35i。程序流程图如图4-10所示。

图4-10 手机发送短信程序流程图

发送/接收SMS 对手机初始化,设置PDU模式 手机回答OK 发建立通信连接指令 开始 N手机回答OK吗 Y 返回主程序29

东北石油大学本科生毕业设计(论文)

4.6.1 PDU模式的信息编码格式

在上述说明中提到了在PDU Mode中,可以采用三种编码方式来对发送的内容进行编码,它们是7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可“压缩”成7个;8-bit编码通常用于发送数据消息,比如图片和铃声等;而UCS2编码用于发送Unicode字符。PDU串的用户信息(TP-UD)段最大容量是140字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是160、140和70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。

[10]

(1) 7-bit编码

缺省的GSM 字符集为7位编码,可以简单地理解为ASCII码(ASCII值小于80Hex,因此,Bit8被忽略),依次将下一7位编码的后几位逐次移至前面,形成新的8位编码,GSM并非支持所有的ASCII字符显示。

(2) 8-bit编码

8-bit编码通常用于发送数据消息,比如图片和铃声等;8-bit编码其实没有规定具体的算法。

(3) UCS2编码

UCS2编码是将每个字符(1-2个字节)按照ISO/IEC10646的规定,转变为16位的Unicode宽字符。在Windows系统中,特别是在2000/XP中,可以简单地调用API 函数实现编码和解码。如果没有系统的支持,比如用单片机控制手机模块收发短消息,只好用查表法解决了。

需要注意的是,PDU串的用户信息长度(TP-UDL),在各种编码方式下意义有所不同。7-bit编码时,指原始短消息的字符个数,而不是编码后的字节数。8-bit编码时,就是字节数。UCS2编码时,也是字节数,等于原始短消息的字符数的两倍。如果用户信息(TP-UD)中存在一个头(基本参数的TP-UDHI为1),在所有编码方式下,用户信息长度(TP-UDL)都等于头长度与编码后字节数之和。如果采用GSM 03.42所建议的压缩算法(TP-DCS的高3位为001),则该长度也是压缩编码后字节数或头长度与压缩编码后字节数之和。

[11]

4.7 本章小结

本章主要介绍软件程序的设计,包括主程序的设计、时钟电路程序的设计、LCD显示电路程序的设计、按键电路程序设计、报警电路程序的设计、定时向手机发送短信程序的设计几个部分。并且给出了各个部分的程序流程图。

30

东北石油大学本科生毕业设计(论文)

第5章 系统调试

5.1 系统调试环境

本系统所有的电路都设计在一块电路板上,整个电路板结构紧凑、分布合理,便于加工和调试,并且降低了相互间以及与其他部件的干扰。电路焊接好过后进行简单的调试过后,系统便能正确、可靠的运行。本设计采用Keil软件对源程序进行编译和调试。

5.2 软件调试

本设计的软件部分,全部采用C语言编写,软件模块较多,程序可分为主程序模块、数据显示程序模块、时钟控制程序模块、按键程序模块、蜂鸣器程序模块。因此采用分块调试的方法来调试程序。首先用Keil调试,调试结果如图5-1所示,产生HEX文件,无误后,再通过串口烧到单片机里用装置实验调试,如图5-2所示。此次调试采用了自下而上的调试方法,即先单独调试好每一项功能,然后再连接成一个完整的系统调试。根据实验结果和指标对照,若有不符,再修改,直到程序完全正确为止,这样保证了软件编写的正确性和可行性。

图5-1 Keil调试并生成HEX文件

31

东北石油大学本科生毕业设计(论文)

图5-2 向单片机中烧入程序

5.3 硬件调试

任何组装好的电子电路,在通电调试之前,必须认真检查电路连线是否有错误。对照电路图,按一定的顺序逐级对应检查。

特别要注意检查电源是否接错,电源与地是否有短路,二极管方向和电解电容的极性是否接反,集成电路和晶体管的引脚是否接错,轻轻拔一拔元器件,观察焊点是否牢固,等等。

一定要调试好所需要的电源电压数值,并确定电路板电源端无短路现象后,才能给电路接通电源。电源一经接通,不要急于用仪器观测波形和数据,而是要观察是否有异常现象,如冒烟、异常气味、放电的声光、元器件发烫等。如果有,不要惊慌失措,而应立即关断电源,待排除故障后方可重新接通电源。然后,再测量每个集成块的电源引脚电压是否正常,以确信集成电路是否已通电工作。

将烧入程序的单片机安装在硬件电路中,然后通电。先调节按键工作是否正常,LCD是否能正常显示。将时钟日期调至2012/5/30,时间调至23:59:00,一分钟之后看日期是否变化为2012/5/31时间是否变化为00:00:00。最后设置好闹钟时间和闹钟的间隔时间,看其到时间是否响铃。

32

东北石油大学本科生毕业设计(论文)

在调试过程中遇到了很多的问题:

(1)LCD不显示。在将LCD和单片机的对应引脚相连接的过程中,由于连接的导线过长过多,会出现一些线连错或者虚焊或者断掉的情况,在检查出错误后改正。

(2)蜂鸣器不响。用万用表检测报警电路无短路现象,而是将电路中三极管的引脚接错。在检查出错误后改正。

(3)按下按键后无动作。检查后发现在焊接过程中轻触按键的内部结构被破坏,不能正常的起到作用,后将其换掉。

5.4 调试结果

基本实现了设计的要求,能显示年、月、日、时、分、秒。按下第一个按键后可进入调整状态,每按一下,光标移动一个位置可以分别对年、月、日、时、分、秒、闹钟时间以及闹钟的间隔时间进行设定。但是由于焊接时的导线过长,可能会出现接触不良的情况。而且长时间运行容易有误差,在稳定性方面还有待改进。实物图时间界面如图5-3所示,闹钟界面如图5-4所示。

图5-3 时间界面

33

东北石油大学本科生毕业设计(论文)

图5-4 闹钟界面

5.5 本章小结

本章介绍了系统调试的内容,包括调试环境、硬件调试、软件调试以及调试的结果。在软件调试中简要介绍了用Keil调试和生成HEX文件的过程。硬件调试中介绍了调试的方法、调试中出现的问题及解决方法。

34

东北石油大学本科生毕业设计(论文)

结 论

本次毕业设计我在数字时钟的基础上设计了一种可以在预设的间隔时间点上报警并向手机发送短信提醒的巡检定时器。突破了普通带有闹钟的数字时钟的预设一次只响一次铃的功能。

本设计时钟能用LCD显示年、月份、日期、小时(24小时制)、分钟、秒,能对各位进行调节。

(1)本设计有2种显示模式,分别是显示模式和调整模式,并且有两个界面,分别是时间、日期界面和闹钟界面。

(2)用户可以设置电子时钟的时间。设置时间时必须先单击模式选择按钮,进入调整时间模式,选择相应的调节位,然后再单击调整时间加减按钮,使其调节为正确的时间。

(3)单击调整时间的加按钮时,数字时钟的分或者秒会一直往上增加,当增加到59就会循环到0,数字时钟的时间会增加到23就会循环到0,数字时钟的月也是增加到12循环至0,但日就不一样了,它会由月来决定增加到的最高数值,其数值遵循现实的值。当单击调整时间的减按钮时,与增刚好相反,减为0时,循环到相应数值最高位去。

(4)闹铃响起时可通过按下加按钮停止响铃,减按钮使闹铃重新开始响起。 (5)进入调整模式后,在预设闹钟的时间后再按一次调整按键可以调整闹钟响起的间隔时间,实现巡检定时的作用。

同时利用西门子TC35i模块组成一个短信息收发系统,TC35i直接与单片机相连,单片机通过AT命令来控制TC35i模块。单片机与PC机相连,两者通过RS232接口通信。TC35i模块短信息内容采用PDU格式,可以发送中文,短信息内容中文在单片机中通过查表转换成Unicode编码方式后发送至TC35i。

本次设计应用于工厂中,会给工作人员带来很大的方便。

35

东北石油大学本科生毕业设计(论文)

参考文献

[1]卢超.基于单片机的数字电子钟的设计与制作[J].大庆师范学院学报,2006, 26(5): 48-53.

[2]刘盛雄,周奇,韦云隆.基于单片机的数字式电子钟的设计与制作[J].重庆工学院学报, 2006, 20(8): 90-92.

[3] [美]M.Morris Mano.Digital Design.北京:高等教育出版社,2002:20-23. [4]张志良.单片机原理与控制技术[M].西安电子科技大学出版社,2006:31-33. [5]喻萍,郭文川.单片机原理与接口技术[M].化学工业出版社,2005:4-6. [6]刘同法,陈忠平,彭继卫,眭仁武.单片机外围接口电路与工程实践[M].北京航空航天大学出版社有限公司,2008.3:23-26.

[7]Y.S.Moon,H.C.Ho,KennethWong..GSM Mobile Phone BasedCommunication of Multimedia Information:A Case Study[M].Spring Berlin Heidelberg.2001:12-15. [8]SIEMENS.TC35/TC37 Hardware Interface Description[Z].03.10.Siemens AG,2002:13-16.

[9]MAX232 Dual EIA - 232 Driver/ Receiver Data Sheet[P] MAXIM Inc.2002:44-258.

[10]张宏林.Visual C++串口通信技术与工程实践[M].人民邮电出版

社,2008:7-10.

[11]李鸿.用单片机控制手机收发短信息[J].电子技术应用2003,(8):32-34.

36

本文来源:https://www.bwwdw.com/article/6093.html

Top