毕业论文之单片机简易计算器 - C51 - MAX7219 - 图文 联系客服

发布时间 : 星期一 文章毕业论文之单片机简易计算器 - C51 - MAX7219 - 图文更新完毕开始阅读

浙江工业大学本科毕业设计论文

第一章 绪 论

当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器是人们普遍拥有电子产品之一。本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。

单片机已逐渐成为电子产品研制和开发中首选的控制器,它的应用越来越成为人们关注的焦点,51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,51单片机是基础入门的一个单片机,还是应用最广泛的一种。

本系统就是充分利用了51单片机的I/O引脚。本设计基于STC89C51单片机以及MAX7219数码管显示驱动来设计简易计算器,周边硬件环境设计有STC51系列单片机的程序下载模块,电源模块等。

1.1 研究单片机简易计算器的意义

单片机已逐渐成为电子产品研制和开发中首选的控制器,它的应用越来越成为人们关注的焦点,计算器在日常生活中是比较常见的电子产品之一。用单片机来实现计算器的基本功能这一课题不仅能与生活实际相结合,又能很好的验证我们的基础知识和动手能力。也是对整个大学所学习的知识的一个总结和回顾。

1.2 计算器的发展趋势

计算器只是简单的计算工具,有些机型具备函数计算功能,有些机型具备一定的贮存功能,但一般只能存储几组数据。计算机能够实现数据的录入、处理、存储和输出,但它所以 中国古老的计算器-算盘

它不能自动地实现这些操作过程,必须由人来操作完成。现在使用的计算器大部分都是由一块IC和一块LCD显示屏,再加上电源模块就可以完成复杂的运算。运行在计算机里的编写好的程序有更好的人机交互界面,更强大的计算能力,还可以完成一些特殊的运算,比如数制的转换,复杂函数运算,甚至连很多软件都带有计算功能,比如OFFICE办公软件等等。同时,移动设备如手机,平板电脑都可以应用相关应用程序,或者本身有相关功能。也可以进行一些简单或者复杂的运算。

1

浙江工业大学本科毕业设计论文

如今,掌上计算器也朝着更小型化,更多功能用途,更智能化发展,而且价格更便宜,连手机也有相关应用程序可使用。

1.3 本文研究思路与安排

本设计采用STC89C51作为设计的硬件基础,STC89C51与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。完全符合设计所需的硬件标准。

P1口作为显示接口和AT89S51系列的ISP,我们预留了两排的接插件,一排用于显示接口,使用3个I/O口(P1.0,P1.1,P1.2,),加上VCC,GND电源端用于驱动显示板显示所显示的内容。

P3口主要用于STC系列单片机的ISP,和驱动蜂鸣器的的发声。其他I/O口闲置。 P0口加上103(10KΩ)上拉电阻,用于驱动键盘,进行键盘识别扫描。 P2口在设计中没有分配应用,但是预留接插件,以便扩展使用。 设计有针对于STC51系列单片机的程序下载模块。 设计有电源模块和蜂鸣器驱动模块。

时钟信号采用12MHZ的晶振,因为未接外部ROM,所以EA脚接高电平,复位电路使用的是上电复位,同时加上手动复位。主板的硬件设计。

由于考虑到显示的稳定性,硬件资源占用等因素,显示板采用MAX7219驱动两个四位七段共阴数码管作为显示板。

2

浙江工业大学本科毕业设计论文

第二章 计算器模拟系统的设计与制作总体方案

设计要求基于51单片机设计出简易计算器系统,于是预选用STC89C51,如果内部ROM不足,可选用STC89C51或者其他兼容型号单片机。因为设计的是简易计算器系统,于是需要键盘输入,所需键位为4*4键盘,于是可以使用4*4矩阵式键盘,由一个I/O口来驱动。结果的显示采用两个四位七段数码管来实现,可满足要求,显示驱动可使用74LS244,MAX7219,单片机最小系统设计比较固定,不需要更改太多,同时设计的时候,可以进行一些扩展,比如加入STCISP功能。

本设计采用STC89C51作为设计的硬件基础,STC89C51与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。完全符合设计所需的硬件标准。

P1口作为显示接口和AT89S51系列的ISP,我们预留了两排的接插件,一排用于显示接口,使用3个I/O口(P1.0,P1.1,P1.2,),加上VCC,GND电源端用于驱动显示板显示所显示的内容。

P3口主要用于STC系列单片机的ISP,和驱动蜂鸣器的的发声。其他I/O口闲置。 P0口加上103(10KΩ)上拉电阻,用于驱动键盘,进行键盘识别扫描。 P2口在设计中没有分配应用,但是预留接插件,以便扩展使用。 设计有针对于STC51系列单片机的程序下载模块。 设计有电源模块和蜂鸣器驱动模块。

时钟信号采用12MHZ的晶振,因为未接外部ROM,所以EA脚接高电平,复位电路使用的是上电复位,同时加上手动复位。主板的硬件设计,硬件布局如图1-1所示。

3

浙江工业大学本科毕业设计论文

供电系统,DC5VP0口: 4*4键盘扫描,加10K上拉电阻。P1口:显示输出,MAX7219驱动7段8位数码管P3口:蜂鸣器驱动&烧写程序模块Atmel89S51&STC89C51P2口:其他扩展预留接口,未使用。复位电路模块,外部晶振

图1-1 硬件分布图

由于考虑到显示的稳定性,硬件资源占用等因素,显示板采用MAX7219驱动两个四位七段共阴数码管作为显示板。

2.1 使用到的工具软件

使用到的工具:电烙铁、可调电源、万用表、钻孔台、示波器、计算机等。 使用到的软件:Altium DXP、Proteus ISIS、KEIL、C-Free、MS Office、STC ISP、Atmel ISP、Adobe Photoshop等计算机应用软件。

2.2多个方案的对比

在设计之初,进行设计规划的时候,通过自己的所学知识以及查阅一些书籍还有网上查找了很多资料,设计了多个方案,综合考虑各方面因素。进行对比分析,最终选择最优的设计方案。各方案的设计具体如下。

方案一:在一开始设计的时候,我们采用了P0口( P0口加上10K上拉电阻)作为段码驱动显示,P2口作为位驱动,P1口作为键盘驱动识别,这样,P0口作为段驱动,可以使数码管更亮(通过调节上拉电阻的阻值,单片机其他准IO口内部有30K的上拉电阻,这里采用10K的上拉电阻,可以比其他IO口输出更大的电流)缺点,键盘布局不适合使用操作,PCB布线较多的跳线。

方案二:采用P1口段驱动显示,P2口位驱动,在段驱动加上74LS244缓冲器,使显示更稳定,P0口加上10K上拉电阻作为键盘扫描识别。但是通过和方案四的对比,发现显示依然不够稳定,PCB布线跳线较多,如果开发为两块板,导线需要较多,不够稳定。

4