嵌入式LED控制器课程设计报告
- 格式:doc
- 大小:421.50 KB
- 文档页数:22
一、实训目的通过本次嵌入式课程设计实训,使学生掌握嵌入式系统设计的基本原理和方法,提高学生的实际操作能力和创新意识,培养学生的团队协作精神。
同时,通过实训,使学生熟悉嵌入式系统的硬件平台、软件开发环境,掌握嵌入式编程语言,了解嵌入式系统的调试和测试方法。
二、实训内容本次实训以设计一个简单的温室环境监测系统为例,主要包括以下几个方面:1. 系统需求分析温室环境监测系统主要实现对温室内部光照、温度、湿度的实时监测,并根据监测结果自动调节环境参数,确保温室内的作物生长环境稳定。
系统需具备以下功能:(1)实时监测光照、温度、湿度等环境参数;(2)根据预设阈值,自动调节环境参数;(3)通过LCD显示屏实时显示监测数据;(4)通过串口通信将数据传输至上位机;(5)具有按键控制功能,如开关报警、手动调节等。
2. 硬件平台设计本次实训采用STM32系列微控制器作为核心控制单元,结合DS18B20数字温度传感器、DHT11数字湿温度传感器、光敏电阻、LCD显示屏、蜂鸣器、按键等外围设备,构建温室环境监测系统硬件平台。
3. 软件设计(1)系统初始化:初始化微控制器,配置相关外设参数,设置中断优先级等。
(2)数据采集:通过ADC读取光敏电阻的模拟值,计算光照强度;通过DS18B20和DHT11传感器读取温度和湿度数据。
(3)数据处理:对采集到的数据进行处理,如温度、湿度阈值判断,光照强度阈值判断等。
(4)环境参数调节:根据预设阈值,自动调节加热装置、风扇等设备,以实现环境参数的自动调节。
(5)数据显示:通过LCD显示屏实时显示光照、温度、湿度等数据。
(6)串口通信:通过串口将数据传输至上位机。
(7)按键控制:实现报警功能、手动调节等功能。
4. 系统调试与测试在系统开发过程中,对硬件平台和软件进行调试和测试,确保系统稳定运行。
主要测试内容包括:(1)硬件测试:检查各外设是否正常工作,如传感器、显示屏、按键等。
(2)软件测试:测试系统功能是否满足需求,如数据采集、处理、显示、通信等。
《嵌入式系统》课程实验报告学生姓名:指导教师:记分及评价:一、实验名称LED控制实验二、实验目的掌握利用S3C2410X芯片地址总线扩展到I/O来驱动LED显示;了解ARM芯片中利用总线扩展I/O口的使用方法。
三、实验内容编写程序,控制实验平台的发光二极管LED1,LED2,LED3,LED4,使它们有规律的点亮和熄灭,具体顺序如下:LED1亮->LED2亮->LED3亮->LED4亮>LED1灭>LED2灭->LED3灭>LED4灭->全亮->全灭,如此反复。
四、实验原理片选信号在接入74HC573前经过了如下处理:LE信号的产生:向LED写入数据LED连接图五、实验结果超级终端上显示一下信息:六、练习自己编写程序使数码管以不同的显示方式显示。
显示方式:用LED1、LED2、LED3、LED4依次显示00F9~00F6-00F6~00F9,然后依次显示00FE~00F0-00F0~00FE。
#include "2410lib.h"#define rCPLDLEDADDR (*(volatile unsigned char*)0x21180000)void led_on(void){int i,nOut;nOut = 0xFF;rCPLDLEDADDR = nOut & 0xF9;for(i = 0; i < 500000; i++);rCPLDLEDADDR = nOut & 0xF6;for(i = 0; i < 500000; i++);rCPLDLEDADDR = nOut & 0xF6;for(i = 0; i < 500000; i++);rCPLDLEDADDR = nOut & 0xF9;for(i = 0; i < 500000; i++);}void led_off(void){int i,nOut;nOut = 0xF0;rCPLDLEDADDR = nOut | 0xFE;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xFC;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF8;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF0;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF0;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xF8;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xFC;for(i = 0; i < 100000; i++);rCPLDLEDADDR = nOut | 0xFE;for(i = 0; i < 100000; i++); }void led_on_off(void){int i;rCPLDLEDADDR = 0xF0;for(i = 0; i < 500000; i++);rCPLDLEDADDR = 0xFF;for(i = 0; i < 500000; i++);void led_test(void){uart_printf("\n Expand I/O (Diode Led) Test Example\n");uart_printf(" Please Look At The LEDS \n");led_on();led_off();led_on_off();delay(20000);uart_printf(" End.\n");}。
嵌入式led灯实验报告总结(一)嵌入式LED灯实验报告总结前言本次嵌入式LED灯实验是在掌握了基本的电路知识和嵌入式编程技能的基础上进行的。
通过实验,我们旨在进一步探索LED灯的各种应用,并深入了解其原理和工作机制。
本文将总结实验过程中的关键点和所获得的收获。
正文实验目标在本次实验中,我们的目标是实现一个简单的嵌入式LED灯系统,能够控制其亮度和颜色。
通过硬件和软件的配合,我们希望能够熟练掌握以下内容: - 接线和电路搭建 - 嵌入式芯片编程 - 驱动LED灯的原理和方法 - 调整亮度和改变颜色的技巧实验过程在实验过程中,我们按照以下步骤进行操作: 1. 准备必要的硬件设备和材料,包括嵌入式开发板、LED灯、电阻等。
2. 按照电路图连接硬件设备,确保电路的正确性和安全性。
3. 使用嵌入式开发环境,编写相应的代码来控制LED灯的亮度和颜色。
4. 调试代码,确保LED灯的亮度和颜色可以按照预期进行调整。
5. 记录实验数据和观察结果,分析实验过程中的问题和解决方案。
实验结果经过实验,我们成功地实现了嵌入式LED灯的控制。
通过调整代码中的参数,我们可以灵活地改变LED灯的亮度和颜色,并且在多种不同的场景下进行应用。
同时,我们也发现了一些潜在的问题,如电路连接不良、驱动程序的bug等,并通过调试和优化得到了解决。
结尾通过本次实验,我们深入了解了嵌入式LED灯的原理和工作机制,掌握了如何使用嵌入式开发板和编程技术来驱动LED灯,从而实现自定义的亮度和颜色。
这对于我们提升嵌入式系统设计和应用的能力具有重要意义。
在今后的学习和工作中,我们将继续深化对嵌入式技术的理解,探索更多应用场景和创新的可能性。
结论总的来说,本次嵌入式LED灯实验让我们充分了解了LED灯的工作原理和控制方法。
我们通过实践操作,掌握了嵌入式开发板的连接和编程技巧,成功实现了LED灯的亮度和颜色的灵活调节。
在实验过程中,我们也遇到了一些问题,但通过不断调试和解决,我们成功克服了困难。
嵌入式led控制实验报告嵌入式LED控制实验报告引言:嵌入式系统是一种集成了计算机硬件和软件的特殊计算机系统,广泛应用于各个领域,包括家电、汽车、医疗设备等。
而LED(Light Emitting Diode)则是一种半导体器件,可以将电能转化为光能。
在嵌入式系统中,LED的控制是一项重要的实验,本文将介绍嵌入式LED控制的实验过程和结果。
实验目的:本次实验的目的是通过嵌入式系统控制LED灯的亮灭,进一步理解嵌入式系统的工作原理以及学习如何编写相应的程序。
实验器材和方法:实验器材包括嵌入式开发板、LED灯、电源和连接线。
实验方法如下:1. 将LED灯连接到嵌入式开发板的GPIO引脚上;2. 使用开发板提供的编程软件,编写控制LED灯亮灭的程序;3. 将程序下载到开发板中;4. 运行程序,观察LED灯的亮灭情况。
实验结果:经过实验,LED灯可以根据程序的控制实现亮灭的变化。
通过改变程序中GPIO 引脚的电平状态,可以控制LED灯的亮灭。
例如,将GPIO引脚的电平设置为高电平,LED灯将亮起;将GPIO引脚的电平设置为低电平,LED灯将熄灭。
实验分析:本次实验的结果表明,嵌入式系统可以通过编写相应的程序来控制外部设备,如LED灯。
这是因为嵌入式系统中的GPIO引脚可以通过改变电平状态来控制外部设备的工作。
在本实验中,通过将GPIO引脚的电平设置为高电平或低电平,可以控制LED灯的亮灭。
嵌入式系统中的GPIO引脚是一种通用输入输出引脚,可以通过编程来控制其电平状态。
在实际应用中,可以将GPIO引脚连接到各种外部设备上,如传感器、电机等,通过改变引脚的电平状态,实现对外部设备的控制。
嵌入式系统的优势之一是其实时性和可靠性。
在本实验中,LED灯的亮灭可以实时响应程序的控制指令,没有明显的延迟。
这使得嵌入式系统在需要对外部设备进行快速响应的应用中具有优势,如工业自动化、智能家居等。
此外,嵌入式系统还具有较小的体积和低功耗的特点。
一、实验背景嵌入式系统在现代工业、消费电子、智能家居等领域扮演着越来越重要的角色。
为了让学生深入了解嵌入式系统的设计原理和开发过程,提高学生的实践能力和创新精神,我们开设了嵌入式实训课程。
本次实验报告将针对实训课程中的部分实验进行总结和分析。
二、实验目的1. 掌握嵌入式系统的基本原理和开发流程。
2. 熟悉嵌入式开发工具和环境。
3. 熟练使用C语言进行嵌入式编程。
4. 学会调试和优化嵌入式程序。
三、实验内容本次实训课程共安排了五个实验,以下是每个实验的具体内容和实验步骤:实验一:使用NeoPixel库控制RGB LED灯带1. 实验目的:学习使用NeoPixel库控制RGB LED灯带,实现循环显示不同颜色。
2. 实验步骤:(1)搭建实验平台,连接NeoPixel LED灯带。
(2)编写程序,初始化NeoPixel库,设置LED灯带模式。
(3)通过循环,控制LED灯带显示不同的颜色。
实验二:使用tm1637库控制数码管显示器1. 实验目的:学习使用tm1637库控制数码管显示器,显示数字、十六进制数、温度值以及字符串,并实现字符串滚动显示和倒计时功能。
2. 实验步骤:(1)搭建实验平台,连接tm1637数码管显示器。
(2)编写程序,初始化tm1637库,设置显示模式。
(3)编写函数,实现数字、十六进制数、温度值的显示。
(4)编写函数,实现字符串滚动显示和倒计时功能。
实验三:使用ds18x20库和onewire库读取DS18B20温度传感器的数据1. 实验目的:学习使用ds18x20库和onewire库读取DS18B20温度传感器的数据,并输出温度值。
2. 实验步骤:(1)搭建实验平台,连接DS18B20温度传感器。
(2)编写程序,初始化ds18x20库和onewire库。
(3)编写函数,读取温度传感器的数据,并输出温度值。
实验四:使用ESP32开发板连接手机热点,并实现LED1作为连接指示灯1. 实验目的:学习使用ESP32开发板连接手机热点,并通过LED1指示灯显示连接状态。
嵌入式led控制实验报告嵌入式LED控制实验报告摘要:本实验旨在通过嵌入式系统控制LED灯的亮度和闪烁频率,以及实现LED的颜色变换。
通过实验,我们成功地使用嵌入式系统对LED进行了精确的控制,实现了灯光效果的多样化。
1. 实验目的本实验的主要目的是掌握嵌入式系统对LED灯的控制方法,包括亮度控制、闪烁频率控制和颜色变换。
通过实验,我们希望能够深入理解嵌入式系统的工作原理,并掌握在嵌入式系统中对外部设备进行精确控制的方法。
2. 实验原理在本实验中,我们使用了一款嵌入式系统开发板,通过该开发板的GPIO接口控制LED的亮度、闪烁频率和颜色。
具体原理是通过控制GPIO口的输出电平和频率,来控制LED的亮度和闪烁频率,同时通过PWM信号来控制LED的颜色变换。
3. 实验步骤(1)搭建实验平台:将LED连接到开发板的GPIO口,并连接电源。
(2)编写控制程序:使用嵌入式系统的开发工具编写控制LED的程序,包括控制LED亮度、闪烁频率和颜色变换的代码。
(3)下载程序:将编写好的程序下载到嵌入式系统中。
(4)运行实验:通过控制程序,实现LED的亮度、闪烁频率和颜色的变换。
4. 实验结果通过实验,我们成功地实现了对LED的亮度、闪烁频率和颜色的精确控制。
我们通过改变程序中的参数,可以实现LED灯的不同亮度、不同闪烁频率和不同颜色的变换。
实验结果表明,嵌入式系统对外部设备的控制能力非常强大,可以实现多样化的灯光效果。
5. 实验总结本实验通过对嵌入式系统控制LED的实验,深入理解了嵌入式系统的工作原理,掌握了对外部设备进行精确控制的方法。
通过实验,我们对嵌入式系统的应用有了更深入的了解,为今后的嵌入式系统开发工作奠定了基础。
结语通过本次实验,我们不仅学会了如何使用嵌入式系统控制LED灯的亮度、闪烁频率和颜色,还深入了解了嵌入式系统的工作原理和应用。
这将为我们今后的嵌入式系统开发工作提供重要的参考和指导。
希望通过不断的实践和学习,我们能够更加熟练地掌握嵌入式系统的应用,为科技创新做出更大的贡献。
嵌入式led设计报告1. 引言嵌入式LED(Light Emitting Diode)是一种常用于指示灯、显示屏等场景中的电子元件。
在这个设计报告中,我们将介绍一个由嵌入式技术驱动的LED灯设计方案。
我们将详细讨论此设计的目的、方法、技术参数以及预期结果。
2. 设计目的本设计旨在开发一种高效、低功耗、易于集成和控制的嵌入式LED灯。
该嵌入式LED灯将用于显示不同类型的信息,如文字、图标和动画。
为了实现这个目标,我们将借助嵌入式系统的能力来控制LED的亮灭、颜色和亮度。
3. 设计方法3.1 系统框架该嵌入式LED灯系统由以下主要组件构成:1. LED灯板:包含多个RGB LED灯和相应的控制电路。
2. 控制器芯片:用于控制LED灯板中的LED灯的亮度、颜色和亮灭。
3. 嵌入式系统:负责接收外部指令并将其转换为对控制器芯片的控制信号。
系统的工作流程如下:1. 外部指令通过接口传递给嵌入式系统。
2. 嵌入式系统接收指令并解析。
3. 解析后的指令转换为控制信号发送给控制器芯片。
4. 控制器芯片根据接收到的控制信号调整LED灯板中LED灯的亮度、颜色和亮灭。
3.2 技术参数以下是该嵌入式LED灯的主要技术参数:1. 亮度范围:0-255级(0表示最暗,255表示最亮)。
2. 颜色范围:支持RGB色彩模式。
3. 灯板尺寸:10cm x 10cm。
4. 控制器芯片:采用ARM Cortex-M4架构,主频100MHz。
5. 通信接口:采用UART和SPI接口。
4. 设计实现该嵌入式LED灯的设计实现步骤如下:1. 硬件设计:设计LED灯板,将LED灯和控制电路集成在一起,并确定适当的电源电压和电流。
2. 控制器设计:根据系统需求选择适当的控制器芯片,并设计控制电路以实现对LED灯的亮度、颜色和亮灭的控制。
3. 软件开发:编写嵌入式系统软件,实现外部指令解析和控制信号的生成,以及与控制器芯片的通信。
4. 集成测试:将硬件和软件组件集成在一起,并进行功能测试和性能测试。
嵌入式led实验报告嵌入式LED实验报告引言嵌入式LED技术在现代科技领域中扮演着重要的角色,它被广泛应用于各种设备和系统中。
为了更好地理解和掌握嵌入式LED技术,我们进行了一系列实验,并撰写了本报告,以分享我们的实验结果和心得体会。
实验目的本次实验的主要目的是通过对嵌入式LED的实际操作,加深对LED技术的理解,掌握LED的驱动原理和控制方法,以及了解LED在嵌入式系统中的应用。
实验材料1. Arduino开发板2. LED灯3. 220欧姆电阻4. 连线5. 电脑实验步骤1. 将LED灯和220欧姆电阻连接到Arduino开发板上。
2. 使用Arduino集成开发环境(IDE)编写LED控制程序。
3. 通过串口将程序上传到Arduino开发板上。
4. 运行程序,观察LED灯的亮灭情况。
5. 调整程序,实现LED灯的闪烁、呼吸灯等效果。
实验结果通过实验,我们成功地控制了LED灯的亮灭状态,并实现了LED的闪烁和呼吸灯效果。
我们还学会了如何使用Arduino开发板进行LED的控制,以及如何通过编程实现LED的各种动态效果。
实验心得通过本次实验,我们对嵌入式LED技术有了更深入的了解,掌握了LED的驱动原理和控制方法。
我们也意识到了LED在嵌入式系统中的重要性,以及它在各种设备和系统中的广泛应用。
同时,我们也发现了在实际操作中,需要注意电路连接的正确性和编程的精确性,这对于实现LED的各种效果至关重要。
结论本次实验使我们对嵌入式LED技术有了更深入的了解,掌握了LED的驱动原理和控制方法,以及了解了LED在嵌入式系统中的应用。
我们相信这些知识和经验将对我们今后的学习和工作有很大的帮助。
武汉理工大学华夏学院课程设计课程名称嵌入式应用课程设计题目无线LED控制器专业软件工程班级软件1091学号姓名成绩__________________ 指导教师夏婷2012 年 6 月21 日课程设计任务书设计题目:无线LED控制器设计设计目的:1.巩固和加深课堂所学知识;2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;3.掌握LED点阵显示器芯片的工作原理、MCS-51单片机外围扩展芯片8255、74LS273芯片及串口通信的接口设计和编程。
设计任务:(在规定的时间内完成下列任务)使用MCS-51单片机仿真实验仪DVCC-52196JH++作为实验平台,采用C语言进行程序设计,在16×16LED点阵显示器上实现汉字移动显示,并利用GPRS模块(串口通信),采用简单通信协议,通过PC机无线控制LED屏,可改变LED屏中显示的汉字及汉字的移动方向。
时间安排:(部分时间,某些工作可以自己安排重叠进行)时间课程设计内容方式6月17日上午介绍题目,分任务,介绍MCS-51单片机硬件结构、C语言程序设计基础讲座/案例下午查阅资料,功能分析,熟悉软件开发环境上机6月18日上午硬件设计、拟定实验电路讲座/案例下午绘制硬件原理图、接线图,并连线上机6月19日上午单片机的接口编程、中断编程讲座/案例下午绘制程序流程图,编写程序上机6月20日上午单片机C语言高级应用讲座/案例下午调试程序、运行系统,撰写设计报告上机6月21日课程答辩,下午4:00前交齐设计报告评审具体要求:设计报告撰写格式要求(按提供的设计报告统一格式撰写),应包括如下内容:①设计任务与要求②总体方案与说明③硬件原理图与说明④实验接线图与说明⑤软件主要模块流程图⑥源程序清单与注释⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);⑧小结与体会附录:①源程序(必须有简单注释)②使用说明③参考资料指导教师签名:2012年 6 月17 日教研室主任(或责任教师)签名:2012年 6 月17 日第1章需求分析1.1设计题目无线LED控制器设计1.2 课程设计任务及要求使用MCS-51单片机仿真实验仪DVCC-52196JH++作为实验平台,采用C语言进行程序设计,在16×16LED点阵显示器上实现汉字移动显示,并利用GPRS模块(串口通信),采用简单通信协议,通过PC机无线控制LED屏,可改变LED屏中显示的汉字及汉字的移动方向。
1.3 软硬件运行环境及开发工具硬件环境:微机系列,内存在256M以上软件环境:Microsoft Windows XP开发工具: Proteus 7 Pofessional 、Keil uVision41.4 开发工具的使用Proteus 7 Pofessional:1.双击桌面上的ISIS 7 Professional图标进入Proteus ISIS集成环境。
2.Proteus ISIS的工作界面是一种标准的Windows界面,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
3.在图形编辑窗口内完成电路原理图的编辑和绘制。
Keil uVision4:1.点击桌面上的Keil uVision4图标,出现启动画面。
2.点击“project --- New uVision Project”新建一个工程。
3.在对话框,选择放在刚才建立的文件夹下,给这个工程取个名后保存。
4.弹出一个框,在CPU类型下我们找到并选中“Atmel”下的AT89S51。
5.以上工程创建完毕,接下来开始建立一个源程序文本。
6.接下来需要把刚创建的源程序文件加入到工程项目文件中。
7.在Output栏选中Create HEX File,使编译器输出单片机需要的HEX文件。
1.5 系统的功能要求能依次显示“四时兴长相伴夏至到木槿荣”几个字符。
第2章概要设计2.1设计方案及分工2.1.1设计方案通过其4个8X8的LED点阵对应的行和列分别连接起来构成16X16点阵,行和列的交叉处有一个LED,再分别给行和列相应的高低电平。
我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。
此时共需要32根行列控制线,需要外扩I/O接口,我们选择的是行驱动电路采用8255A 芯片,列驱动电路采用74LS154芯片。
2.1.2小组分工我们组是软件1班的第四小组,我任组长,组员有高远瞩、曾昕、陈艳婷,其中我负责系统的详细设计及调试,曾昕负责程序的编写,陈艳婷负责芯片的资料收集及文档记录整理,高远瞩负责概要设计和流程图的绘制,分工协作,共同完成。
2.2工作原理2.2.1 LED点阵的汉字显示原理汉字扫描显示的基本过程是这样的:通电后由于电阻R1,电容C1的作用,是点偏激的RSR复位电平先高后低,从而达到复位;之后,在C2,C3,X1以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED 点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.2,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的象素LCD发光,并利用人眼的视觉暂留特性合成整个汉字的显示。
2.2.2 点阵的移动列扫描方式左移动:列向组字显示字符水平方向的移动(左滚动),取数的时候每次往右移以为实现汉子向左移动。
2.2.3 列驱动模块列驱动用74154芯片来实现,由于点阵显示器有16行,本电路中加入了一个4-16线译码器74154,再通过7406取反,其输入是一个16进制码,解码输出为低态扫描信号。
2.2.4行驱动模块由于4个点阵显示器有16行,为了扩展单片机的接口,使用8255A芯片,8255A是一种可编程的I/O接口芯片,可以与MCS-51系统单片机以及外设直接相连,广泛用作外部并行I/O 扩展接口。
8255常与74LS373连用, 74LS373用来锁存。
2.3芯片介绍AT89C51:AT89C51是一种带4K字节FLASH储存的低电压、高性能CMOS 8位微处理器,俗单片机。
8255A: 8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B 组包括B口及C组的低4位。
74LS373: 74LS373 是三态缓冲输出的8D锁存器。
当三态允许控制端 OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。
当 OE 为高电平时,O0~O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
74154: 74LS154这种4线—16线译码器非常适合用于高性能存储器的译码器。
当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。
2.4设计思路图第3章详细设计3.1硬件设计3.1.1单片机控制电路AT89C51是一种带4K字节FLASH储存的低电压、高性能CMOS 8位微处理器,俗单片机。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
单片机系统如图1所示:图1 AT89C51单片机系统1、管脚说明VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
2、P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH 地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。