第1页共49页摘要单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活中的各个领域,电子、科技、通信、汽车、工业等。我们这次设计的科学计算器就是利用STM32单片机制作而成。计算器(calculator)一般是指“电子计算器”,该名词由日文传入中国。计算器是能进行数学运算的手持机器,拥有集成电路芯片,结构简单,功能较弱,但由于它使用方便、操作简单、价格低廉,因而广泛运用于商业交易中,也是必备的办公用品之一。为了进行大量浮点数的运算,并且能很好的支持彩屏的显示,我们选用了计算能力较强的基于Cortex-M3系列的STM32单片机作为微控制器。STM32系列是32位单片机,运算能力远比其他单片机强,基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M3内核。时钟频率高达72MHz,远远高于51、AVR等单片机。从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。关键词:STM32、单片机、触摸屏、计算器第2页共49页AbstractMonolithicintegratedcircuitoccursisaproductoftherapiddevelopmentofcomputertechnology,itisthecoreoftheembeddedcontrolsystem,today,ithasbeenwidelyappliedtoallareasofourdailylife,electronics,technology,telecommunications,automotive,industrial,etc.OurscientificcalculatorofthisdesignistousetheSTM32microcontrollerproducedby.Calculator(Calculator)generallyreferstotheCalculator,thenounbytheJapanesecametoChina.Calculatorsarehandheldmachinethatcandothemath,withintegratedcircuitchips,simplestructure,lessfunctional,butbecauseofitseaseofuse,simpleoperationandlowcost,whicharewidelyusedincommercialtransactions,isoneoftheessentialofficesupplies.Keywords:STM32,microcontroller,touch,calculator第3页共49页目录摘要..............................................1Abstract.............................................2目录..............................................3第一章引言.........................................5第二章总体方案设计.................................62.1任务与要求...................................62.1.1任务....................................62.1.2要求....................................62.2方案论证.....................................62.2.1单片机系统的选型........................62.2.2显示屏的选型............................72.2.3外部存储器的选型........................72.3系统总体设计.................................7第三章系统硬件设计.................................83.1微控制器简介.................................83.2触摸屏模块简介...............................93.2.1显示部分简介............................93.2.2触摸部分简介...........................113.3AT24C02简介.................................123.4整体系统硬件设计............................143.4.1单片机系统设计.........................153.4.2电源部分设计...........................153.4.3单片机和PC机通信设计..................16第4页共49页3.4.4单片机和触摸屏接口设计.................16第四章系统软件设计................................194.1系统各个模块初始化..........................194.2显示模块程序设计............................204.3触摸模块程序设计............................244.4实现运算表达式的程序设计....................26第五章总结......................................31致谢..............................................33参考文献............................................34附录..............................................35第5页共49页第一章引言最早的计算工具诞生在中国。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头、兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。17世纪初,西方国家的计算工具有了较大的发展。英国数学家纳皮尔发明了“纳皮尔算筹”,英国牧师奥却德发明了圆柱形对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数、指数函数和对数函数。这些计算工具为现代计算器的发展奠定了良好的基础。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器。在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,到了20世纪50年代末,电子计算器问世。本文设计的是一种基于STM32科学计算器的设计,通过触摸屏进行人机交互,按键直接显示在触摸屏上,不需要传统的机械按键,并且可以在需要键盘的时候才调出来。传统的机械按键需要占用单片机大量的I/O口,而触摸屏只需要通过SPI接口和单片机通信。第6页共49页第二章总体方案设计2.1任务与要求2.1.1任务完成数学表达式的计算,包括括号、三角函数、log、ln等一些常用的数学函数,并将表达式和结果实时显示出来。2.1.2要求1.基本功能实现基本的四则运算,并在触摸屏上显示表达式和结果。当输入错误的表达式时,能显示出相对应的错误,提示用户纠正。2.扩展功能实现小数、负数的运算。实现平方、n次方、平方根、n次方根的运算。实现三角函数、log、ln等一些常用的数学函数的运算。3.技术指标精确到小数点后6位。计算的范围为-3.4×10-38~3.4×1038。实时显示计算表达式和结果。2.2方案论证2.2.1单片机系统的选型单片机系统选用意法半导体基于Cortex-M3的STM32F103ZET6,第7页共49页意法半导体的单片机具有良好的性价比、低功耗、易开发等特点,而且其体系和架构资料丰富,用它能够快速的开发出整个系统。2.2.2显示屏的选型现有的液晶显示屏的种类很多,我们选用的是2.8寸带触摸的彩屏,320×240的分辨率,支持16位色,16位数据接口,这个就足够我们使用了。有了触摸的控制,就可以省掉传统的机械按键,直接在屏幕上显示按键。2.2.3外部存储器的选型外部存储器我们选用Atmel公司的AT24C02,是基于I2C-BUS的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。2.3系统总体设计根据设计要求和模块选型系统总体方案设计如图1。本系统主要是在触摸屏上显示各种信息文本,所以硬件电路比较简洁,不需要很多硬件。PC机通过RS232串行接口和STM32进行数据通信,STM32和显示屏通过16位并行接口通信,和触摸板通过SPI接口进行通信。图1STM32最小系统PC机触摸屏24C02第8页共49页第三章系统硬件设计3.1微控制器简介为了进行大量浮点数的运算,并且能很好的支持彩屏的显示,我们选用了计算能力较强的基于Cortex-M3系列的STM32F103ZET6作为微控制器。Cortex-M3是ARM公司研发的一个系列,针对于微控制开发领域,采用ARMv7-M架构,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架构。Thumb-2在Thumb指令集架构(ISA)上进行了大量的改进,它与Thumb相比,具有更高的代码密度并提供16/32位指令的更高性能。ARM的Cortex-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的Cortex-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。我们采用的意法半导体公司生产的STM32F103ZET6就是基于ARMCortex-M3内核的,具有高性能、低成本、低功耗等特点,最高主频可达72MHz,高达512K字节的闪存和64K字节的SRAM,112个GPIO端口,4个通用定时器,2个高级控制定时器,2个基本定时器,还包含标准和先进的通信接口:多达2个I2C接口、3个SPI接口、2个I2S接口、1个SDIO接口、5个USART接口、一个USB接口和一个CAN接口。这些丰富的外设配置,使得STM32F103大容量增强型系列微控制器适合于多种应用场合:●电机驱动和应用控制第9页共49页●医疗和手持设备●PC游戏外设和GPS平台●工业应用:可编程控制器(PLC)、变频器、打印机和扫描仪●警报系统、视频对讲、和暖气通风空调系统等3.2触摸屏模块简介3.2.1显示部分简介TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:ThinFilmTransistor-LiquidCrystalDisplay。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。TFT液晶显示屏的特点是亮度好、对比度高、层次感强、颜色鲜艳,但也存在着比较耗电和成本过高的不足。TFT型的液晶显示器主要的构成包括:萤光管、导光板、偏光板、滤光板、玻璃基板、配向膜