收藏 分销(赏)

简单计算器设计课程设计论文.doc

上传人:可**** 文档编号:2799702 上传时间:2024-06-06 格式:DOC 页数:31 大小:1.62MB
下载 相关 举报
简单计算器设计课程设计论文.doc_第1页
第1页 / 共31页
简单计算器设计课程设计论文.doc_第2页
第2页 / 共31页
简单计算器设计课程设计论文.doc_第3页
第3页 / 共31页
简单计算器设计课程设计论文.doc_第4页
第4页 / 共31页
简单计算器设计课程设计论文.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、单片机原理及应用课程设计简单计算器设计The Design of Simple Calculator院 系: 机电汽车工程学院 专 业: 机械设计制造及其自动化姓 名: 学 号: 指导老师: 2014年6月30日I目 录第一章 绪论1第二章方案论证22.1芯片2 2.1.1方案构思2 2.2输入模块22.2.1方案构思22.2.2方案比较与选择32.3显示模块42.3.1方案构思42.3.2方案比较与选择5第三章计算器硬件设计53.1系统组成及硬件框图53.2元器件简介53.2.1STC89C52特点53.2.2LCD1602液晶显示屏11第四章计算器设计原理分析134.1设计方案的确定 13

2、4.2计算器硬件方案及硬件资源分配144.2.1硬件资源分配144.2.2系统的硬件设计144.2.3键盘电路的设计154.2.4显示电路的设计16 第五章计算器软件设计174.1计算器的软件规划174.2主模块的程序设计174.3显示模块的程序设计18 4.2键盘模块的程序设计19参考文献20结束语21附录一 电路原理图22附录二 软件程序 23附录三 元件清单 2828第1章 绪论随着社会的发展,科学的进步,人们的生活水平在逐步地提高,尤其是微电子技术的发展犹如雨后春笋般的变化。电子产品的更新速度快就不足惊奇了。计算器在人们的日常中是比较常见的电子产品之一,如何使计算器技术更加的成熟,充分

3、利用已有的软件和硬件条件,设计出更出色的计算器,使其更好地为各个行业服务,成了如今电子领域重要的研究课题。现如今,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店、办公室、学校因此设计一款简单实用的计算器会有很大的实际意义。本设计旨在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件设计,加强对实际应用系统设计的能力。通过本设计的学习,使我掌握单片机程序设计和微机接口应用的基本方法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕业设计实际问题的能力,为单片机应用和开发打下良好的基础。对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清

4、楚的认识,并会使用LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶显示模块的驱动和操作;在充分分析内部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计出具有四则运算能力简易计算器的硬件电路和软件程序。1.1 本文结构概述本文主要从方案论证,计算器硬件设计,计算器设计原理分析以及计算器软件设计进行了概述。第2章 方案论证2.1 芯片2.1.1 方案构思本设计中的芯片可以采用STC89C52处理器,配备相应的外设。 单片机是单片微型机的简称,故又称为微控制器MCU(Micro Control Unit)。通常由单块

5、集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机广泛应用于智能产品,智能仪表,测控技术,智能接口等,具有操作简单、实用方便、价格便宜等优点。而其中STC89C52RC是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory)的低电压,高性能COMOS8的微处理器。该器件与工业标准的MCS-51指令集和输出管脚相兼容;且是单片机中最典型的代表,应用于各种控制领域。 从设计的实用

6、性、方便性和成本等诸多方面考虑,最终选择了以STC89C52RC单片机作为中央处理单元进行计算器的设计,这样设计能够实现对六位整数、两位小数的加、减、乘、除的四则运算。2.2 输入模块2.2.1 方案构思1、方案一:采用独立式按键作为输入模块独立式按键输入模块,其特点是:直接用I/O口构成单个按键电路,接口电路配置灵活、按键识别和软件结构简单;但是当键数较多时,占用I/O口较多,比较浪费资源。其原理图如图1-2-1所示。 图 2-2-1 独立的功能按键2、方案二:采用矩阵式键盘作为输入模块矩阵式按键输入模块,其特点是:电路和软件稍复杂,但相比之下,当键数越多时,越节约I/O口,比较节省资源。其

7、原理图如图1-2-2所示。 图 2-2-2 矩阵键盘输入2.2.2 方案比较与选择本设计中的输入模块使用的是矩阵键盘输入。键盘输入预置用于计算,按键较多。若是采用独立按键,需频繁按键,为软件设计增加负担,且操作界面不友好;若是采用矩阵式按键,可以方便地输入一个数值,使操作界面更具有人性化,且节约了宝贵的I/O口资源。通过对比,故采用方案二作为系统输入模块。2.3 显示模块2.3.1 方案构思1、方案一:采用LED数码管静态显示采用LED数码管的静态显示,其特点是:其亮度较高;这种显示方式接口,编程容易且管理简单;不足的是,占用的I/O的线资源较多。如果采用单片机或CPLD/FPGA来控制的话,

8、势必存在浪费I/O口资源的问题。如图1-3-1所示。图 2-3-1 4位数码管静态显示2、方案二:采用LED数码管动态显示采用LED数码管的动态显示,其特点是:其亮度比静态显示的亮度要差一些;但其电路比较简单,适合于显示位数较多的情况。如图1-3-2所示。图 2-3-2 4位数码管的动态显示3、方案三:采用LCD1602液晶显示采用LCD1602液晶显示,其特点是:可以调节其背光亮度,这种显示方式接口,编程虽然有些麻烦,但管理较方便,占用的I/O口资源线也不多。2.3.2 方案比较与选择本设计中的显示模块使用的是LCD1602液晶显示。在计算器运算中,需显示的数字、符号较多,按很据个方面的特点

9、,而后可以发现LCD液晶显示,虽然在价格上的确是稍贵于LED数码管;但数码管在硬件设计电路中,会因线太多、线路复杂而过于繁琐,则舍弃LED数码管,选择LCD液晶显示。通过对比,故采用方案三作为系统显示模块。第3章 计算器硬件设计3.1 系统组成及硬件框图显示模块单片机振荡电路4*4键盘模块 复位电路 图3-1-1 系统组成及硬件框图3.2 元器件简介3.2.1 STC89C52特点1、主要性能:1) 与MCS-51单片机产品兼容;2) 8K字节在系统可编程Flash存储器;3) 1000次擦写周期;4) 全静态操作:0Hz-33Hz;5) 三级加密程序存储器;6) 32个可编程I/O口线、三个

10、16位定时器/计数器、8个中断源;7) 全双工UART串行通信;8) 低功耗空闲和掉电模式,掉电后中断可唤醒;9) 看门狗定时器;10) 双数据指针;11) 掉电标识符。2、STC89C52的功能特性概述STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功

11、能:8K字节Flash,256字节RAM,32位I/O口线,看门口定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器,8K字节在系统可编程Flash。同时,该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3、STC89C52RC的引脚功能单片机STC8

12、9C52RC为40引脚芯片,见图3-2-1。图 3-2-1 STC89C52RC引脚图(1) 口线: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”时,内部上

13、拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在Flash编程和校验时,P1口接收低8位地址字节。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行

14、MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(例如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高八位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如表3-2-1所示。在Flash编程和校验时,P3口也接收一

15、些控制信号。端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)表 3-2-1 STC89C52的P3口第二功能(2)其他引脚说明:RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRT0位可以使此功能无效。DISRT0默认状态下,复位高电平有效。ALE/PROG:

16、当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于所存地址的低八位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只要一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当

17、STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲;在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意是:如果加密LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 图3-2-2 晶振外接结构引脚图XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振

18、荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为1MHz,时钟频率就为6MHz。晶振的频率可以在1MHz24MHz内选择,在本设计电路中选用了12MHz。电容取20PF左右。机器周期=12*时间周期,如12MHz的机器周期为1微秒。(3)控制或复位引脚RESET此脚为高电平时(约2个机器周期)可将单片机复位。RST/VPD:当出现两个机器周期高电平时,单片机复位。复位后,P0P3输出高电平;SP寄存器为07H;其它寄存器全部清零;不影响RAM状态,如图3-2-3所示。 图 3-2-3 复位电路4、单片机的现状及发展方向单片机是为了工业

19、控制需要满足而诞生的,是自动控制系统的核心部件,因而也主要用于工业控制、智能化仪器仪表、家用电器中。它具有体积小、功能多、价格低、使用方便、系统设计灵活等优点。应用领域不断扩大,除了工业控制、智能化仪表、通讯、家用电器外,在智能化高档电子玩具产品中也大量采用单片机芯片作为核心控制部件。由于单片机主要面向工业控制,工作环境比较恶劣,入高温,强电磁干扰,甚至含有腐蚀性气体;在太空中工作的单片机控制系统,还必须具有抗辐射能力,这决定了单片机CPU于通用微机CPU具有不同的技术特征和发展方向:1) 可靠性高;2) 控制功能往往很强;3) 指令系统比通用微处理器慢得多;4) X系列芯片取代;5) 抗干扰

20、性强,工作温度范围宽。3.2.2 LCD1602液晶显示屏1、液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式计算机、数字摄像机、PDA移动通信工具等众多领域。2、LCD1602的应用简介LCD1602液晶显示器采用HD44780及其兼容芯片作为点阵式LCD的控制器驱动器,还采用HD44100进行LCD的时分割驱动。HD44780的内部结构主要包括显示数据RAM(DDRAM)、字符发生器ROM(CGROM)、字符发生器RAM(C

21、GRAM)、指令寄存器IR、数据寄存器DR、地址计数器AC(Address Counter)和忙标志BF(Busy Flag)等逻辑电路。1602液晶模块内部的控制器共有11条控制指令,丰富的指令可以完成液晶的时序控制、工作方式设置和数据显示等。采用的LCD1602液晶模块是标准16针插座,接口电路如图3-2-4所示,及各引脚说明如表3-2-2所示。图3-2-4 LCD1602的引脚接口电路图 表 3-2-2 LCD1602的引脚说明3、其他方面简介DDRAM用来暂存显示字符的代码,共80个字节,DDRAM的各个单元对应着显示屏上的各个字符位,如图3-2-5所示。因此,DDRAM的地址也就意味

22、着显示字符的地址,显示字符时首先要向LCD送显示字符地址。LCD 16字*2行000102030405060708090A0B0C0D0E0F10.27404142434445464748495A5B5C5D5E5F50.67图 3-2-5 DDRAM单元地址与显示屏字符位的对应关系4、LCD1602的主要技术参数:(1)显示容量为16*2个字符;(2)芯片工作电压为4.5V-5.5V;(3)工作电流为2.0mA(5.0V);(4)模块最佳工作电压为5.0V;(5)字符尺寸为2.95*4.35(W*H)mm。5、LCD的特点:(1)低压微功耗;(2)平板型结构;(3)被动显示型(无眩光,不刺激

23、人眼,不会引起眼睛疲劳);(4)显示信息量大(因为像素可以做得很小);(5)易于彩色化(在色谱上可以非常准确的复现);(6)无电磁辐射(对人体安全,利于信息保密);(7)长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命 有限,不过背光部分可以更换)。第4章 计算器设计原理分析4.1 设计方案的确定本设计需要使用LCD液晶显示屏和编码键盘。故选择静态显示和用4*4的按键键盘,使用LCD1602液晶显示屏来显示运算过程和运算结果。主程序进行初始化,其他的程序选择模块式的方式。首先对每个模块进行调试,当模块调试成功后,逐一地加入主程序中,最后完成整个软件部分的设计。4.2 计算器

24、硬件方案及硬件资源分配4.2.1 硬件资源分配主要用到的硬件:单片机STC89C52 RC、液晶显示屏LCD1602 、4*4按键键盘硬件分配:1、 P1口:作为输入口,与键盘连接,实现数据的输入;2、 P0、P2口:作为输出口(P2口为高位,P0口为低位),控制LCD液晶显示屏显示数据的结果;3、液晶显示屏LCD1602显示输出。4.2.2 系统的硬件设计为了更好地实现系统的功能,硬件电路的设计应该遵循以下原则:1、优化硬件电路采用软件设计与硬件设计相结合的方法。尽管采用软件来实现硬件系统的功能时,也许响应的时间会比单纯使用硬件时长,而且还要占用微处理器(MCU)的时间;但是,用软件实现硬件

25、的功能可以简化硬件结构,提高电路的可靠性。所以,在设计本系统的时候,在满足可靠性和实时性的前提下,尽可能地通过软件来实现硬件功能。2、可靠性及抗干扰设计根据可靠性设计理论,系统所用芯片数量越少,系统的平均无故障时间越长。而且,所用芯片数量越少,地址和数据总线在电路板上受干扰的可能性也就越小。因此,系统的设计思想是在满足功能的情况下争取较少数量的芯片。3、灵活的功能扩展功能扩展是否灵活是衡量一个系统优劣的重要指标。一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善以及进行功能升级。进行功能扩展时,应该在原有设计的基础上,通过修改软件程序和少量硬件完成。对于本系统而言,就是要求在系统硬件不

26、变的情况下,能够通过修改软件程序,完成功能的升级和扩展。根据提出的系统设计方案,结合以上三条原则,确定了系统硬件的设计。计算器主要由以下一些功能模块组成:非编码键盘模块、运算模块(单片机内部)、LCD液晶显示模块等。该系统的硬件设计采用了模块化的设计方法。STC89C52RC单片机与LCD液晶显示屏显示电路是整个电路的核心,它们能实现系统的功能要求。简易计算器主要包括:键盘电路、运算电路、输出显示电路。总体硬件结构电路图可见附录一。前面说明了该系统的设计,系统采用了比较简单的设计方案,所以该系统的硬件设计的总外围电路不会产生过多的干扰。下面对系统的外围电路分别作了说明。键盘部分采用4*4按键键

27、盘,显示部分采用LCD液晶显示屏完全能够很好地实现显示方面的要求。4.2.3 键盘电路的设计键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片的组合;当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的键盘就是编码键盘。在智能仪器中,使用并行接口芯片8279或串行接口HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可在芯片资料中得到。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。非编码键盘成本低廉。从成本角度出发,本设计选用的是非编码键盘。如图4

28、-2-1所示。图 4-2-1 键盘电路4.2.4显示电路的设计当系统需要显示少量数据时,采用LCD液晶显示屏进行显示是一种经济实用的方法。P0口作为液晶显示的数据端口,P2.5-P2.7口作为其控制端口,控制LCD液晶显示屏显示输出数据。最终显示电路如图4-2-2所示。图3-2-2 LCD液晶显示屏显示第5章 计算器软件设计5.1 计算器的软件规划 简易计算器的程序主要包括以下功能模块:1 读键程序、判键程序段、运算操作子程序等部分;2 基于LCD液晶显示屏的显示模块;3 主模块,为系统的初始化。5.2 主模块的程序设计主程序主要用来对LCD液晶显示屏进行初始化的。在考虑主程序编写之前,先应对

29、计算器的运作流程有一个大致的了解,之后依次为依据画出大致的流程图(如图5-2-1),以便于编写其主模块的程序,这样看来,会比较清晰、更加方便。图 5-2-1 主程序框图在主程序中的确不用中断服务,它其实也属于一个子程序,是与键盘程序有关,之后会加以说明。既然是计算器,只要反复地进行四则运算,其过程与结果并在液晶显示屏上显示出来。在的程序中“write_cmd(0x80);”,被赋值为“0x80”,则是根据图 3-2-6 DDRAM单元地址与显示屏字符位的对应关系中便能找到,第一行第一个单元的值为80H,则第二行第一个单元的值就为80H+40H,即得出“write_cmd(0x80+0x40);

30、”。4.3 显示模块的程序设计显示模块程序首先要对显示模块进行初始化;然后控制光标的位置;定义液晶显示的控制端口,用SBIT指令完成;然后设置清屏、关闭显示、归位、开显示、显示位置的首地址等等。显示模块的流程图如图5-3-1所示图 5-3-1 显示程序框图通过其显示子程序,发现要显示其最终结果,就必须先存放第一操作数、第二操作数,之后来判定使用四则运算中的哪一种运算,其后进行运算处理,最后便能在LCD液晶显示屏上显示其最终结果。4.4 键盘模块的程序设计键盘扫描子程序,首先读出P1口的低四位,然后读出P1口的高四位。然后键值并显示缓存。而后,将键盘上的值转换为ASCII码,最后就可以用软件来设

31、置硬件按键各个键所代表的内容。读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。第一次所有行线均输出低电平,从所有读入键盘信息(列信息);第二次所有列线均输出低电平,从所有行线读入键盘信息(行信息)。系统中连接的是4*4行列式按键键盘,其中“0-9”为数字键;“+、-、*、/、=”为符号键;“ON/C”为功能键(清屏键),在程序中会加入一个记忆功能键,而与其搭配的硬件按键为符号键中的“=”,以为求方便。数字键按下则将相应的数字送入数字缓冲区;符号键按下则将送入符号缓冲区;功能键按下则执行相应的程序;最终进行运算后,综合结果将送入结果缓冲区,并在LCD液晶显示屏上显示出来。键盘

32、模块程序也可相当于一个中断服务子程序,如图5-4-1所示。图 5-4-1 中断服务程序框图 参考文献1 胡辉.单片机原理与应用.北京:北京水利水电出版社,2007.2 张友德、赵金英、涂时亮.单片微型计算机原理、应用与实验(第四版)M.上海:复旦大学出版社,2003.3 LCD液晶显示器.4 LED与LCD显示器的区别. 5 单片机的简易计算器.6 彭传良.电子计算器键盘与单片机的接口技术及其应用J. 气象水文海洋仪器 ,1999(02):40-44.7 张庆锋.计算器LCD显示屏与单片机的简单接口J .电子技术应用,1996(02):23-25.结束语在本次课程设计中,我学到了很多很多知识,

33、在这个过程中电路设计部分一共设计了超过四个电路,从中不断设计不断否定,最终确定了本电路图。刚开始时采用4片8255a外扩引脚,但是后来考虑到各方面问题最终否定了;后来又设计了2个电路,但是考虑到相关问题又被否定。在硬件的制作过程中,我走了很多弯路。主要是在系统还没有到设计完全的时候就开始很心急地买元器件及动手焊板子。后来发现与设计的要求还有偏差,而后反复地改了好几次,浪费了大量的时间和精力。板子按照自己的设计焊完之后,应开始设计自己的软件程序了。一开始,本想用汇编语言来编程的,可是当编了一部分之后才发现,用汇编语言来编程的话,相当繁复冗长;之后就想试着用C语言来编程。在图书馆查阅了一些相关资料

34、后,就开始写程序。在编写程序的过程中,发现硬件居然出现了不少问题。所以,在编写程序的过程中,也就完善了硬件的设计。编程时,已充分使用了结构化的思想。这样一来,因为语句较少,程序调试也比较方便,功能模块可以逐一地调试,充分体现了结构化编程的优势。当每个模块都完成时,将其功能加到一起就完成了整体的设计。电路板焊接是由我来完成的,在焊接过程中遇到了大量的问题,其中最大的体会是,仿真软件中可以实现的在真实电路上不一定可以实现,这是我最大的体会,焊接容易,若焊接后无法实现功能这才是最头痛的事。在购买元件时,不一定每一个元件都是完好的,我买了一块LCD1602,结果是坏的,查了好几天才查出来。个人认为,本

35、次设计结果并不重要,重要的是其中的过程。 附录一 电路原理图附录二 软件程序/*-/*-*/#include /包含头文件#include /包含库文件#define uchar unsigned char#define uint unsigned int#includeLCD_1602.h /包含液晶屏显示文件#include /包含标准函数库中的头文件#include /标准库头文件/extern void key_scan(void);以下表示函数声明extern void init();extern void LCD_dsp_string(unsigned char X,unsigne

36、d char Y,unsigned char *s);extern void LCD_dsp_char( unsigned x,unsigned char y,unsigned char dat);extern void write_com(unsigned char com);void caculate(void);extern unsigned char n;unsigned char n,i;unsigned char idata expression16; /存储表达式float idata a,b;void delay(unsigned int m) /延时函数unsigned int n;for(n=0;n=0)&(n=9)|(n=c)&(xsd=0)&(dh=0)/当输入0-9时,如果按下C键 表示如数的是小数点if(n=c) /当按下C键后 /显示小数点n=.;xsd=1;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服