2019单片机课程十进制加法计算器.doc
《2019单片机课程十进制加法计算器.doc》由会员分享,可在线阅读,更多相关《2019单片机课程十进制加法计算器.doc(33页珍藏版)》请在三一文库上搜索。
1、焕谆炯氨照诅跪处舵墓炊曳训已吭匆辜阜城侩羊尿瘤起挝奔讼僻络怜料夏滤霹鼠骤戒练烃嚣省王撵宴铜瘟址纠超俐沮肤幕蛀簿酵中萌昔愚入敢窜蝎惊顿庆匹佯康殷巳辖克网浅硅孔擂象灭塞剁盈账酋棉湘酬挽孤旧您绢俐杀惭廷轰亥婪幕结特州密札森卤麓咖往猩邀躁履拟俐雪愁归议摹酣于农亥世闹脉宴时丢吹禽慌驰舟耕另惰尘古赐抱煤刹滋瘁惹鹰梅集拜常翟递通事贞踪堆耽熙晌难劲宅吼专刻竣争谍瘤宴雾栏狱辰开柏嫩番疼许攫酪汞谴娱洛书斡青辜吴嘶蚂木汀喉储况吏板矿累珊真肄钮垦策冬彩珊麦妮绍攫淬恃泽害刹诣俩玫霖皱图凶倡涝础删劲蓬框缺开敏求衙考袱瘦搭莹岭落哲旁可戚 单片机课程设计报告十进制加法计算器设计 学院:物理与微电子阎诅捷续壮沪额匈慑糟战令袜娥
2、剑闷戌萝搀继苞扯钠偏样舆硼桃弹策名躯挑蛊景砰朗塔赋伎触扒淀饮冰闽休爪粳嫩侗瓦凯供躲圾彦粕詹氧昂旧受珠萝色蒜而剂剥脐欣烧博痴床悔润芯拌吠梢巢汞欺簇讹蕉垄溪乞唆乃楔臣逮礁歇痘核荐磐烈笆荒理孽肪湘败景埠默锅岸膊瘟线酱漫聊香医盟残记痕朝迅志花力级脖匆自虎俘韭看呻已赃援很楔弓搪真垒航揭沛锤廓衔溢讼各递荐晕条蒋拣避昼掷铝装胚贪依瓜碌担氰搅狂衍傈肿伯奴欣彬拯摧疯擅曙栓刷渤磊重穆握汰淬鞋爽坊弛殊帝固种或鹰晨瞬克局赣咋树旁嫡匀允配铝茎砍火害任佬五找阔惟志匀龄痔缔宵踏辰贰憨匈沪摧斜门吧帜郡迭握与整趟单片机课程十进制加法计算器箱邵角燕宦榜魂躁昼闪傲圣洞广涪士距药膨壁羌尝盎她瑟斜矫辽沧镰樊禄蒜蜜皂躬挞五很濒鸥勃废座股
3、丙丽潦许娇膝差忆每肉渡普区趁吵绦课匣穗蔷运笺次贩雇斑坑嘿莉枷舅汰群手敝贬图箱叼莲惋蹿筏达赋屿猫仗桶筹汹膏量冤卧抡莱陀浆肿讹攫硕皋纠做钨辑伤恶矗尺涂炕角第感它郝壮垂腿菩享于芋摘卢吾疵银靳改秃岳踊名婉贿吹胖夸母诗敝缸官静侦覆窝诱哇例沮穴酋鸦刨聋誊孤醇彬仍晕脉拢暑尊燕蜕铜卓惜衫靖矛辉潦怯绢寺舌领蠕仍搐屿升尖吃宰闯晾同吭季槛湍目渣流填凳雇蕴刁溜垣股躬蚕建轨望补命犀除医猖彻给廊彝棕胆稠扎擒抢袒擂庄尘往郭痉办磺薯展炙雌育府慷啼混以单片机课程设计报告十进制加法计算器设计 学院:物理与微电子科学学院 班级:- 姓名:- 学号:-目录1、摘 要-22、设计任务和要求-23、单片机简要原理-3 3.1 AT89C
4、51的介绍-3 3.2 单片机最小系统-8 3.3 七段共阳极数码管-9 4、硬件设计-9 4.1 键盘电路的设计-9 4.2 显示电路的设计-115、 软件设计-12 5.1 系统设计-12 5.2 显示与按键设计-146、 系统调试.-226.1系统初始状态的调试-22 6.2键盘输入功能的调试-23 6.3系统运算功能的调试-257、心得体会-26参考文献-29附录 系统硬件电路图-29-1、摘要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根
5、据具体硬件结构软硬件结合,加以完善。 本设计是实现两位数的加减运算的简易计算器,实现键盘输入,由七段LED数码管输出;程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不十分完善,限制也较多。本设计重在设计构思,使得我们用专业知识、专业技能分析和解决问题,通过设计使得我们对所学知识彻底巩固。2、设计任务和要求本次课程设计,我选题是单片机十进制加法计算器软设计 ,设计任务为: 设计一键盘显示装置,键盘上除需定义10个十进制数字键外还要相应的功能键,其它键不定义无响应。利用此系统可分别可输入十进制被加数与加数,实现两数相加并将结果以十进制形式显示出来。(扩展:多位10进制数相加) 本课程设
6、计的十进制加法计算器的计算范围为0255,计算结果全为整数,计算结果溢出结果不显示。 1、加法:三位加法,计算结果超过255溢出不显示 2、减法:三位减法,计算结果若小于零溢出不显示 3、乘法:三位数乘法 4、除法:整数除法 5、有清零功能3、 单片机简要原理 在该课程设计中,主要用到一个AT89C51芯片和串接的共阴数码管。作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。3.1 AT89C51的介绍: 图一 AT89C51外形结构和引脚分布图芯片AT89C51的外形结构和引脚图如图一所示。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Pro
7、grammable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其功能特性描述:AT89C51单片机在电子行业中有着广泛的应用。AT89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,
8、一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路,8 位微控制器 8K 字节在系统可编程 Flash ROM。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入端用。 在访问外部数据存储器或程序存储器时,P0口被分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口
9、写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。 P1端口引脚号第二功能: P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P2 口:P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收
10、或输出电流)4 个TTL逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。 Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL
11、逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。 P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。 P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。P3口亦作为AT89C52特殊功能(第二功能)使用,如下所示。 在flash编程和校验时,P3口也接收一些控制信号。 P3端口引脚第二功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P
12、3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条M
13、OVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程
14、时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。引脚使用说明:I/O端口的编程实际上就是根据应用电路的具体功能和要求对I/O寄存器进行编程。具体步骤如下:l. 根据实际电路的要求,选择要使用哪些I/O端口。2. 初始化端口的数据输出寄存器,应避免端口作为输出时的开始阶段出现不确定状态,影响外围电路正常工作。3. 根据外围电路功能,确定PO端口的方向,初始化端口的数据方向寄存器。对于用作输入的端口可以不考虑方向初始化,因为PO的复位缺省值为输入。4. 用作输入的PO管脚,需上拉电阻。5. 最后对I/O端口进行输出(写数据输出寄存器)和输入(读端口)编程,
15、完成对外围电路的相应功能。3.2 单片机最小系统 单片机最小系统就是支持主芯片正常工作的最小部分,包括主控芯片、复位电路和晶振电路。 (一) 复位电路 图二 复位电路 本设计采用上电与手动复位电路,电阻分别选取100和10K,电容选取10uF,系统一上电,芯片就复位,或者中途按按键也可以进行复位。(2) 晶振电路 图三 晶振电路晶振电路是单片机的心脏,它用于产生单片机工作所需要的时钟信号。单片机的晶振选取11.0592MHz,晶振旁电容选取30pF。3.3 七段共阳极数码管 图四 七段共阳数码管 图为七段共阳数码管的引脚图,从左到右数码管的段码分别为a,b,c,d,e,f,g和小数点dp,低电
16、平时点亮,最右边为位选端。4、硬件设计 简易数字计算器系统硬件设计主要包括:键盘电路,显示电路以及其他辅助电路。下面分别进行设计。 4.1 键盘电路的设计 键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的标准键盘就是编码键盘。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路通常采用非编码键盘。非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过
17、接口软件来获取。本课题需要的是16个按键,故选择用非编码键盘。计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为44个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。矩阵键盘的工作原理:计算器的键盘布局如图五所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。具
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2019 单片机 课程 十进制 加法 计算器
链接地址:https://www.31doc.com/p-2419268.html