## 8051微控制器 {{ :440px-pinagem8031.jpg?300|}} 8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔(Intel)公司于1981年制造。Intel公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。 8051单芯片是同步式的顺序逻辑系统,整个系统的工作完全是依赖系统内部的时钟信号,用以来产生各种动作周期及同步信号。在8051单片机中已内建时钟产生器,在使用时只需接上石英晶体谐振器(或其它振荡子)及电容,就可以让系统产生正确的时钟信号。 其技术发展过程: * Intel公司于1980年推出的MCS-51奠定了嵌入式应用的单片微型计算机的经典体系结构,但不久就放弃了进一步发展计划,并实施了8051的技术开放政策。在8051实现开放后,PHILIPS公司作为全球著名的电器商以其在电子应用系统的优势,着力发展80C51的控制功能及外围单元。将MCS-51的单片微型计算机迅速地推进到80C51的MCU时代,形成了可满足大量嵌入式应用的单片机系列产品。实现第一次飞跃。 \\ * Flash ROM促使8051第2次飞跃, 当前,嵌入式系统普遍采用Flash ROM技术。Flash ROM的使用加速了单片机技术的发展。基于Flash ROM的ISP/IAP技术,极大地改变了单片机应用系统的结构模式以及开发和运行条件;而在单片机中最早实现Flash ROM技术的是ATMEL公司的AT89Cxx系列。 * 内核化SoC的加速8051第3次飞跃, MCS-51典型的体系结构以及极好的兼容性,对于MCU不断扩展的外围来说,形成了一个良好的嵌入式处理器内核的结构模式。当前嵌入式系统应用进入SoC模式,从各个角度,以不同方式向SoC进军,形成了嵌入式系统应用热潮。在这个技术潮流中,8051又扮演了嵌入式系统内核的重要角色。在MCU向SoC过渡的数、模混合集成的过程中,ADI公司推出了ADμC8xx系列,而公司则实现了向SoC的C8051F过渡;在PLD向SoC发展过程中,Triscend公司在可配置系统芯片CSoC的E5系列中便以8052作为处理器内核。 ## 8051的资源文档 ###关于8051的介绍及使用说明 * [维基百科上关于Intel MCS-51的介绍](https://en.wikipedia.org/wiki/Intel_MCS-51) * [engineers garage上关于8051微控制器的介绍](https://www.engineersgarage.com/8051-microcontroller) * [circuittoday上关于8051微控制器的介绍](http://www.circuitstoday.com/8051-microcontroller) * [Wikibooks上关于8051的介绍](https://en.wikibooks.org/wiki/Embedded_Systems/8051_Microcontroller) * [Udemy上关于8051微控制器和C、汇编语言的课程](https://www.udemy.com/8051-microcontroller-embedded-c-and-assembly-language/) * [Complete tutorial for 8051 microcontrollers](http://www.ikalogic.com/tut_8051_1.php) * [the source website for tutorials and simulator for 8051](http://www.edsim51.com/) * [Basic 8051 Interfacing Circuits](http://www.dnatechindia.com/Tutorial/8051-Tutorial.html) * [Open source VHDL 8051 implementation (Oregano Systems)](http://www.oreganosystems.at/?page_id=96) * [ElectronicHub](https://www.electronicshub.org)上关于8051微控制器的介绍: * [8051控制器介绍和基础](https://www.electronicshub.org/8051-microcontroller-introduction/) * [8051控制器的管脚分布和定义](https://www.electronicshub.org/8051-microcontroller-pin-diagram/) * [8051控制器的架构](https://www.electronicshub.org/8051-microcontroller-architecture/) * [8051控制器的存储器组织](https://www.electronicshub.org/8051-microcontroller-memory-organization/) * [8051控制器的指令集](https://www.electronicshub.org/8051-microcontroller-instruction-set/) * [8051控制器的汇编语言](https://www.electronicshub.org/8051-microcontroller-assembly-language-programming/) ### 8051的设计资源 * FPGA IP软核 * [[8051|8051单片机介绍]] * [[FPGA+Arduino+8051|基于FPGA使用Arduino编程的8051软核FP51-1T]] * [[MC8051软核|在小脚丫FPGA开发板移植MC8051软核]] * [[OC8051软核|OC8051软核-含源码解析]] ## 8051的架构 ### 总体结构 {{ :8051family.png?600 |}} 不同型号的内部资源对比 * 8位CPU * 布尔处理器 * 4K字节的程序存储器(可外扩至64K) * 128字节数据存储器(可外扩至64K) * 特殊功能寄存器SFR * 两个16位定时/计数器 * 5个中断源、2个优先级的中断系统 {{::8051介绍-总体结构.png|}}8051的总体架构 ### CPU组成 8051的CPU是一个8位的中央处理器,它的作用就是读入并分析每条指令,根据各条指令的功能控制单片机的各功能部件执行指定的操作。 \\ CPU主要由以下几个部分组成: \\ (1)运算器: 运算器由算术/逻辑运算单元ALU、累加器ACC、寄存器B、暂存寄存器、程序状态字寄存器PSW组成。 \\ (2)控制器: 控制器由指令寄存器IR、指令译码及控制逻辑电路组成。 \\ (3)其他寄存器: 程序计数器PC、数据指针DPTR、堆栈指针SP、工作寄存器R0~R7 \\ {{::8051介绍-cpu结构组成.png?|}} 8051的功能构成 ### 存储器组织 存储器分为两类,一类是随机存储器(RAM),CPU运行时随时进行数据读写,但是断电后数据丢失,用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈,所以也叫数据存储器。另一类是只读存储器(ROM),写入数据后不会随意改写,掉电后信息保留不变,用来存放程序或常数,所以也叫程序存储器。 \\ 8051有独立的数据存储器和程序存储器,而每一个存储器又分为片内存储器和片外存储器,之所以分片内和片外是因为8051核内部只有128字节的片内RAM和4K字节的片内ROM,这点资源相对于现在动辄上M字节的存储资源来说实在是少得可怜,远远不能满足越来越复杂的应用了,所以外扩存储器来解决。 \\ (1)程序存储器 \\ 8051的程序计数器PC是16位的计数器,所以能寻址64KB的程序存储器地址范围,允许用户程序调用或转向64KB的任意存储单元。只读的程序存储器有4K 字节大小的片内ROM和64K字节大小的外扩ROM。 \\ 程序运行时,由EA引脚决定是运行片内ROM还是片外ROM。EA管脚接高电平时,CPU首先会在片内ROM取指令,当PC(程序计数器简称PC)的内容超过FFFH时会自动转到片外ROM中取指令,外部ROM从1000H开始编址。EA管脚接低电平时,单片机会自动转到片外ROM取指令(无视片内ROM)。外部ROM地址从1000H开始编址。 \\ {{::8051介绍-片内rom和片外rom.gif?400|}} \\ 程序存储器低端的一些地址被固定用作特定的入口地址。单片机复位和中断后会跳转到相应的地址。 \\ {{::8051介绍-rom低端入口地址.gif?400|}} \\ * 0000H:复位后的入口地址 * 0003H:外部中断0的中断服务程序入口地址 * 0008H:定时器0溢出中断服务程序入口地址 * 0013H:外部中断1的中断服务程序入口地址 * 0018H:定时器1溢出中断服务程序入口地址 * 0023H:串口的中断服务程序入口地址 (2)数据存储器 8051核有128字节的片内RAM,地址范围00H~7FH,可直接寻址,8052版本又在此基础上增加了80H~FFH的高128字节RAM,增加的这一部分RAM仅能采用间接寻址方式。片外RAM可以外扩到64K字节。 \\ 片内RAM分为工作寄存器区、位寻址区、通用RAM区三部分。工作寄存器区位于片内低端00H~1FH共32个字节,分为4个工作寄存器组,每组8个单元。位寻址区共16个字节,对被寻址的位可以进行位操作。通用RAM区共80个字节,可做数据缓冲器使用。 \\ {{::8051介绍-片内ram和片外ram.gif?400|}} \\ {{::8051介绍-ram区划分.png?480|}} \\ ### 特殊功能寄存器(SFR) SFR是一组特殊功能的寄存器,共21个,它们与RAM区统一编址,地址空间为80H~FFH * 累加器(ACC),用于向ALU(运算单元)提供操作数 * 寄存器B,用于乘除运算 * 程序状态字寄存器(PSW),保存运算特征和处理器状态 * 堆栈指针(SP),复位状态为07H * 数据指针(DPTR),16位 * 并行I/O口P0,P1,P2,P3 * 串口数据缓冲器(SBUF) * 串口控制寄存器(SCON) * 串口波特率倍增寄存器(PCON) * 中断允许寄存器(IE) * 中断优先级控制寄存器(IP) * 定时器T0初值寄存器(TH0,TL0),构成16位计数器 * 定时器T1初值寄存器(TH1,TL1),构成16位计数器 * 定时器工作方式寄存器(TMOD) * 定时器控制寄存器(TCON) ### 引脚功能 MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分地布请参照----单片机引脚图: * P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 * P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 * P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 * P3.0~P3.7 P3口8位双向口线(在引脚的10~17号端子)。 这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,初学者很难理解,这里都是按我自已的表达方式来写的,相信你也能够理解。 ### I/O口 **P0口**有三个功能 - 外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口) - 外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口) - 不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 **P1口**: 只做I/O口使用:其内部有上拉电阻。 P2口有两个功能 - 扩展外部存储器时,当作地址总线使用 - 做一般I/O口使用,其内部有上拉电阻; P3口有两个功能 除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。 有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的, 即:编程脉冲:30脚(ALE/PROG) 编程电压(25V):31脚(EA/Vpp) ALE/PROG 地址锁存控制信号 在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。(在后面关于扩展的课程中我们就会看到8051扩展 EEPROM电路,在图中ALE与74LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器。当ALE是低电平时, P0口上的内容和锁存器输出一致。关于锁存器的内容,我们稍后也会介绍。 在没有访问外部存储器期间,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。从这里我们可以看到,当系统没有进行扩展时ALE会以1/6振荡周期的固定频率输出,因此可以做为外部时钟,或者外部定时脉冲使用。 PORG为编程脉冲的输入端 在8051单片机内部有一个4KB或8KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,那么我们是怎样把编写好的程序存入进这个ROM中的呢?实际上是通过编程脉冲输入才能写进去的,这个脉冲的输入端口就是PROG。 PSEN 外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。 1、内部ROM读取时,PSEN不动作; 2、外部ROM读取时,在每个机器周期会动作两次; 3、外部RAM读取时,两个PSEN脉冲被跳过不会输出; 4、外接ROM时,与ROM的OE脚相接。 ## 8051的主要供应商 * [Atmel/Microchip](https://www.microchip.com): AT89C51, AT89S51, AT83C5134 * [Infineon](https://www.infineon.com): [XC800](https://www.infineon.com/cms/en/product/microcontroller/8-bit-microcontroller-8051-compatible/) * [Maxim Integrated](http://www.maximintegrated.com): DS89C4系列([DS89C420](https://www.maximintegrated.com/en/products/microcontrollers/DS89C420.html), [DS89C430](https://www.maximintegrated.com/en/products/microcontrollers/DS89C430.html), [DS89C440](https://www.maximintegrated.com/en/products/microcontrollers/DS89C440.html), [DS89C450](https://www.maximintegrated.com/en/products/microcontrollers/DS89C450.html)) * [Mentor Graphics](http://www.mentor.com): M8051ew * [NXP](https://www.nxp.com): NXP700和NXP900系列 * [Silicon Labs](https://www.silabs.com): C8051系列 * [Texas Instruments](https://www.ti.com.cn): CC111x, CC24xx和CC25xx射频SoCs系列 * Siemens SAB 80532-N * STC Micro: STC89C51RC, STC90C51RC, STC90C58AD, STC10F08XE, STC11F60XE, STC12C5410AD, STC12C5202AD, STC12C5A60S2, STC12C5628AD, STC15F100, STC15F204EA, STC15F2K60S2, STC15F4K60S2, STC15F101W, STC15F408AD, STC15W104, STC15W408S, STC15W201S, STC15W408AS, STC15W1K16S和STC15W4K56S4系列 ## 8051相关项目列表 {{ ::8051-microcontroller-projects.jpg |}} * [GPS与8051微控制器的接口](https://www.electronicshub.org/interfacing-gps-8051-microcontroller/):在GPS与8051电路的接口中,GPS模块通过读取卫星发送的信号来计算位置。 * [使用8051微控制器的水位控制器](https://www.electronicshub.org/water-level-controller-using-8051-microcontroller/):该电路有助于检测和控制高架水箱或任何其他容器中的水位。该系统监控水箱的水位,并在水箱为空时自动打开电机。 * [使用8051微控制器的双向访问者计数器](https://www.electronicshub.org/bidirectional-visitor-counter-using-8051-microcontroller/):主要目的是设计一种系统,其中进入或离开房间的人数显示在屏幕上。 * [使用8051微控制器的步进电机控制](https://www.electronicshub.org/stepper-motor-control-using-8051-microcontroller/):该电路的主要原理是以特定的步进角度逐步旋转步进电机。ULN2003 IC用于驱动步进电机,因为控制器无法提供电机所需的电流。 * [使用8051的基于密码的门锁系统](https://www.electronicshub.org/password-based-door-lock-system-using-8051-microcontroller/):该系统演示了基于密码的门锁系统,其中一旦输入正确的代码或密码,就打开门并允许相关人员进入安全区域。过了一段时间,门就会关闭。再次,如果另一个人到达并且未能输入正确的密码,门将保持关闭,拒绝访问该人。 * [[https://www.electronicshub.org/contactless-digital-tachometer-using-8051-microcontroller/|使用8051的非接触式数字转速计]]:这里我们设计了一个简单的非接触式转速计,它使用微控制器测量速度,精度为1转/秒。 * [[https://www.electronicshub.org/8-channel-quiz-buzzer-circuit-using-microcontroller/|使用8051微控制器的8通道测验蜂鸣器]]:该电路是一个简单的嵌入式系统,一组8个按钮作为输入设备,微控制器作为控制器,输出设备是蜂鸣器和显示器。我们可以在学校,大学,游戏等中使用它。 * [[https://www.electronicshub.org/interfacing-16x2-lcd-8051/|连接16X2 LCD和8051微控制器]]:这是一个简单的电路,有助于了解如何将16×2 LCD模块连接到AT89C51,这是一个8051系列微控制器。我们使用LCD显示屏显示消息,以便以更加交互的方式操作系统或显示错误消息等。 * [[https://www.electronicshub.org/digital-voltmeter-using-8051-microcontroller/|使用8051微控制器的数字电压表]]:这是一个使用8051微控制器设计的简单数字电压表电路,主要用于借助模数转换器直接显示数字电压。 * [[https://www.electronicshub.org/ultrasonic-rangefinder-using-8051/|使用8051的超声波测距仪]]:该电路介绍如何使用8051微控制器测量距离。这种超声波测距系统测量距离可达2.5米,精度为1厘米。 * [[https://www.electronicshub.org/5-channel-ir-remote-control-system-using-microcontroller/|使用微控制器的5通道红外遥控系统]]:本文旨在设计和演示一个简单的5通道遥控系统,以驱动5个负载。该电路基于IR通信原理工作。 * [[https://www.electronicshub.org/celsius-scale-thermometer-using-at89c51-and-lm35/|使用8051的摄氏温度计]]:该电路基于模数转换原理工作。本文使用LM35和微控制器AT89C51演示了摄氏温度计的设计,开发和操作。 * [[https://www.electronicshub.org/bipolar-led-driver-circuit/|双极LED驱动电路]]:这是一个使用微控制器设计的简单双色LED驱动电路。该电路可用于需要闪光的应用,如信标闪烁。 * [[https://www.electronicshub.org/interfacing-7-segment-display-8051/|将段显示连接到8051微控制器]]:本文介绍如何将七个段连接到AT89C51微控制器。该系统以预定义的延迟连续显示0到9的数字。 * [[https://www.electronicshub.org/lc-meter-circuit-using-555-timer/|LC仪表使用555定时器]]:这是一个简单的LC仪表电路,采用555定时器和8051微控制器设计。它主要用于测量电容器或电感器等电抗元件的值。 * [[https://www.electronicshub.org/led-interfacing-8051/|LED与8051的接口]]:该电路的主要原理是将LED连接到8051系列微控制器。通常,使用的LED将具有1.7v的电压降和10mA的电流以在全强度下发光。这是通过微控制器的输出引脚施加的。 * [[https://www.electronicshub.org/interfacing-dc-motor-8051-microcontroller/|直流电机与8051微控制器接口]]:这是一个简单但非常有用的电路,在我们的现实生活中称为接口直流电机与8051微控制器。它描述了如何使用AT89C51控制器控制直流电机。 * [[https://www.electronicshub.org/delay-using-8051-timers/|延迟使用8051定时器]]:在此项目中,使用微控制器的内部定时器以特定速率闪烁LED,产生精确的时间延迟。该项目比较了模拟和硬件实现的结果,以分析延迟概念。 * [[http://www.jmest.org/wp-content/uploads/JMESTN42350611.pdf|无线消息两台计算机之间的通信]]:该项目有助于使用Zigbee技术在两台具有高度安全的加密数据的PC之间实现无线通信。基于微控制器的单元以及发送端和接收端的PC和Zigbee模块实现了PC之间的双向通信。 * [[https://www.electronicshub.org/wireless-electronic-notice-board-using-gsm/|使用GSM的无线电子布告板]]:该项目使用8051微控制器作为中央处理单元,在LCD上显示类似于实时电子布告板的信息。连接到该电路的GSM调制解调器使用户能够通过从他/她的移动设备发送SMS来更新显示的信息。 * [[http://www.jncet.org/Manuscripts%5CVolume-2%5CIssue-1%5CVol-2-issue-1-M-09.pdf|具有夜视摄像头的战地间谍机器人]]:该项目涉及间谍机器人的设计,该机器人可以使用附加的无线摄像头捕获来自敌方领土的视频和音频信息。可以使用RF通信技术远程控制该机器人车辆。机器人车辆中的8051微控制器充当了该电路的核心。 * [[http://www.ijera.com/papers/vol%201%20issue%203/ZF013616625.pdf|基于GSM和GPS的车辆定位和跟踪系统]]:该项目旨在使用GPS模块确定和跟踪车辆的位置。该位置信息通过GSM模块传输到远程移动设备。该项目使用基本的8051微控制器构建。 * [[http://www.ijiert.org/admin/papers/1429469524_Volume%202%20Issue4.pdf|地下电缆故障距离定位器]]:该项目的目的是通过实施欧姆定律的概念来确定故障的确切位置。8051微控制器与ADC(模数转换器)一起检测电缆中的电压变化,只要电缆发生短路故障。 * [[http://www.rsetrx.in/files/ABSTRACTS/TV%20REMOTE%20OPERATED%20DOMESTIC%20APPLIANCES%20CONTROL.pdf|电视遥控家用电器控制]]:在这个项目中,电视遥控器用作遥控器,用于操作风扇,灯泡和其他家用电器等电气负载。具有8051微控制器的IR接收器接收从电视遥控器发送的RC5代码并相应地切换负载。 * [[http://iraj.in/up_proc/pdf/52-13952176489-12.pdf|采用8051单片机的智能交通灯控制系统]]:该项目采用红外传感器和8051单片机取代了传统的基于定时器的交通灯控制系统。这种具有成本效益的系统控制交通信号灯取决于包括紧急车辆在内的车辆的存在。 * [[http://ijirae.com/images/downloads/vol1issue6/JYCS10085.07.pdf|基于智能手机的家用电器控制]]:该项目的目标是从基于用户触摸屏的移动设备控制家用电器。与微控制器单元连接的蓝牙模块接收来自用户智能电话的控制命令,并相应地切换家用电器。 * [[http://bkladh.blogspot.in/2013/11/8051-based-temperature-controlled.html|使用8051微控制器的温度控制风扇]]:该项目涉及控制风扇速度取决于温度。该系统使用温度传感器通过ADC获取温度数据。微控制器获取温度数据,将其与设定的极限值进行比较,并通过向TRIAC的触发电路发送控制命令来控制风扇速度。 * [[http://ijsetr.org/wp-content/uploads/2013/07/IJSETR-VOL-2-ISSUE-2-455-460.pdf|使用RFID的自动收费广场系统]]:该项目使用RFID技术自动化收费系统。8051微控制器读取每辆车的RFID标签,检测车辆信息并扣除收费站的数量。 * [[http://www.ijmmm.org/vol3/205-H029.pdf|用于车辆安全的智能防盗系统]]:该项目的目的是通过使用8051微控制器和GSM模块来实现防车辆防盗系统。红外传感器和触发电路将被盗信息提供给微控制器,微控制器通过GPS和GSM模块生成并向所有者发送短信。 * [[http://www.ijser.in/archives/v2i7/SjIwMTMzMjQ%3D.pdf|使用8051微控制器的Android手机控制蓝牙机器人]]:该项目的目标是构建一个可以通过Android移动应用程序(APP)控制的机器人车辆。在此,蓝牙被用作机器人和机器人之间的接口。机器人车辆控制器由8051微控制器实现,该微控制器通过接收来自蓝牙模块的信号将机器人引导到期望的路径中。 * [[http://www.ermt.net/docs/papers/Volume_2/issue12_December2013/V2N12-123.pdf|使用Atmel 85c51微控制器设计步进电机位置控制系统]]:使用8051微控制器执行步进电机的位置控制。ADC与微控制器连接,以设置电机步进角的位置。该设计通过对微控制器进行适当编程,可以精确控制电机。 * [[https://www.researchgate.net/publication/262560877_Microcontroller_based_control_unit_of_space_vector_PWM_for_a_three_level_inverter_fed_induction_motor_drive|SVPWM空间矢量脉冲宽度调制]]:在本项目中,使用8051微控制器开发了三电平电压逆变器的空间矢量脉冲宽度调制(SVPWM)技术。该输出具有大量的开关状态和降低的低次谐波分量。 * [[http://beprojectreport.com/download/A29-MULTI-LEVEL-CAR-PARKING-BY-LABVIEW.pdf|使用微控制器和LabVIEW进行多层停车]]:该项目旨在通过使用放置在各种停车位的红外传感器来构建多层停车系统。微控制器获取红外传感器数据,然后传输到LabVIEW。LabVIEW处理这些数据并在GUI上显示空槽。 * [[http://www.ijser.org/researchpaper%5CSun-Tracking-System-with-Microcontroller-8051.pdf|使用微控制器8051的太阳跟踪系统]]:该系统使用带LDR和步进电机的8015微控制器最大化太阳能电池板的输出功率。该项目实现了对太阳的精确跟踪,持续感应光线并相应地控制步进电机,使PV面板朝向最大的阳光。 * [[https://www.engineersgarage.com/microcontroller/8051projects/stopwatch-AT89C51-circuit|秒表使用8051微控制器]]:这个项目的目的是使用微控制器构建一个简单的秒表,它给出两个事件之间的时间。该项目使用8051,七段显示,按钮和蜂鸣器作为主要组件。 * [[http://www.ijeat.org/attachments/File/v2i5/E1729062513.pdf|自动学生出勤管理系统]]:该项目使用RFID技术实现自动学生出勤系统。在此,RFID标签被给予每个学生,其由学生的基本信息组成。RFID阅读器和微控制器单元读取数据并与存储的数据进行比较。进一步的微控制器将考勤数据记录在PC中。 * [[http://dspace.thapar.edu:8080/dspace/bitstream/123456789/182/1/8044209.pdf|设计基于微控制器的温度数据记录器]]:该项目实现了一个嵌入式仪器,可记录一段时间内的温度数据。该设计的主要元素包括温度传感器,8051微控制器和EEPROM。该数据记录器在一段时间内连续监测和记录温度数据,这对于分析未来行动过程的结果非常有用。 * [[http://park.zunmi.cn/?acct=144&site=grietinfo.in&t=1555556140&s=c32c7ef4c54fb61748c2fdb90f2af1a8|使用微控制器8051对直流电机进行速度控制]]:该项目的主要目的是通过使用8051微控制器实现脉冲宽度调制(PWM)技术来控制直流电机的速度。在该设计中,在电路中提供开关以控制期望的速度。 * [[http://nevonprojects.com/street-light-automatic-intensity-controller/|路灯自动强度控制器]]:该项目的主要目的是通过从高峰时段到深夜逐渐降低强度来节省路灯的能量。在此,一组LED连接到控制电路,类似于实时路灯。8051微控制器的编程方式使其产生PWM信号以改变LED灯的强度。 * [[http://ijesat.org/Volumes/2014_Vol_04_Iss_02/IJESAT_2014_04_02_07.pdf|使用Zigbee和GSM进行铁路洪水评估]]:该项目旨在使用水位和洪水传感器检测铁路轨道上的洪水。8051微控制器从这些传感器获取数据,并使用GSM和Zigbee模块将此信息发送给火车司机和铁路部门。 * [[http://www.ijrat.org/downloads/april-2014/paper%20id-24201498.pdf|太阳能自动灌溉系统]]:该项目结合太阳能跟踪系统和自动水泵系统,实现太阳能灌溉系统。LDR传感器检测太阳光并将输入信号提供给微控制器。取决于强度,微控制器调整太阳能电池板朝向太阳的方向。此外,土壤湿度传感器检测水分含量并将输入信号提供给微控制器,进一步切换泵。 * [[http://projectlistinfo.blogspot.in/2013/01/seven-segment-based-alarm-clock-using.html|基于七段的闹钟使用8051微控制器]]:该项目旨在设计一个闹钟,通过产生警报唤醒或提醒用户某事。一组开关连接到8051微控制器单元,便于设置警报或余数。微控制器输出驱动七段显示器和蜂鸣器,分别给出时间显示和报警。 * [[http://www.iosrjournals.org/iosr-jece/papers/Vol6-Issue1/K0616575.pdf?id=4275|基于Zigbee的语音识别无线家庭自动化系统]]:该项目的目标是通过语音识别模块通过语音命令控制家用电器。该项目由发送器和接收器电路组成,两者都由8051微控制器组成,用于处理数据。在这些电路中使用Zigbee通信模块将数据从发送器发送到接收器。 * [[https://www.researchgate.net/publication/261672348_Design_and_implementation_of_a_microcontroller_based_automatic_door_and_visitor_counter|基于微控制器的自动门和访客计数器]]:该项目的目的是通过检测除访客计数器设施之外的人体存在来实现自动开门系统。8051微控制器在门检测到人体存在时获取PIR传感器输入。然后,微控制器将控制信号发送到电动机驱动电路以操作门,并且它还将访客计数器显示增加1。 * [[http://files.spogel.com/fypin-ece/p-00575--Automatic-Railway-Gate-Control.pdf|自动铁路闸门控制和信号]]:该项目控制铁路平交道口的交通信号灯以及使用红外传感器的平交道口操作。沿着轨道的一组IR传感器在水平交叉门的入口和出口点处给微控制器输入。微控制器处理这些信号并控制交通信号灯和门控操作。 * [[https://globaljournals.org/GJRE_Volume12/6-The-Design-and-Construction-of-a-low-cost-Propeller.pdf|低成本螺旋桨LED显示屏的设计和构造]]:该项目采用微控制器实现了一种特殊的移动信息或圆形LED显示屏。该项目使用空间复用原理以数字格式显示字符。一组LED,微控制器单元,位置编码器和直流电机是该设计的主要组成部分。 * [[http://www.ijarcsms.com/docs/paper/volume2/issue1/v2i1-0045.pdf|使用GSM进行实时水质测量]]:该项目使用8051微控制器通过获取各种传感器(如浊度,pH值,电导率,温度和总溶解固体传感器)的数据来测量水质。所有这些传感器数据都经过GSM模块处理并传输到远程移动设备。 * [[http://www.troindia.in/journal/ijcesr/vol2iss2/182.pdf|使用微控制器的无刷直流电机速度控制]]:该项目的主要目的是使用霍尔位置传感器和8051微控制器单元提供有效和精确的BLDC电机速度控制。微控制器通过将所需速度与霍尔传感器检测到的实际速度进行比较,将PWM信号连续提供给电机。 * [[http://lfymag.com/admin/issuepdf/Const-1.pdf|基于微控制器的温度指示器]]:该项目说明了带温度传感器和微控制器单元的温度测量和指示系统。该项目使用LM35和LM45传感器测量摄氏温度和华氏温度值。微控制器处理这些传感器的值并在七段显示器上显示。 * [[https://www.kitsnspares.com/admin/pdffiles/Ultrasonic%20Distance%20Meter.pdf|基于微控制器的超声波测距仪]]:该项目的目的是测量距离而不与其他终点位置接触。该项目采用超声波传感器测量距离取决于回波的反射。微控制器处理从超声波传感器获得的信号并相应地确定距离。 * [[http://www.ijareeie.com/upload/2015/june/29_Fingerprint.pdf|基于指纹的微控制器考勤系统]]:该项目采用微控制器和LabVIEW软件实现基于指纹认证的考勤系统。8051微控制器从指纹模块收集考勤并将其发送到LabVIEW,并将其记录在数据库中。 * [[http://www.ripublication.com/aeee/42_pp%20%20327-332.pdf|使用无线自动电源跳闸进行气体泄漏检测]]:该项目可降低因电力泄漏而导致火灾的可能性。基于微控制器的气体传感器单元检测气体泄漏并将泄漏信息传递到报警电路以及使用RF通信的电力跳闸电路。 * [[http://www.mjret.in/V1I1/M11-1-1-4-2014.pdf|通过使用自动功率因数校正来最小化工业部门的失误]]:在这个自动功率因数校正设备中,微控制器通过检测电流和电压过零位置来连续测量负载功率因数。根据测量的功率因数,它根据功率因数的值连接负载两端的电容器数量。 * [[https://www.ijarcce.com/upload/2014/may/IJARCCE1C%20s%20Abdus%20AN%20INTELLIGENT%20COMBAT.pdf|采用射频技术的智能作战机器人]]:该项目采用射频通信技术实现战斗机器人原型,用于战争领域的间谍活动。机器人中具有夜视功能的无线摄像头有助于执行远程监视操作。通过从RF发射器单元发送RF命令来控制该机器人移动。 * [[https://www.kitsnspares.com/admin/pdffiles/tachometer.pdf|基于微控制器的转速表]]:一个七段基于数字转速表采用光电晶体管和微控制器在这个项目中实现。微控制器通过计算光电晶体管从反射光给出的脉冲数来测量a(RPM)的速度或每分钟转数。 * [[http://www.ijettjournal.org/volume-13/number-8/IJETT-V13P280.pdf|基于微控制器的电子日历的设计与仿真]]:该项目旨在使用Multisim软件设计和仿真基于微控制器的电子日历。连接到本机的按钮允许用户选择和设置该系统的日期,时间和年份。并且在七段显示器上显示日期和时间的相应信息。 * [[https://www.ijireeice.com/upload/2015/may-15/IJIREEICE%2029.pdf|基于微控制器的自动废物分离器]]:该提出的系统基于处置水平显示废物的自动废物分离。该项目使用带有金属探测器,接近传感器,红外传感器,超声波传感器等传感器的微控制器检测废物类型,从而将废物分类为金属,干燥和潮湿。 * [[https://arxiv.org/ftp/arxiv/papers/1308/1308.3579.pdf|使用LabVIEW和微控制器的智能驾驶技能评估系统]]:该项目的主要目的是自动化驾驶技能评估系统,无需人为干预检查测试的准确性。该项目使用8051微控制器作为数据采集单元,以检查车辆的速度和路径。LabVIEW软件分析数据并生成测试结果。 * [[https://thescipub.com/PDF/jcssp.2006.607.611.pdf|基于微控制器的电源单元]]:该项目的构思是构建基于微控制器的电源单元,以提供可编程电压和电流输出。该装置自动管理主电源(主电源)和辅助电源(电池),以便在不中断的情况下为负载供电。 * [[http://www.circuitstoday.com/line-follower-robot-using-8051-microcontroller|使用8051微控制器的线跟随器机器人]]:该项目旨在使用LED / LDR传感器和微控制器构建线跟随机器人车辆。它的工作原理是闭环反馈算法,使机器人跟随黑色表面上的白线或白色表面上的黑线。 * [[http://hbeonlabs.com/-%20New%20Folder/ELECTRONIC%20VOTING%20MACHINE.pdf|基于微控制器的电子投票机]]:该项目旨在说明使用8051微控制器的电子投票系统的工作原理。该项目由一组开关组成,允许用户为特定候选人投票。微控制器获取该数据并存储在EEPROM中。此外,可以通过将数据连接到PC来处理和分析该数据。 * [[http://www.ripublication.com/aasa-spl/aasav4n1spl_01.pdf|导弹探测与自动毁灭系统]]:该项目为战场应用提供了导弹探测和破坏系统的原型模型,用于探测目标并转动火力发射器。该项目使用超声波发射器和接收器来检测目标。8051微控制器与Zigbee通信模块一起用作中央处理单元。 * [[https://www.engineersgarage.com/microcontroller/8051projects/LCD-based-dual-message-display-AT89C51-circuit|使用8051微控制器的基于LCD的双消息显示器]]:该项目的主要目的是基于用户通过麦克风给出的声音给出消息显示。在该项目中,存储在8051微控制器中的各种消息显示在LCD显示器上,适合于用户给出的命令或语音。 * [[http://www.ijareeie.com/upload/2014/january/10_Biometric.pdf|使用微控制器的生物识别脉冲计数系统8051]]:该项目通过读取手指的血流来测量人的心跳。在此,基于微控制器的脉冲计数器使用IR传感器设计,以便在一分钟内找到脉冲数。微控制器计算来自IR传感器的输入信号的数量,并相应地显示心率。 * [[https://www.engineersgarage.com/microcontroller/8051projects/interface-rfid-AT89C51-serial-interrupt-circuit|使用串行中断将 RFID与8051微控制器(AT89C51)连接]]:该项目说明了与8051微控制器的RFID接口,这对于开发安全应用相关电路非常有用。在该实现中执行通过微控制器的RFID标签认证和在LCD上显示认证。 * [[http://electronicsbasedprojects4u.blogspot.com/2012/03/interfacing-gsm-module-with-8051.html|在不使用PC的情况下将GSM模块与8051微控制器连接]]:该项目旨在将GSM模块连接到8051微控制器,而无需使用PC来发送AT命令。在此,微控制器本身将AT命令发送到GSM模块而不使用超级终端。与微控制器连接的LCD显示器显示从GSM模块接收的信息。 * [[http://www.circuitstoday.com/object-counter-using-8051|使用8051微控制器的对象计数器]]:该项目的目的是使用LED / LDR和8051微控制器构建访客或对象计数器。该传感器组合检测一个或多个人并相应地将信号提供给微控制器。微控制器连续计数从传感器获得的信号并适当地更新显示器。 * [[https://www.researchgate.net/publication/259151720_Microcontroller_Based_Remote_Control_of_Home_Appliances|基于微控制器的家用电器远程控制]]:在此,红外发射器和红外接收器组合使用8051微控制器实现家用电器的远程操作。IR接收器连接到微控制器单元,接收来自发射器的控制命令。取决于接收到的信号,微控制器操作继电器驱动器,以便根据需要切换特定负载。 * [[https://ijetae.com/files/Volume3Issue6/IJETAE_0613_29.pdf|使用8051微控制器的数字集成电路测试仪]]:该项目实现了7400系列IC的数字集成测试仪,用于检查IC编号及其工作状态。在此,IC引脚插座,LCD显示器和矩阵键盘与微控制器连接。将IC插入插槽后,该系统会要求用户通过键盘输入IC编号。如果IC的详细信息与预编程数据匹配,则微控制器在LCD上显示Good,否则显示Bad。 * [[http://www.myclassbook.org/dtmf-based-load-control-system-engineering-project/|基于DTMF的微控制器负载控制系统]]:该系统使用DTMF(双音多频)技术来控制家庭,办公室和行业的负载。在负载控制侧具有移动电话的微控制器从远程移动设备接收DTMF音调以根据用户的需要操作相应的负载。 * [[http://www.projecttitles4free.com/2012/01/distance-measurement-using-infrared.html|使用带有ADC0804和8051微控制器的红外传感器进行距离测量]]:该项目使用红外传感器实现距离测量,这将在机器人,工业对象传感和障碍物检测系统中得到应用。IR接收器输出电压随物体的距离而变化; 因此,ADC的这个电压由微控制器转换成适当的距离。 * [[http://www.micro-digital.net/electronic-dice-using-8051/|使用8051微控制器的电子骰子]]:该项目描述了使用具有简单电路结构和编码的微控制器实现骰子操作。一组按钮连接到微控制器,允许用户玩骰子。一旦按下开关,它就会产生随机数,如果它被释放,它会在液晶显示屏上显示新的随机数。 * [[https://www.electronicshub.org/digital-clock-circuit-using-8051-and-ds12c887/|使用8051和DS12C887的数字时钟电路]]:在这项工作中,实现了一个实时时钟,使用8051微控制器和RTC芯片以24小时模式显示时间。这种类型的电路对于在家庭,铁路,公交车站,汽车等中显示时间和日期非常有用。在该电路中,LCD与微控制器连接以显示时间。 * [[http://www.ijera.com/papers/Vol3_issue6/MR3621592164.pdf|采用带有晶闸管的交流变频器对感应电动机进行速度控制]]:该项目的主要目的是采用循环换流器技术来改变感应电动机的速度。通过选择性地将脉冲从微控制器传送到晶闸管点火电路,在该项目中实现了三个速度控制范围F,F / 2和F / 3。 * [[https://www.electronicshub.org/metal-detector-robotic-vehicle/|金属探测器机器人车辆]]:在此,使用8051微控制器和RF通信模块设计和实现金属探测器机器人。这将在机场,商场等地雷检测和武器检测等应用中发挥作用。金属探测器传感器持续监控其路径上的金属部件,并将信号适当地发送到微控制器。该机器人通过RF发射器模块远程控制。 * [[http://www.scribd.com/doc/227326947/Clap-Counter#scribd|使用8051微控制器的拍手计数器]]:该项目使用麦克风实现了一个简单的基于8051的拍手计数器。这对于声音检测应用非常有用。与微控制器连接的麦克风检测到声音,计数器将自动更新拍手数量,这些拍子将在LCD中进一步显示。 * [[https://www.atmaelectronics.com/|Beacon Flasher使用微控制器和PWM馈电MOSFET]]:在这个项目中,信标灯闪烁电路通过使用8051微控制器实现警告和警报信号应用。在该设计中,微控制器被编程为产生PWM脉冲以便驱动MOSFET。 * [[https://www.engineersgarage.com/microcontroller/8051projects/celsius-fahrenheit-scale-thermometer-AT89C51-circuit|使用8051微控制器的Celsius和Fahrenheit Scale数字温度计]]:该项目旨在使用温度计和8051微控制器测量和指示温度。摄氏温度到华氏温度的转换公式是在微控制器中编程的,因此温度计检测到的摄氏温度被转换为华氏温度,这将进一步显示在LCD上。 * [[https://www.academia.edu/5593444/PATIENT_MONITORING_SYSTEM_TO_REMOTE_DOCTORS_USING_GSM_AND_ZIGBEE_TECHNOLOGY|使用GSM和Zigbee的远程医生的病人监护系统]]:在这个项目中,8051微控制器以及Zigbee和GSM通信模块使医生能够远程监控病人的健康状况。诸如ECG,温度和心跳传感器的各种传感器获取患者健康参数并将相关数据发送到微控制器单元。通过微控制器,该数据通过Zigbee和GSM模块传输到远程位置。 * [[http://www.rsetrx.in/files/ABSTRACTS/AUTO%20POWER%20SUPPLY%20CONTROL%20FROM%204%20DIFFERENT%20SOURCES.pdf|来自4个不同来源的自动电源控制]]:太阳能,电源,发电机和逆变器:该系统演示了来自4个不同来源的电源管理,如太阳能,发电机,主电源和逆变器,以便在不中断的情况下为负载供电。取决于适合负载的电源可用性,微控制器单元将特定电源切换到负载。 * [[http://www.rroij.com/open-access/design-and-implementation-of-microcontrollerbased-propeller-clock.pdf|基于微控制器的螺旋桨时钟的实现]]:这是一种使用8051微控制器实现的特殊类型的时钟循环显示。组装在旋转物体基座上的红外LED以微控制器引导的圆形方式显示时间。 * [[http://read.pudn.com/downloads118/sourcecode/asm/501943/2051%20FC/efy-fm-proof-article.pdf|使用8051微控制器的低成本LCD频率计]]:在此,通过测量给定信号的每秒周期数来实现低成本频率计。为实现此目的,将微控制器定时器编程为计数器以计算循环次数。计数器值作为频率显示在LCD上。 * [[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.299.7504&rep=rep1&type=pdf|基于微控制器的防盗安全系统,使用GSM网络,文本消息作为反馈]]:该项目实现了一种嵌入式系统设计,用于车辆的防盗安全。一旦从授权的移动设备接收到(DTMF)信号,它就会自动断开车辆的点火系统。此外,一旦锁定引擎,它就将SMS作为反馈发送给所有者。该项目以8051微控制器,GSM调制解调器,DTMF解码器,报警器,传感器和执行器为主要部件。 * [[https://www.ijser.org/researchpaper/MICROCONTROLLER-BASED-SECURE-PIN-ENTRY-METHOD-FOR-ATM.pdf|基于微控制器的ATM安全引脚输入方法]]:该项目用一次随机数生成方法描述了安全ATM交易。每当用户插入RFID卡时,微控制器就会生成随机码,并通过GSM移动设备将其发送给用户手机。在输入接收代码后,微控制器对该人进行认证并允许他/她继续进行交易。如果输入的代码与生成的代码不匹配,则会发出警报。 * [[https://www.electronicshub.org/password-based-circuit-breaker/|基于密码的断路器]]:在此,电子控制断路器使用具有密码认证的微控制器实现。与微控制器相连的键盘允许用户输入适当的密码来切换负载。认证和负载信息的状态将显示在LCD显示屏上。 * [[https://www.academia.edu/5593411/Microcontroller_Based_Anesthesia_Injector_project|基于微控制器的麻醉注射器]]:该项目采用微控制器实现自动麻醉注射机。在此,微控制器单元连同键盘和注射器输注泵按照通过键盘输入的设定时间和剂量以毫米/小时的速度注射麻醉。 * [[http://ijsetr.org/wp-content/uploads/2014/05/IJSETR-VOL-3-ISSUE-5-1453-1457.pdf|基于微控制器的铁路自动裂缝检测粗壮机器人]]:在该项目中,实现机器人车辆的原型模型,利用微控制器检测铁路轨道的裂缝。该项目包括LED / LDR传感器组件,微控制器,直流电机,GPS和GSM模块。在检测到裂缝时,该机器人使用GSM模块将裂缝信息的确切位置传送到远程移动设备。 * [[http://www.justexecuteit.com/custom-animation-on-lcd-using-8051/|使用8051微控制器在LCD(8位模式)上显示自定义动画]]:该项目旨在将LCD连接到8051微控制器,并在其上显示自定义动画,以便有效地显示用户。通过对微控制器进行适当编程,可以在LCD上显示动画对象。 * [[http://www.ijera.com/papers/Vol5_issue5/Part%20-%203/I505035255.pdf|使用微控制器的多个BLDC电机的速度同步]]:该项目的主要目的是使各种BLDC电机的速度同步,以实现负载的恒定驱动机制。在这种情况下,如果一台电机的速度发生变化,在不同电机上配备8051微控制器的RF通信模块会自动调整其速度。 * [[https://www.kitsnspares.com/admin/pdffiles/Solar%20Charger.pdf|基于微控制器的太阳能充电电路]]:该项目具有并联调节,内置数字电压表,过放电和深度放电保护,负载自动黄昏至黎明运行等特点。该装置有助于为电池充电由太阳能电池板。 * [[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.359.9218&rep=rep1&type=pdf|基于智能主机微控制器的带机械臂的太阳能工具]]:在这个项目中,机械臂由8051微控制器控制,用Zigbee无线遥控模块进行拾取和放置操作。该电路由具有太阳跟踪装置的太阳能电池板供电。因此,实现了基于智能能量管理的机器人臂。 * [[http://www.circuitstoday.com/water-level-controller-using-8051|使用8051微控制器的水位控制器]]:该项目旨在使用8051微控制器构建低成本水位控制器。一组传感器检测顶置水箱中的水位,并相应地将信号提供给微控制器。根据测量的水平,微控制器切换泵。 * [[https://scienceq.org/wp-content/uploads/2018/05/2012962935.pdf|基于微控制器的防盗报警器的设计和实现]]:该项目使用LED / LDR传感器和微控制器单元检测入侵者。在接收到来自传感器的信号后,微控制器单元转动盗窃报警系统。