文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机计数器设计

基于单片机计数器设计

基于单片机计数器设计
基于单片机计数器设计

湖北工业大学理学院2015届毕业设计(论文)

毕业论文(设计)

姓名付磊

学号1111121220

所在学院理学院

专业班级11信科2班

选题基于单片机的计数器设计指导教师徐斌

日期2015年5月4日

湖北工业大学理学院2011届毕业设计(论文)

摘要

近年来随着科技的飞速发展,单片机技术开始应用于各行各业,相应电子产品朝着更专业更高效的趋势发展,愈来愈多的工厂流水线上的产品生产和各种公共区域都需要进行自动计数。基于单片机的计数器有直观和计数精确的优点,目前已经广泛应用在各种行业中。众所周知,计数器是一种重要的时序逻辑电路,广泛应用于各类数字系统中。本文以AT89C51单片机和各种元器件为硬件基础,借助Keil 软件实现对C语言的编译以适用单片机的运行环境,在此之前我们要熟悉单片机方面的知识,特别是要对单片机的各引脚功能和内部结构充分了解,同时要掌握关于单片机的C语言编程,最后软硬件结合完成计数器的设计。在设计过程中不仅运用Proteus仿真软件设计电路图,避免了焊接实物,还要在单片机开发板上,对程序进行试运行,看在实际硬件上是否能够实现所期望的功能,最终设计出一款拥有三位数的计数和进制转换功能的计数器。整个设计方案既省时又高效,节省了设计成本。

关键字:单片机 AT89C51 编译 keil软件 Proteus 仿真单片机开发板

湖北工业大学理学院2011届毕业设计(论文)

Abstract

Recently, with the rapid development of technology, the SCM technology is being applied in various industries,and the electronic products trend to be more professional and more efficient. more and more of the pipeline of products and a variety of business occasions need to automatically count. Based on SCM products constitute automatic counter has the advantages of intuitive and accurate count, now in a variety of commonly used in industry. In this paper, the hardware includes AT89C51 and various components. With the help of the Keil software ,C language is compiled to suit the operating environment of the SCM. Before we should be familiar with the knowledge of SCM , specifically mastering fully the various pin functions and the internal structure,as well as C language. Finally, the count will be finished, based on the combination of hardware and software. In the design process , not only applying the Proteus of simulation software to design the schematics, avoiding welding the material, but also testing the program in the development board of the SCM to achieve the expected goal ,only in this way,we can complete the count with the functions of a three-digit hexadecimal counting and conversion . The project is both time-saving and efficient, saving the cost of design.

Keyword: SCM AT89C51 Compile The software of Keil Proteus Simulation

the development board of the SCM

湖北工业大学理学院2011届毕业设计(论文)

目录

摘要.................................................................................................................................................................... I Abstract ................................................................................................................................................................. I I 第一章绪论. (1)

1.1 选题背景 (1)

1.1.1 数字单片机的技术发展 (1)

1.1.2 以单片机为核心的嵌入式系统 (2)

1.2 本研究课题的发展趋势 (2)

1.3 设计研究的要求及主要内容应解决的问题 (3)

第二章整体设计方案 (4)

2.1 设计方案 (4)

2.2 设计原理 (4)

第三章硬件电路设计 (5)

3.1 最小系统设计 (5)

3.2 原理图 (7)

3.3 单片机介绍 (7)

3.4 Proteus软件介绍 (10)

3.5 电路仿真 (12)

第四章软件设计 (14)

4.1 系统软件设计流程图 (14)

4.2 keil软件调试 (15)

4.2.1 软件介绍 (15)

4.2.2 系统概述 (15)

4.2.3 Keil C51单片机软件开发系统的整体结构 (15)

第五章单片机学习板上的软件调试 (16)

5.1 系统性能测试与功能说明 (16)

5.2 单片机开发学习板的介绍 (16)

5.2.1 单片机开发的一般流程 (16)

5.2.2软件开发流程 (17)

5.3 C51编译器和A51汇编器 (17)

第六章结论 (18)

致谢................................................................................................................................. 错误!未定义书签。参考文献. (19)

附录 (21)

湖北工业大学理学院2011届毕业设计(论文)

第一章绪论

1.1 选题背景

随着当今计数器技术的不断发展,计数器在各行各业都有应用,为此生产厂家不断地改革和提升新技术,将计数器技术继续扩展到更深的领域,随之而来的是五花八门的计数器的出现。

发展至今的计数器分为接触式和非接触式计数器,细分为电子计数器,液晶计数器,机械计数器等。计数器的应用遍布各行各业,比如针织、印刷、电缆、电讯、军工、纺织、印染、轻工、机械、开关、矿山、断路器、造纸、制革、织带机、薄膜、试验设备等行业。

1.1.1 数字单片机的技术发展

1.内部结构的变化

单片机的内部有很多的部件,数模、模数转换器,定时器,比较器,串行通信接口,看门狗电路,液晶显示控制器等。

有的单片机常常配置有CAN,这样就可以形成局部网和构成控制网络,而且控制网络对控制较为复杂的系统很有利。在单片机内部设置脉宽调制控制电路,就可以在变频控制中方便使用单片机,形成最具性价比的嵌入式控制系统。

现目前,单片机采用的大多是是三核技术——微控制器和数字信号处理器核,数据和程序存储器核,以及用于外围的集成电路的核。这类单片机相较传统单片机最大改进在于把数字信号处理器和微控制器同时集成到在一块单片机芯片上,大大提高了单片机的性能,这是当前单片机行业取得的最大突破进展之一。

以下介绍目前单片机的现状。近年来,4位单片机的产能在不断增长,但是市场占有比例在不断下降,主要应用于家用电器和电子玩具等方面。8位单片机是单片机市场的主流产品,占有率达60%以上,并且逐年上涨。自80年代中期以来,8X552、μPI-452、MC68HC11、Super8等一些多功能、高性能、大容量、的8位单片机不断地推出,这类单片机他们将代表单片机发展的方向。8位单片机由于其功能强、品种多,正广泛应用于各个领域,是单片机的主流机种。16位单片机自1982年开始推出,已有很大发展,但它的增长没有人预计的快。目前16位单片机价格高产能不到8位的10%,所以应用还不广泛,主要应用于汽车控制、自动控制等方面。

2.功耗、封装及电源电压的发展

现代单片机产品趋向于小型化,高密集化,功率消耗不断降低。

同时,随着近几年贴片工艺技术的出现,单片机也大量采用了各种应用贴片工艺的封装方式,以减少体积。增大能保证单片机正常工作的电源电压输出范围和实现在较低功耗下正常工作的功能是今天单片机发展的趋势。目前,市场上的大部分微控制器都可以在3.2~5.6V的条

湖北工业大学理学院2011届毕业设计(论文)

件下工作。而一些可以在2.2~6V的条件下工作的单片机也被某些厂家生产出来,这样大大地打破单片机工作电压的局限性,保证了单片机的稳定性和安全性。

3.工艺上的发展

单片机的需求量不断增加,为了实现大批量高速生产,CMOS技术成为单片机的唯一选择光刻技术越精密,生产的产品越密集化,功耗越低,体积越小,市场竞争力才越强,市场上普遍达到0.6um以上的光刻工艺,有个别大公司的光刻技术的精度已经已达到0.35um甚至是0.25um。

1.1.2 以单片机为核心的嵌入式系统

单片机的另外一个别称就是嵌入式微控制器。在网络全球化的今天,为了让单片机嵌入式系统搭上顺风车,与因特网结合起来已成为一种必然选择。只有将传统的因特网理论和嵌入式设备的实践都颠倒过来,才能实现嵌入式设备和因特网的连接。为了使嵌入式设备能切实可行地和因特网连接起来,必须设计出专门服务于嵌入式设备网络服务器,这样的话我们就可以实现网络控制。

当前,单片机行业急需要解决的是8位或16位的嵌入式产品怎样可以实现实现和互联网的互连。TASKING公司首先提出将EMIT软件包和有关的软件打包组装,构建一个多功能的开发软件,在此开发环境下,解决上诉问题。为此,嵌入互联网联盟ETI正在精诚合作,努力创造出解决嵌入式系统和英特网连接的划时代性方案。

1.2 本研究课题的发展趋势

单片机技术已经发展了40多年,而电子计数器却也走过30多个春秋。从单片机的发展史来看,它始终坚持以提高微处理器性能及实现超大规模集成电路为主要发展方向,以提供广泛应用于各行各业的单片机技术为动力。而对于计数器而言,人们追求的是提高计数精度、稳定度等,这是计数器的核心技术。单片机在突飞猛进发展的同时功能的要求也越来越高,以应付各行各业各种复杂多变的环境因素,比如在高温环境下我们要求单片机的元件抗氧化性好性能稳定;在潮湿的地方要求元件绝缘性好,或则附带干燥功能;在长期保持工作状态的情况下保证稳定性;在工业生产中,最好附带提醒警报功能。单片机技术的开发是以市场需要为导向,针对性的解决各种实际问题为目标,充分突出了单片机的个性化特点。以前的单片机处理器单一以MCS51/96等处理器为中心,结构死板不知变通,最终导致体积偏大,而且好多功能不能实现的诸多缺点。现在的单片机系统有以下优点:实际功耗偏低,有一定的运算能力,单片机产品更新速度超快,开发时间短暂,所以市场要求开发工具同时具备简单、廉价、功能完善等特点。

1.3 设计研究的要求及主要内容应解决的问题

要求:

1.实现000~999的计数。

2.并能实现二进制、八进制、十进制和十六进制的相互转换。

3.当数码管位数满时自动清零。

应解决问题:

1、为实现计数进制转换功能应该选择哪些元器件,如何与51单片机进行连接。

2、采用何种器件实现二、八、十、十六进制的相互转换。

3、当数码管位数满时,采用何种方式实现计数器清零。

第二章整体设计方案

2.1 设计方案

51系列单片机内部号有许多功能部件,而且实现功能扩展较为容易,所以系统采用51系列单片机来实现原理图中的,来实现进制转换,000 ~ 999 的十进制计数,位满清零等设计要求。INT0引脚的外部输入信号的会定期进行采样,故实现功能扩展较为容易。

2.2 设计原理

本设计利用AT89C51单片机来制作一个简易的手动计数器,在AT89C51单片机的P1.0-P1.2管脚接按键k1、k2、k3,分别作为手动计数、手动进制转换、手动复位按钮,其可以模仿脉冲信号;用单片机的P0.0-P0.7管脚接一个共阴数码管,用于000 ~ 999计数的数字显示。

硬件电路图如图2-1所示:

图 2-1 硬件电路图

第三章硬件电路设计

3.1 最小系统设计

图3-1 单片机最小系统的结构图

单片机的最小系统是由电源、复位部分、晶振部分、输入输出部分等组成,下面介绍其的组成部分。

1.电源部分引脚

VCC 40 电源端 GND 20 接地端(图中省略)

标准工作电压一般规定为为5V,而实际AT89C51工作电压范围是2.7~ 6V,电源的引脚功能一样。

2.外接晶振部分引脚

图3-2 晶振连接的内部、外部方式图

片内振荡器的反相放大器输入端和输出端分别是XTAL1和XTAL2,外部振荡器工作时,XTAL1端接收外部振荡信号;使用内部振荡器工作时,振荡脉冲会被时钟发生器进行二分频,就是说要想时钟信号为3MHz那么晶振就必须设为6MHz,此处采用的是内部方式。AT89C51单片机的自激振荡器是由用高增益反相放大器和外晶体谐振器构成的。外接晶体谐振器又和电容C1C2构成一个并联谐振电路,接在放大器的反馈回路中。为了保证系统能快速起振,温度保持稳定,震荡器频率适宜以及震荡器的稳定,尽可能的选择电容值约为22μF陶瓷电容,将电容C1C2和晶体振荡器等一系列的元件应尽可能贴着焊接到单片机芯片上,以减少寄生电容,从而更好地保证系统振荡器的稳定工作。

3.复位部分

单片机小系统有两种方式实现系统的复位操作:上电自动复位和手动按键复位。所谓上电复位就是指在接通电源后,自动实现复位操作,而所谓手动复位是指在电源接通单片机运行期间,用按钮开关空置单片机的复位。

在振荡器运行时,当复位脚会出现有两个机器周期24个振荡周期以上的高电平,只要这个脚保持高电平,AT89C51便可以循环复位,P0-P3引脚均变为高电平,而且特殊功能寄存器和程序计数器的内容都会自动清零。同时当复位脚接低电平时,芯片的ROM区域开始从00H 处运行程序。

常用的复位电路如下图所示:

图3-3 常用复位电路图

4.输入输出引脚

(1) P0端口是一个8位漏极开路型双向I/O端口,端口置1时作高阻抗输入端;端口置0时,作为输出口。在访问外部程序和外部数据存储器时,P0作为地址数据总线的低八位,此时内部的上拉电阻起作用。

(2) P1端口是一个带有内部上拉电阻的8位双向I/0端口。输出时端口置0,输入时端口置1,端口被内部上拉电阻拉到高电平。

(3) P2端口是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。输入时端口置1,内部上拉电阻将端口拉到高电平。在访问外部的程序和16位数据存储器时,P2口输出高8位的地址;而在访问8位地址的外部数据存储器时其引脚上信号被锁定。

(4) P3端口是一个带有内部上拉电阻的8位双向端口。输出时可驱动4个TTL。输入时端口置1,端口被内部上拉电阻拉到高电平。

3.2 原理图

图3-4 实现三位计数功能的原理图

3.3 单片机介绍

单片机是单片微型计算机的简称,输入输出接口电路、存储器、中央处理器、定时器/计数器等部件被集中到一块集成电路芯片上,构成了完整的微型计算机。

当今MCS-51单片机系列是非常有代表性的单片机之一,它是由Intel公司生产的。MCS-51结构的典型特点、总线体系的完善性、集中管理模式特点的SFR、位操作系统和面向控制功能丰富的位操作指令系统,这5大特点是51单片机的5大优势,它促使单片机快速进步。80C51是51单片机的典型芯片之一。所以很多厂家开始了单片机的生产与制造,特别是80C51,我这些和80C51具有兼容性的单片机被我们叫作80C51系列。尤其是在这些年80C51系列单片机更是有着突飞猛进的发展,并且出现了一代一代性能更完善,功能更强大的单片机。在创新的过程中他们主要是对控制功能进行了完善,例如:I/O口的提速等,并且在功耗方面做了完善和改进,总线的串行扩展、总线的控制性能等方面都得到了提升。

80C51集成的EEPROM被当做用户的程序存储器,这是89CXX系列的代表,它是由ATMEL COMPANY生产制造的。EEPROM的添加对80C51的结构及其相应的指令系统是没有影响的。Philips公司生产的83/87CXX系列既不会使80C51的结构和指令系统有所变化,而且还省去了并行扩展总线,使单片机的生产成本降低。

在保持与80C51兼容的前提下,Infineon公司推出的C500系列单片机,增强了单片机电磁兼容性能,增加了CAN总线接口,广泛应用于工业控制、汽车电子、通信和家电领域。

鉴于80C51系列在硬件方面的的广泛性、代表性和先进性以及指令系统的兼容性等诸多优点,可将其作为单片机的代表产品进行介绍;至于其他类型的单片机,在深入学习和掌握了80C51单片机之后再去学习已不是什么难事。

下面对80C51系列单片机作进一步说明:

图3-5 8051内部结构图

8051共有4096个8位掩膜ROM,两个16位的可编程定时/计数器,4组8位I/O口,一个全双工串行通信口,两个定时/计数器中断、两个外中断和一个串行中断和一个时钟电路。程序存储器用于存放用户程序、原始数据或表格;定时/计数器用于实现定时或计数产生中断时用于实现程序转向;并行输入输出用于对外部数据的传输;全双工串行口用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器也可以当同步移位器使用;中断系统可满足不同的控制要求,并具有2级的优先级别选择;内置的时钟电路可用于产生脉冲时序,但8051单片机需外置振荡电容。

单片机有两种结构:一种是哈佛(Harvard)结构,它的特点是程序存储器和数据存储器分开;另一种是普林斯顿(Princeton)结构,它的特点是程序存储器与数据存储器合二为一。而MCS-51系列单片机大多数采用的是第一种结构。

下图是MCS-51系列单片机的内部结构示意图3-6:

图3-6 MCS-51结构图

MCS-51的引脚说明:

8051是采用双列直接DIP结构的MCS-51系列单片机中的代表,他还进行了40Pin封装,右图就是它们的引脚配置。该单片机一共有四十个引脚,中断口线与P3口线复用,两根用于正电源和地线,4组8位共32个I/O口,剩余两根同于外置石英振荡器的时钟线。以下我们一一介绍引脚的功能:

MCS-51的引脚说明:如图3-7

图3-7双列直插式封装引脚图

引脚9: 复位信号复用引脚,当芯片通电后,时钟电路开始工作,而在此引脚上若出现24个时钟周期以上的高电平,系统就会被初始化。芯片初始化后,P0-P3输出口均表现为高电平,专用寄存器也会被清0。一旦该引脚变为低电平后,系统就会从第一个地址开始执行程序。

8051的复位方式可以分为两种:一个是自动复位,另一个是手动复位。此外,该引脚还是复用脚,如果外部电源断开,他就会连接内部电源,保证数据不丢失。

见下图3-8为两种复位方式和两种时钟方式:

图3-8复位方式图与时钟方式图

引脚30:当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。

·Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。

·Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB 地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。

3.4 Proteus软件介绍

Proteus软件在仿真单片机的EDA工具软件中是最好的和最具实用性的。它受到致力于单片机开发应用者、单片机爱好者以及从事单片机教学的教师的青睐。为了实现从概念到产品的完整设计,节省产品设计成本,Proteus软件将PCB设计,原理图布图,单片机与外围电路协同仿真,代码调试四大块都完美结合起来。

原理图先在PROTEUS中绘制好,然后将C语言程序通过Keil软件转化成目标代码文件:*.HEX,并输入单片机中,我们就可以看到模拟的实物运行情况。在单片机课堂中PROTEUS 是我们的教学先进助手。PROTEUS可将单片机实例运行过程和功能形象化。Proteus仿真单片机中所用虚拟的连接线路、元器件等能与传统的单片机实验硬件对应起来,即只要能仿真出来,且所选元器件不出错,那么焊接出来的实物图也能够运行。这在很大程度上改进了传统的单片机教学,先进行元器件的选择,再连接和检测电路,然后进行电路修改和软件调试最后运行出正确现象。学生做课程设计和毕业设计就是将书本上的知识投入到实践中,这是为将来就业作铺垫。PROTEUS软件最大的优势避免了做实物时元器件的采购,以及PCB板的制作,以往设计

单片机产品,往往要消耗大量时间做实物,而且即使做出实物,可能会因为一点误差而运行不出理想结果。Proteus为了解决这个问题,提供了大量而有较为完整的虚拟元器件库,提供了质量优良种类完整的虚拟仪器、仪表以及可以无限次修改电路设计的仿真环境,具有很大的灵活性,因而为有单片机爱好的的学生提供了创新和实践的平台。

随着单片机设计技术的发展,许多设计部门在前期的设计阶段经常采用计算机仿真技术的手段。它仿真的效果可以与实物统一,而且灵活性好。既能节省资金又能减少消耗,还能避免工程制造的风险。目前在单片机开发应用中PROTEUS软件得到愈来愈广泛的应用。能进行单片机系统仿真设计的Proteus软件是计算机多媒体技术和虚拟仿真技术结合的产物,经常用于培养大学生的仿真软件操作能力和电路设计能力;在做各种单片机设计的项目中,对学生进行使用 Proteus开发环境的培训,节省了硬件投入的成本,而且学生普遍认为使用该软件学习单片机更容易接受,更容易得到提升。实践证明,先在 Proteus开发环境中进行系统仿真,再进行硬件检验调试,能大大提高单片机产品开发效率,因此,Proteus值得广泛推广。

功能特点:

Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:

(1)原理布图

(2)PCB自动或人工布线

(3)SPICE电路仿真

革命性的特点:

(1)互动的电路仿真

用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

(2)仿真处理器及其外围电路

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

功能模块:

能原理图设计(ISIS)

丰富的器件库:超过27000种元器件,可方便地创建新元件;

智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;

智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;

支持总线结构:使用总线器件和总线布线使电路设计简明清晰;

可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。

完善的电路仿真功能(Prospice)

PROSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;

超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,

Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;

多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;

丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;

生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;

高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;独特的单片机协同仿真功能(VSM)

3.5 电路仿真

在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

用PROTUES软件,画出M=999的计数器原理图,得到的图如下所示

图3-11 总原理图

PROTEUS 是单片机课堂教学的先进助手。

PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台

随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能获得愈来愈广泛的应用。

使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。

第四章软件设计

系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;

(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;

(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;

(4)绘制程序流程图;

(5)合理分配系统资源;

(6)为程序加入注释,提高可读性,实施软件工程;

(7)注意软件的抗干扰设计,提高系统的可靠性。

4.1 系统软件设计流程图

主程序先是开始,然后赋初值,本设计采用的是动态显示,所以在赋玩初值后显示程序不断被调用。

图4-1主程序流程图

4.2 keil软件调试

4.2.1 软件介绍

Keil软件是开发MCS-51系列单片机的主流软件,各大仿真机厂商纷纷全面支持Keil软件。Keil将C编译器、宏汇编、连接器、库管理和仿真调试器通过一个集成开发环境组合在一起。对于使用51系列单片机的爱好者来说学习好这款软件很有必要。目前在国内我们可以用到的只有该软件与我国的仿真器配套,所以想使用C语言编程,那么Keil几乎就是唯一选择,而且因为他的集成环境方便易用、软件仿真调试工具强大,即使是用汇编语言进行编程,开发单片机也会事半功倍。

4.2.2 系统概述

德国Keil公司推出的Keil C51软件是当今主流的51系列单片机开发软件,Keil C51软件拥有丰富的库函数,功能强大的集成开发调试工具,和Windows界面。还有很重要的一点是C语言编译后生成的汇编代码效率非常高,而且生成的汇编代码都较容易理解。尤其是在开发大型软件时我们直接用汇编语言进行编译难度呈几何倍数上升,所以此时一般选择高级语言比如C语言。与汇编相比,C语言在功能上、结构性、可读性、可维护性上都有很大的优势。

4.2.3 Keil C51单片机软件开发系统的整体结构

C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

第五章单片机学习板上的软件调试

5.1 系统性能测试与功能说明

演示过程:默认为计数状态,显示三位数,时间会按实际时间以秒为最小单位变化,从000—999的计数,按k1键模仿脉冲信号,数字加1,按k2键转换进制,按k3(复位键)重000开始,数字位满也会自动清零,重新计数。

5.2 单片机开发学习板的介绍

5.2.1 单片机开发的一般流程

单片机开发的一般过程是首先进行硬件设计,然后根据硬件和系统的要求在开发环境中编写程序,经多次仿真器把程序调试成功后,再通过烧录器把程序写到单片机里。

确定任务确定待开发产品的功能、所实现的指标、成本,进行可行分析。

完成时间。

总体设计机型选择:8位、16位还是32位。

外型设计、功耗、使用环境等。

硬件设计根据功能确定显示(液晶还是数码管)、存储(空间大小)、定时器、中断、通信、打印、A/D、D/A及其他I/O操作。

绘制原理图及布线图。

选购元件图、焊接线路板、组装、调试。

软件设计建立数学模型,确定算法及数据结构。

进行资源分配及结构设计。

绘制流程图。

设计、编制各子程序模块。

仿真、调试、固化。

样机联调软硬件结合起来调试。

找错、修改软硬件

进行软硬件测试,进行老化实验,高、低温实验,振动试验。

产品定型编制使用说明书,技术文件。

制定生产工艺流程,形成工艺,进入小批量生产

单片机课程设计 简易计算器的设计

目录 摘要 (1) 绪论 (1) 1.设计要求及功能分析 (1) 1.1 设计要求 (1) 1.2 基本功能 (2) 2.设计方案 (2) 2.1 硬件部分设计方案 (2) 2.1.1 单片机部分 (2) 2.1.2 按键部分 (2) 2.1.3 显示部分 (2) 2.2 软件部分设计方案 (2) 3.系统的硬件总体设计 (4) 3.1 系统的总体硬件设计 (4) 3.2 键盘连接电路 (4) 3.3 显示屏连接电路 (5) 3.4 单片机芯片AT89C51 (6) 3.5 外接电路 (7) 4.系统的软件总体设计 (8) 4.1 键盘识别程序设计 (8) 4.2 显示程序 (11) 4.3 运算程序 (11) 5.元器件清单及程序清单 (12) 5.1 元器件清单 (12) 5.2 程序清单 (12) 6.软件仿真 (18) 6.1 仿真验证 (18) 6.2 性能分析 (20) 6.3 出现故障及其原因 (20) 6.4 解决方法 (20) 结论 (20) 参考文献 (21) 致谢 (21) 附录PCB图 (22)

简易计算器的设计 学生:李飞马鹏超舒宏超 指导老师:王孝俭 摘要:单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 关键词:单片机、计算器、控制电路、仿真。 绪论 设计要求掌握数码管移位动态扫描显示的编程方法,掌握矩阵扫描的编程方法,掌握数据在内部运算的编程方法。设计任务实现最大8位正整数加、减、乘、除,具备清零、等于功能,16个按键功能依次为:数字0、数字1、数字2、数字3、数字4、数字5、数字6、数字7、数字8、数字9、清零、等于、加、减、乘、除。 1.设计要求及功能分析 1.1设计要求: 本次单片微型计算机与接口技术课程设计做的是利用C51单片机为主体的计算器,实现了简单的加、减、乘、除功能。采取的是键盘输入和液晶显示屏的输出结果显示。主要硬件构成部分由四个,一个AT89C51单片机芯片,一个液晶显示屏,一个4*4键盘和一个排阻(10K)做P0口的上拉电阻,可以实现16位的数值操作计算。 1.2基本功能: 首先,计算器可现实8位数字,开机运行时,只有数码管最低位显示为“0”,其他位全部不显示;

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

AT89C51单片机设计的音乐倒数计数器

塔里木大学《单片机原理与外围电路》课程论文基于单片机设计的音乐倒数计数器 姓名:古再丽努尔·阿卜来提 学号: 5021212125 班级:通信工程16-1

摘要:单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。 单片机由CPU、一定容量的RAM和ROM构成,定时、计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。 本设计利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。用4个按键操作来设置当前想要倒计数的时间。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。应用Proteus的ISIS软件和Keil uVision3来实现该计数器的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。 该多功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。 关键词:AT89C51,计数器,键盘控制,LCD显示,protues,Keil 。

目录 1绪论 (4) 1.1课题背景及研究意义 (4) 1.2国内外现状 (4) 1.3课题的设计目的 (4) 1.4课题的主要工作 (4) 2系统概述 (5) 2.1方案论证 (5) 2.2系统设计原理 (5) 3系统硬件设计 (5) 3.1主控电路设计 (5) 3.2LCD液晶显示器接口电路设计 (6) 4系统软件设计 (6) 4.1主程序设计 (6) 4.2硬件调试 (8) 4.3仿真结果 (16) 结论 (16) 参考文献 (17) 系统整体电路.......................................................................................... 错误!未定义书签。全部程序清单. (8) - III -

武汉工程大学单片机多路抢答器的课程设计资料

电气信息学院 单片机技术课程设计报告 课题名称多路抢答器的设计 专业班级10 电气4班 学号2010500238 __________________ 学生姓名________ 杨彬____________ 扌旨导教师______ 易先军___________ 评分_____________________________

2013年6月17日至6月21日

课程设计量化评分标准 指导老师评语:

答辩记录 1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明:对于采用独立式按键设计还是行列式按键设计有所困扰。 解决方法:行列式键盘是采用X*丫型按键来实现I/O的扩展的,这种按键的排 列方式可以有效的提高I/O 的利用率。 (2)问题说明:Proteus 软件中,从元器件库中调出的元件有的不能仿真。 解决方法:Proteus 里面又不是器件是没有仿真模型的,只是个原理图 符号,故必须选含仿真模型的器件。 2、教师现场提的问题记录在此(不少于2个问题)。 (1)Proteus 软件的主要功能是什么? 答:Proteus 软件可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。 (2)如果有多个按键几乎同时按下,你是如何来保证最先按下的按钮抢答成功的? 答:可以通过锁存器达到目的。当有第一个按键被按下时,锁存器将迅速锁存优先抢答者的按键状态,并能同时禁止其他选手按键,使其按键操作无效。

现如今生活娱乐的多元化已是现代的生活方式之一。知识、娱乐比赛更是流行于各行各业,而其中又以抢答形式为主。在抢答过程中,为了知道哪一组或 哪一位选手优先获得抢答权,必须要设计一个系统来完成这个任务,避免人的主观意识判断错误。在抢答中,只靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差甚小,也可分辨出哪组优先答题。此次设计使用AT89C51单片机为核心控制元件,设计一个简易的抢答器,与数码管、报警器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断电路等。设计的抢答器具有实时显示抢答选手的号码和抢答时间的特点,而复位电路,则使其能再开始新的一轮答题和比赛,与此同时还利用汇编语言编程,使其能够实现一些基本的功能。 关键词:AT89C51单片机;抢答器;数码管;报警器 I

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

基于单片机的简易计算器设计

目录 引言 (1) 第一章设计原理及要求 (2) 1.1设计方案的确定 (2) 1.2系统的设计方案 (2) 1.3系统的设计要求 (2) 第二章硬件模块设计 (4) 2.1单片机AT89C51 (4) 2.1.1 AT89C51芯片的特点 (5) 2.1.2 管脚说明 (5) 2.1.3 振荡器特性 (7) 2.1.4 芯片擦除 (7) 2.2键盘控制模块 (7) 2.2.1 矩阵键盘的工作原理 (8) 2.2.2 键盘电路主要器件介绍 (8) 2.3LCD显示模块 (10) 2.3.1 显示电路 (11) 2.3.2 LCD1602主要技术参数 (11) 2.3.3 引脚功能说明 (11) 2.4运算模块(单片机控制) (12) 第三章软件设计 (14) 3.1功能介绍 (14) 3.2系统流程图 (14) 3.3程序 (16) 第四章系统调试 (17) 4.1软件介绍 (17) 4.1.1 Keil uVision2仿真软件简介 (17) 4.1.2 protues简介 (17)

4.2软件调试 (18) 4.2.1 软件分析及常见故障 (18) 4.2.2 仿真结果演示 (20) 4.3硬件调试 (21) 结束语 (23) 参考文献 (24) 附录 (25) 致谢 (36)

引言 计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。另外直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的“纳皮尔算筹”,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、减、乘、除、乘方和开方运算,甚至可以计算三角函数、指数函数和对数函数。这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是它只能做加减运算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。

51单片机的光电计数器电路设计原理

51单片机的光电计数器电路设计原理 1.前言 21世纪是信息时代,获取信息,处理信息,运用信息。传感与检测技术的重要性在于它是获得信息并对信息进行必要处理的基础技术,是获取信息和处理加工信息的手段,无法获取信息则无法运用信息。 传感与检测技术是一门知识面广、综合程度高、实用性很强的专业课程。它从传感器的基本理论入手,着重讲叙传感器的结构与感测原理,传感器是一个二端口的装置,不同的传感器输入-输出特性不同,同一传感器适应不同的被测信号呈现的特性也有所不同。尤其当被测信号为静态信号时两种状态下,传感器的输入-输出特性完全不同。感测技术在许多新技术、新器件里都有应用,在课程安排上,以信息的传感、转换、处理为核心,从基本物理概念入手,阐述热工量、机械量、几何量等参数的测量原理及方法。 光电式传感器是将光信号转化为电信号的一种传感器。它的理论基础是光电效应。这类效应大致可分为三类。第一类是外光电效应,即在光照射下,能使电子逸出物体表面。利用这种效应所做成的器件有真空光电管、光电倍增管等。第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。这类器件包括各类半导体光敏电阻。第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。这类器件包括光电池、光电晶体管等。光电效应都是利用光电元件受光照后,电特性发生变化。敏感的光波长是在可见光附近,包括红外波长和紫外波长。 本课题利用AT89C51单片机,探讨一种简易光电计数器的设计思路。 2光电计数器的系统设计 2.1系统硬件设计 2.1.1方案选择 由于单片机所具有的特性,它特别适用于各种智能仪器仪表,家电等领域中,可以减少硬件以减轻仪表的重量,便于携带和使用,同时也可能低存本,提高性能价格之比。

(完整版)基于51单片机的4人抢答器课程设计

基于51单片机的4人抢答器设计 设计要求: 以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。 当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 工作原理: 通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。

#include #define uchar unsigned char #define uint unsigned int uchar num; //定义中断变量,num计满20表示1秒时间到uchar num1; //十秒倒计时显示初始值 uchar flag1,flag2; //清零键及开始键按下标志位 uchar flag3,flag4=0; //定义键盘按下标志位 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //数码管编码

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

单片机设计简易计算器

简易计算器 Simply Calculator 1 设计思想 此计算器有键盘部分、单片机、显示部分三部分组成,键盘部分主要完成输入功能;单片机主要完成数据处理功能,包括确定按键,完成运算,以及输出数据;显示器部分主要完成单片机输出的显示。 本设计的思路是利用单片机性能好,稳定性强的优点来实现系统的运行。设计大致可以分为三个步骤:第一步,硬件的选取和设计;第二步,程序的设计和调试;第三步,Protues 系统仿真。 硬件是设计的骨骼,不仅关系到设计总体方向的确定,还要综合考虑节能,环保,以及稳定性和经济性等各种因素。因此需要花费大量的时间。硬件的选取最为重要,包括选用的芯片,显示设备的选取,输入设备的选取等。本设计是通过单片机来实现的,因此选用了ATMEGA16单片机作为主体,输入设备选用矩阵键盘。程序是硬件的灵魂,是实现设计的中心环节。本设计使用的程序语言是C语言,在“ICC AVR”中运行,调试,直到运行出正确结果,然后输出后缀名为.HEX格式的文件,以备在Protues中仿真使用。程序是设计的关键,程序的调试需要大量的时间,耐心,还够要有足的细心才能成功。本设计中就出现了大量的错误,经过认真修改,最终才能运行出正确结果。最后的系统仿真是设计是否成功的验证,是设计不可缺少的重要环节。这就要求能掌握Protues的一些基本操作。2原理分析 矩阵键盘的扫描 —

》 图矩阵键盘图 如图所示,单片机的8个I/O口和矩阵键盘相连,用8个I/O口来控制矩阵键盘的16个按键是非常有意思的,首先我们设置单片机的PD0—PD7为输出,且PD0—PD3依次设置为低电平,而PD4—PD7设置为高电平,然后我们设置PD4—PD7为输入,而PD0—PD3仍然为输出,假如此时M1键按下,则PD0与PD4相连,因为PD0是低电平,而PD4是输入,所以PD4会被拉为低电平,同理,如果M2被按下,则PD5会被拉低,M3按下,PD6会被拉低,M4按下,PD7被拉低。这是判断有无键盘按下的过程,当我们判断是那一个键盘按下时,我们首先设置8个I/O口为输出,输出为FE,即,PD0为低电平,其他全为高电平,然后我们设置PD4—PD7为输入,如果M1被按下,则PD4会比被拉为低电平,此时会变成EE,同理可以知道M2被按下时会变为DE,M3被按下时会变为BE,M4被按下时会变为7E。同理我们可以设置8个I/O口输出FD来检测M5—M8是否被按下,设置8个I/O口输出FC来来检测M9—M12,设置8个I/O口输出F7来检测M13—M16,如果M1—M4没有被按下,就继续检测M4—M8,一次类推,就可以检测出16个按键了。在这次设计中,16个按键M1—M16所对应检测值分别为:EE,DE,BE,7E,ED,DD,BD,7D,EB,DB,BB,7B,E7,D7,B7,77。 数字显示与计算 本次设计选用的显示器是1602液晶显示器,此液晶显示器能显示32个字符,VSS接地,VDD接电源正极,E为时使能信号,R/W为读写选择端(H/L),RS为数据/命令选择端(H/L),D0—D7为数据I/O口。 首先我们初始化液晶显示器,然后显示出第一个被按下的数,并且使光标右移,如果有第二个数按下,则据继续显示,以此类推,然后把所有显示出来的数换算成一个数,如果按下“+”号,则显示出“+”,并且同理显示出“+”号后面按下的数字,然后调用加子程序,运算出结果,如果按下的是“-”,则调用减子程序,如果按下“*”,则调用乘子程序,如果按下“/”,则调用除子程序。然后再调用显示结果子程序,显示出结果。 《

基于单片机的计数器设计

湖南科技大学 单片机课程设计 题目基于单片机的计数器设计 姓名李建雄 学院机电工程学院 专业测控技术与仪器 学号09030303 指导教师戴巨川 成绩

二〇一二年六月二日 摘要 本设计是根据我们所学习的单片机课程,按照课程要求进行的课程检验。单片机技术是一个不可或缺的技术,尤其是对于我们测控技术与仪器专业来说它是我们必须要掌握的技能之一,使我们未来工作和生活的根本。现在的社会是一个信息科技高速发展的社会,也是一个电子技术和微机计算机迅速发展的时代,单片机的档次和水平在不断的提高,其应用的领域和X围也越来越广,成为现代电子系统中最重要的智能化核心部分。 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的X围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。 现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。计数器的应用X围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、

制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。 目录 第一章系统的功能要求 (4) 1.1系统设计的要求及主要内容应解决的问题 (4) 第二章方案论证 (4) 2.1设计方案选择 (4) 2.2设计原理 (5) 第三章系统硬件电路设计 (6) 3.1最小系统设计 (6) 3.2原理图 (9)

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

信息与电子工程学院 课程设计报告 课程单片机技术应用 设计题目基于单片机STC89C52RC的八路抢答器专业应用电子技术 班级11级4班 成员姓名学号分工成绩 软件部分 硬件部分

目录 一、课程设计概述.................................................................................................................... - 1 - 1.1课程设计背景 (1) 1.2课程设计内容 (1) 1.3课程设计技术指标 (1) 二、方案的选择及确定............................................................................................................ - 1 - 2.1方案一:集成数字电路 (1) 2.2方案二:单片机 (2) 2.3方案分析比较: (2) 三、硬件设计............................................................................................................................ - 3 - 3.1系统硬件设计 (3) 3.2复位电路的设计 (3) 3.3时钟电路设计 (3) 3.4显示电路设计 (4) 3.5按键电路设计 (5) 3.6报警电路设计 (6) 3.7电源模块设计 (7) 四、系统软件设计.................................................................................................................... - 7 - 4.1系统的功能流程 (7) 4.2主程序流程图 (7) 五、系统调试过程.................................................................................................................... - 9 - 5.1软件调试 (9) 5.2硬件调试 (10) 六、总结.................................................................................................................................. - 13 - 七、遇到的问题及解决方法.................................................................................................. - 13 - 八、参考文献.......................................................................................................................... - 13 - 九、附录.................................................................................................................................. - 14 - 9.1仪器与设备 (14) 9.2元器件清单 (14)

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

单片机的计算器设计方案(完整)

单片机的计算器设计方案(完整)

3.1 硬件连接 图3-1所示为简易计算器的电路原理图。P3口用于键盘输入,接4*4矩 阵键盘,键值与键盘的对应表如表----所示,p0口和p2口用于显示,p2口用于显示数值的高位,po口用于显示数值的低位。 图3-1 简易计算器电路原理图 键值与功能对应表

键值0 1 2 3 4 5 6 7 8 9 + - ×/ = ON/C 功能0 1 2 3 4 5 6 7 8 9 + - ×÷= 清零 表3-1 3.2 计算器的软件设计 #include //头文件 #define uint unsigned int // #define uchar unsigned char sbit lcden=P2^3。 //定义引脚 sbit rs=P2^4。 sbit rw=P2^0。 sbit busy=P0^7。 char i,j,temp,num,num_1。 long a,b,c。//a,第一个数b,第二个数c,得数 float a_c,b_c。 uchar flag,fuhao。//flag表示是否有符号键按下,fuhao表征按下的是哪个符号 uchar code table[]={ 7,8,9,0, 4,5,6,0, 1,2,3,0, 0,0,0,0}。

uchar code table1[]={ 7,8,9,0x2f-0x30, 4,5,6,0x2a-0x30, 1,2,3,0x2d-0x30, 0x01-0x30,0,0x3d-0x30,0x2b-0x30}。 void delay(uchar z> // 延迟函数 { uchar y。 for(z。z>0。z--> for(y=0。y<110。y++>。 } void check(> // 判断忙或空闲 { do{ P0=0xFF。 rs=0。//指令 rw=1。//读 lcden=0。//禁止读写 delay(1>。 //等待,液晶显示器处理数据 lcden=1。//允许读写 }while(busy==1>。 //判断是否为空闲,1为忙,0为空闲

基于单片机的简易计算器设计

2013 - 2014 学年_一_学期 山东科技大学电工电子实验教学中心 创新性实验研究报告 实验项目名称__基于51单片机的简易计算器设计_ 2013 年12 月27 日

四、实验内容

2、实验内容 (一)、总体硬件设计 本设计选用AT89C52单片机为主控单元。显示部分:采用六位LED动态数码管显示。按键部分:采用2*8键盘;利用2*8的键盘扫描子程序,读取输入的键值。 (二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用两条I/O 线作为行线,八条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为2×8个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口和另一个P口的两个管脚实现16个按键功能,这种形式在单片机系统中也最常用。 矩阵键盘布局图: 矩阵键盘内部电路图如下图所示:

(三)、LED显示模块 本设计采用LED数码显示来显示输出数据。通过D0-D7引脚向LED写指令字或写数据以使LED实现不同的功能或显示相应数据。 (四)运算模块(单片机控制) MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。

单片机课程设计八位竞赛抢答器的设计

单片机原理及接口技术 课程设计 八位竞赛抢答器的设计 姓名: 学号: 指导教师: 院系(部所):机电工程学院 专业:机械设计制造及其自动化 完成日期:2012年12月20日

摘要 随着单子技术的飞速发展,基于单片机的控制系统已广泛应用与工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。本设计是以八路抢答为基本理念。考虑到需设定限时回答的功能呢个,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和抢答的号码。用开关做键盘输出,扬声器发生提示,并且有警告灯显示,正常工作时为绿灯,报警或抢答等违规信号时则出现红灯。 关键词:AT89C51;抢答器;计数器

目录 1概述 (1) 2 抢答器的硬件系统设计 (3) 2.1 系统整体方案设计 (3) 2.2 系统硬件组成 (3) 3 最小系统与主控模块的设计与实现 (5) 3.1 单片机最小硬件系统的组成简述 (5) 3.1.1 电源电路 (5) 3.1.2 时钟电路 (6) 3.1.3 复位电路 (7) 3.2 主流程图 (8) 4 模块的设计与实现 (9) 4.1 抢答电路的设计 (9) 4.2 锁存器74HC573 (9) 4.3 主持人控制电路与扬声器的设计...................... 错误!未定义书签。 4.4 显示电路的设计.................................... 错误!未定义书签。 5 软件的设计 (12) 5.1语言选择 (12) 5.2软件总体设计 (12) 总结 (13) 参考文献 (15) 致谢 (16) 附录 (17)

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

基于单片机的计算器设计(DOC)

专业:电子信息工程1111班

指导老师: 姓名: 学号: 摘要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。 计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89S51单片机、LCD显示器、控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握Microsoft Visual C++ 6.0应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法。 关键字:AT89C51 LCD 控制按键 第一章简介 1.1 课题简介 当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都

离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。 单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 本系统就是充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计计算器控制器,实现了能根据实际输入值显示并存储的功能,计算程序则是参照教材。至于位数和功能,如果有需要可以通过设计扩充原系统来实现。 1.2 设计目的 通过本次课题设计,应用《单片机应用基础》、《计算机应用基础》等所学相关知识及查阅资料,完成简易计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。 通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。

相关文档
相关文档 最新文档