(完整版)基于51单片机简易计算器课程毕业设计论文
- 格式:doc
- 大小:3.79 MB
- 文档页数:38
电气与电子信息工程学院
单片机课程设计
设计题目: 简易电子计算器
专业班级: 12级电信(1)班
学 号:
姓 名: 杨峥
指导教师: 章磊 艾青
设计时间: ~
设计地点: K2—407
课程设计任务书
2013 ~2014 学年 第2学期
学生姓名: 杨峥 专业班级:电子信息工程技术(专)2012(1)班
指导教师:艾青、章磊 工作部门: 电气学院电信教研室
一、课程设计题目: 单片机课程设计
1. 出租车计价器系统设计
2. 医院住院病人呼叫器的设计
3. 作息时间控制器
4. 数字温度计的设计
5. 火灾报警器的设计
6. 电子密码锁
7. 电子计算器
8.学生自选
二、课程设计内容
1. 以单片机为核心器件,构造系统;
2. 熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;
3. 熟悉、掌握单片机汇编语言的软件设计方法;
4. 熟悉、掌握印刷电路板的设计方法;
5. 根据具体设计课题的技术指标和给定条件,能独立而正确地进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整;
6. 学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;
7. 编写设计说明书,参考毕业设计论文格式撰写设计报告(5000字以上)。
三、进度安排
1.时间安排
序 号 内 容 学时安排(天)
1 方案论证和总统设计 2
2 硬件设计 3
3 软件设计 3
4 撰写和打印设计报告 1
5 设计答辩 1
合 计 10
设计指导答辩地点:自控、DSP室
2.执行要求
智能电子产品设计制作共8个选题,每组不超过7人,为避免雷同,在设计中
每个同学所采用的方案不能一样。
四、基本要求
(1)进行方案论证并根据要求确定系统设计方案;
(2)绘制系统框图和电气原理草图,程序流程图;
(3)对相关电路进行电路参数计算和元器件选择;
(4)进行软件汇编并调试;
(5)利用Proteus和Keil uVision2对系统进行联调;
(6)绘制系统原理总图,列出原器件明细表;
(7)画出软件框图,列出程序清单;
(8)写出使用说明书;
(9)对设计进行全面总结,写出课程设计报告。
五、课程设计考核办法与成绩评定
根据过程、报告、答辩等确定设计成绩,成绩分优、良、中、及格、不及格五等。
评定项目 基本内涵 分值
课程设计考勤 考勤 20分
课程设计报告 完成课程设计任务、报告规范性等情况 30分
实物 实物制作情况 30分
答辩 回答问题情况 20分
90~100分:优;80~89分:良;70~79分:中;60~69分,及格;60分以下:不及格
第1章 方案的选择与概述
1. 单片机概述
当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。过去习惯于传统电子领域的工程师、技术员正面临着全新的挑战,如不能在较短时间内学会单片机,势必会被时代所遗弃,只有勇敢地面对现实,挑战自我,加强学习,争取在较短的时间内将单片机技术融会贯通,才能跟上时代的步伐。
它所给人带来的方便也是不可否定的,它在一块芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
2.方案的设计
1.1 方案一
根据功能和指标要求,本系统选用MCS-51系列单片机AT89C51为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。计算器电路包括三个部分:显示
电路、4*4键扫描电路、单片机微控制电路。用七段数码管作为显示电路,矩阵键盘作为输入电路。模块图如图1.1所示。
图1.1 方案一模块图
1.2 方案二
根据计算器的功能要求,选择AT89C51为主控机,通过扩展必要的外围接口电路,实现对计算器的设计。外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块AT89C51单片机构成。计算器电路包括四个部分:选用LCD作为显示部分,矩阵键盘作为输入部分,运算模块,单片机控制部分。模块图如图1.2所示。
图1.2 方案二模块图
1.3整体设计
根据简易计算器的功能和指标要求,本设计系统选用MCS-51系列单片机AT89C51为主控机。通过扩展必要的外围接口电路,实现对简易计算器的设计。计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。具体设计如下:
(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用七段数码管显示数据和结果。
(2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可。
(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。
(4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:
当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在七段数码管上提示错误。
线路原理框图如图1.3所示。
第2章 单元电路的硬件
2电路设计原理
2.1键盘接口电路
计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的IO 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条IO 线作为行线,四条IO 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中IO 口的利用率。
矩阵键盘的工作原理:
计算器的键盘布局如图2.1所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。
图2.1矩阵键盘布局图
电路中采用4*4键盘作为输入电路模块的话,电路连线会比较简单,而且这种行列式键盘结构能有效地提高单片机系统中IO 口的利用率。但是在硬件电路设计的过程中,实验室没有提供矩阵键盘,所以我们将4*4的矩阵键盘换成了16个独立按键。采用独立按键的方式的话,会占用大量的IO 口资源,但是在这种情况下,编程会很简单。
矩阵键盘内部电路图如图2.2所示(见下页)。
2.2显示模块
本设计采用LCD1602液晶显示屏来显示输出数据。通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应数据。LCD1602管脚图如图2.3所示。
图2.2 矩阵键盘内部电路图
图2.3 LCD1602管脚图
2.3运算模块(单片机控制)
MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器计数器和多功能IO等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROMEPROM)、并行IO 口、串行口、定时器计数器、中断系统及特殊功能寄存器(SFR)。
单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机AT89C51作为计算器的主要功能部件,可以很快地实现运算功能。
图2.4 AT89C51管脚图
管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向IO口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向IO口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向IO口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向IO口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚 备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 INT0(外部中断0)
P3.3 INT1(外部中断1)