单片机实验报告-LED灯控制器.doc

合集下载

单片机实验报告——LED灯控制器

单片机实验报告——LED灯控制器

《微机实验》报告LED灯控制器指导教师:专业班级::学号:联系方式:一、任务要求实验目的:加深对定时/计数器、中断、IO端口的理解,掌握定时/计数器、中断的应用编程技术及中断程序的调试方法。

实验内容:利用C8051F310单片机设计一个LED灯控制器主要功能和技术指标要求:1. LED灯外接于P0.0端。

2. LED灯分别按2Hz,1Hz和0.5Hz三种不同频率闪动,各持续10s。

3. 在LED灯开始和停止闪烁时蜂鸣器分别鸣响1次。

4. 利用单片机内部定时器定时,要求采用中断方式。

提高要求:使用按键(KINT)控制LED灯闪烁模式的切换。

二、设计思路C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz ,输入时钟信号为48个机器周期,所以T1定时器采用定时方式1,单次定时最长可以达到的时间为1.027s,可以满足0.5Hz是的定时要求。

基础部分:给TMOD赋值10H,即选用T1定时器采用定时方式1,三种频率对应的半周期时间为0.25s、0.5s、1s。

计算得需给TH1和TL1为C1H、B1H;83H、63H;06H、C6H。

要使闪烁持续10s,三种模式需要各循环40、20、10次。

用LOOP3:MOV C,PSW.5 ;PSW.5为标志位,进定时器中断后置一JNC LOOP3代替踏步程序等待中断,以便中断完后回到主程序继续向下执行。

为了减少代码长度,可以采用循环结构,循环主题中,将R1、R2分别赋给TH1、TL1,R7为循环次数(用DJNZ语句实现);定时中断里,重新给TH1、TL1赋值时同理。

这样,循环时只要把定时时间和循环次数赋给R1、R2、R7即可,达到减少代码长度的效果。

蜂鸣器也采用T1定时方式1,定时一秒。

提高部分:采用外部中断0,下降沿触发。

外部中断程序里置标志位PSW.1和R0,PSW.5用于判断执行完一种模式后,是否跳出循环结束。

R0用于判断执行何种模式,每按一次后RO 加一,第四次时就将R0和PSW.5清零,这样程序就又回到了基础部分的循序执行。

智能灯控实验报告

智能灯控实验报告

一、实验目的本次实验旨在了解智能灯控系统的基本原理和设计方法,掌握智能灯控系统的硬件选型、软件编程以及系统调试等技能。

通过实验,培养学生的创新意识和实践能力,提高学生对智能家居系统的认识。

二、实验原理智能灯控系统利用现代电子技术、传感器技术、网络通信技术等,实现对灯光的远程控制、定时控制、场景控制等功能。

本实验以单片机为核心控制器,通过传感器采集环境信息,实现对灯光的智能控制。

三、实验器材1. 单片机开发板(如:AT89S52)2. 传感器模块(光强检测模块、声强检测模块、热释电红外传感器模块)3. 灯具(LED灯、白炽灯等)4. 连接线5. 电源6. 示波器7. 编程软件(如:Keil C51)四、实验步骤1. 硬件连接(1)将单片机开发板与传感器模块、灯具、电源等设备连接,确保连接正确无误。

(2)使用示波器检测各个模块的信号,确保信号传输正常。

2. 软件编程(1)根据实验要求,编写单片机控制程序,实现对灯光的智能控制。

(2)使用编程软件编译、下载程序到单片机。

3. 系统调试(1)开启电源,观察系统运行情况,确保程序正常运行。

(2)根据实际需求,调整传感器参数和程序逻辑,优化系统性能。

4. 功能测试(1)测试灯光的远程控制、定时控制、场景控制等功能。

(2)测试系统在不同环境下的稳定性,确保系统可靠运行。

五、实验结果与分析1. 灯光远程控制实验结果表明,通过手机APP或远程服务器,可以实现灯光的远程开关控制,方便用户随时随地调整室内照明。

2. 定时控制通过设置定时任务,可以实现灯光的自动开关,节约能源,提高生活品质。

3. 场景控制根据用户需求,设置不同的场景模式,如“会客模式”、“观影模式”等,实现一键切换灯光效果。

4. 稳定性测试在不同环境条件下,系统运行稳定,无明显故障。

六、实验总结本次实验成功实现了智能灯控系统的设计、编程和调试,验证了系统的可行性。

通过实验,我们掌握了以下技能:1. 单片机编程和调试2. 传感器模块的应用3. 智能家居系统的设计4. 系统调试和优化本实验为后续智能家居系统的研究和开发奠定了基础,有助于提高学生的创新能力和实践能力。

单片机实验——指示灯开关控制器

单片机实验——指示灯开关控制器

中国石油大学(北京)实验报告实验课程:单片机原理及应用实验名称:实验二——指示灯/开关控制器一、实验目的学习汇编語言指令系统的编程与调试方法二、实验内容1、参照教材图A.19完成实验二电路原理图的绘制;2、根据图A.20的程序流程图编写汇编语言程序;3、利用ISIS的汇编工具查找并修正程序的语法错误和逻辑错误;4、观察仿真结果,完成实验报告。

三、实验要求1、电路原理图P1口读取开关状态的工作原理:通过P1的读引脚功能来实现,由于P1口内设上拉电阻,在开关闭合前读取高电平,经过三态门在P1.n输出高电平。

当开关闭合时,由于与地面相连,P1读取低电平,经过三态门在P1.n输出低电平。

P1口输出工作原理:单片机执行写P1,#data时,数据data经过内部总线送入锁存器储存。

当数据为,则该位锁存器输出Q=1,则非Q为0,场效应管截止,从而在引脚P1.n 上输出高电平;反之,如果数据为0,则Q=1,非Q为0,场效应管导通,引脚P1.n上输出低电平。

P2口控制LED灯的原理也是通过P2口的输出原理实现的,程序不断把P1的内容传递给P2。

当给P1口赋初值0或开关闭合时,P1.n输出0,P2口读取0,在引脚P2.n上输出低电平,由原理图中LED的摆放方式知LED灯低电平导通。

同理当给P1口赋初值#FFH 或开关断开时,P1.n输出1,P2口读取1,在引脚P2.n上输出高电平,LED灯截止,灯灭。

图1 实验原理电路图2、汇编源程序图2 汇编源程序3、程序调试过程1.源文件创建与编译(1)建立新的程序文件单击菜单栏“源代码”—“添加/删除源文件”选项,弹出“添加/移除源代码”对话框。

在“代码生成工具”下拉框内部选择“ASEM51”选项。

单击“新建”按钮,在适当文件目录下输入待建立程序的文件名(如text),核实文件类型为*ASM。

单击“打开”按钮,回应创建新文件提示后,系统弹出确认对话框。

单击“确认”按钮,在菜单“源代码”下可看到类似“1.text.ASM”的文件名,单击该文件名后可打开一个空白的文本文件。

单片机实验报告——LED灯控制器

单片机实验报告——LED灯控制器

单片机实验报告——LED灯控制器
实验名称:LED灯控制器设计与实现
实验目的:
1.学习和掌握单片机的基本原理及其应用;
2.熟悉LED灯控制器的工作原理,并能够实现基本的灯光控制功能;
3.提高动手能力和解决实际问题的能力。

实验原理:
本实验基于单片机来控制LED灯的亮灭,通过按键输入来控制LED灯的工作状态。

实验材料和器件:
1.AT89C51单片机开发板;
2.电源适配器;
3.LED灯;
4.电阻、电容、按键等元器件。

实验步骤:
1.连接电路
将AT89C51单片机开发板与电源适配器连接,并将LED灯与单片机开发板上的GPIO引脚连接。

2.编写程序
使用Keil C编写程序,实现按下按钮时,LED灯亮起,再次按下按钮时,LED灯熄灭。

3.烧录程序
将编写好的程序通过编程器烧录到AT89C51单片机中。

4.运行程序
上电后,按下按钮,观察LED灯的亮灭情况,验证程序的正确性。

5.调试和优化
根据实际情况,对程序进行调试和优化,确保LED灯的控制能够稳定可靠。

实验结果:
经过调试和优化后,LED灯控制器工作正常。

按下按钮时,LED灯亮起,再次按下按钮时,LED灯熄灭,实现了基本的灯光控制功能。

实验总结:
通过本次实验,我对单片机的基本原理和应用有了更深入的了解,学会了使用单片机控制LED灯的方法和技巧。

同时,我也提高了动手实践和解决实际问题的能力。

在今后的学习和工作中,我会继续深入学习单片机的应用,不断提升自己的技术水平。

单片机单灯闪烁实验报告

单片机单灯闪烁实验报告

单片机单灯闪烁实验报告实验目的:通过单片机控制一个LED灯的闪烁,熟悉单片机的基本操作以及IO口的使用。

实验器材:1. STC89C52单片机开发板2. LED灯3. 面包板4. 连接线实验原理:单片机是一种微型计算机,具有中央处理器、存储器和输入输出设备等,可以进行数据的输入、输出、运算等操作。

本实验使用的STC89C52单片机具有4个IO 口,其中P0口和P2口可以用来控制外部设备。

通过控制这些IO口的高低电平,可以控制LED灯的亮灭。

实验步骤:1. 将STC89C52单片机开发板连接到电脑上,并打开Keil软件。

2. 在Keil软件中新建一个工程,选择STC89系列单片机,并设置好工程的文件路径。

3. 在新建的工程中,编写代码实现单片机控制LED灯闪烁的功能。

代码如下:#includesbit LED = P2^0; // 将LED连接到P2.0口void delay// 延时函数{int i, j;for (i = 0; i < 100; i++)for (j = 0; j < 1000; j++);}void main{while (1) // 无限循环{LED = 0; // 点亮LED灯delay// 延时LED = 1; // 熄灭LED灯delay// 延时}}4. 在Keil软件中编译代码,生成HEX文件。

5. 将生成的HEX文件下载到STC89C52单片机开发板中。

6. 将LED灯连接到P2.0口上,保证正极连接到P2.0口,负极连接到GND。

7. 接通电源,LED灯开始闪烁。

实验结果:经过实验,可以看到LED灯在程序的控制下不断闪烁,每次亮灭的时间间隔为延时函数设置的时间。

实验总结:本实验通过单片机控制LED灯闪烁的实验,初步了解了单片机的基本操作和IO口的使用。

通过编写简单的代码,我们可以控制单片机的输出,实现各种不同的功能。

在今后的学习中,我们可以进一步学习单片机的其他功能,如输入输出、定时器、中断等,从而更深入地了解单片机的应用。

单片机LED灯实验报告

单片机LED灯实验报告

单片机LED灯实验报告
本次实验我们使用单片机控制LED灯的亮灭,这是一个非常简单的实验,适合初学者。

1、实验原理
单片机是一种集成电路芯片,具有计算机的基本结构和功能,可以通过编程实现对外
设的控制。

在本实验中,我们通过编程控制单片机的输出口,使其控制LED灯的亮灭。

2、实验器材
1)单片机开发板
2)LED灯
3)导线
4)电池
5)万用表
3、实验步骤
第一步:连接电路,将开发板上的输出口与LED灯的正极连接起来,将GND和LED灯
的负极连接起来。

第二步:打开开发板和计算机,用Keil uVision软件编写程序,将程序下载至单片机。

第三步:将电池接电,观察LED灯的亮灭情况。

第四步:使用万用表进行电压和电流检测,确保电路工作正常。

4、实验结果
当单片机控制输出端口时,LED灯会随之变化。

当单片机输出低电平时,LED灯熄灭;输出高电平时,LED灯亮起。

通过这次实验,我们掌握了单片机的基本原理和一些控制技巧。

这对于我们以后了解
和使用单片机会有很大的帮助。

同时,也加深了我们对电路基础知识的认识和理解。

单片机指示灯循环控制实验报告

单片机指示灯循环控制实验报告

嘉应学院物理与光信息科技学院单片机原理及应用实验学生实验报告实验项目:指示灯循环控制实验地点:工A310班级:姓名:座号:指导老师:实验时间:年月日一、实验目的掌握uVision3编译软件,掌握C51编程与调试方法。

二、实验原理实验原理图如图所示:图中中8只LED指示灯接于P0口,且都接有上拉电阻。

时钟电路、复位电路、片选电路与前面的实验电路相同。

在编程软件的配合下,要求实现如下功能:8只发光二极管做循环点亮控制,且亮灯顺序为D1,D2,D3,---D8,D7,---D1 ,编程原理为:首先使P0.0 1,其余端口0,这样可使D1灯亮,其余灯灭;软件延迟0.5s后,使P0口整体左移1位,得到P0.1 1,其余端口0,这样可使D2灯亮其余灯灭:照此思路P0整体左移7次,再右移7次,如此无限往复即可实现上述功能。

三、实验内容:(1)熟悉μVision3编程软件,了解软件结构与功能;(2)完成实验3的C51语言编程;(3)掌握在μVision3中进行C51程序开发方法。

四、实验步骤1、提前阅读与实验3相关的阅读材料;2、参考书本实验3,在ISIS中完成电路原理图的绘制:(1).启动ISIS模块从Windows的“开始”菜单中启动Proteus ISIS模块,可进入仿真件的主界面,如图所示可以看出,ISIS的编辑界面是标准的Windows软件风格,由标准工具栏、主菜单栏、绘图工具栏、仿真控制工具栏、对象选择窗口、原理图编辑窗口和预览窗口等组成。

(2).元件和电源的选取、摆放及属性编辑,总线与标签的画法等内容元件的选取:单击左侧绘图工具栏中的“元件模式”按観和对象选择按観“P”,弹出“PickD evices”元件选择窗口,如图:单击对象选择列表中的元件名称,预览窗口中出现的图形单击编辑窗口,元件以红色轮廓图形出现(选中状态),拖动鼠标使元件轮廓移动到所需位置,再次单击可固定摆放位置,同时也撤销选中状态(变为黑色线条图形)。

单片机实验报告

单片机实验报告

一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。

2. 掌握单片机最小系统的搭建方法。

3. 学习使用单片机编程软件进行程序编写和调试。

4. 通过实际操作,加深对单片机应用的理解。

二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。

2. 软件环境:Keil uVision5、Proteus仿真软件。

三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。

(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。

② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。

2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。

(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。

② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。

3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。

(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。

② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。

LED灯闪烁控制

LED灯闪烁控制

太原理工大学单片机原理与应用技术课程实验报告专业班级学号姓名指导教师LED 灯闪烁控制一、实验目的(1)掌握C语言、汇编语言编写单片机控制程序的方法;(2)掌握使用Keil C软件编写、编译、调试程序的方法;(3)掌握使用Proteus软件绘制电路原理图、硬件仿真和程序调试;(4)理解LED灯控制电路原理和延时程序的编写。

二、实验硬件和软件计算机1台,并安装Proteus软件和Keil C51软件。

三、实验任务在单片机I/O口上外接一个发光二极管LED,通过程序实现LED闪烁显示,即不停地一亮一灭,亮、灭持续时间均为0.2秒。

四、实验电路及分析实验电路如图所示,在P1.7口(也可选择其它端口)外接一个发光二极管D1,分析可知P1.7输出“0”时,D1点亮,P1.7输出“1”时D1熄灭。

LED 灯闪烁控制电路图五、实验程序编写1.程序编写(1)C语言程序#include <reg51.H>sbit D1=P1^7;void Delayms(unsigned int n){ unsigned int i, j;for(j=n; j>0;j--)for(i=112; i>0; i--);}int main( ){ while(1){ D1=0;Delayms(200);D1=1;Delayms(200);}}(2)程序流程图六、实验步骤1.利用Proteus软件绘制仿真电路图(1)打开Proteus软件,File→New Project进入工程创建向导,选择项目文件存放路径,项目文件名为“实验1.pdsprj”。

(2)创建原理图(schematic),默认模板为default,可根据电路规模选择合适的图纸大小。

(3)选择“Do not create a PCB layout”,即不绘制PCB图。

(4)选择第一项“No Firmware Project”,即不在Proteus平台下创建源程序。

51单片机实验报告

51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。

本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。

二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。

为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。

然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。

三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。

本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。

通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。

四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。

本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。

通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。

五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。

本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。

通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。

六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。

本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。

通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。

七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。

本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。

通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。

八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。

51单片机实验报告

51单片机实验报告

51单片机实验报告51单片机是一种广泛应用于控制领域的微型处理器。

本文将介绍我所进行的两个基础实验,包括实验目的、实验内容、实验原理和实验结果。

实验一——点亮LED灯实验目的:了解51单片机的基本接口和编程方法;学会使用单片机的开发工具和调试器;掌握51单片机控制LED灯的方法。

实验内容:将LED灯连接至51单片机的P1.0引脚,并进行控制。

编写程序,使得LED灯能稳定地点亮。

实验原理:单片机可通过其IO口控制外部设备,使用高低电平来控制LED灯的开关。

P1.0是51单片机的一个输出端口,可通过赋予其电平状态从而控制LED的点灯与熄灭。

当单片机输出高电平时,LED灯会点亮,否则会熄灭。

实验结果:经过编写程序和调试后,成功实现了LED灯的点亮和熄灭。

按下按键即可改变LED的状态。

实验二——数码管计数器实验目的:了解51单片机的数字口和中断响应机制;掌握编写定时器中断程序的方法;学会使用键盘进行输入和外接数码管进行输出。

实验内容:通过对8位数码管控制台的编程,实现对数字的控制,使用定时器中断实现计数器功能,加深对51单片机中断响应机制的理解。

实验原理:单片机中断请求源包括外部中断源、定时器/计数器中断源以及串口中断源。

本次实验使用定时器中断,可实现一定时间间隔内数字的加减;使用键盘进行输入,采用P3口中断请求源实现按键响应,输出则通过数码管接口外设实现。

实验结果:通过定时器计数器、中断响应和数码管接口外设,成功实现一组数字的计数。

按下按键即可进行数字的加减,并通过数码管显示出来。

结语:本文所述实验为51单片机的基础操作,相信可以为读者提供实用的参考和帮助,帮助大家更加深入地理解51单片机的基础知识和使用方法。

开关控制LED灯

开关控制LED灯

太原理工大学单片机原理与应用技术课程实验报告专业班级学号姓名指导教师开关控制LED灯一、实验目的(1)进一步熟悉Keil和Proteus软件的操作;(2)掌握开关检测方法。

二、实验硬件和软件计算机1台,并安装Proteus软件和Keil C51软件。

三、实验任务任务一:根据实验电路图所示,开关K1(接在P1.4端口上),用发光管L1(接在P1.0端口上)显示开关状态,编程实现开关闭合时,L1亮;开关断开时,L1熄灭。

任务二:根据实验电路图所示,单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程实现开关状态显示到发光二极管上(开关闭合,对应发光管亮;开关断开,对应发光管灭)。

四、实验电路及分析(1)开关状态检测单片机对开关状态的检测是从I/O端口(P1.4-P1.7)输入信号,输入的信号只有高电平和低电平两种,当开关(K1-K4)打开时,即输入高电平,当开关闭合时,输入低电平。

当采用汇编语言编程时,可以采用JB BIT,REL或者是JNB BIT,REL指令来完成对开关状态的检测。

(2)开关循环检测四个开关需要循环检测,根据每个开关的状态在I/O端口(P1.0-P1.3)输出相应的值。

采用汇编语言编程时,可以逐个检测开关(JB P1.X,REL或JNB P1.X ,REL),也可以一次读入P1端口的状态,采用MOV A,P1,然后取高4位的值。

五、实验程序编写1.任务一C语言程序#include <reg51.H>sbit K1=P1^4;sbit L1=P1^0;int main(){while(1){ if(K1==0)L1=0;elseL1=1;}}2.任务二C语言程序#include <reg51.H>unsigned char temp;int main(){while(1){temp=P1>>4;temp=temp | 0xF0;P1=temp;}}六、实验步骤1.利用Proteus软件绘制仿真电路图(1)打开Proteus软件,File→New Project进入工程创建向导,选择项目文件存放路径,项目文件名为“实验3.pdsprj”。

单片机流水灯闪烁实训报告

单片机流水灯闪烁实训报告

一、实验目的1. 熟悉单片机基本原理和组成,掌握单片机编程的基本方法。

2. 理解单片机I/O口控制LED灯的原理,实现流水灯闪烁功能。

3. 提高单片机实际应用能力,为以后从事相关领域工作打下基础。

二、实验原理1. 单片机简介:单片机(Microcontroller Unit,MCU)是一种将中央处理器(CPU)、存储器(RAM、ROM)、输入/输出接口(I/O)、定时器/计数器、串行通信接口等集成在一个芯片上的微型计算机。

2. LED灯简介:LED(Light Emitting Diode)是一种发光二极管,具有体积小、亮度高、寿命长、响应速度快等优点,广泛应用于各种显示、照明等领域。

3. 流水灯闪烁原理:通过单片机的I/O口控制LED灯的亮与灭,实现流水灯效果。

本实验中,采用定时器中断的方式,定时改变LED灯的状态,从而实现闪烁效果。

三、实验设备1. 单片机开发板:选用STC89C52单片机开发板。

2. LED灯:8个LED灯。

3. 电阻:8个220Ω电阻。

4. 连接线:若干。

5. 仿真软件:Proteus。

四、实验步骤1. 搭建电路:将8个LED灯依次连接到单片机的P1口,每个LED灯串联一个220Ω电阻,以保护LED灯。

2. 编写程序:使用C语言编写单片机程序,实现流水灯闪烁功能。

3. 编译程序:将编写好的程序编译成机器码。

4. 仿真测试:在Proteus中加载编译好的程序,观察LED灯的闪烁效果。

5. 实际测试:将程序烧录到单片机中,观察LED灯的闪烁效果。

五、程序设计1. 初始化:设置单片机的I/O口、定时器等。

2. 定时器中断:设置定时器中断,定时改变LED灯的状态。

3. 主循环:在主循环中不断读取定时器中断标志,根据标志改变LED灯的状态。

4. 代码示例:```c#include <reg51.h>#define LED P1void Timer0_Init(void) {TMOD = 0x01; // 设置定时器0为模式1TH0 = 0xFC; // 设置定时器0初始值TL0 = 0x66;ET0 = 1; // 开启定时器0中断EA = 1; // 开启全局中断TR0 = 1; // 启动定时器0}void main(void) {unsigned char i = 0;LED = 0xFF; // 初始化LED灯Timer0_Init(); // 初始化定时器while (1) {if (TF0) { // 定时器0溢出中断TF0 = 0; // 清除溢出标志TH0 = 0xFC; // 重新加载定时器0初始值TL0 = 0x66;for (i = 0; i < 8; i++) {LED = ~(1 << i); // 改变LED灯状态delay(1000); // 延时1秒}}}}void delay(unsigned int ms) {unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 120; j++);}```六、实验结果与分析1. 实验结果:LED灯按照预设的规律闪烁,实现了流水灯效果。

洛阳理工单片机实验报告1只LED灯闪烁控制

洛阳理工单片机实验报告1只LED灯闪烁控制

洛阳理工单片机实验报告1只LED灯闪烁控制
本实验利用洛阳理工学院提供的51单片机开发板和Keil编程软件,实现了控制一只LED灯的闪烁。

完成了以下内容:
1. 确定硬件连接
2. 确定软件流程
3. 编写程序代码
4. 下载程序到开发板中测试
5. 总结
1. 确定硬件连接
本次实验使用的硬件为洛阳理工学院提供的51单片机开发板,其主要的硬件连接如下:
- P1口:控制LED灯的亮灭
- VCC口:正电源
- GND口:地
2. 确定软件流程
根据硬件连接,本次实验的软件流程可大致分为以下几步:
- 配置P1口
- 设置LED灯亮、灭的时间间隔
- 循环控制LED灯的闪烁
3. 编写程序代码
下面是本次实验的程序代码:
```c
#include <reg52.h>
sbit LED = P1^0; // 定义LED连接的口
void Delay(unsigned int time) // 等待函数
{
unsigned int i,j;
for(i=0; i<time; i++)
{
for(j=0; j<1275; j++);
}
}
4. 下载程序到开发板中测试
将程序代码编译成HEX文件后,使用下载工具将程序下载到51单片机开发板中。

下载完成后,控制板上的LED灯会开始闪烁。

5. 总结
本次实验学习了51单片机的开发环境和基本语法,并实现了控制一只LED灯闪烁的功能。

在此过程中,对计算机基础和电路原理有了更深入的认识,也加强了是对单片机开发的理解,为以后的学习打下了坚实的基础。

c51单片机实验报告

c51单片机实验报告

c51单片机实验报告
《C51单片机实验报告》
C51单片机是一种广泛应用于嵌入式系统中的微控制器,具有高性能、低功耗和丰富的外设接口,因此在各种电子设备中得到了广泛的应用。

本次实验将以C51单片机为研究对象,通过实验验证其性能和功能。

实验一:LED灯控制实验
首先,我们将C51单片机与LED灯连接起来,通过程序控制LED灯的亮灭。

实验结果表明,C51单片机可以准确地控制LED灯的亮度和闪烁频率,具有良好的稳定性和可靠性。

实验二:蜂鸣器控制实验
接着,我们将C51单片机与蜂鸣器连接起来,通过程序控制蜂鸣器的发声。

实验结果显示,C51单片机可以精准地控制蜂鸣器的音调和音量,具有较高的音频输出质量。

实验三:温湿度传感器实验
最后,我们将C51单片机与温湿度传感器连接起来,通过程序读取并显示温湿度数值。

实验结果表明,C51单片机可以准确地读取传感器的数据,并通过显示屏输出,具有良好的数据处理能力。

通过以上实验,我们验证了C51单片机在LED灯控制、蜂鸣器控制和温湿度传感器应用方面的性能和功能。

C51单片机具有较高的稳定性、可靠性和可编程性,适用于各种嵌入式系统的设计与开发。

希望本次实验报告能够对C51单片机的应用和研究提供一定的参考价值。

实验三—— LED指示灯循环控制

实验三—— LED指示灯循环控制

实验课程:单片机原理及应用实验名称: 实验三——LED指示灯循环控制实验日期: 2013 年 4 月10 日一、实验目的熟悉μVision3编译软件、掌握C51编程与调试方法。

二、实验内容1、按照教材P227的图A.32,绘制实验三电路原理图2、根据功能要求,编写C51程序3、练习μVision3程序动态调试方法,并最终实现8个LED灯依次点亮的功能: P0.0→P0.1→P0.2→P0.3→┅→P0.7→P0.6→P0.5→┅→P0.0的顺序,无限循环,间隔约50ms4、观察仿真结果,完成实验报告。

三、实验要求1、采用proteus + Keil联合仿真法运行C51程序,并练习采用单步、断点以及监视窗等手段进行程序调试2、提交的实验报告中应包括:电路分析及原理图、编程思路及C51源程序、调试过程简述,仿真运行效果以及实验小结。

3、提交实验报告的电子邮件主题及存盘1、电路分析及原理图图1 LED指示灯循环控制电路原理图图中LED指示灯外接于P0口。

由于P0口作为I/O口使用时是漏极开路的,需要外接上拉电阻因而图中还加有8只100的电阻。

此外,还包括时钟电路和复位电路图中的时钟电路和复位电路与实验1计数显示器相同。

2、编程思路及C51源程序编程要求:程序启动后8只发光二极管做循环点亮控制其中灯亮顺序为P0.0→P0.1→P0.2→P0.3→……P0.7→P0.6→P0.5→……→P0.0无限循环两次LED 灯亮的时间间隔约为0.5秒。

根据题目要求程序中应该有一个延时子程序用来每次延时0.5秒还要有两个循环结构分别控制由上到下和由下到上还应该有一个控制LED发光的数据。

LED指示灯循环控制程序如下:#include"reg51.h" //预处理命令单片机头文件char led[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //LED灯花样数据void delay(unsigned int time) //延时函数delay声明{unsigned int j=0; //定义无符号整形变量初值为0 for(;time>0;time--) //采用for结构的外层循环for(j=0;j<125;j++); //采用for结构的内层循环}void main() //主函数{char i;while(1) //采用while结构的无限循环体{for(i=0;i<=7;i++) //由上向下循环控制{P0=led[i];delay(200); //调用函数delay延时50ms }for(i=7;i>=2;i--) //由下向上循环控制{P0=led[i-1];delay(200); //调用函数delay延时50ms}}3、调试过程简述采用proteus + Keil联合仿真法运行C51程序基本方法:输入源程序→建立工程→对工程进行详细设置→将源程序变为目标代码→运行调试。

单片机彩灯实验

单片机彩灯实验

实验名称华中科技大学彩灯控制实验指导教师曹丹华专业班级光实1201 姓名学号一、任务要求实验内容:利用C8051F310单片机设计一个彩灯控制器主要功能和技术指标要求:1. 控制LED七段数码管按照特定方式闪烁。

2. 闪烁模式不少于4种。

3. 利用键盘控制彩灯闪烁模式切换。

提高要求:使用按键(KINT)控制LED灯闪烁频率,闪烁频率多级可调。

二、设计思路功能实现:不按键时显示器最开始显示“love”,从左至右,每隔0.2s闪烁一个字母,响完一个周期,响一次蜂鸣器,继续循环。

按下Kint键,频率变慢,连续按频率更慢,变为之前的一半,分为四个档,直到变为最开始的1/8后,继续按变回最开始的频率。

按键K0,K1,K2,K3时,显示屏上的图形变为从右至左的再从左至右的“L”,每个“L”间隔为0.2S,响完一轮响一次蜂鸣器,频率同样可以按KINT键调节。

按键K4,K5,K6,K7时,显示屏上的图形变为从右至左的“O”,每个“O”间隔为0.2S,响完一轮响一次蜂鸣器,频率同样可以按KINT键调节。

按键K8,K9,K10,K11时,显示屏上的图形变为从右至左的“V”,每个“V”间隔为0.2S,响完一轮响一次蜂鸣器,频率同样可以按KINT键调节。

按键K12,K13,K14,K15时,显示屏上的图形变为从右至左的“E”,每个“E”间隔为0.2S,响完一轮响一次蜂鸣器,频率同样可以按KINT键调节。

设计思路:先进行初始化设置,利用Config2软件生成初始代码,关闭看门狗,设置P0,P1,P2端口的输入输出形态,控制P0.6,P0.7与P1,来得到想要的图形,并利用延时控制好视觉效果,最重要的是在延时程序中插入扫描键盘的程序,这样每次显示图形的时候都能扫描一次键盘,能使频率和图形随时根据键盘发生改变,扫描键盘后判断有无按键,无按键继续显示之前的图形,有按键再跳到对应的图形显示程序,反复循环。

扫描键盘时先扫描KINT键,看P0.1是否为低电平,不是则延时不变,是则改变延时程序的循环次数来改变频率。

单片机io口控制led实验报告

单片机io口控制led实验报告

单片机io口控制led实验报告
一、实验背景
单片机是一种集成电路,它可以通过编程来控制各种电子设备。

在这个实验中,我们将学习如何使用单片机的IO口来控制LED灯。

二、实验材料
1. STC89C52RC单片机开发板
2. LED灯
3. 220欧姆电阻
4. 杜邦线
三、实验原理
单片机的IO口可以用来控制数字信号。

当IO口输出高电平时,LED 灯就会亮起来;当IO口输出低电平时,LED灯就会熄灭。

为了保护单片机和LED灯,我们需要使用一个220欧姆的电阻。

这个电阻可以限制电流流过LED灯和单片机之间的连接。

四、实验步骤
1. 将一个杜邦线连接到单片机的P
2.0引脚。

2. 将另一个杜邦线连接到单片机的GND引脚。

3. 将一个220欧姆的电阻连接到P2.0引脚和LED正极之间。

4. 将另一个杜邦线连接到LED负极。

5. 将另一个220欧姆的电阻连接到LED负极和单片机的GND引脚之间。

五、实验结果
当单片机的P2.0引脚输出高电平时,LED灯会亮起来;当P2.0引脚输出低电平时,LED灯会熄灭。

六、实验总结
这个实验展示了如何使用单片机的IO口来控制数字信号。

我们还学习了如何使用电阻来保护单片机和LED灯。

在实际应用中,我们可以使用单片机的IO口来控制各种设备,例如电机、传感器等。

这个实验是学习单片机编程的基础,对于想要深入学习嵌入式系统开发的人来说是非常重要的。

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文
一、实验目的
通过本次实验,掌握单片机的基本原理与编程方法,熟悉单片机的开发环境,技能,了解单片机的必要电路原理。

二、实验器材和软件
器材:STC89C52单片机板、开发环境、PC机、线路板、电源、按钮开关、LED灯、蜂鸣器等。

软件:Keil uVision4编译器。

三、实验内容
1.点亮一个LED灯
将LED灯连接到单片机的1号引脚,通过编写程序点亮LED灯。

2.使用按钮开关控制LED灯
将按钮开关连接到单片机的2号引脚,编写程序使按钮开关控制LED 灯的亮灭。

3.通过串口将数据发送给PC机
设置单片机与PC机进行串口通信,通过编写程序将单片机中的数据发送给PC机。

四、实验步骤
1.按照实验器材和软件的要求搭建实验电路。

五、实验结果与分析
实验中点亮一个LED灯、使用按钮开关控制LED灯、通过串口将数据发送给PC机的实验均取得了预期的结果,显示出了单片机的基本原理与编程方法。

六、实验总结
通过这次实验,我深入了解了单片机的工作原理和编程方法,掌握了单片机的开发环境和技能,学会了使用单片机将数据发送到PC机,并能通过编程控制LED灯的亮灭。

实验过程中也遇到了一些问题,如电路连接不正确、程序代码错误等,但通过仔细排查和调试,最终解决了问题。

这次实验使我对单片机的实际应用有了更深的认识,也为今后进一步学习和应用提供了基础。

参考资料:
无。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验报告-LED灯控制器.doc
本文主要介绍了一款基于51单片机的LED灯控制器的设计与实现,讲述了设计过程及原理,并列举了操作方法和应用场景。

一、设计过程
1. 系统结构设计
本系统主要包括三个模块:单片机模块、按键输入模块和LED控制模块。

单片机模块主要负责控制整个系统的运行,所以选用了AT89C51单片机;按键输入模块通过按键输入来控制LED灯的亮灭和灯光颜色的选择;LED控制模块通过单片机控制LED灯的亮度和颜色。

2. 硬件电路设计
按键输入模块主要是通过8个按键输入实现。

通过8个按键分别控制LED的开关和颜色的选择,具体实现原理如下:当按键按下时,对应的IO口从高电平变为低电平,单片机从低电平口读取输入数据,判断按键的状态,并进行相应的操作。

由于按键输入电平不稳定,需要增加一个脉冲抗干扰的电路,以保证按键输入的稳定性。

LED控制模块主要采用的是3路PWM调光电路,配合RGB LED灯实现颜色选择。

该PWM 调光电路是通过改变占空比来实现LED灯的亮度控制,实现原理如下:单片机通过PWM信号控制三个三极管的ON/OFF,以调节LED灯的亮度。

3. 软件程序设计
主要实现功能包括:初始化系统、按键读取、LED颜色选择、LED亮度调节等。

初始化系统:主要是对单片机进行初始化,包括IO口配置、定时器/计数器配置等。

按键读取:通过循环扫描的方式,读取按键输入,判断按键状态,根据不同的按键按下情况进行相应的操作。

LED颜色选择:通过按键选择不同的颜色,将对应的PWM输出数字量传递给三联杆TRIAC,实现LED灯颜色的选择。

二、系统实现及测试
我们根据以上设计过程,设计出了一个简单的LED灯控制器,通过51单片机控制按键输入和LED亮度和颜色的选择,实现了简单的灯光场景切换。

2. 系统测试
经过实际测试,系统可以稳定运行,按键输入灵敏度、LED亮度和颜色切换效果均达到预期目标。

三、操作方法
1. 颜色选择
按下对应颜色的按钮即可选择对应颜色。

2. 亮度选择
四、应用场景
本款LED灯控制器可以广泛应用于各种场景中,如家庭、商业、娱乐等领域。

例如:酒店、咖啡馆、酒吧等娱乐场所,可以通过控制器的颜色和亮度切换来调整氛围,为客户提供更好的服务体验。

在家庭中,可以通过控制器的亮度和颜色切换来调节房间的氛围,使房间更加舒适温馨。

相关文档
最新文档