简易计算器的设计和实现.doc
《简易计算器的设计和实现.doc》由会员分享,可在线阅读,更多相关《简易计算器的设计和实现.doc(29页珍藏版)》请在咨信网上搜索。
郑州科技学院 《单片机原理及应用》课程设计 题 目 基于单片机简易设计与实现 学生姓名 专业班级 学 号 院 (系) 指引教师 完毕时间 年 月 日 目 录 0.引言 1 1. 设计方案 2 1.1 方案论证 2 1.2 方案比较与选取 2 2. 系统设计 3 2.1系统构成及总体框图 3 2.2硬件原理 4 2.2.1.单片机最小系统 4 2.2.2键盘电路 10 2.2.3显示电路 12 2.3.软件流程 14 2.3.1主程序控制流程 14 2.3.2键盘扫描子程序 15 2.3.3LCD1602显示控制流程 17 2.4仿真与实物制作 20 3.结论 22 参照文献 22 附录一:总体电路原理图 23 附录二:元器件 23 附录三:源程序 24 基于单片机简易设计与实现 0.引言 随着社会发展,科学进步,人们生活水平在逐渐提高,特别是微电子技术发展,犹如雨后春笋般变化。电子产品更新速度快就局限性惊奇了。计算器在人们寻常中是比较常用电子产品之一。如何使计算器技术更加成熟,充分运用已有软件和硬件条件,设计出更出众计算器,使其更好为各个行业服务,成了如今电子领域重要研究课题[1]。 今天,人们寻常生活中已经离不开计算器了,社会各个角落均有它身影,例如商店,办公室,学校……。因而设计一款简朴实用计算器会有很大实际意义。 本设计对字符液晶显示模块工作原理,如初始化、清屏、显示、调用及外特性有较清晰结识,并会使用LCD(液晶显示模块)实现计算成果显示;掌握液晶显示模块驱动和编程,设计LCD和单片机接口电路,以及运用单片机对液晶模块驱动和操作;在充分分析内部逻辑概念,进行软件和调试,学会使用,并可以以其为平台设计出具备四则运算能力简易计算器硬件电路和软件程序。 同步在进一步掌握单片机理论知识,理解嵌入式单片机系统硬软件设计,加强对实际应用系统设计能力。通过本设计学习,使我掌握单片机程序设计和微机接口应用基本办法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕业设计实际问题能力,为单片机应用和开发打下良好基本。 1. 设计方案 本设计可以采用两种方案,一种是以FPGA为核心解决芯片,配备相应外设;此外一种是以STC89C51解决器,配备相应外设。 1.1 方案论证 (1)方案一:采用FPGA控制 FPGA是一种高密度可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA集成密度和性能提高不久,其集成密度最高达500万门/片以上,系统性能可达200MHz。由于FPGA器件集成度高,以便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度可编程逻辑器件领域中独占鳌头。 但是而基于SRAM编程FPGA,其编程信息需存储在外部存储器上 ,需外部存储器芯片 ,且用法复杂 ,保密性差,而其对于一种简朴计算器而言,实用FPGA有点大材小用,成本太高。 (2)方案二:采用STC89C51 单片机是单片微型机简称,故又称为微控制器MCU(Micro Control Unit)。普通由单块集成电路芯片构成,内部包具有计算机基本功能部件:中央解决器CPU,存储器和I/O接口电路等。因而,单片机只要和恰当软件及外部设备相结合,便可成为一种单片机控制系统。单片机广泛用于智能产品,智能仪表,测控技术,智能接口等,具备操作简朴,实用以便,价格便宜等长处,而其中STC89C51以MCS-51为内核,是单片机中最典型代表,应用于各种控制领域[5]。 1.2 方案比较与选取 通过以上两种方案论证和比较,从设计实用性,以便性和成本出发,选取了以STC89C51单片机作为中央解决单元进行计算器设计,这样设计可以实现对四位加减乘除和除法四位小点数运算。 2. 系统设计 为了更好实现系统得功能,硬件电路设计应当遵循如下原则: (1)优化硬件电路 采用软件设计与硬件设计相结合办法;尽管采用软件来实现硬件系统功能时,也许响应时间会比单纯使用硬件时长,并且还要占用微解决器(MCU)时间;但是,用软件实现硬件功能可以简化硬件构造,提高电路可靠性。因此,在设计本系统得时候,在满足可靠性和实时性前提下,尽量通过软件来实现硬件功能[8]。 (2)可靠实用性 依照可靠性及实用性设计理论,系统所用芯片数量越少,系统平均无端障时间越长。并且,所用芯片数量越少,地址和数据总线在电路板上受干扰也许性也就越小。因而,系统设计思想是在满足功能状况下力求使用较少数量芯片。 (3)灵活功能扩展 功能扩展与否灵活是衡量一种系统优劣重要指标。一次设计往往不能完全考虑到系统各个方面,系统需要不断完善以及进行功能升级。进行功能扩展时,应当在原有设计基本上,通过修改软件程序和少量硬件完毕。对于本系统而言,就是规定在系统硬件不变状况下,可以通过修改软件程序,完毕功能升级和扩展[7]。 2.1系统构成及总体框图 计算器重要由STC89C51单片机构成最小系统、1602LCD液晶显示屏及编码键盘构成。P1、P3口:做为输出口,控制LCD液晶显示屏显示数据成果;P2口:做为输入口,与键盘连接,实现数据输入LCD液晶显示屏显示输出,总体框图如下。 LCD液晶显示屏模块 STC89C51 最小系统控制模块 4X4键盘模块 电源模块 图2-1 系统构成及总体框图 2.2硬件原理 硬件设计是整个计算器设计基本,只有在硬件设计完毕后,才干给整个电路下载程序,从而完毕该作品完整设计。 2.2.1.单片机最小系统 最小系统设计即单片机最小系统,对51系列单片机来说,最小系统普通应当涉及:单片机、晶振电路、复位电路。下面给出一种51单片机最小系统电路图。 图2-2 单片机最小系统 (1)复位电路:由一种按键开关和一种10uf电容并联而成,一端接+5v电源,另一端接单片机引脚9(即RST)复位键,,如图2-2所示。 一、复位电路用途:单片机复位电路就好比电脑重启某些,当电脑在使用中浮现死机,按下重启按钮电脑内部程序从头开始执行。单片机也同样,当单片机系统在运营中,受到环境干扰浮现程序跑飞时候,按下复位按钮内部程序自动从头开始执行。 二、复位电路工作原理在课本上有简介,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,在单片机系统中,系统上电启动时候复位一次,当按键按下时候系统再次复位,如果释放后再按下,系统还会复位。因此可以通过按键断开和闭合在运营系统中控制其复位。 (2)晶振电路:普通晶振振荡电路都是在一种反相放大器两端接入晶振,两个电容分别接到晶振两端 每个电容另一端再接到地,这两个电容串联容量值就应当等于负载电容 请注意普通IC引脚均有等效输入电容 ,普通晶振负载电容为15pF或12.5pF 如果再考虑元件引脚等效输入电容 则两个22pF电容构成晶振振荡电路就是比较好选取,晶振是给单片机提供工作信号脉冲 这个脉冲就是单片机工作速度,例如,12M晶振单片机工作速度就是每秒12M 固然,单片机工作频率是有范畴,不能太大 普通24M就不上去了,否则不稳定。 晶振与单片机脚XTAL0和脚XTAL1构成振荡电路中会产生偕波(也就是不但愿存在其她频率波) 这个波对电路影响不大 但会减少电路时钟振荡器稳定性 为了电路稳定性起见 ATMEL公司只是建议在晶振两引脚处接入两个10pf-50pf瓷片电容接地来削减偕波对电路稳定性影响 因此晶振所配电容在10pf-50pf之间都可以 。 此晶振电路由两个30uf电容并联后,两端分别接一种12MHz晶振,而晶振两端又分别接引脚18(XTAL2)、19(XTAL1)。XTAL1:反向振荡放大器输入及内部时钟工作电路输入。XTAL2:来自反向振荡器输出。XTAL1,XTAL2接石英晶体振荡器。如图2-2所示外接晶体引脚图。 (3)STC89C51RC 图2-3 单片机STC89C51 A. 重要性能: • 8051 CPU与MCS-51 兼容 • 8K字节可编程FLASH存储器(寿命:1000写/擦循环) • 全静态工作:0Hz-33MHz • 三级加密程序存储器 • 128*8位内部RAM • 32条可编程I/O线 • 三个16位定期器/计数器 • 八个中断源 • 全双工UART串行通道 • 低功耗闲置和掉电模式 • 掉电后中断可唤醒 • 看门狗定期器 • 双数据指针 • 掉电标记符 • 片内振荡器和时钟电路 STC89C51 单片机为40 引脚芯片见图2-4 B.管脚阐明: VCC:供电电压。 vss:接地。 口线:P0、P1、P2、P3 共四个八位口。 P0 口:P0口是一种8位漏极开路双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平,对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具备内部上拉电阻。在flash编程时,P0口也用来接受指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1口:P1 口是一种具备内部上拉电阻8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低引脚由于内部电阻因素,将输出电流(IIL)。 此外,P1.0和P1.1分别作定期器/计数器2外部计数输入(P1.0/T2)和定期器/计数器2触发输入(P1.1/T2EX),详细如下表所示。在flash编程和校验时,P1口接受低8位地址字节。 图2-4 STC89C51引脚图 引脚第二功能: P1.0 T2(定期器/计数器T2外部计数输入),时钟输出 P1.1 T2EX(定期器/计数器T2捕获/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2口:P2 口是一种具备内部上拉电阻8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低引脚由于内部电阻因素,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器时,P2 口送出高八位地址。在这种应用中,P2 口使用很强内部上拉发送1。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器内容。在flash编程和校验时,P2口也接受高8位地址字节和某些控制信号。 P3 口:P3 口是一种具备内部上拉电阻8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低引脚由于内部电阻因素,将输出电流(IIL)。 P3口是STC89C51特殊功能(第二功能)使用,如表2-5所示。 表2-5 P3口管脚 备选功能: 端口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) 在flash编程和校验时,P3口也接受某些控制信号。此外,P3口还接受某些用于FLASH闪存编程和程序校验控制信号。 其她引脚阐明: RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完毕后,RST 脚输出96 个晶振周期高电平。特殊寄存器AUXR(地址8EH)上DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存容许)输出脉冲用于锁存地址低8位字节。普通状况下,ALE仍以时钟振荡频率1/6输出固定脉冲信号,因而它可对外输出时钟或用于定期目[11]。要注意是:每当访问外部数据存储器时将跳过一种ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 PSEN——程序储存容许(PSEN)输出是外部程序存储器读选通信号,当STC89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP——外部访问容许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必要保持低电平(接地)。需注意是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器指令。 31脚EA/Vpp接电源:STC89C51/52或其她51系列兼容单片机特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM0000H开始执行,当接低电平时,复位后直接从外部ROM0000H开始执行。 2.2.2键盘电路 键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片组合,当按下某个按键时,它可以解决按键抖动、连击等问题,直接输出按键编码,无需系统软件干预。通用计算机使用原则键盘就是编码键盘。在智能仪器中,使用并行接口芯片8279或串行接口芯片HD7279均可以构成编码键盘,同步还可以兼顾数码管显示驱动,其有关接口电路和接口软件均可在芯片资料中得到12]。当系统功能比较复杂,按键数量诸多时,采用编码键盘可以简化软件设计。非编码键盘成本低廉。 从成本角度出发,本设计选用是非编码键盘。如图2-6 图2-6编码键盘电路 此键盘采用4*4矩阵排列,将每一行一端接在一起构成四行,将另一端连在一起构成四列,正好与单片机P3口8个IO口相连,即由低位到高位依次链接P3.0-P3.7,作为单片机电路输入端。 拟定矩阵式键盘上任何一种键被按下普通采用行扫描法。行扫描法又称为逐行查询法它是一种最惯用多按键辨认办法。因而,本设计采用以行扫描法实现按键辨认操作。 其工作原理为:一方面,不断循环地给低四位独立低电平,然后判断键盘中有无键按下。将低位中其中一列线(P3.0~P3.3中其中一列)置低电平然后检测行线状态(高4位,即P3.4~P3.7,由于线与关系,只要与低电平列线接通,即跳变成低电平),只要有一行电平为低就延时一段时间以消除抖动,然后再次判断,如果依然为低电平,则表达键盘中真有键被按下并且闭合键位于低电平4个按键之中任其一,若所有行线均为高电平则表达键盘中无键按下。再另一方面,判断闭合键所在详细位置。在确认有键按下后 ,即可进入拟定详细闭合键过程。其办法是:依次将列线置为低电平,即在置某一根列线为低电平时,其他列线为高电平。同步再逐行检测各行线电平状态 ;若某行为低,则该行线与置为低电平列线交叉处按键就是闭合按键。 2.2.3显示电路 (1)1602LCD液晶显示屏简介 1602液晶模块内部控制器共有11条控制指令,丰富指令可以完毕液晶时序控制、工作方式式设立和数据显示等[6]。 采用LCD1602液晶模块是原则16针插座,接口电路如图所示:关于LCD1602详细资料见图2-7和表2-8。 图2-7 LCD接口电路 表2-8 LCD1602引脚阐明 第1脚 VSS接地 第2脚 Vcc接5V正电源 第3脚 V0为液晶显示屏对比度调节端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一种10K电位器调节对比度。 实际电路中采用2K电阻到地,比较抱负。 第4脚 RS为寄存器选取,高电平选取数据寄存器、低电平选取指令寄存器。 第5脚 RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 当RS和RW共同为低电平时 (00)可以写入指令或者显示地址; 当RS为低电平RW为高电平时(01)可以读入盲信号; 当RS为高电平RW为低电平时(10)可以写入数据。 第6脚 E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚 D0~D7为8位双向数据线。 第15~16脚 阳极和阴极。 (2)与单片机连接:单片机P1.0-P1.7依次与LCD16027-14引脚相连,将从键盘读到数据通过LCD1602显示出来。 (3)工作原理:本次实训采用1602两行16个字DM-1602液晶显示模块 DM-162采用原则14脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示屏对比度调节端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一种10K电位器调节对比度。RS为寄存器选取,高电平时选取数据寄存器、低电平时选取指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0~D7为8位双向数据线 2.3.软件流程 通过软件调用,让单片机将键盘与LCD1602液晶显示屏结合起来 2.3.1主程序控制流程 当主程序载入单片机时,开始进行判断各电路初始化程序,在单片机开始检查有无键按下,如遇键盘按下,则执行延时程序,,继续判断有无按键按下,然后进行按键辨认,最后调用计算机延时子程序,实现系统初始化和其她子程序模块调用操作。 图2-9按键流程图 2.3.2键盘扫描子程序 由于本设计采用行扫描方式辨认按键,通过硬件电路连接及工作原理知每个按键键码:应为用P3口高四位输出低电平,即P3.4-P3.7为输出口。低四位输出高电平,即P3.0-P3.3为输入口。读P3口低四位状态为“0111”,其值为“07H”。再从P1口高四位输出高电平,即P1.4-P1.7为输入口。低四位输出低电平,即P10-P13为输出口,读P1口高四位状态为“0111”,其值为“07H”。将两次读出P0口状态值进行逻辑或运算就得到其按键特性编码为“77H”,别的依次类推。 键盘按键阐明如下: -------------------------------------------------- | 1 | 2 | 3 | + | - - - - - - - - - - - - - | 4 | 5 | 6 | - | - - - - - - - - - - - - - | 7 | 8 | 9 | * | - - - - - - - - - - - - - | C | 0 | = | / | --------------------------------------------------*/ //操作简介 // 按第一种数,再按'+-*/',再按'='显示出成果,然后按C清屏 // 加最大9999+9999=19998 // 减最大9999-0 =9999 // 乘最大9999*9999=99980001 // 除 1/9=0.1111 保存小数点后4位 想要计算器可以精确计算成果,需要按键相应相应程序(c语言),因此我先给每个按键定义如下地址含义: case 0x77 :a=0x0d;break;// 按键/ case 0x7b :a=0x0e;break;// 按键= case 0x7d :a=0; break;// 按键0 case 0x7e :a=0x0f;break;// 按键CE case 0xb7 :a=0x0c;break;// 按键 * case 0xbb :a=0x9;break;// 按键 9 case 0xbd :a=0x8;break;// 按键 8 case 0xbe :a=0x7;break;// 按键7 case 0xd7 :a=0x0b;break;// 按键 - case 0xdb :a=0x6;break;// 按键6 case 0xdd :a=0x5;break;// 按键5 case 0xde :a=0x4;break;// 按键4 case 0xe7 :a=0x0a;break;// 按键 + case 0xeb :a=3;break; // 按键3 case 0xed :a=2;break; // 按键2 case 0xee :a=1;break; // 按键1 default :a=0xff; } return a; /* 返回按键值 */ 2.3.3LCD1602显示控制流程 指令1 清显示 指令码01H,光标复位到地址00H位置; 指令2 光标复位 指令码02H,光标返回到地址00H位置 ; 指令3 光标和显示模式设立 I/D位 → 光标移动方向,高电平右移,低电平左移; S 位 → 屏幕上所有文字与否左移或者右移,高电平有效,低电平无效; 指令4 显示开关控制 D 位 → 控制整体显示开与关,高电平表达开显示,低电平表达关显示; C 位 → 控制光标开与关,高电平表达有光标,低电平表达无光标; B 位 → 控制光标与否闪烁,高电平闪烁,低电平不闪烁 ; 指令5 光标或显示移位 S/C位 → 高电平时移动显示文字,低电平时移动光标 指令6 功能命令设立 DL位---高电平时为4位数据总线,低电平时为8位总线; N—位低电平时为单行显示,高电平时为双行显示; F—位低电平时显示5x7点阵字符,高电平时为5x10点阵字符; 指令7 字符发生器RAM地址设立 指令8 DDRAM地址设立 指令9 读忙信号和光标地址 BF位 → 为忙标志位,高电平表达忙,此时模块不能接受命令或者数据 指令10 写数据 指令11 读数据 (1)指令操作 表2-10指令编码 (2)子程序流程:同样而言,LCD1602显示屏在与单片机连接时,也需要单片机输出程序,而此程序则为 1602液晶显示需要初始化显示: void init_lcd(void) //初始化液晶,及画面初始化 { wela=0; //写液晶 lcden=0; //使能1602 write_com(0x38); //8 位总线,双行显示,5X7 点阵字符 LCD_Delay_us(100); //延时100us write_com(0x0c); //开显示,无光标,光标不闪烁 write_com(0x06); //光标右移动 write_com(0x01); //清屏 write_com(0x80); //DDRAM 地址归0 } 1602写指令函数: void write_com(uchar com) //1602液晶写指令 { rs=0; //写指令 lcden=0; //使能1602 P0=com; //写入指令com LCD_Delay_ms(1); //延时1ms lcden=1; //使能1602 LCD_Delay_ms(2); //延时2ms lcden=0; //使能1602 } 1602写数据函数: void write_date(uchar date) //1602液晶写数据 { rs=1; //写数据 lcden=0; //使能1602 P0=date; //写入数据date LCD_Delay_ms(1); //延时1ms lcden=1; //使能1602 LCD_Delay_ms(2); //延时2ms lcden=0; //使能1602 } 在1602液晶显示屏初始化程序之后,且可以读写数据时,便可对键盘进行操作,指令如下: short keycheckdown() /* 反转法键盘扫描 */ { short temp1,temp2,temp,a=0xff; P1=0xf0; /* 输入行值(或列值) */ LCD_Delay_ms(20); /* 延时 */ temp1=P1; /* 读列值(或行值) */ P1=0xff; LCD_Delay_ms(20); /* 延时 */ P1=0x0f; /* 输入列值(或行值) */ LCD_Delay_ms(20); /* 延时 */ temp2=P1; /* 读行值(或列值) */ P1=0xff; temp=(temp1&0xf0)|(temp2&0xf); /* 将两次读入数据组合 */ switch(temp) /* 通过读入数据组合判断按键位置 */ void display_a() //显示数据a { dispaly[3]=data_a%10000/1000; //千 dispaly[2]=data_a%1000/100; //百 dispaly[1]=data_a%100/10; //十 dispaly[0]=data_a%10; //个 write_com(0x80+0); //显示数据a if(data_a>999){ write_date('0'+dispaly[3]);} //显示千位 if(data_a>99){ write_date('0'+dispaly[2]);} //显示百位 if(data_a>9){ write_date('0'+dispaly[1]);} //显示十位 write_date('0'+dispaly[0]); //显示个位 } 2.4仿真与实物制作 (1)仿真 为了保证明物制作成功,在实物制作之前先进行了仿真设计,其仿真过程是借助ISIS软件实现。其系统电路连接仿真图如图2-10所示,采用12MHz晶振构成外接振荡电路;用按手动按键复位电路;LCD1602接到P0口,由于P0口是开漏输出,因此需要接上拉电阻,本系统采用1k欧排阻;键盘采用总线形式接入P3口。连接完电路后,进行仿真运营,检查效果,并在电路中键盘输入测试。 图2-11仿真图 仿真成果:(1)键盘显示码测试: 例如:乘法运算:9999*9999=99980001 ; (2)实物制作:计算9999*9999=99980001; 图2-12 实物图(正、反) 3.结论 在硬件制作过程中我走了好多弯路,重要是在系统还没有设计有把握就开始动手制作了。日后发现与设计规定尚有偏差,重复改过了几次,挥霍了大量时间和体力。感受到设计人员要有耐心,要认真从规定开始研究。软件编写过程中费了很大力气,由于软件编写规定很高,要很细心,一不小心就会调用错误,很深刻体会到作为软件编程人员是绝不能粗心大意。一种程序完毕速度和质量高低与细心与否有着很大联系。编程时,我充分使用了构造化思想。这样由于语句较少,程序调试比较以便,功能模块可以逐个调试,充分体现了构造化编程优势。当每个模块都完毕时,将其功能加到一起就完毕了整体设计。 参照文献 [1]张靖武,单片机系统PROTEUS设计与仿真[M].北京:北京电子工业出版社 [2]靳达.求是科技.单片机应用系统开发实例导航[M].:人民邮电出版社, [3]刘守义. 单片机应用技术[M].:西安电子科技大学出版社, [5]胡汉才.单片机原理及接口技术.清华大学出版社,1996 [6]徐江海.单片机实用教程[M].北京:机械工业出版社,. [7]肖洪兵. 跟我学用单片机[M]. 北京:北京航空航天大学出版社,.8 [8]夏继强. 单片机实验与实践教程[M]. 北京:北京航空航天大学出版社, [9]谭浩强. C语言程序设计[M].北京:清华大学出版社,. [10]刘福基. C语言程序设计与实训教程[M].北京:科学出版社,. [11]张磊. C语言程序设计[M].北京:高等教诲出版社,. [12]严桂兰. C语言程序设计[M].厦门:厦门大学出版社, 附录一:总体电路原理图 附录二:元器件 元件编号 参数 数量 C1 10uF电解电容 1 C7,C10 30pf瓷片电容 2 J1 电源接口 1 K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12, K13,K14,K15,K16,K17 轻触按键 17 P1 LCD1602液晶显示屏 1 P4 4针插针 1 PR1 10K排阻 1 R1 3K电阻 1 R2 10K电阻 1 SW1 自锁开关 1 U2 STC89C51芯片 1 Y1 12M晶振 1 附录三:源程序- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 计算器 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文