1、摘要本系统是一个基于单片机的简易触摸屏手机。最近几年,手机的发展日新月异,特别是ANDROID操作系统和触摸屏的便捷性,使触摸屏手机迅速普及,触摸屏手机将是未来手机的主流配置,此系统就是研究触摸屏手机的工作原理及实现方法。整个系统主要是由STC12C5A60S2单片机,SIM300模块,串口触摸屏及一些外围器件组成的,主要功能的实现方法是先用触摸屏配套PC组态软件和PS软件提前设置好触摸屏的图标和数字键盘等主要显示界面,然后下载到触摸屏的内部存储器中,供触摸屏内部处理;当按下相应的触摸按键后,把触摸屏的内部处理后的数据通过单片机的串口1发送给单片机,之后单片机进行相应的运算处理和判断,再通过单
2、片机的串口2给SIM300模块发送相应的AT操作指令,驱动SIM300模块发送对应的手机信号。通过以上模块,可以实现接、打电话,接、发英文短信,有来电提醒功能,以及实时时钟的功能。关键词手机;SIM300模块;串口触摸屏;实时时钟ABSTRACTTHISSYSTEMISASIMPLEMICROCONTROLLERBASEDTOUCHSCREENPHONEINRECENTYEARS,DEVELOPMENTOFMOBILEPHONESISVERYFASTESPECIALLYBECAUSETHEANDROIDOPERATINGSYSTEMANDTOUCHSCREENISVERYCONVENIENT,
3、TOUCHSCREENMOBILEPHONEISMOREANDMOREPOPULARTOUCHSCREENMOBILEPHONESWILLBETHEMOSTMAINSTREAMCONFIGURATIONINTHEFUTURETHEWHOLESYSTEMISMAINLYCOMPOSEDBYSTC12C5A60S2MICROCONTROLLER,SIM300MODULE,SERIALTOUCHSCREEN,ANDSOMEPERIPHERALDEVICESTHEREALIZATIONMETHODOFTHEMAINFUNCTIONISFIRSTLYUSEATOUCHSCREENSUPPORTINGPC
4、CONFIGURATIONSOFTWAREANDPSSOFTWARE,SETTOUCHSCREENICONANDNUMERICKEYPADANDOTHERDISPLAYINTERFACEINADVANCETHENDOWNLOADTOTHEINTERNALMEMORYOFTHETOUCHSCREEN,LETINTERNALTOUCHSCREENPROCESSIFTHECORRESPONDINGTOUCHBUTTONISPRESSED,SENTTHEDATAOFPROCESSEDBYTHETOUCHSCREENTOTHEMICROCONTROLLERVIAASERIALMICROCONTROLLE
5、R,THENTHEMICROCONTROLLEREXECUTESTHECORRESPONDINGARITHMETICPROCESSINGANDJUDGMENTTHENTHECONTROLLERSENDTHEAPPROPRIATEATCOMMANDTOSIM300MODULETHROUGHTHESERIAL2ANDDRIVETHESIM300MODULESENDINGMOBILEPHONESIGNALTHESYSTEMALSOADDSA1302CLOCKCHIP,TIMECANBEDISPLAYEDINREALTIMETHROUGHTHEABOVEMODULE,THISSYSTEMACHIEVE
6、SRECEIVE,MAKEAPHONECALLRECEIVE,SENDENGLISHTEXTMESSAGESTHEREISANINCOMINGCALLREMINDERS,ANDPERPETUALCALENDARALSOITCANSETTHEALARMCLOCKKEYWORDSMOBILEPHONESIM300MODULESERIALTOUCHSCREENPERPETUALCALENDARI目录1引言111课题研究的背景112课题研究的目的及意义113课题研究设想22系统方案研究321方案论证3211主控芯片选择3212GSM模块选择3213触摸屏模块选择4214时钟模块选择422方案最终选定及
7、系统原理框图43硬件电路设计631STC12C5A60S2主控单片机介绍6311单片机的主要特性6312单片机引脚说明7313串行口功能介绍8314STC12C5A60S2单片机最小系统832SIM300模块9321SIM300功能简介9322SIM300电路原理9323SIM300串口调试简介1033触摸屏模块13331串口触摸屏简介13332触摸屏使用方法1434RTC实时时钟15341时钟功能简介154软件设计1641KEIL软件介绍1642编程总结16II43迪文触摸屏组态软件介绍1844本设计的程序流程图2045源程序(见附录2)205系统调试过程2151单片机最小系统和时钟模块的调
8、试2152时钟模块的调试2153SIM300模块的调试2154串口触摸屏的调试2155系统联调22结论24参考文献25致谢26附录1整体电路图27附录2源程序错误未定义书签。天津职业技术师范大学2014届本科生毕业设计11引言11课题研究的背景自从手机出现之后,就给人们提供了极大的便利,从第一代的大哥大手机,接打电话的功能,到后来的GSM和CDMA等2G手机,性能和功能都更强大一些,安全性也更高,再到现在非常普及的3G智能手机,它的功能已经相当强大;它的主频比普通的2G手机更高了,而且得意于集成电路工艺的发展,以及人们对新颖的移动终端的不懈追求,促进了3G智能手机的快速发展,现在的智能手机不仅
9、有接打电话等语音功能,还安装了操作系统,并且配备了重力感应,摄像头,语音识别等各种传感器,还有手机支付,手机钱包,手机游戏等,更因为触摸屏的方便操作,使手机的功能空前强大,为人们学习、生活和娱乐各个方面都提供了很多的方便,手机已经成为了人们生活中不可缺少的东西,2G,3G手机的发展迅速,而现在4G手机正在一些地区适用,可以说手机是一个更新换代最快的一个物品了。手机的未来发展肯定会向着速度更快,性能更好的方向发展,手机会成为电子行业的一个最热门的话题,手机内部所体现出的东西,也是电子行业未来要研究的主要对象,例如物联网技术,手机如此重要,所以我就想研究一下手机到底是如何做出来的,研究一下它的具体
10、工作原理和开发技巧。12课题研究的目的及意义智能触屏手机的发展现在处于一种井喷的状态,随着智能手机的性能提高,各种手机新应用,手机新功能层出不穷,手机支付,远程遥控,远程监控,移动互联网,可以说一部手机,就能实现我们生活中很多的事情,其实说到底,手机的核心功能就是我们电子方面研究的对象,手机里的相关知识将来应该会逐渐渗透到我们生活中的方方面面,以后电子方面的教学也可能会更多地涉及到手机的设计过程,在将来的各类电子竞赛中也会有这方面的应用,在未来的职场上对我自己的发展也会有提高作用,而且,我看到,网上并没有人做过相似的毕业设计,一般都是成品的手机,我就想自己研究,设计一下,做出一个我自制的手机。
11、研究手机的原理,以及设计方法,可以加深我对微电子行业的理解,也能引领大家研究这方面的知识,因为我还没法发现我们学校的哪个学生做过手机的,手机上的一些思想在未来也会渗透到我们生活中的方方面面,手机上的传感器在前几届的比赛上已经开始崭露头角,现在蓝牙模块,和WIFI信号的大量普及,也会促进通过手机进行的联网和信号的传输,手机作为一个每个人都可以随身携带的物品,必将受到越来越多的电子爱好者的研究开发,所以天津职业技术师范大学2014届本科生毕业设计2研究它的原理和使用技巧非常有必要。13课题研究设想通过本课题,我想设计出一款跟普通手机基本一样的触摸屏手机,属于功能型手机。可能体积比实际手机大一些,触
12、摸按键通过功能切换键,可以从数字键盘切换为字母键盘或符号键盘,其他功能上可以实现1拨打任意长度的手机号码。2接听任意电话,有来电显示功能,也可以选择不接听。3发送英文短信,使对方收到的短信内容和我发送的短信要完全一致。4接收英文短信,显示来信联系人电话,准备无误的接收ASCII码中的英文字符短信。5显示实时时钟,可以在每个界面的特定位置一直显示年,月,日,时,分,秒,以及星期等信息,跟真正的手机差不多。天津职业技术师范大学2014届本科生毕业设计32系统方案研究21方案论证211主控芯片选择方案1采用最常见的51内核的AT89S52单片机,这是一个低功耗,高性能的CMOS8位单片机,片内含8K
13、空间的可反复擦些1000次的FLASH只读存储器,具有256BYTES的随机存取数据存储器(RAM),32个IO口,2个16位可编程定时计数器。且该系列的51单片机可以不用烧写器而直接用串口或并口就可以向单片机中下载程序。这类单片机发展的比较早,技术很成熟,网上的相关学习资料也比较多,但硬件资源比较少,存储空间比较有限,而且运行速度比较慢。方案2采用STM32来实现,它是基于ARM内核的一款,现在非常流行的嵌入式控制器,功能非常强大,处理速度也很快,但是它的内部原理比较复杂,编程的难度比较大,需要非常熟练的编程经验才能熟练使用。方案3采用FPGA,即现场可编程门阵列,它是在PAL、GAL、CP
14、LD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。方案4采用STC12C5A60S2单片机,STC系列单片机是国产单片机,它的资料都是中文的,比较好学习研究,而且这款单片机是一款1T的单片机,速度方面是普通51单片机的12倍,资源比普通51单片机多,内部集成了8路10位的AD,2路PWM,4个16位定时器等。而且价格和普通51单片机相差很少。它又是一款双串口的单片机,正好满足我的设计要求。本设计中需要2路串口,且对触摸屏处理速度有一定要求,综合以上方案,选择方案4。212GSM模块选择
15、方案1采用TC35模块,TC35是西门子公司研发的一款高度集成的GSM模块,技术比较成熟,体积小,但是它只有电话和短信的功能,功能比较单一。方案2采用SIM300模块,它是SIMCOM公司的一款比较经典的型号,低功耗,性价比高,而且功能完善,且有接收彩信和GPRS上网的功能。方案3采用SIM900A模块,它属于新款紧凑型产品,性能比SIM300更加优越,而且采用的是SMT封装形式,体积更小,但缺点是价格过高。参考本设计要实现的功能和综合性价比方面,最终选择使用方案2。天津职业技术师范大学2014届本科生毕业设计4213触摸屏模块选择方案1采用传统的并行触摸屏,价格比较便宜,它是通过时序或指令来
16、控制触摸操作和显示功能的,需要自己写底层驱动程序,和繁杂的图标显示程序,相对比较麻烦一点,编程的工作量会非常大。方案2采用迪文串口触摸屏,这是一款在近几年工业上用的很广泛的触摸屏,它的原理是基于利用直接变量,并驱动显示,先是通过触摸屏配套的PC组态软件来设计好触控文件和配置文件,然后下载到触摸屏内部处理器中,我只需要设计如何使触摸屏跟单片机之间进行串口通信即可,这种方式可以减少编程的工作量,大大提高本设计的拓展空间。开发原理概述使用迪文DGUS配置软件将变量和需要实现的功能关联起来,然后通过控制端给该设置的变量赋值来实现对应的功能,或读取变量值来查看屏当前相关功能的状态;变量地址是针对屏来进行
17、定义的,类似组态软件的地址定义,又不相同,主要区别在于组态软件的地址是有特定含义的(即和屏内部的某个功能已绑定),而采用DGUS屏的变量地址可以与任意功能来进行关联(不出现变量地址交叉的情况即可)。根据编程的任务量,以及本设计的整体安排,综合以上两种方案,选择方案2。214时钟模块选择方案1采用单片机的内部定时器计时,这种方式看似比较简单,节约了成本,但是要用单片机的定时器进行设置,单片机内部的定时器资源本来就不多,而且要用到两个串口,设置串口波特率时也要占用系统的定时器,就会造成定时器资源的紧张,若用了定时器,势必会增加中断的处理程序,给编程的复杂性上又增加了难度。方案2采用DS12C887
18、,精度比较高,内部自带锂电池,掉电后时间信息不会丢失,但是价格非常昂贵。方案3采用串口触摸屏内部自带的RTC模块,通过调用屏上内部的寄存器,就能方便的显示时间。综合以上三种方案,考虑方便性及有效性,最终选择方案3。22方案最终选定及系统原理框图经过反复论证,我们最终确定了如下方案1采用STC12C5A60S2单片机作为主控制器。2GSM模块采用SIM300模块进行手机通信。3触摸显示模块采用的是迪文串口触摸屏模块。4时钟模块采用屏载RTC模块。系统整体框图如图21所示。天津职业技术师范大学2014届本科生毕业设计5STC12C5A60S2单片机SIM300模块触摸显示屏图21系统原理框图整个系
19、统的原理图,见附录1。天津职业技术师范大学2014届本科生毕业设计63硬件电路设计31STC12C5A60S2主控单片机介绍STC系列单片机是一种国产单片机,因为超高的性价比,和方便查询的中文资料而迅速占领了国内很多市场,STC12C5A60S2是STC公司生产的一款单时钟/机器周期1T的单片机,它属于一款高速单片机,可以说是STC公司的一款明星产品,因为它具有低功耗、超强抗干扰的性能,而且指令完全兼容51单片机,只要是有一定编程基础的人,都能快速上手。311单片机的主要特性11T机器周期,是一款超高速的单片机,有两种模式,既可以工作在高速模式,又可以工作在普通51单片机的速度模式,可以通过内
20、部寄存器进行设置。2工作电压为35V55V,可以使用5V或45V(三节干电池)供电,但是不能使用33V或6V的电源供电。360KB的FLASH存储器,对于一般的应用程序来说,绝对够用了,所以这款单片机特别好用,不用担心程序太大,放不下的问题,也不会考虑要外扩存储器。4I/0比普通51的单片机多了三种模式,这样更加方便。5内部含有MAX810复位电路,可以方便的为单片机提供复位信号。6时钟源既可以使用外部的高精度时钟,又可以使用内部的RC振荡器作为时钟信号。7芯片内部集成了8路高速的AD转换通道,转换精度可达10位,基本能满足一般的使用要求。8含有双串口,一般一个串口用来跟模块连接,另一个串口可
21、以用来看调试结果,这个功能对于我的设计来说是太适用了,因为我的两个主要模块都是用串口通信的,这样刚好用上,很方便。9外部中断口有7路,除了传统8051外部中断口外,其他外部中断口可以通过设置第二功能进行使能。10PWM有2路。118路A/D转换接口,10位精度,转换速度可达每秒钟25万次。12双串口,可以方便的连结两个串口设置。13工业级的芯片,工作时的温度范围是4085。14普通51单片机的I/O口是只有一种默认的模式,而这款单片机却有四种模式天津职业技术师范大学2014届本科生毕业设计7可以定义。15还增加了两个定时器,两路PWM,还有SPI接口,这些功能大大拓展了系统资源。312单片机引
22、脚说明单片机的引脚如图31所示。图31STC12C5A60S2单片机引脚图1P00P07P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线A0A7,数据线D0D7。2P10/ADC0/CLKOUT2标准IO口、ADC输入通道0、独立波特率发生器的时钟输出。3P11/ADC1ADC输入通道0。4P12/ADC2/ECI/RXD2标准IO口、ADC输入通道2、PCA计数器的外部脉冲输入脚,第二串口数据接收端。5P13/ADC3/CCP0/TXD2标
23、准IO口、ADC输入通道3、外部信号捕获,高速脉冲输出及脉宽调制输出、第二串口数据发送端。6P14/ADC4/CCP1/SS非标准IO口、ADC输入通道4、SPI同步串行接口的从机选择信号。天津职业技术师范大学2014届本科生毕业设计87P15/ADC5/MOSI标准IO口、ADC输入通道5、SPI同步串行接口。8P17/ADC7/SCLK标准IO口、ADC输入通道7。9P20P278位准双向口,也可作为高8位地址总线使用。10P31/INT0外部中断0,下降沿中断或低电平中断。11P33/INT1外部中断0,下降沿中断或低电平中断。313串行口功能介绍需要特别介绍一下这款单片机的串口功能,为
24、什么选择这个单片机,最大一个原因就是它的双串口功能。STC12C5A60S2含有两个串口,串口1的功能和用法跟普通51单片机的功能和用法差不多,唯一的不同是,因为这款单片机内部含有独立波特率发生器,所以它的波特率设置既可以使用定时器1设置波特率,也可以使用独立波特率发生器来设置;而串口2的工作方式和串口1差不多,唯一不同是波特率的设置只能使用独立波特率发生器来设置,不能使用定时器1来设置。因为P12和P13在默认状态下是普通I/O口,必须设置相关的寄存器后,才能把这两个口设置为串口的工作方式。STC12C5A60S2单片机的串口从传统的一个扩展到了两个,而且还增加了一个独立波特率发生器,把定时
25、器1解放了出来,真的不是一般的方便,而且能用1T模式,速度大大滴提高了。因为我主要用到了这款单片机的双串口功能,所以重点介绍一下此单片机的串行口结构。STC12C5A60S2这款单片机有两个串行接口,都是全双工通信,分别叫做串口1,和串口2。它串口1的发送数据缓冲器和接收数据缓冲器公用的是一个地址码,是99H,而串行口2的两个数据缓冲区是把9BH作为地址码,串行口1的两个缓冲器统称为我们常见的SBUF,而串行口2的两个缓冲区统称为S2BUF软件想关闭还是硬件。硬件就是在软件串口调试精灵中,点关闭串口。要是软件,你直接关闭串口使能。两个串口都有四种工作方式,可以通过编程来进行设置,有两种是波特率
26、时可变的,两种的波特率是固定的,使用起来非常方便。314STC12C5A60S2单片机最小系统STC12C5A60S2单片机的最小系统图如图32所示。天津职业技术师范大学2014届本科生毕业设计930PFC130PFC2VCC10KR110UFC3P10/T21P11/T2EX2P123P134P145P156P167P178RST9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119VSS20P20/A821P21/A922P22/A1023P23/A1124P24/A1225
27、P25/A1326P26/A1427P27/A1528PSEN29ALE30EA/VPP31P07/AD732P06/AD633P05/AD534P04/AD435P03/AD336P02/AD237P01/AD138P00/AD039VCC40U1STC12C5A60S2P13P14P15P16RXDTXDP32P33P34P35P36P37P20P21P22P23P24RSWRLCDEP00P01P02P03P04P05P06P07VCCGNDRSTP10P11P1212Y1110592M单片机主控模块12S1P17P25图32STC12C5A60S2最小系统图STC12C5A60S2单片
28、机的最小系统跟普通51单片机的最小系统基本没什么区别,也是必须含有复位电路还晶振电路,只是下载方式不同而已,这款单片机的程序下载是通过串口下载,这样更方便。32SIM300模块321SIM300功能简介SIM300模块四SIMCOM公司的一款非常经典的GSM模块,只要是从事手机开发,或无线传输的编程人员,对这款模块都不陌生,当他投入市场后,因为超高的性价比而备受开发人员的青睐。它的功能比TC35等型号要强大的多,内部嵌入了TCP/IP协议,不仅可以实现接打电话,收发短信等普通的语音数据功能,还能实现上网和发送彩信的功能,手机加入了上网的功能,极大的方便了跟外界更多事物的联系,就是上网功能,激发
29、了大家对SIM300模块的研究激情。而且SIM300部分指令兼容TC35的AT指令,这更方便上手,连接互联网的编程方法也很简单,只有是含有外网IP的电脑,跟服务器连接上之后,就能给服务器发信息了。322SIM300电路原理1、电源设计因为GPRS或者GSM发射时需要的电流很大,所以能提供的最大的电流应达到12A,在设计中我们是采用外部输入5V的电压,然后经过两个二个1N4007进行钳位降压,使得VDD在38V45V之间,或者可以更换为PN结电压较低的二极管。天津职业技术师范大学2014届本科生毕业设计10SIM300电路图如图33所示。图33SIM300电路图2、LED指示用于指示功能,看GS
30、M模块是否工作正常。3、TXD和RXD要分别连接到SIM300的串口上,CTS1及RTS1这两个端是用于GPRS上网时使用的,可以接,也可以不接。4、TXD1和RXD1要分别连接到SIM300的串口上,CTS1及RTS1端是可以在使用GPRS上网时作为选用,也可以不选用。5、为了节省使用MIC和喇叭,一般把GSM的音频输入引脚和输出引脚需要通过接到WM9713芯片,以便在WM9713片内混合使用。323SIM300串口调试简介SIM300调试助手包含了几个选项1生产厂商用于显示设备生产厂商。2设备类型显示设备的类型。3SIM卡状态检查是否接入SIM卡。若接入SIM设备,会显示CPINREADY
31、。4如果SIM卡没有接入则设备显示CPINERROR。5信号质量显示所接入SIM卡的信号质量,一般显示范围为130,显示99则说明没有接入天线或者信号不好。6网络信息显示SIM卡所属的服务商信息。7拨号测试输入指定的号码可以进行拨号测试,8接听电话当串口显示RING字符时,表示有电话接入,按下接听电话键就可天津职业技术师范大学2014届本科生毕业设计11以接听电话了。SIM300的串口调试助手的界面如图34所示。图34SIM300专用测试软件9GPRS功能区用测试GPRS网络连接的连通性、可以发送数据。下面再简单举一个例子如何用串口调试助手拨打电话一、拨打号码10086例如图35所示,首先在串
32、口输入区输入“ATI”,然后加回车,点发送,要是在串口接收区接到如下图所示的信息,说明测试成功,可以进行下一步的操作。如图36所示,在指令区输入ATD10086不能少分号后再按回车键,点“发送”,指令功能给10086拨打电话,若收到COLP”10086”,129表示呼叫号码成功,若返回的不是这些字样,则说明示呼叫失败,需重新呼叫,若返回了NOCARRIER,则表示呼叫失败或对方已挂断。天津职业技术师范大学2014届本科生毕业设计12图35SIM300模块好坏测试图36SIM300打电话测试天津职业技术师范大学2014届本科生毕业设计1333触摸屏模块331串口触摸屏简介本设计采用的触摸屏是迪文
33、串口触摸屏,也称为DGUS屏,因其极高的性价比,使迪文屏在业内享有很好的口碑,这款产品是主动智能屏,与市面上大多数底层驱动式的串口屏不同。模式实物如图37,38所示。图37迪文触摸屏正面图图38迪文触摸屏反面图天津职业技术师范大学2014届本科生毕业设计14传统的LCM一般都是通过时序来控制显示的,而迪文屏采用直接变量驱动显示方式,只要预先把变量配置文件配置好,直接下载到触摸屏内部处理器里,就可以实现所有的显示和操作了。使用DGUS屏,各种看似复杂的开发,不论是全图形的界面,或触摸屏各种输入法,艺术字或者是调节拖动滑块,或者是多菜单操作,显示曲线、信息等等都可以用DGUS屏来解决,这样,就能节
34、省出程序员大量的时间来进行界面或特殊屏幕功能的创新设计。它内置脚本,用来执行控制内核,所有UI由预先的脚本来描述,并采取独立运行加上互动式人机交互,根本不需要主机的参与,还有一个突出特点是速度非常快。它采用TML脚本文件来描述UI,UI数据是与客户主控程序进行分离的,这样的话,可以快速实现复杂的UI,并且支持多国语言字库,甚至在现场都能进行快速修改。与主机通信非常简单,用三条控制命令就能搞定取变量值、设置变量、远程命令调用。332触摸屏使用方法总的来说,迪文触摸屏的工作原理是基于文件配置来做的,就是使用PC配套的软件先把各种图形,图标,变量,数据分配好,分配到不同的配置文件中,然后下载到存储器
35、里,直接进行调用。基本开发主要有以下几个流程1变量规划一般是使用EXCEL表格来存储自己设置的变量,并进行相应的记录注释,这样方便查阅,不容易混乱。2界面设计就是设计自己所要用到的图标,图标,滚动条,一般是使用PHOTOSHOP软件,进行美化设计,在设计时,有一个地方需要注意,因为这款触摸屏的颜色是65K色的,所以需要把PS软件的调色板设为65K色,这样才能成功显示。3界面配置这一步很重要,主要是通过迪文自己研发的专业的工具软件,把上一步的图形配置到固定的文件里,生成触摸配置文件,这个文件主要处理检测触摸按键是否被按下了,和变量的配置文件,这个文件主要用于处理一些数据变量的输入及显示功能,触摸
36、屏的整个操作就是通过这两个文件来处理的。4测试修改把上一步的两个配置文件,以及第2步里做出的图片,设计的图标库,以及自制的字库文件都通过SD卡下载到迪文屏上,迪文屏就是通过SD卡的数据进行操作的,按照固定的顺序进行界面测试,有问题的话,重新修改前面的几步,再把自己的主控芯片用串口跟迪文屏连到一起,进行数据联调,看跟自己的要求是否相符,若有问题,天津职业技术师范大学2014届本科生毕业设计15再调试主控芯片的程序以及触摸屏的配置文件。34RTC实时时钟341时钟功能简介本款迪文触摸屏自带RTC模块,内部已经集成到主控器内,通过用配套的迪文开发组态软件,配置相应的界面和按钮,就能很方便地显示出时间
37、,最多可以显示年,月,日,时,分,秒,星期等信息,而且这七个信息可以任意组合设置,只显示其中的几个信息也是可以的,这样我在每个界面都能显示出时间,因为它是基于变量地址的,并不会局限于只在某一页显示,正好符合我制作简易手机的要求,还有一个好处,只要一次设置了RTC时钟,即使系统掉电,时间信息也不会消失,因为屏上还带了一个备用电池,时间信息可以保存两年,且按照内部的计数一直正常计时。当再次上电后,跟真正的时间也是一致的。天津职业技术师范大学2014届本科生毕业设计164软件设计41KEIL软件介绍KEIL软件是ARM公司旗下的一款比较通用的编程软件,KEIL软件因为其良好的界面,方便的操作,而且它
38、适用于我们很多常用的单片机,所以它的普及率比较高。KEIL软件有两种版本,一种是用于C51编程的,一种是用于ARM编程的。KEIL软件的使用也是很方便的,如何新建一个工程的步骤很经典,一般都是新建工程,然后选择芯片,接着新建文件,并把新文件添加到工程中,并把工程和文件保存一下,就行了。KEIL软件还有软件仿真的功能,当程序出现问题时,又没有硬件来调试的时候,就可以使用软件仿真的功能,进行调试。通过选中DEBUG按钮,就切换到软件仿真功能,仿真里主要有运行,暂停,停止,单步运行,过程单步等几个操作,还能调出寄存器窗口,在单步运行时查看每一步操作后各个寄存器值的变化。这样可以很方便的发现程序出问题
39、的地方。42编程总结1定义1位的变量时,例如各种标志位FLAG,养成习惯,用SBIT定义,不要用UCHAR。252单片机是有三个定时器的,一定要有心。3除法运算(即取模运算)既适用于整数,又适用于小数,而取余运算只能用于整数。4全局变量是一个很重要的概念,它可以起到函数间联系的桥梁作用。所以设计人员习惯把全局变量的第一个字母大写,这样可以与函数中的局部变量和形参区分开,就像华哥那样。5SPI高速同步串行口。34线接口,收发独立、可同步进行。6DEFINEWRST_H,这个语句的作用是起注释说明的作用。7C语言中定义变量时,若未赋初值,系统自动赋初值0(对数值型变量)或空字符(对字符变量)。8用
40、SPRINTF函数输出两位整数的方法是SPRINTFTAB2,“30F“,FLOATTEMP还可以用SPRINTFTAB2,“D“,INT或UINTTEMP,关键是TEMP的类型必须是整型,而是UCHAR就不行。9格式化输出的技巧72F表示输出格式为一共7列即7位,小数点后是2天津职业技术师范大学2014届本科生毕业设计17位。10原来数据是先传高位还是先传低位,直接在芯片手册里就能看到,在最左边的就是第一个要传的数据。11精益求精,持之以恒。12程序最好写流程图。13调试出现错误时,先查硬件再查软件。14各种时序图,例如18B20的初始化,就好像是密码,只有输入密码正确,你才能操作它。15注
41、意P2口的接口顺序跟另外三个有所不同。在汇编语言里,单片机中逻辑非是CPL指令,微机里是NOT指令。16ATMEL单片机跟STC单片机的区别1)P0口是否要接上拉电阻2)前者是用串口下载,后者是用SPI下载。17在程序中位定义跟字节定义是不一样的,例如SCON寄存器中位定义跟字节定义的差别就很大,因为顺序会有问题。18即使是定义了初值的数组,它里面的值也是可以改变的。19想要打印东西的空数组可以这样定义UCHARTAB32。20函数尽量都定义为有返回值的,这样便于模块化编程。21其实软件仿真很重要,比如12864的读写时序,即各种其它外围器件的初始化都应该先用KEIL软件仿真一下,因为在不同的
42、晶振频率下,各条指令的执行时间久不一样了。22单片机一共有16根地址线,所以最大能扩展64K的ROM及RAM。23网上不会有那么多现成的资料,需要靠自己用脑子去思考,通过零碎的资料来逐步推理出自己想得到的东西。24单片机内部资源的熟悉程度,读芯片手册的能力,网上收集并归纳整理资料的能力,编程的逻辑能力,画流程图的能力,编程的条理不乱能力。25写程序需要非常严谨的思维,所以平时也要养成严谨的习惯。26其实位数多的单片机跟8位单片机也没多大区别,操作时还是以8位为基准进行移位操作的。27以后写东西,养成从0开始的习惯,例如0127,不要从1开始。28单片机的电源和地之间也应该加滤波电容,华哥他们公
43、司,实际工业上做东西,必须滤波电容。29写程序前,最好先写流程图,写程序时应随时加上注释,就像GSM视频里的哥们,这样的好处是不会乱。天津职业技术师范大学2014届本科生毕业设计1830任意单片机的都可以用串口通信的,只要电平特性一样,例如都是TTL电平,再者需要波特率一致。31调军哥的毕设时,进行串行通信时,我自己刻的电路板插上12的单片机,就不好使,但插上普通的STC52或55的单片机,就好使,说明我的电路板做的不适合12的串口传输。43迪文触摸屏组态软件介绍1本软件是基于迪文DGUS屏开发的配套软件,可以帮助用户快捷方便的进行用户界面及功能设计。DGUS软件采用工程文件的管理方式,对每一
44、个应用进行分别管理,用户可以很方便的添加新的应用以及对以前的应用进行修改维护,满足客户应用的升级和调整的需要。2把GUI设置分解成控件并按页面来配置,控件显示直接由变量配置按钮控制;在通过软件配置好,生成控件文件(14BIN)下载到DGUS屏后,用户仅仅需要通过串口改写变量值即可实现控件显示的相应改变。比如,要在某个页面显示两位小数(2500)的温度值,分两步开发完成STEP1配置借助迪文提供的PC组态开发软件,在相应页面位置添加一个数据变量控件,设置好显示格式(字体大小、显示颜色、单位、小数点长度、数据源、数据类别),预览OK后通过SD卡把生成的控件文件(14BIN)下载到DGUS屏。STE
45、P2运行用户软件只需要定时(或者参数变化时)把温度值通过串口刷新到对应的数据源地址,当显示切换到对应页面时,屏幕就自动按照预先设定显示格式显示出来。触摸屏或键盘录入控制,通过软件在页面定义上相应位置上添加触控配置按钮,生成触控文件(13BIN)来控制。比如,要在某个页面用触摸屏录入显示两位小数(2500)的设定温度值,分两步开发完成STEP1配置借助迪文提供的PC组态开发软件,在相应页面位置添加一个变量数据录入控件,设置好录入格式(字体大小、光标模式、显示颜色、小数点长度、数据源、数据类别),预览OK后通过SD卡把生成的控件文件(13BIN)下载到DGUS屏。STEP2运行当切换到对应页面,并
46、按压触摸屏触发相应控件,DGUS会自动完成录入过程。用户软件只需要定时(或者配置为录入完成自动串口下发给用户)查询录入值即可。另存为功能,能自动转换图片格式和大小,是不同格式的图片文件转换为符合DGUS屏使用的BMP格式文件,并支持图片偏转90保存。另存后的DWIN_SET目录中包括工程中所需的所有文件,可以直接通过SD卡天津职业技术师范大学2014届本科生毕业设计19下载到DGUS屏中使用;配置按钮的预览功能,能方便用户对所设的配置按钮进行预览,检测设置的效果。另存为功能,能自动转换图片格式和大小,是不同格式的图片文件转换为符合DGUS屏使用的BMP格式文件,并支持图片偏转90保存。另存后的
47、DWIN_SET目录中包括工程中所需的所有文件,可以直接通过SD卡下载到DGUS屏中使用;配置按钮的预览功能,能方便用户对所设的配置按钮进行预览,检测设置的效果。变量查看及按钮命名功能,可使用户进行应用设计时一目了然,点击地址时可进行排序,方便用户检测地址设置是否符合设计要求;能把以前的13触控、14变量配置文件直接导入到工程中,提高用户应用的延续性。分辨率变化时,页面上设置的按钮可按比率自动缩放大小,这样可使一套应用方案可直接应用于不同大小分辨率的屏。其软件界面如图41所示。图41迪文组态软件配置界面天津职业技术师范大学2014届本科生毕业设计2044本设计的程序流程图程序流程图,如图42所
48、示。图42程序流程图45源程序(见附录2)开始串口1,串口2初始化触摸屏初始化SIM300初始化检测哪个功能键被按下了检测是否有来电或来信给SIM300发送打电话或发短信的AT指令解析AT指令通话结束或短信收发结束YNNY天津职业技术师范大学2014届本科生毕业设计215系统调试过程51单片机最小系统和时钟模块的调试最小系统是做的板,最开始我对原理图做了详细的考虑后才确定最终导入PCB中,用热转印机转印时可能是因为温度不够高的原因,转印完后发现,部分线没有印上,后来又重新转印了一次,之后进行腐蚀,腐蚀的效果还可以,最终就有几根线有隐隐约约的断线,被我发现后,我就把这些线又连上,之后就下载了原来
49、做过的一些简单的控制流水灯的程序,还可以,都能实现功能,说明最小系统,这一部分是没有问题的。52时钟模块的调试因为我原来看过郭天祥前辈的视频讲解,做过一个时钟,所以就想先把这个时钟调出来,等其他模块好了之后,再加入闹铃的功能。但是下载了好几遍程序,总是没有一点反应,我想应该不会是程序的问题,因为这些都是原来总结好的程序,那就是硬件的问题了,说明我刻的板的这一部分有点问题,经过我的反复检测,原来是因为我在画DXP图时,添加网络标号时,把5脚,6脚的网络标号给弄错了,之后把PCB板连错的线,弄断之后,又把线给改过来,再下载了一遍程序,就能正常工作了,那个兴奋呀,这种解决问题后的喜悦感,只有真正喜欢电子的人才会体会到。53SIM300模块的调试SIM300模块是从网上买的一个模块,店家给了一些例程,我拿回来,弄到自己的普中单片机开发板上,试验了几个程序,都是好使的,说明模块没有问题,之后我就开始学习SIM300的AT指令,先在电脑上用串口调试助手熟悉接打电话,收发短信的具体操作流程,接打电话比较简单,但是收发短信的过程比较复杂,稍有不慎,就会失败。等这些熟练后,我就开始用STC12C5A60S2进行编程,编程还是比较简单的,跟发AT指令差不多,就是通过串口把STC12C5A60S2和SIM300模块连接起来,然后调试时我发现有时买的SIM300模块并不稳定,经过多次经历,和分析
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。