用AT89C51实现7输入表决器
单片机七人表决器

单片机七人表决器一.方案设计1.设计主题:七人投票装置。
2.培训要求利用at89s51单片机设计并制作会议表决计票器电路。
具体要求如下:1.可供57人投票。
每个人都有一个“同意”和一个“不同意”按钮。
投票时,首先按下的两个键之一有效。
如果再次按下另一个键,上一个键的有效性将被清除;对于每次投票,每个键只能在第一次按下时有效,多次按下的次数无效,除非前一个键的有效性已被澄清或尚未生效。
2、会议主持人可利用按键控制表决开始和结束;开始表决后,点亮黄色指示灯,表示可以进行表决,同时清楚原来的表决结果;结束表决后显示表决结果;“同意”多于“反对”点亮绿色指示灯,反之点亮红色指示灯。
3.在实现上述功能的基础上,增加了“同意”和“不同意”数字的显示。
二.硬件电路设计和原理。
1.硬件设计思路:设计题目为5―7人表决器,题目选为七人表决器,七个按键表示同意,七个按键表示反对,各按键与单片机的输入端口相连,因此可选用单片机的四个i/o口,因为在单片机内部p1和p2都有上啦电阻,而p0没有上啦电阻,要在外部加上一个上拉电阻,为了简化电路,把p1和p2口选为按键同意和反对的输入端,因为表决考试和结束要使用主机按钮进行控制,我使用外部中断0和外部中断来控制其开始和结束;设计要求中需要四个灯,包括两个红灯、一个黄灯和一个绿灯。
三个灯用于输出显示。
可使用单片机的I/O口,另一个红灯作为电源灯,判断是否通电。
由于端口P1和端口P2用作密钥的同意和反对,因此P2的剩余I/O端口与三个指示灯连接,并分别与P2 3、P2连接。
4,p2。
5个端口。
因为P0端口是低级别且有效的,所以我的P0端口与LED reality连接,以显示反对和同意的人数。
采用动态显示方式。
为了确保两个显示器不再同时显示相同的数字,LED显示器的公共端由另一组信号控制,并通过延迟使其分别显示。
2.元件参数确定:设计中需要四个灯,包括两个红灯、一个绿灯和一个黄灯。
基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计
计数器是一种常见的电子设备,用于实现对输入信号的计数。
基于AT89C51单片机的计数器设计,可以实现对输入信号的计数,并且可以将计数结果显示出来。
我们需要准备以下器件和材料:
1. AT89C51单片机:这是一款8位微控制器,具有丰富的输入输出功能。
2. 数码管:用于显示计数结果。
3. 按钮开关:用于输入计数信号。
接下来,我们可以按照以下步骤进行计数器的设计。
1. 连接电路:将数码管和按钮开关分别与AT89C51单片机的IO口相连。
数码管的引脚与单片机的IO口相连,按钮开关一个端接地,另一个端接单片机的IO口。
2. 编写程序:使用汇编语言或C语言编写单片机的程序。
可以使用单片机的计时器中断来实现计数功能。
在程序中,首先需要初始化单片机,并将IO口设置为输入或输出。
3. 实现计数功能:在程序中,通过判断按钮开关的状态,来决定是否对计数器进行加一或减一操作。
当按钮开关按下时,将计数器加一或减一,并将计数结果显示在数码管上。
4. 程序调试:将程序下载到单片机上,并连接电源。
通过按下按钮开关,观察数码管上计数结果的变化,可以判断程序的正确性。
如果发现计数结果不正确,可以通过调试程序来解决问题。
5. 优化设计:根据实际需求,可以对计数器的功能进行优化。
可以增加清零按钮,用于将计数器清零;可以增加计数范围限制,当计数器达到上限或下限时,禁止继续计数。
基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计单片机(Microcontroller)是一种集成了微处理器、存储器和各种输入输出功能的芯片,广泛应用于嵌入式系统中。
AT89C51单片机是英特尔公司生产的一款典型的8位微控制器,其具有强大的功能和灵活的设计特性,被广泛应用于工业控制、汽车电子、消费类电子产品等领域。
在众多应用中,计数器是一种常见的电子器件,被广泛应用于各种领域,比如工业控制、实验测量、智能家居等。
基于AT89C51单片机的计数器设计,可以实现对信号的计数和显示,具有较高的稳定性和可靠性。
本文将介绍基于AT89C51单片机的计数器设计。
首先介绍AT89C51单片机的基本特性和引脚布局,然后讨论计数器的原理和设计思路,最后给出具体的设计方案和实现步骤。
一、AT89C51单片机的基本特性和引脚布局AT89C51是一款高性能、低功耗的8位CMOS微控制器,其主要特性包括:1. 内置4KB闪存程序存储器,用于存储用户程序;2. 128字节RAM,用于存储临时数据和寄存器;3. 32个通用I/O引脚,用于连接外部器件和传感器;4. 完整的串行通信接口(UART),用于与外部设备进行通信;5. 定时器/计数器和PWM输出,用于实现各种定时和计数功能;6. 多种工作模式选择,包括被动低功耗模式和中断工作模式。
AT89C51单片机的引脚布局如下图所示:(图片)P0、P1、P2和P3是AT89C51单片机的四个通用I/O端口,分别具有8个引脚,用于连接外部设备和传感器。
X1和X2是晶体振荡器的输入和输出端,用于提供时钟信号。
RESET 是复位端,用于复位单片机。
EA和PSEN是扩展ROM控制端和程序存储器的读取端,用于外接ROM和实现程序存储。
ALE/PROG是地址锁存器的输入,用于地址总线的多路选择。
RXD 和TXD是串行通信接口的接收和发送端口,用于与外部设备进行通信。
二、计数器的原理和设计思路计数器是一种常用的数字电路,用于对输入信号进行计数和显示。
利用单片机AT89C51控制步进电机毕业论文(论文)

利用单片机AT89C51控制步进电机毕业论文(论文)广州城建职业学院毕业设计题目利用单片机AT89C51控制步进电机所在系机电与信息工程学院专业班级 10应用电子技术班学生姓名罗 X X学生学号 1004080123指导老师李有兵广州城建职业学院教务处制利用单片机AT89C51控制步进电机10应用电子技术班罗汉友指导教师:李有兵摘要步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。
微电子学的迅速发展和微型计算机的普及与应用,为步进电动机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性,可靠性及多功能性。
在当今社会的各个领域步进电机无处不在,应用领域涉及机器人、工业电子自动化设备、医疗器件、广告器材、舞台灯光设备、印刷设备、计算机外部应用设备等等。
因此,设计出高精确度、实时监控、语音提示的步进电机具有重要的现实意义和实用价值。
本文介绍了单片机控制步进电机的系统。
步进电机是机电控制中一种常用的执行机构,其原理是通过对它每相线圈中的电流和顺序切换来使电机作步进式旋转。
本文先介绍了混合式步进电机的结构和工作原理,分析了细分驱动对于改善步进电机运行性能的作用,设计主要采用控制电路主要由AT89C51单片机、晶振电路、地址锁存器、译码器、数码管显示电路组成,单片机是控制系统的核心。
文中对整个系统的架构及硬件电路和驱动软件的实现都做了详细的介绍。
关键词AT89C51;步进电机;正反转目录第1章单片机控制系统概述 (3)1.1单片机系统概述 (3)1.2 AT89C51单片机概述 (4)第2章步进电机概述 (9)2.1 步进电机的基本介绍 (9)2.2 步进电机的特点及种类 (10)2.3 步进电机的选择 (11)第3章单片机编程软件概述 (12)3.1 Keil软件简介 (12)3.2 Keil工程项目建立 (12)3.3 C语言程序代码 (13)第4章硬件电路设计 (21)4.1电路设计构思 (21)4.2 硬件电路设计 (23)结论 (25)致谢 (26)参考文献 (27)第1章单片机控制系统概述1.1单片机系统概述随着材料科学、工艺技术、计算机技术的发展与进步,电路系统向着集成度极高的方向发展。
基于单片机at89c51的7只led显示十进制数码的设计与实现

图 2 引脚顺序控制
3.2.2 端口顺序控制 按任务要求,单片机端口依次出现 10 个二进制数据,分
关键词:二极管;单片机;控制程序 中图分类号:TN873;TP368.1 文献标识码:A 文章编号:1003-9767(2019)21-109-03
Design and Implementation of Displaying Decimal Digits Based on 7 LEDs of Single Chip Microcomputer AT89C51
Pu Lingqiao
(Computer Teaching and Research Group, Sichuan Railway College, Chengdu Sichuan 611732, China)
Abstract: The author uses the single-chip pin output signal to drive a plurality of indicator lights to control the display state of the device, and further grasps the control of the output level of the port by the single-chip microcomputer. After the design of the control program is completed, on the one hand, the control effect can be simulated by Proteus software; on the other hand, the control effect can be tested on the hardware circuit by programming the single chip. Through simulation and hardware verification, the aim is to deepen the understanding of the hardware circuit of the microcontroller control system, and also to familiarize and strengthen the design of the control program.
毕业设计(论文)-基于AT89C51单片机的简易计算器设计

计算器(Calculator)是微型电子计算机的一种特殊类型。
它与一般通用计算机的主要区别在于程序输入方式的不同。
计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。
而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。
简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。
现代电子计算器首次问世是1963年。
那时的计算器是台式的,在美国波士顿的电子博览会上展出过。
与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。
随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。
这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。
随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。
现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。
目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。
等调试成功后,其它运算子程序的问题将迎刃而解。
引言 (1)目录 (2)1.简易计算器的设计方案 (3)1.1硬件部分设计方案 (3)1.2软件部分设计 (3)1.3 硬件设计原理图 (4)2. 简易计算器部分电路设计 (5)2.1 AT89C51常用指令 (5)2.2 显示及显示接口 (11)2.3 键盘、液晶显示的组合接口 (15)2.4 算术逻辑运算处理 (18)3.总设计电路及调试 (19)致谢 (21)参考文献 (22)1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。
基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计AT89C51单片机是一种常用的8位单片机,具有计数器功能。
本文将介绍基于AT89C51单片机的计数器设计。
计数器是一种常用的电子设备,用于统计某个事件发生的次数。
在数字电子技术中,计数器可以通过使用触发器和逻辑门来实现。
在AT89C51单片机中,可以通过编程控制来实现计数器功能。
我们需要通过编程配置AT89C51单片机的IO口,使其能够作为计数器的输入和输出端口。
我们可以使用P1口作为计数器的输入端口,通过外部信号来触发计数器的计数动作。
我们可以使用P2口作为计数器的输出端口,将计数结果显示出来。
接下来,我们需要编写程序来实现计数器的功能。
程序的基本思路是通过中断来实现计数器的自动计数。
当接收到外部信号时,中断服务程序会自动执行,对计数器的计数值进行更新,并将结果输出到P2口。
我们可以通过按键来控制计数器的启动和暂停。
具体编程步骤如下:1. 配置P1口和P2口为输入和输出模式,分别作为计数器的输入和输出端口。
2. 初始化计数器的计数值为0。
3. 配置中断,并编写中断服务程序。
中断服务程序在接收到外部信号时,会自动执行,对计数器的计数值进行更新,并将结果输出到P2口。
4. 编写按键处理程序。
按键处理程序会检测按键的状态,如果按下则启动计数器,再次按下则暂停计数器。
5. 主程序中,循环检测按键状态,并根据按键状态调用相应的处理程序。
通过以上步骤,我们可以实现基于AT89C51单片机的计数器设计。
这个设计可以广泛应用于各种计数需求的场合,如物料计数、人员计数等。
基于AT89C51单片机的计数器设计具有成本低、可靠性高等优点,适合在工业控制和自动化领域进行应用。
基于AT89C51单片机的计数器设计是一项有趣且实用的工程,通过合理的硬件配置和编程设计,可以实现各种计数需求的应用。
基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计AT89C51是一种8位单片机,它具有中央处理器、存储器和输入/输出功能,适用于各种应用。
在本设计中,我们将基于AT89C51单片机来设计一个计数器。
我们需要连接AT89C51单片机和外部硬件电路。
计数器通常需要一个外部计时源来提供脉冲输入,并且需要一个数码管显示结果。
我们需要连接一个计时源(例如晶体振荡器)到单片机的外部时钟引脚,并连接一个共阳数码管到单片机的输出引脚。
我们还需要连接一些按钮到单片机的输入引脚,用于开始、暂停和复位计数器。
接下来,我们需要编写单片机的程序代码。
程序代码将实现计数器的功能,包括计数、显示和控制操作。
我们需要定义一些变量来记录计数器的状态。
我们可以定义一个变量来存储当前计数的值,一个变量来存储计数是否正在进行中的标志,以及一个变量来存储计数方向(递增或递减)的标志。
然后,我们可以在主程序循环中开始实现计数器的功能。
主程序循环可以使用一个无限循环来保持计数器一直运行,并且可以通过检测按钮的状态来控制计数器的操作。
如果开始按钮按下,则设置计数进行中的标志,并且根据计数方向的标志进行递增或递减操作。
如果暂停按钮按下,则清除计数进行中的标志,停止计数操作。
如果复位按钮按下,则将计数器的值重置为初始值,并且清除计数进行中的标志。
在每次计数操作后,我们需要将计数器的值显示在数码管上。
可以使用数码管的显示函数来将计数器的值转换为对应的数字,并将其输出到数码管的引脚上,从而实现数字的显示。
为了保证计数器的精确性,我们需要添加一些延时函数来控制计数的速度。
可以使用单片机的定时/计数器功能来实现延时功能。
定时/计数器可以设置为特定的计时频率,并且可以通过定时器中断来控制延时的时间。
基于AT89C51单片机的计数器设计需要连接外部硬件电路,并编写相应的程序代码来实现计数、显示和控制操作。
通过合理的硬件连接和程序设计,可以实现一个功能完善的计数器。
at89c51最简单的应用电路及其程序编写

at89c51最简单的应用电路及其程序编写文章标题:AT89C51最简单的应用电路及其程序编写主题词:AT89C51、应用电路、程序编写导语:AT89C51是一款经典的单片机芯片,具有广泛的应用领域。
本文将深入探讨AT89C51的最简单应用电路及其程序编写,旨在帮助读者全面、深入地理解这一主题。
一、AT89C51概述AT89C51是一款8位微控制器,由恩智浦(NXP)公司生产。
它采用MCS-51指令集架构,具有4KB的闪存和128字节的RAM,以及 32 个I/O 引脚,适用于各种嵌入式系统设计。
作为一款经典产品,AT89C51在工业控制、汽车电子、家用电器等领域都有着重要的应用。
二、AT89C51的最简单应用电路针对AT89C51的最简单应用电路,我们选取了典型的晶振外部工作方式,以便展示AT89C51的基本工作原理。
该电路包括AT89C51芯片、12MHz晶振、液晶显示模块、热敏电阻和数码管等元件。
通过连接这些元件,我们可以实现一个简单的温度检测系统,并通过数码管显示温度数值。
三、程序编写在进行AT89C51程序编写时,我们需要首先了解MCS-51指令集的基本结构和指令格式。
根据我们设计的应用功能,编写相应的C语言程序,并通过Keil C51等IDE软件进行编译和下载。
在程序编写的过程中,我们需要充分考虑AT89C51的资源限制和时钟频率,以确保程序的稳定性和高效性。
四、个人观点和理解作为一款经典的单片机芯片,AT89C51在嵌入式系统设计中具有重要的地位。
通过设计简单的应用电路和进行程序编写,我们可以更好地认识和理解AT89C51的工作原理和应用特点。
AT89C51也可以作为学习嵌入式系统的良好教学工具,帮助学习者快速掌握单片机的设计和编程技能。
总结通过本文的探讨,我们详细介绍了AT89C51的最简单应用电路及其程序编写。
通过这一过程,我们对AT89C51的工作原理和应用有了更深入的了解,也为后续的单片机设计和编程打下了坚实的基础。
基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计一、引言计数器是数字电路中常见的一种组合逻辑电路,用于对输入脉冲信号进行计数和累加操作,常用于计数、测频、分频等场合。
AT89C51单片机是一种常用的8位微控制器,具有丰富的外设和功能,能够灵活应用于各种数字电路设计中。
本文将基于AT89C51单片机,设计一个简单的计数器,并介绍其原理和实现方法。
二、设计原理AT89C51单片机具有丰富的外设资源,包括多种定时器、计数器和串行通信接口等,适合用于计数器设计。
在本设计中,我们将使用AT89C51的定时器/计数器功能,通过编程控制实现一个简单的计数器。
具体设计原理如下:1. 硬件设计:基于AT89C51单片机的计数器由单片机、数码管、脉冲输入端和其他外围电路组成。
其中脉冲输入端接收外部脉冲信号作为计数输入,数码管用于显示计数结果。
2. 软件设计:利用AT89C51的定时器/计数器功能,编程设计实现计数器的逻辑功能。
通过中断控制和计数器清零等操作,实现对脉冲输入信号的计数和累加,并将结果通过数码管显示出来。
三、设计实现1. 硬件连接:首先进行硬件连接,将AT89C51单片机与数码管、外部脉冲信号输入端等进行连接。
通常可以通过引脚连接或者扩展模块等方式进行连接。
2. 软件编程:接下来进行软件编程,通过C语言或汇编语言等进行编程设计。
其中需要实现对定时器/计数器的初始化、中断服务函数的编写、脉冲输入的捕获和计数功能的实现等操作。
3. 调试验证:编程完成后,进行调试验证,对设计的计数器进行功能测试和性能评估。
通过输入不同的脉冲信号进行测试,验证计数器的计数和显示功能是否正常。
四、设计优化在设计过程中,可以对基于AT89C51单片机的计数器进行优化,以提高其性能和稳定性。
具体优化方法如下:1. 硬件优化:在硬件设计中,可以采用更稳定和精密的外部时钟源、优化数码管驱动电路、加入防抖电路等,以提高计数器的稳定性和抗干扰能力。
2. 程序优化:在软件编程中,可以优化计数算法和显示方式,减少计数误差和提高显示效果。
基于AT89C51的智能抢答与表决计时器的设计与实现

抢 答 通 道
8
~
这 部 分 抢 答 器 已相 当 成 熟 , 功 能 越 多 的 电 路 相 对 来 说 越 复 但 杂 , 且 成 本 偏 高 , 障 多 , 示 方 式 简 单 ( 的甚 至 没 有 显 而 故 显 有 示 电路 ) 无 法 判 断 提 前 抢 按 按 钮 的行 为 , 便 于 电 路 升 级 换 , 不 代 。今 年 来 随 着 科 技 的 飞 速 发 展 , 片 机 的应 用 正 在 不 段 地 单 走 向 深 入 , 时 带 动 传 统 控 制 检 测 日新 月 异 变 化 , 时 也 使 同 同 抢答器得到突破发展 。
Ab t a t P o t n o e i u t h t h a d t ed c d n i u t r e in dr s e t e y i es met ei p t i n l f s r c : r r ye c d r r i,t el c n e o i gc r i a ed s e e p c i l , t a n u g a ii c c a h c g v nh h s o p r c p t g ta a e s p r tl i ly d o h n t r T e aa m i u t i sa e y t e c nr l cr u ta d t e h s at i a i e m r e a ae y d p a e n t e mo i . h l r c r i s tr d b h o to i i n h o t i n o c t c s t h i n i u ta d d c d n ic i c n g n r t e o d p le o tu in lt c iv i n u ci n wi ,t c mi g cr i n e o ig c r u t a e e a e s c n - u s u p t s a o a h e e t c g mi g f n t .Af r t e o t h e
基于AT89C51单片机的计数器设计

基于AT89C51单片机的计数器设计一、引言AT89C51是一款功能强大的8位单片机,具有丰富的外设和广泛的应用领域。
计数器是单片机应用中常见的功能模块,可以用于测量时间、统计事件次数等。
本文将介绍基于AT89C51单片机的计数器设计,通过软件和硬件相结合的方式,实现一个简单的计数器功能。
二、AT89C51单片机概述AT89C51是Atmel公司生产的一款典型的8位单片机,具有4KB的内部Flash存储器、128字节的RAM、32个I/O引脚以及定时器、串口等丰富的外设。
它采用的是CISC架构,指令集丰富,易于学习和应用。
AT89C51单片机广泛应用于各种嵌入式系统中,包括工业控制、仪器仪表、家电等领域。
三、计数器设计思路在AT89C51单片机中,可以利用其内部的定时器和外部的计数输入引脚,来实现一个简单的计数器功能。
通过配置定时器和外部中断,可以实现对外部信号的计数。
四、软件设计1. 定时器配置我们需要配置定时器作为计数器的计时基准。
AT89C51单片机具有两个定时器,分别为定时器0和定时器1。
在本设计中,我们选择使用定时器0作为计数器的计时基准。
定时器0是一个16位的定时器,可以通过预置初值和计数溢出中断来实现定时功能。
2. 外部中断配置我们需要配置外部中断来实现对外部信号的计数。
AT89C51单片机具有两个外部中断引脚,分别为INT0和INT1。
在本设计中,我们选择使用INT0引脚来接收外部信号,并实现计数功能。
通过配置外部中断0,当外部引脚的信号发生边沿变化时,可以触发外部中断,从而实现对外部信号的计数。
3. 主程序设计在主程序中,我们需要编写相应的中断服务程序来处理定时器0的溢出中断和外部中断0的触发。
在定时器0的溢出中断服务程序中,可以进行计数器的计数逻辑,而在外部中断0的触发中断服务程序中,可以实现计数器的清零和其他操作。
五、硬件设计1. 外部信号输入我们需要设计一个外部信号的输入电路,用于接收外部信号并输入到AT89C51单片机的INT0引脚。
at89c51的工作原理

at89c51的工作原理AT89C51是一款基于MCS-51体系结构的8位单片机,其工作原理如下:1. 存储器结构:AT89C51具有4KB的内部FLASH存储器,可用于存储程序和数据。
它还拥有128字节的RAM,用于存储变量和临时数据。
2. 中央处理单元(CPU):AT89C51的CPU是一个8位的高性能单元,由一个ALU(算术逻辑单元)、寄存器组和控制单元组成。
它能够执行各种指令,包括算术和逻辑运算,以及控制和数据传输操作。
3. 输入/输出(I/O)口:AT89C51具有4个通用输入/输出端口,每个端口有8个引脚,可用于连接外部设备和传感器。
通过配置这些引脚,可以实现与外部环境的数据交换和控制。
4. 定时/计数器:AT89C51具有2个16位定时/计数器,可以用作计时和事件计数器。
这些定时器可以配置为不同的工作模式,例如计时延时、PWM生成和捕获模式等。
5. 串行通信接口:AT89C51集成了一个可配置的串行通信接口(UART),用于与其他设备进行串行数据传输。
它支持标准的异步串行通信协议,例如RS232。
6. 中断系统:AT89C51具有多种中断源和优先级控制,可以响应外部事件和内部发生的事件。
通过使用中断,可以实现实时响应和处理紧急事件。
7. 时钟和复位电路:AT89C51需要外部提供时钟信号来驱动其内部运行。
一个复位电路用于初始化和复位芯片的状态。
总之,AT89C51是一款多功能的单片机,通过集成的CPU、存储器、I/O口、定时/计数器、串行通信接口和中断系统等组件,实现了各种数据处理、控制和通信功能。
它被广泛应用于各种领域,如自动控制、仪器仪表、家电等。
AT89C51单片机的基本结构和工作原理

AT89C51单片机的基本结构和工作原理AT89C51单片机是一种经典的8位微控制器,由美国公司Intel开发,现在由Atmel公司继续生产和推广。
它被广泛应用于嵌入式系统、自动控制、工业控制和通信等领域。
AT89C51单片机的基本结构和工作原理如下:基本结构:1.中央处理器单元(CPU):AT89C51单片机采用MCS-51体系结构,内置一个8位的中央处理器,工作频率可达到12MHz。
其指令集包括大约100多种指令,支持各种数据操作和控制指令。
2. 存储器:AT89C51单片机集成了4KB的Flash程序存储器、128B的RAM数据存储器和128B的EEPROM数据存储器。
Flash存储器用于存储用户程序,RAM用于临时数据存储,EEPROM用于非易失性数据存储。
3.I/O端口:AT89C51单片机具有32个I/O端口,可以实现与外部设备的数据交换和控制。
这些端口可以配置为输入端口或输出端口,用于连接外部器件。
4. 定时器/计数器:AT89C51单片机集成了2个16位的定时器/计数器(Timer/Counter),用于生成精确的时序信号和计数功能。
它们可以配置为定时器模式或计数器模式,支持各种定时操作。
6.中断系统:AT89C51单片机具有强大的中断系统,支持外部中断和定时器中断等多种中断源。
中断可以在程序执行过程中插入,用于实现实时响应和多任务处理。
7.电源管理:AT89C51单片机需要外部供电,工作电压一般为5V。
它可以通过内部的低功耗模式和掉电模式实现电源管理,在不需要工作时降低功耗。
工作原理:1.启动系统:当AT89C51单片机上电后,系统会初始化各个部件,包括设置定时器、I/O端口、中断系统等,并执行一段启动程序。
3.处理中断:当有外部中断或定时器中断发生时,CPU会暂停当前任务,保存现场状态,跳转到中断程序执行,处理完中断后再返回主程序继续执行。
4.数据交换:AT89C51单片机可以通过I/O端口与外部设备进行数据交换和控制,包括输入数据和输出数据。
采用AT89C51单片机的数字频率计设计

采用A T89C51单片机的数字频率计设计编辑:D z3w.C o m文章来源:网络我们无意侵犯您的权益,如有侵犯请[联系我们]采用A T89C51单片机的数字频率计设计概述:设计一种以单片机A T89C51为核心的数字频率计,介绍了单片机、数字译码和显示单元的组成及工作原理。
测量时,将被测输入信号送给单片机,通过程序控制计数,结果送译码器74-L S145与移位寄存器74L S164,驱动L E D数码管显示频率值。
通过测量结果对比,分析了测量误差的来源,提出了减小误差应采取的措施。
频率计具有电路结构简单、成本低、测量方便、精度较高等特点,适合测量低频信号。
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率计在教学、科研、测量仪器、工业控制等方面都有较广泛的应用。
测量频率的方法有多种,其中电子计数测量频率具有精度高、使用方便、测量迅速,以及便于实现测量自动化等优点,是频率测量的重要手段之一。
本设计就是用计数的方法,以单片机A T89C51为控制核心,充分利用其软硬件资源,设计并制作了频率计的计数、显示部分。
1测频设计原理频率计测频原理方框图如图1所示。
被测输入信号通过脉冲形成电路进行放大与整形(可由放大器与门电路组成),然后送到单片机入口,单片机计数脉冲的输入个数。
计数结果经L E D 数码管显示,从而得到被测信号频率。
2元器件选择与使用2.1单片机选择单片机A T89C51是因为有编程灵活、易调试的特点,而且A T89C51的引脚较多,利于电路的展。
它集成了C P U,R A M,R O M,定时器/计数器和多功能I/0口等一台计算机所需的基本功能部件,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含两个外中断口,两个16位可编程定时计数器,两个全双工串行通信口。
其片内集成了4K B的F L A S H P E R O M用来存放应用程序,这个F L A S H程序存储器除允许一般的编程器离线编程外,还允许在应用系统中实现在线编程,并且还提供了对程序进行三级加密保护的功能。
at89c51的工作原理

at89c51的工作原理AT89C51是一款基于8位单片机的芯片,它采用CMOS技术,具有51系列特有的功能和特点。
它由中央处理器单元(CPU)、存储器、计时器/计数器、输入/输出(I/O)端口等组成。
AT89C51的工作原理如下:1. 程序存储器(FLASH):AT89C51具有4KB的程序存储器,用于存储程序指令和数据。
CPU从程序存储器中读取指令,并按照指令进行相应的操作。
2. 数据存储器(RAM):AT89C51具有128字节的数据存储器,用于存储程序运行中的数据和临时变量。
3. 输入/输出(I/O)端口:AT89C51具有4个I/O端口(P0、P1、P2、P3),可连接外部设备,如LED灯、按键、传感器等。
CPU通过I/O端口与这些外部设备进行数据的输入和输出。
4. 中央处理器单元(CPU):AT89C51的CPU包括ALU(算术逻辑单元)、寄存器、控制单元等。
ALU用于执行算术和逻辑运算,寄存器用于存储运算结果和中间数据,控制单元用于控制和协调各个部件的工作。
5. 计时器/计数器:AT89C51具有两个16位定时器/计数器(T0、T1),用于产生精确的时间延迟或进行计数。
它们可以用来测量时间、控制外设的工作等。
6. 时钟源:AT89C51需要外部提供时钟信号,以确定指令的执行速度。
它支持多种时钟源,如晶体振荡器、RC振荡器等。
在工作时,AT89C51首先从程序存储器中读取指令,然后根据指令执行相应的操作,如进行算术运算、逻辑判断、数据存储与读取等。
同时,它还可以通过I/O端口与外部设备进行数据交互,实现各种功能。
整个工作过程由时钟信号驱动,时钟信号的频率决定了指令的执行速度。
基于AT89C51单片机简易计算器的设计

基于AT89C51单片机简易计算器的设计一、设计目的 (2)二、总体设计及功能介绍 (2)三、硬件设计 (3)四、软件设计 (4)五、设计总结 (17)参考文献: (19)单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。
本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位无符号数范围内的基本加减运算,并在LED上显示相应的结果。
软件方面使用C语言编程,并用PROTUES仿真,通过硬件实现功能。
二、总体设计及功能介绍根据功能和指标要求,本系统选用MCS-51系列单片机为主控机,实现对计算器的设计。
具体设计及功能如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED 显示数据和结果。
(2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。
(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。
本设计选用AT89C51单片机为主控单元。
显示部分:采用LED动态显示。
按键部分:采用4*4集成计算键盘;总电路图:实物图:四、软件设计现实生活中人们熟知的计算器,其功能主要如下:1、键盘输入;2、数值显示;3、加、减、乘、除四则运算;针对上述功能,计算器软件程序要完成以下程序的设计:1、键盘输入检测程序2、LED显示程序3、算术运算程序1、程序流程图2、程序清单/**************************************** 实验名称:六位无符号数加减法简易计算器* 连接方式 : P0口---段选* 138译码器的A、B、C---P2.2、P2.3、P2.4 * P1口---矩阵键盘* 键盘:7 8 9 +* 4 5 6 -* 1 2 3* CLR 0 =***************************************/#include<reg51.h>//宏定义类型#define uchar unsigned char#define uint unsigned int//--定义使用的IO口--//#define DUAN P0#define KEY P1sbit WEIA = P2^2;sbit WEIB = P2^3;sbit WEIC = P2^4;//段码表uchar codeDUANMA[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0--9//显示的八位数据uchar xianshi[8] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //第一个数据,第二个数据,得到的数据,符号long num[4] = {0, 0, 0, 0};/************ 函数名称:Delay* 作用:毫秒延时* 参数:延时毫秒***********/void Delay(uint x){uint i,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}/************ 函数名称:Kbscan* 作用:矩阵键盘扫描* 返回值:按键行列数对应的十六进制数据***********/uchar Kbscan( void ){uchar sccode,recode;KEY = 0xf0;Delay(1);if(KEY != 0xf0){Delay(2);if(KEY != 0xf0){sccode = KEY & 0xf0;KEY = 0x0f;Delay(1);recode = (KEY & 0x0f) | sccode; KEY = 0x0f;Delay(1);while(KEY != 0x0f);return recode;}}return 0;}/************ 函数名称:Keyval* 作用:键值解码* 返回值:按键对应功能值*10表示+,11表示-,12表示*,13表示/,14表示CLR,15表示= ***********/uchar Keyval( void ){uchar key;uchar keyval = 16;//无按键key = Kbscan();switch(key){case 0xee:keyval=7;break;case 0xde:keyval=8;break;case 0xbe:keyval=9;break;case 0x7e:keyval=10;break;// +case 0xed:keyval=4;break;case 0xdd:keyval=5;break;case 0xbd:keyval=6;break;case 0x7d:keyval=11;break;// -case 0xeb:keyval=1;break;case 0xdb:keyval=2;break;case 0xbb:keyval=3;break;case 0x7b:keyval=12;break;// *case 0xe7:keyval=14;break;// CLRcase 0xd7:keyval=0;break;case 0xb7:keyval=15;break;// =case 0x77:keyval=13;break;// / default:break;}return keyval;}/************ 函数名称:Ewu* 作用:计算功能实现***********/void Ewu( void ){uchar getkey,i;getkey = Keyval();if(getkey < 10)//按下的是数字{if(num[3] == 0)//没有符号,表示输入第一个数 {if(num[0] < 100000)//五位数时还可以再输入一位 num[0]=num[0]*10+getkey;}if(num[3] != 0)//有符号,输入第二个数{if(num[1] < 100000)//五位数时还可以再输入一位 num[1]=num[1]*10+getkey;}}if(getkey > 9 && getkey < 16)//特殊按键按下{if(getkey == 10)// +{num[3] = 1;for(i=0;i<8;i++){xianshi[i] = 0x00;}if(getkey == 11)// -{num[3] = 2;for(i=0;i<8;i++){xianshi[i] = 0x00; }}if(getkey == 12)// *{num[3] = 3;for(i=0;i<8;i++){xianshi[i] = 0x00; }}if(getkey == 13)// /{num[3] = 4;for(i=0;i<8;i++)xianshi[i] = 0x00;}}if(getkey == 14)// CLR{for(i=0;i<4;i++){num[i]=0;//清除数据}for(i=0;i<8;i++){xianshi[i] = 0x00;}}if(getkey == 15)// ={switch(num[3]){case 1:num[2]=num[0]+num[1];break;case 2:num[2]=num[0]-num[1];break;case 3:num[2]=num[0]*num[1];break;//case 4:num[2]=num[0]/num[1];break;//default:break;}num[0] = num[2];num[1] = 0;num[2] = 0;num[3] = 0;}}}/************ 函数名称:Display* 作用:数码管显示***********/void Display( void ){uchar i;long DIS;if(num[3] == 0)//显示第一个数或者最终结果DIS = num[0];if(num[3] != 0)//显示第二个数DIS = num[1];if(DIS == 0)xianshi[7] = DUANMA[0];if(DIS > 0){for(i=8;i>0;i--){if(DIS > 0){xianshi[i-1] = DUANMA[(uchar)(DIS%10)]; DIS = DIS / 10;}}xianshi[0] = 0x00;}if(DIS < 0){DIS = DIS * (-1);Delay(1);for(i=8;i>0;i--)if(DIS > 0){xianshi[i-1] = DUANMA[(uchar)(DIS%10)]; DIS = DIS / 10;}}xianshi[0] = 0x40;//显示负号}for(i=0;i<8;i++){switch(i){case 0:WEIA = 0;WEIB = 0; WEIC = 0;break; case 1:WEIA = 1;WEIB = 0; WEIC = 0;break; case 2:WEIA = 0;WEIB = 1; WEIC = 0;break; case 3:WEIA = 1;WEIB = 1; WEIC = 0;break; case 4:WEIA = 0;WEIB = 0; WEIC = 1;break; case 5:WEIA = 1;WEIB = 0; WEIC = 1;break; case 6:WEIA = 0;WEIB = 1; WEIC = 1;break; case 7:WEIA = 1;WEIB = 1; WEIC = 1;break;//发送段码DUAN = xianshi[i];Delay(1);DUAN = 0x00; //消隐}}void main( void ){while(1){Ewu();Display();}}五、设计总结通过课程设计,我掌握了计算器的工作原理以及设计方法,我通过对计算器的几个模块的深入理解,我掌握了计算器的组成和制作过程,并通过自己的努力,制作出了自己的计算器,提高了我的动手能力和实践能力,同时我对单片机有了更深入的理解,也学会了使用单片机的方法,加深了对课本知识的进一步理解。
基于AT89C51单片机步进电机控制

基于AT89C51单片机步进电机控制————————————————————————————————作者:————————————————————————————————日期:控制系统项目课程设计论文题目:基于AT89C51单片机步进电机控制姓名陈悟宇学号201103820129年级2011级专业飞行器制造工程系(院)机械工程学院指导教师徐波2014年5月23日目录摘要: (3)1设计要求 (3)2步进电机原理 (3)2.1步进电机工作方式32.2框图设计52.3知识点63硬件设计 (6)3.1电路原理63.2驱动电路73.3晶振电路73.4总体电路图84软件设计 (8)4.1程序流程图84.2程序清单105遇到的问题及解决方案 (10)5.1问题105.2解决方法10参考文献 (10)设计心得体会 (11)附录一.原器件清单 (12)附录二.Proteus 仿真图 (14)附录三.ULN2003作用及引脚介绍 (15)附录四.程序清单 (17)基于AT89C51单片机步进电机控制摘要:步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中。
由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用。
大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。
关键词:步进电机单片机控制1设计要求(1)最小系统:选择AT89C51单片机为核心元件构成系统。
有时钟产生电路和复位电路。
(2)控制电路:C语言编程控制。
由操作者根据相应的工作需要进行操作。
(3)驱动部分:对单片机输出的脉冲进行功率放大,从而驱动电机转动.(4)主要功能:实现步进电机的正转,反转,加速,停转。
2步进电机原理2.1步进电机工作方式由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备----步进电机控制驱动器,典型步进电机控制系统如图1所示控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。
基于AT89C51的智能抢答与表决计时器的设计与实现

基于AT89C51的智能抢答与表决计时器的设计与实现王晓侃;苏全卫【期刊名称】《电子设计工程》【年(卷),期】2012(020)008【摘要】设计一种基于AT89C51单片机实现的抢答、表决与计时器,分别设计优先编码电路、锁存器、译码电路并将参赛队的输入信号在显示器上输出;报警电路可通过控制电路和主持人开关启动;计时功能通过定时电路和译码电路将秒脉冲产生的信号实现。
经过试验模拟仿真,表明本设计抢答器具有反映快、功能多、实用性强的特点。
%Priority encoder circuit,the latch and the decoding circuit are designed respectively,in the same the input signal of participating team are separately diplayed on the monitor.The alarm circuit is started by the control circuit and the host switch,timing circuit and decoding circuit can generate second-pulse output signal to achieve timing function.After the experiment analog and simulation,the results shows that the answering has characteristics with quick,multi-functional and strong practical features.【总页数】3页(P7-9)【作者】王晓侃;苏全卫【作者单位】河南机电职业学院,河南郑州451191;河南机电职业学院,河南郑州451191【正文语种】中文【中图分类】TP273【相关文献】1.基于Multisim10智能抢答器的设计与实现 [J], 刘小群;周云波;王乐2.基于单片机的智能抢答器设计与实现 [J], 张军涛3.基于AT89C51系列单片机的倒计时器制作研究 [J], 隋冶4.基于AT89C51的智能公交刷卡系统改进设计与实现 [J], 兰英;温爱红;陈建国5.基于AT89C51单片机的简易五路抢答器的Proteus仿真设计与实现 [J], 马亦男因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》论文
题目:用AT89C51实现七输
入表决器
用AT89C51实现七输入表决器
内容摘要:
随着计算机技术的发展,单片机的应用领域也越来越广泛,尤其是在工业控制和仪器仪表智能化中扮演着极其重要的角色,单片机全称为“单片微型计算机”,从应用领域来看,单片机主要用于控制,所以又称为“微控制器”。
在此次课程——七输入表诀器中,其原理就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示7个人,当对应的拨挡开关输入为‘0’时,表示此人同意;否则若拨挡开关输入为‘1’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮,因此,通过Proteus 7.4a电脑仿真软件以及KeilC51软件,再经过编写C语言程序,以达到对题目的仿真验证。
关键词:单片机;表诀器;AT89C51.
电子数字计算机诞生于1946年,在其后的一个历史阶段中,计算机一直都是大型昂贵的的设备,直到20世纪70年代微处理器的出现,使得计算机逐渐小型,廉价并且高可靠性。
而随着计算机技术的发展,单片机的应用领域也越来越广泛,尤其是在工业控制和仪器仪表智能化中扮演着极其重要的角色,单片机全称为“单片微型计算机”,从应用领域来看,单片机主要用于控制,所以又称为“微控制器”现今,掌握单片机这门课程是极其重要的,尤其是作为一名工科学生,我们不仅要学好课堂的理论知识,还需要通过一定的课程实验开动脑筋,激发学习兴趣,达到理论与实践相结合的目的。
一.生活中的表决器
如1-1图所示,这是表决器中的一种,表决器在生活中被我们所熟知,众所周知,在很多场合中都要用到表决器,选举大会中,可以通过表决器来为候选人进行投票选举,在比赛中评委中也可以通过表决器来决定选手的去留。
有了表决器,可以使得程序更为简单,操作更为简单,也使得结果更未公正。
例如,在奥运会中的举重比赛上,某一位选手举重后,需要由三位评委对选手的表现作出判决,如果选手的表现有所犯规,那么就会按下红灯,如果对选手的表现认可,那么就会按下绿灯,如果绿灯的个数大于等于2 ,那么选手的此次举重通过。
如果红灯大于等于2,那么选手将不通过,生活中的表决器有很多种类,但不管实现方法是什么,它的原理只有一个,那就是:多数服从少数,因此,表决器在生活中发挥着极其重要的角色,而在此论文中,我所
要做的便是运用简单的C语言编程,再通过Proteus仿真软件仿真实现一种通过开关和发光二极管产生结果的简易7输入表决器。
1-1
二.7输入.表决器的实现
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示九个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮,因此,通过Proteus 7.4a电脑仿真软件以及KeilC51软件,再经过编写C语言程序,以达到对题目的验证。
三.AT89C51的管脚说明
(一)P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用,对于对于52字系列,P1.0与P1.1还有第二个功能:P1.0可用作定时/计数器2的计数脉冲输入端T2;P1.1可用作定时/计数器2的外部控制端T2EX,在此实验中P1.0~P1.6被接为7个开关用来进行表诀,而P1.7接发光二极管作为输出结果对表决后的结果进行显示。
(二)VCC:供电电压。
(三)GND:接地。
如1-2图所示:
1-2
四.实验构思
实验要求设计一个7输入表决器,可知,需要有7个输入端口作为判决器,因此,需要用到开关,通过高电平和低电平来判断,考虑到P1.0~P1.7时双向口,因此,将输入口接在P1—P6口上,将二极管输出显示接在P7 口,要使“1”信号正常输出,需要上拉电阻,因此,一个简易的7输出表决器便可以实现。
(一).实现的程序
#include<reg51.h>
sbit key0=P1^0; //key0为p1.0的输入
sbit key1=P1^1; //key1为p1.1的输入
sbit key2=P1^2; //key2为p1.2的输入
sbit key3=P1^3; //key3为p1.3的输入
sbit key4=P1^4; //key4为p1.4的输入,
sbit key5=P1^5; //key5为p1.5的输入
sbit key6=P1^6; //key6为p1.6的输入
unsigned char count; //定义无符号字符型变量count
sbit result=P1^7; //p1.7为输出结果result
void main()
{
count=0; //无符号字符型变量count为低电平0
result=1; //输出结果为高电平1
while(1)
{
if(key0==0) //判断Key0是否按下,按下为低电平0
count++; //count的值自动加1
if(key1==0) //判断Key1是否按下,按下为低电平0
count++; //count的值自动加1
if(key2==0) //判断Key2是否按下,按下为低电平0
count++; //count的值自动加1
if(key3==0) //判断Key3是否按下,按下为低电平0
count++; //count的值自动加1
if(key4==0) //判断Key4是否按下,按下为低电平0
count++; //count的值自动加1
if(key5==0) //判断Key5是否按下,按下为低电平0
count++; //count的值自动加1
if(key6==0) //判断Key6是否按下,按下为低电平0
count++; //count的值自动加1
if(count>3) //如果count的值大于3
result=0; //输出结果result为低电平0
else
result=1; //否则输出结果result为高电平1
count=0; //无符号字符型变量count为低电平0
}
}
(二).实验仿真图
我们可知,按下开关为低电平,表示同意,不按开关为高电平,表示反对,若按下开关的人数大于3人时,此时输出的二极管加正向电压,发光二极管被点亮,表决通过;反之,若按下开关的人数小于4人时,此时二极管未被点亮,表决没有通过,通过发光二极管的亮灭即可判断最终的结果。
1.以下是当按下的开关数目为三是的仿真图,由于表示通过的人数小于四,表决并未被通过,因此LED没有亮,如1-3图所示:
2.当按下的开关数为四时,此时表决通过,LED发光,如1-4图所示:
1-4
五.注意事项:
(一)在进行课题设计前,首先应该充分了解AT89C51的工作原理,以及各引脚的功能,继而才能根据课题要求进行设计。
(二)应当注意当按下开关时,接的是低电平,因此在编辑程序时不要弄反以免出现错误。
(三)实验过程中应当细致认真,戒骄戒躁,在调试程序失误时,应当耐心检查,及时改正,学会运用仿真软件,在仿真时,应当找准所需器件,连线时避免连错或是漏连而导致仿真失误。
六.结束语
通过此单片机课题的选定,编程,调试,仿真到最后完成论文,心情是喜悦并且激动的,觉得做好一件事情并不是那么容易,关键是要看你对这件事情的态度问题,通过这次课题实验,我也对单片机这门课有了更加深刻的认识,它的用途,它的功能,它的方便之处,都通过这几天的研究得到了体会,而且对知识的巩固也起到了一定的作用。
这次论文课题的编写,还有一个重要的认识就是,要学好一门课很容易,但是要真正能把它运动到实际中就难了,掌握一定的理论知识并且会做题还不够,关键是要怎么样去利用,所以,在今后的学习生活中,我要学会学以致用。
另外,单片机是建立在C语言的基础之上,因此可知大学所学的课程时相互关联的,学好每一门课是非常重要的,作为物理专业的同学,我们更应该熟练操作并且掌握好这门功课,这对以后的不管是毕业论文还是所学知识都是很有帮助的。
参考文献:李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社.2008 谭浩强.C程序设计[M].北京:清华大学出版社.2005。