单片机初级篇—单个指示灯闪烁

合集下载

LED灯闪烁实验总结

LED灯闪烁实验总结

课程名称:Zigbee技术及应用实验项目: LED灯闪烁实验指导教师:专业班级:姓名:学号:成绩:1.实验目的(1)学习单片机IO口配置与驱动,实现指示灯LED1闪烁,频率为1Hz;(2)通过模块化编程,养成良好编程习惯。

2.实验设备(1)CC2530核心板一块;(2)传感器底板一个;(3)仿真器一个;(4)方口USB线一根;3.实验原理3.1硬件设计原理本实验的原理如图1-1所示。

其中,LED1和LED3都串联一个R273和R275限流电阻,然后连接到CC2530的P1口的P1_1和P1_0管脚上。

当P1_1为低电平时,LED1上有电流流过,LED1被点亮,反之熄灭。

图1-1 LED灯原理图限流电阻R的计算:图中R273和R275限流电阻,其计算公式如下:R=(U-UF)/ID (1-1)式中,U为电路供电电压,UF为LED正向压降,ID为LED的工作电流。

对于普通LED发光二极管,其正向压降:黄色为1.4V、红色为1.6V、蓝/白色为2.5V;点亮工作电流为3-20mA。

由图1-1可知,电路供电电压为U=3.3V,LED1选择为黄色发光二极管(压降是1.4V),带入(1-1)式可得R的取值范围是95-633Ω,电阻只要在此范围内即可,一般选择了470Ω的常用电阻。

从图1-1可以看出,如果要让LED1发光,需要设置CC2530对应的I/O口将LED电平拉低。

本实验我们只点亮LED1指示灯,所以只要设置LED1为低电平即可,所以只要我们知道LED1与CC2530哪个管脚相连就可以进行编程。

随着这个思路我们在原理图中找到LED1与CC2530芯片的P1_1管脚连接,将P1_1管脚拉低LED1即被点亮。

3.2程序设计原理(1)主程序分析本实验的程序流程如图1-2所示,其重点IO口的配置。

如果以1Hz的频率点亮LED1闪烁,则需要配置P1_1为输出,然后在P1_1输出1Hz的脉冲信号。

图1-2 程序逻辑流程图(2)IO 端口配置P1口通过特殊功能寄存器P1SEL (P1口功能选择寄存器)和P1DIR (P1口方向寄存器)进行配置,其定义如下。

单片机实训报告单灯闪烁

单片机实训报告单灯闪烁

一、实训目的1. 熟悉单片机的基本结构和原理;2. 掌握单片机的编程方法;3. 熟练使用单片机进行单灯闪烁实验,加深对单片机原理的理解;4. 提高动手实践能力和问题解决能力。

二、实训器材1. 单片机实验箱;2. 编译器(如Keil uVision);3. 发光二极管(LED);4. 电阻;5. 电路板;6. 电源;7. 导线。

三、实训原理单片机(Microcontroller Unit,MCU)是一种将计算机的中央处理单元(CPU)、存储器(RAM、ROM)、定时器、计数器、并行I/O口、串行通信接口等集成在一个芯片上的微型计算机。

本实训以单灯闪烁为例,说明单片机的编程和实际应用。

单灯闪烁的原理是利用单片机的I/O口控制LED灯的亮灭。

具体来说,通过设置I/O口的输出电平,控制LED灯的电流,从而实现LED灯的亮灭。

在单片机中,I/O口可以设置为输出模式或输入模式。

本实训中,将I/O口设置为输出模式,通过控制I/O口的输出电平,实现LED灯的闪烁。

四、实训步骤1. 硬件连接(1)将LED灯的阳极(正极)连接到单片机的I/O口(如P1.0);(2)将LED灯的阴极(负极)通过限流电阻连接到电源的负极;(3)将单片机的VCC连接到电源的正极,将GND连接到电源的负极。

2. 编写程序(1)使用Keil uVision编译器编写程序,编写程序如下:```c#include <reg51.h> // 包含单片机寄存器定义头文件#define LED P1^0 // 将LED灯连接到P1.0口void delay(unsigned int ms) // 延时函数,ms为延时时间(毫秒){unsigned int i, j;for (i = 0; i < ms; i++)for (j = 0; j < 120; j++);}void main(){while (1){LED = 0; // 点亮LED灯delay(500); // 延时500msLED = 1; // 熄灭LED灯delay(500); // 延时500ms}}```(2)编译程序,生成HEX文件。

单片机应用技术(C语言版)习题参考答案

单片机应用技术(C语言版)习题参考答案

⑴将 m 中的数据从 P1 口输出。
⑵将 mybit 中的数据从 P1.2 口线输出。
⑶将 P1.5 口线置 1。
⑷将 P1.0 口线清 0。
⑸读 P1 口的输入状态,并保存至 m 中。
⑹读 P1.7 口线输入状态,并保存到 mybit 中。
【解】
⑴ sfr P1=0x90;
unsigned char m;
3.用 C51 设计单片机程序时,应尽量使用 无符号字符 型和 位 型数据,以便提高程 序的运行速度。
4.写出下列常量和变量的定义式: ⑴值为 20 的符号常量 KTIM。 ⑵无符号字符型变量 i、j。 ⑶带符号整型变量 k。 ⑷浮点型变量 f。 ⑸有符号的长整型变量 sl。 ⑹位变量 mybit。 ⑺定义无符号字符型变量 i、j,并给 i 赋值 3、j 赋值 4。 【解】 ⑴ #define KTIN 20 ⑵ unsigned char i,j; ⑶ int k; 或者 signed int k; ⑷ float f; ⑸ long sl; 或者 signed long sl; ⑹ bit mybit; ⑺ unsigned char i=3,j=4; 5.语句“i=(j=3)+(k=4);”的含义是 求求两个赋值表达式“j=3”与“k=4”的和,并 将和值赋给变量 i ,语句执行后 i= 7 ,j= 3 ,k= 4 。 6.若有下列定义:
int i=0x1234; unsigned char j; 语句“j=i;”执行后,i= 0x1234 ,j= 0x34 。 7.若有下列定义: int i; unsigned char j=0x82; 语句“i=j;”执行后,i= 0x0082 。 8.若有下列定义: unsigned int i; char j=0x82; 语句“i=j;”执行后,i= 0xff82 ,j= 0x82 。 9.定义下列特殊功能寄存器和特殊位: ⑴特殊功能寄存器 P0、P1、P2、P3。 ⑵16 位特殊功能寄存器 RCAP2,RCAP2 的低字节地址为 0xca,高字节地址为 0xcb。

单片机实验指导书

单片机实验指导书

实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。

(2)、培养程序编制及调试的方法。

(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。

二、实验要求:(1)、给出程序设计流程图。

(2)、设计数制转换实验程序。

(3)、记录单片机实验板晶体振荡器的波形图。

(4)、记录单片机实验板上电复位电路的波形图。

三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。

(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。

在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。

(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。

也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。

实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。

此时,如果系统工作正常,会在显示器上显示“HB--51”。

如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。

此时按一下红色的手动复位按钮,系统就应当正常工作了。

如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。

led闪烁实验报告

led闪烁实验报告

竭诚为您提供优质文档/双击可除led闪烁实验报告篇一:单片机实验--LeD灯闪烁实验实验报告课程名称实验项目20XX年3月13日【实验目的】1.掌握51单片机开发板的使用步骤;2.掌握51单片机开发板所需软件的安装过程;3.以LeD灯闪烁为例子,掌握软件KeIL3的使用方法。

熟悉51单片机开发板的使用【实验环境】1.实验仪器、设备计算机、51单片机开发板2.软件usb驱动程序、KeLL开发软件3.实验过程51单片机开发板的使用步骤1)安装usb驱动程序;2)安装KeIL开发软件3)在KeIL环境中编写和调试程序4)用程序烧录软件,将单片机程序烧录到单片机51单片机开发板所需软件的安装过程1)安装usb驱动程序2)设置串口LeD灯闪烁的程序的编写、调试和烧录。

【实验内容】1.内容一1.1操作过程(1)将单片机开发板的电源与pc的usb口相连;(2)在pc机上安装usb_Driver驱动程序的安装,具体安装步骤,请参见《文件驱动程序安装说明.pdf》;设置串口,请参见《设置串口.pdf》;(3)在pc机上安装KeILV3软件,具体安装步骤,请参见《安装说明.TxT》;(4)运行KeIL3软件,软件的具体使用方法,请参见请参见《keil入门.pDF》文件;(5)在KeIL软件中,创建内容如下的c程序,文件名为学生自己的学号:(6)编译和调试,修改程序错误;(7)使用软件《pZIsp自动下载软件.exe》将程序烧录到单片机中,观察现象是否与正常;(8)再在原来程序的基础上,修改程序,实现功能较复杂的程序。

(9)编写内容如下的汇编程序,文件名为学生学号.asm:1.2操作结果程序下载成功后,则单片机开发板上的8个LeD灯将闪烁。

下图为LeD灯电路图。

1.3结果分析主程序中有:(1)p2=0x00;(2)delay(600);(3)p2=0xff;(4)delay(600);第一条程序为置p0口为低电平,点亮p2口8个LeD;,第二条程序为调用延时程序,等待一段时间熄灭,第三条程序为置p0口为高电平,熄灭p2口8个LeD灯;最后一条程序为调用延时程序。

开关控制单个led灯--51单片机从零开始-实践篇(基于protues及keil vu4)

开关控制单个led灯--51单片机从零开始-实践篇(基于protues及keil vu4)

51单片机从零开始基于protues和keil uv4的开关控制首先是keil uv4的程序由于是入门篇第一讲,我将如何建立工程给大家稍微说一下点击project-new uvision project建立新的工程在此我们可以选择工程的存放目录选择好目录后在文件名处写上工程名,工程名支持中文和英文。

(后缀无需写,程序会自动补充)我们会遇到这样的界面,由于本教程是针对51系列单片机的,所有我们下拉选择atmel的at89c51作为最初的选择,后续的如at89c52.at89c516等都是一样的他们是51的同类或者说更高的版本选择at89c51后系统会提示你是否需要历程(额英语真心不好,大致是这意思)我们选择否后自己进行编程新建文件保存文件名(注意,用c语音编程需要在文件名后加.c 如led.c)下面我们双击左边的source group会见到这样的选项,意思是选择将文件添加至工程我们双击led.c即可添加至工程文件里。

(注:多次点击会出现如上提示,意味已添加的不能再次添加,我们关闭即可)关于keil的准备工作完成下面开始编程以下是第一个例程,关于单片机通过开关控制led亮灭#include<reg51.h>sbit a=P0^0;//定义led灯的接口为P0^0 等号前为自由定义的自变量(注意不能用关键字定义)sbit key=P0^1;//定义开关的接口为P0^1void main(){while(1)//无限循环,采用扫描模式,不断扫描P0^1口,即开关是否闭合{if(key==0)//当开关闭合时()a=0;//led点亮注:led低电平点亮=0意味低电平elsea=1;//led熄灭}}。

单片机控制LED灯点亮(C语言)PPT课件

▪ 以下各数是合法的十六进制整常数: 0X2A( 十进制为42) 0XA0 (十进制为160) 0XFFFF ( 十进制为65535)
▪ 以下各数不是合法的十六进制整常数: 5A ( 无前缀0X) 0X3H (含有非十六进制数码)
.
26
各种进位制的对应关系
十进制 二进制
0
0
1
1
2
10
3
11
4
100
单片机控制 led灯点亮
.
1
主要内容
▪ 一、点亮板子上的第一个灯D0 ▪ 二、点亮板子上的D0、D2、D4、
D6灯,与D1、D3、D5、D7灯交替 闪烁 ▪ 三、流水灯:从D0---D7依次点亮
.
2
▪ 一、点亮板子上的第一个灯D0
1)目标 了解单片机的基本设计思路和编
程方法,和单片机的最小系统。 2)分析
片,文件的扩展名为.HEX,默认情况下该项
未被选中,如果要写芯片做硬件实验,就必
须选中该项。其余选项均取默认值,不做任
何修改。
.
17
6.编译项目并创建HEX文件
▪ 可以通过工具栏中的图标直接进行。从左到 右的图标分别是:编译、编译连接、全部重 建、停止编译和对工程进行设置。
.
18
▪ 对源程序编写之后编译,最终要得到结果, 提示0个错误,0个警告。同时还可看到,该 程序的内部RAM的使用量(data=8.0),外 部RAM的使用量(xdata=0),代码量( code=18)等一些信息。
unsigned int unsigned short int unsigned long int
float double char unsigned char

c51闪烁一个led灯的程序

P14插针是8个LED的输出插针,使用8P杜邦线从P14的8个插针连接到单片机P1口。
/*-----------------------------------------------
内容:点亮P1口的1个LED灯闪烁
该程序是单片机学习中最简单最基础的,
通过程序了解如何控制端口的高低电平
------------------------------------------------*/
//用于改变闪烁频率
L1=1; //将P0.0口赋值1,对外输出高电平
Delay(10000);
//主循环中添加其他需要一直工作的程序
}
}
/*------------------------------------------------
延时函数,含有输入参数unsigned int t,无返回值
unsigned int是定义无符号整形变量,其值的范围是
0~65535பைடு நூலகம்
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}
#include<reg52.h> //包含头文件,一般情况不需要改动,
//头文件包含特殊功能寄存器的定义
sbit L1=P1^0;//用sbit关键字定义L1到P1.0端口,
//LED是自己任意定义且容易记忆的符号
void Delay(unsigned int t); //函数声明
/*------------------------------------------------

单片机实验指导书(伟福)

前言《单片机原理及应用》是电子、自动化控制等相关专业的一门专业必修课,随着交通技术的不断发展,单片机在交通控制、信息等方面的应用也越来越广泛。

由于单片机实践性强,理论与实际结合紧密,传统的教学方法不能较好的适应教学的需要。

为提高教学效果,我们从最简单的实际问题出发,设计了一些由易到难,由纯软件到要求硬、软件结合,综合性较强的题目。

每个题目的内容分为两个部分:基础部分:给出源程序,要求学生在阅读分析理解的基础上,画出程序流程图,完成题目内容(包括编辑源程序、编译仿真调试、实际运行通过);提高部分:在充分掌握第1部分内容的基础上,独立编程完成功能要求更高的课题程序。

要求学生课外理解、编写提高部分的程序,上机调试通过。

我们采用提出任务——学习相关知识——解决实际问题——总结提高这样一个教学过程,使学生在解决实际问题的过程中学习提高,培养较强的实践能力。

这种从实践——理论——再回到实际的探索性的教学方法,能有效的提高学生的学习兴趣,符合人们的客观认知规律。

我们通过四章的内容来完成单片机实验课程:第一章介绍伟福硬件仿真器及其仿真软件,即程序开发环境第二章介绍实验开发板的功能、电路原理第三章程序设计从基础程序设计到应用实例设计,其中包括12个实际课题第一节开发软件的使用第二节基础程序设计一、算术运算题1.加、减法基本运算程序2.乘、除法基本程序3.二-十进制调整基本程序二、控制转移和子程序调用第三节应用实例设计一、简单单片机应用实例设计二、按钮控制发光二极管三、定时器实现流水灯控制四、MCS-51存储器系统设计五、MCS-51 I/O接口设计与应用六、串口通讯七、参考课题第四章附录部分附录一 PC与MCU串行通信的应用设计方法附录二 KEIL C51 编译器简介附录三串行接口LED数码管及键盘管理器件ZLG7289A的原理与应用第一章仿真器及仿真软件简介第一节伟福硬件仿真器简介伟福仿真器采用主机+POD(仿真头)组合的形式构成,通过更换POD,可以对各种CPU进行仿真。

单片机单灯闪烁实验报告

1浙江万里学院实验报告课程名称: 单片机原理及应用实验名称: 任务一:单灯闪烁 专业班级: 电气111 姓名: 孙燕 学号: 2011013660 实验日期: 2013.3.5一、实验目的1. 了解单片机的内部结构和最小系统;2. 掌握单片机与LED 的硬件连接方法;3. 掌握单片机C51语言的程序框架;4. 了解KEIL 和STC ISP 软件的使用。

二、实验内容1. 单片机点亮或者熄灭1个LED 。

2. 单片机控制LED 的闪烁,闪烁时间可以调整。

三、实验结果1. 单片机最小系统原理图成绩: 教师: 郑子含2. 单片机与LED的连接原理图3. 单片机点亮LED的程序#include <reg51.h> 文件包含,预处理命令sbit LED1=P1^0; 定义I/O口,由P1^0端电压高低控制LED1灯的亮灭void main() 主函数{while(1) 表示永真,无限循环{ LED1=1; P1.0所连LED点亮,位操作}}4. 单片机控制LED闪烁的程序#include <reg51.h> 文件包含,预处理命令sbit LED1=P1^0; 定义I/O口,由P1^0端电压高低控制LED1灯的亮灭void mDelay(unsigned int Delay){unsigned int i; 定义整数ifor(;Delay>0;Delay--) 用for循环来延迟LED1灯的亮灭{for(i=0;i<54;i++); }}void main() 主函数{while(1) 死循环{LED1=1; LED1灯点亮mDelay(1000); 延迟一秒LED1=0; LED1灯熄灭mDelay(1000); 延迟一秒} }四、心得体会第一次做单片机硬件和软件相结合,理论和实践相融合的技术性实验,之前因为学过C 语言的编程,所以在学习用单片机编程实现点亮或者熄灭1个LED和单片机控制LED的闪烁时,老师的讲解都比较容易理解和吸收,一些新的知识在操作过程中也渐渐熟悉了。

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