实验二keil编写流水灯实验

实验二keil编写流水灯实验
一、实验目的
1、熟悉keil软件;
2、掌握单片机C51程序编写规范;
3、熟悉流水灯程序;
4、掌握STC单片机的程序下载;
二、实验要求
1、利用keil软件调试程序,并产生.hex文件;
2、编写程序,控制P口的8个LED灯,LED灯需要有24个状态以上有规律显示;
3、将.hex文件利用STC单片机下载工具下载到单片机最小系统中,并观察LED灯的显示
状态;
4、提交实验报告,报告内容包括keil软件及STC下载软件的调试步骤、流水灯的程序和
LED的显示结果。

三、实验内容
1、安装keil软件、STC下载软件;
2、打开keil软件,熟悉软件的菜单、工作界面及工具。

然后按照keil的编程步骤编写程序
(创建工程----选择单片机AT89C51----新建源文件----保存为C程序----编写完整的C51程序----将文件添加到工程----编译并修改错误----连接产生.hex文件)。

3、打开STC下载软件,将keil生成的.hex文件打开,下载到最小系统板,测试程序并观察
实验结果。

4、修改程序,以获得更多的LED显示效果。

四、实验说明
1、Keil软件的安装时应注意使用的版本,版本太高向下兼容性不好,建议采用UV3绿色
版,安装简单(呵呵,因为我用这个版本,不然我看不了你们的程序)。

2、在keil使用过程中,选择单片机时无法找到STC的单片机,我们选择其他类型的51单
片机,都能满足变成要求,如:A TMEL公司的AT89C51。

3、程序中使用的IO端口要与自己的单片机最小系统板对应;
4、实验结果如果看不到灯闪烁,检查是否程序中延时时间不够,修改延时参数再测试程序。

合集下载

C51单片机实验:流水灯

C51单片机实验:流水灯

实验二单片机并行I/O口应用实验
一、实验目的:
1.熟悉keil软件的使用方法;
2. 熟悉单片机应用电路的设计方法
3. 掌握用单片机并行接口控制外部设备的方法;
4.掌握单片机应用程序的设计和调试的方法
二、实验仪器:
单片机开发板、下载线、应用软件及微机
三、实验原理
单片机I/O口的基本输入输出功能。

四、实验内容
1.在p1.0至1.7口线上分别接LED0~LED7八个发光二级管。

2. 编写程序:要求LED0~LED7要求以秒速率循环右移
2.编写程序:要求LED0~LED7要求以秒速率循环左移
3.连接开发板,观察实验现象,并用Keil uVision仿真程序的执行过程;
五、实验报告要求
1、实验目的和要求
2、实验的原理
3、电路原理图
4、实验程序流程框图和实验程序清单
5、实验总结
6、实验思考题
六、思考题
1、思考如何实现LED0~LED7两个灯同时循环左移或右移?
2、如何同时实现循环左移后再循环右移?。

单片机流水灯实验报告

单片机流水灯实验报告

单片机流水灯实验报告1. 实验目的本实验旨在通过使用单片机控制LED灯的亮灭来实现流水灯效果,以加深对单片机控制原理的理解,并培养学生动手实践的能力。

2. 实验器材•单片机开发板•面包板•LED灯•连接线•电源3. 实验原理流水灯是一种常见的LED灯效果,通过控制多个LED灯的亮灭顺序和速度,形成流动的效果。

在本实验中,我们使用单片机通过改变IO口的输出电平来控制LED灯的亮灭。

4. 实验步骤第一步:准备工作•将单片机开发板连接到电脑上,并确保单片机开发环境已经正确安装。

•将面包板连接到单片机开发板上的IO口。

•将LED灯连接到面包板上,确保连接正确。

第二步:编写程序在单片机开发环境中,编写下列代码:#include <reg52.h>sbit LED1=P1^0;sbit LED2=P1^1;sbit LED3=P1^2;sbit LED4=P1^3;void delay(int t) {int i, j;for(i=t;i>0;i--) {for(j=110;j>0;j--);}}void main() {while(1) {LED1=0;delay(1000);LED1=1;delay(1000);LED2=0;delay(1000);LED2=1;delay(1000);LED3=0;delay(1000);LED3=1;delay(1000);LED4=0;delay(1000);LED4=1;delay(1000);}}第三步:烧录程序将编写好的程序烧录到单片机开发板上,确保烧录成功。

第四步:实验测试•将单片机开发板连接到电源上,并打开开关。

•观察LED灯的亮灭情况,是否能够形成流水灯效果。

•如果效果与预期一致,则说明实验成功。

5. 实验结果分析经过实验测试,LED灯能够按照程序中设定的流水灯顺序亮灭,形成了流水灯效果。

说明通过单片机控制IO口输出电平能够实现对LED灯的控制,并且通过改变控制程序中的延时时间可以调整流水灯的速度。

单片机实训报告_流水灯

单片机实训报告_流水灯

一、实验目的1. 掌握单片机的基本原理和操作方法。

2. 熟悉单片机编程环境Keil的使用。

3. 熟悉LED流水灯的原理和编程方法。

4. 培养动手实践能力和团队协作精神。

二、实验原理1. 单片机(Microcontroller Unit,MCU)是一种具有中央处理器(CPU)、存储器(RAM、ROM)和输入输出接口(I/O)等功能的集成电子电路。

它广泛应用于各种电子设备中,如家用电器、工业控制、汽车电子等。

2. LED(Light Emitting Diode,发光二极管)是一种半导体器件,具有单向导电性。

当电流通过LED时,会发出光亮。

3. 流水灯是一种通过控制LED灯的亮灭,模拟流水效果的电子装置。

在单片机控制下,可以实现不同形式的流水灯效果。

三、实验设备1. 单片机实验板(如STC89C52单片机实验板)2. LED灯若干3. 跳线若干4. 电阻若干5. 电源(5V)6. Keil软件四、实验步骤1. 硬件连接(1)将单片机的P1.0-P1.7引脚与LED灯的正极相连,负极接地。

(2)将电阻串联在LED灯和单片机引脚之间,起到限流作用。

(3)将单片机的VCC和GND分别连接到5V电源的正负极。

2. 软件编写(1)在Keil软件中创建一个新的项目,选择相应的单片机型号。

(2)编写主函数main(),实现流水灯的编程。

(3)初始化单片机的P1口为输出模式。

(4)定义延时函数Delay(),实现流水灯的延时效果。

(5)在主循环中,通过改变P1口的高低电平,控制LED灯的亮灭,实现流水灯效果。

(6)保存并编译程序。

3. 程序调试(1)将编译后的程序下载到单片机实验板中。

(2)观察LED灯的流水效果,检查程序是否正确。

(3)如有错误,修改程序并重新编译、下载。

五、实验结果与分析1. 实验结果通过实验,成功实现了LED流水灯效果,实现了不同形式的流水灯效果。

2. 实验分析(1)在实验过程中,学习了单片机的基本原理和操作方法,掌握了Keil软件的使用。

【实验2io口实现流水灯】

【实验2io口实现流水灯】

实验二IO口实现LED灯闪烁一、实验目的:1.正确安装keil软件2.正确安装调试驱动,熟悉实验板的用法3.学习IO口的使用方法。

二、实验设备:单片机开发板、学生自带笔记本电脑三、实验内容:利用单片机IO口做输出,接发光二极管,编写程序,使发光二极管按照要求点亮。

四、实验原理:1.LPC1114一共有42个GPIO,分为4个端口,P0、P1、P2口都是12位的宽度,引脚从Px.0~Px.11,P3口是6位的宽度,引脚从P3.0~P3.5。

引脚的内部构造如图所示。

其中Rpu为上拉电阻、Rpd为下拉电阻。

2.为了节省芯片的空间和引脚的数目,LPC1100系列微处理器的大多数引脚都采用功能复用方式,用户在使用某个外设的时候,要先设置引脚。

控制引脚设置的寄存器称之为IO配置寄存器,每个端口管脚PIOn_m都分配一个了一个IO配置寄存器IOCON_PIOn_m,以控制管脚功能和电气特性。

3.IOCON_PIOn_m寄存器其位域定义如表所列。

4.各引脚IOCON寄存器的位[2:0]配置不同的值所相应功能。

5.GPIO寄存器GPIO数据寄存器用于读取输入管脚的状态数据,或配置输出管脚的输出状态,表5-5对GPIOnDATA寄存器位进行描述。

GPIO的数据方向的设置是通过对GPIOnDIR寄存器的位进行与或操作实现的,LPC1100微处理器和8051单片机的GPIO不同,在使用前一定要先设置数据方向才能使用,6.发光二级管的工作电压和工作电流如何?___________________________________________________________________________ ___________________________________________________________________________ _________________________________________________________________________。

流水灯的实验代码

流水灯的实验代码

流水灯的实验代码
本文将为大家详细介绍流水灯实验的代码,主要包括代码注释和相关说明。

流水灯是一种常见的电路实验,利用简单的电路原理和单片机控制方式来实现灯的闪烁变化。

在实验的过程中,我们需要加深对电路和单片机控制的理解,了解其中的技术细节和实现方式。

这里提供的实验代码基于Keil C51软件,适合初学者和嵌入式开发爱好者进行学习和体验,如有不足之处还望指正。

代码注释如下:
代码说明:
1. 调用头文件:`#include<reg51.h>`,表示调用reg51.h头文件,将程序所需的头文件库引入。

2. 给出延时函数:`void delay(unsigned int i)`,表示定义了一个延时函数,其中`while(i--)` 为循环等待i的时间。

4. 死循环:`while(1)`,表示程序进入无限循环,实现流水灯的闪烁变化。

5. 控制亮灭:`P1=0xfe;`、`P1=0xfd;`、`P1=0xfb;`、`P1=0xf7;`、`P1=0xef;`、`P1=0xdf;`、`P1=0xbf;`、`P1=0x7f;`,表示控制LED灯的亮灭,写入P1口的不同值可以点亮不同的LED灯,亮度可控。

6. 延时:`delay(50000);`,表示使LED灯闪烁间的间隔时间为50s(此处单位为微秒)。

此外需要注意的是,流水灯实验的接线原理如下:
- 八个LED的正极统一接在P1.0~P1.7上。

- 八个LED的负极统一接在电源的负极上。

体验流水灯实验的过程中,通过修改代码中的值可以调整LED灯亮度和闪烁时间,掌握基本的单片机控制方法,增加对电路和嵌入式开发的理解。

实验二keil编写流水灯实验

实验二keil编写流水灯实验

实验二keil编写流水灯实验一、实验目的1、熟悉keil软件;2、掌握单片机C51程序编写规范;3、熟悉流水灯程序;4、掌握STC单片机的程序下载;二、实验要求1、利用keil软件调试程序,并产生.hex文件;2、编写程序,控制P口的8个LED灯,LED灯需要有24个状态以上有规律显示;3、将.hex文件利用STC单片机下载工具下载到单片机最小系统中,并观察LED灯的显示状态;4、提交实验报告,报告内容包括keil软件及STC下载软件的调试步骤、流水灯的程序和LED的显示结果。

三、实验内容1、安装keil软件、STC下载软件;2、打开keil软件,熟悉软件的菜单、工作界面及工具。

然后按照keil的编程步骤编写程序(创建工程----选择单片机AT89C51----新建源文件----保存为C程序----编写完整的C51程序----将文件添加到工程----编译并修改错误----连接产生.hex文件)。

3、打开STC下载软件,将keil生成的.hex文件打开,下载到最小系统板,测试程序并观察实验结果。

4、修改程序,以获得更多的LED显示效果。

四、实验说明1、Keil软件的安装时应注意使用的版本,版本太高向下兼容性不好,建议采用UV3绿色版,安装简单(呵呵,因为我用这个版本,不然我看不了你们的程序)。

2、在keil使用过程中,选择单片机时无法找到STC的单片机,我们选择其他类型的51单片机,都能满足变成要求,如:A TMEL公司的AT89C51。

3、程序中使用的IO端口要与自己的单片机最小系统板对应;4、实验结果如果看不到灯闪烁,检查是否程序中延时时间不够,修改延时参数再测试程序。

单片机流水灯实验报告

单片机流水灯实验报告电子信息工程学系实验报告课程名称:单片机原理及接口实验项目名称:实验2 流水灯实验时间: xx-10-21 班级:电信092 姓名:蔡松亮学号: 910706247一、实验目的:进一步熟悉keil仿真软件、proteus仿真软件的使用。

了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。

掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

二、实验原理:MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。

每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。

四组并行I/O端口即可以按字节操作,又可以按位操作。

当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。

以P1口为例,内部结构如下图所示:图 P1口的位结构作输出时:输出0时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。

输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。

作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。

I/O口的注意事项,如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用;四个口在作输入口使用时,均应先对其写“1”,以避免误读;P0口作I/O 口使用时应外接10K的上拉电阻,其它口则可不必;P2可某几根线作地址使用时,剩下的线不能作I/O口线使用;P3口的某些口线作第二功能时,剩下的口线可以单独作I/O口线使用。

三、实验环境:硬件:PC机,基本配置CPU PII以上,内存2G 软件:keil 2, Proteus 7.5四、实验内容及过程:1、用Proteus画流水灯电路图流程:1)、运行Proteus仿真软件,单击pick from libraries,打开搜索元器件窗口,如图 1 所示:图 1 打开搜索元器件窗口2)、搜索添加元器件,如图2 所示:图2 搜索添加元器件窗口3)、添加元器件,修改元器件的参数,绘制流水灯原理图,元器件参数为c1=c2=20pf、c3=10uf;R1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆;晶振=12M;VCC=5V。

Keil的使用及流水灯设计

Keil uVision2 的使用
1、keil C51 的安装 2、项目的建立 3、ASM文件的建立 4、项目的编译 5、项目的调试 6、项目程序的烧写
一、 keil C51 的安装: 先运行光盘中 单片机软件 \setup\setup.exe 安装程序,选择安装 “Eval Version”版进行安装。一直点击 “Yes”或“Next”,直到“Finish”完成。 安装好后,在桌面上会产生快捷图标,如下 图:
//子函数体
使用带参数的延时函数
#include <reg52.h> #define uint unsigned int sbit led1=P1^0; void delayms(uint); void main() { while(1) { led1=0; delayms(200); led1=1; delayms(800); } } void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } //52系列单片机头文件 //宏定义 //声明单片机P1口的第一位 //声明子函数 //主函数 //大循环

在打开的话框中,选择“输出”选项卡,在这个选项卡中,“E生成 HEX文件”选项前要打勾,按“确定”退出。

4、 最后,从菜单的“工程”中执行“R重新构造所有目标”(或者按下图红圈 中的按钮),汇编、连接、创建Hex文件一气呵成;在工程文件的目录下就会 生成与工程名相同的一些文件,其中大部分文件我们并不必关心,而生成的 Hex 文件是我们需要的!它是要烧写到单片机中的最终代码,也就是单片机可 以执行的程序。这里生成的是 Test.HEX ,稍后就写入。 若在下面的状态窗中有错误提示,就需要再次编辑、修改源程序(如语法、字 符有错等)、保存、构造所有。直至没有错误。

keil+proteus流水灯实验

v,查了一下也可以直接改成5v。
下面的这个东西就不用说了吧,开关运行按钮。
下面这个就是结果了。
5,程序
#include "reg51.h"
#include "intrins.h" //该文件包含—crol—(。。。)的函数原型
void mdelay(unsigned int delaytime)//延时程序
流水灯实验《仅供参考》
1
必须的两个软件,没有的自己去下了。太大了没办法传。 2
Keil软件
,,
别忘记设置这些参数。
在creat HEX Fi上打狗。。。打钩,嘿嘿,这是proteus中需要的文件。
3
Proteus软件,照图放一下就ok了。最小系统随便一搜就知道了。Crystal,找晶振使用(双击该属性12MHZ),cap电容(两个30pf,一个10uf),resistor电阻的(8个1k的,一个10k)的),AT89c52,switch开关。
各位都是聪明人,智商都是高高的。相信你一定可以的。
while(1)//死循环。相当于for(;;)
{
P3|=0x3c;
{
while((P3|0xfb)!=0xff)//判断按下的开关
{P1=outdata;
outdata=_crol_(outdata,1); //循环左移命令—crol—()
mdelay(1000);
}
P1=0xff;
}
}
}
6,完事。
{
unsigned int j=0;//无符号整数j
for(;delaytime>0;delaytime--)//for循环
{
for(j=0;j<125;j++)//125*delaytime为所延迟的时间

实训报告单片机流水灯

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

2. 理解单片机I/O口的使用,学会利用单片机控制LED灯的流水灯效果。

3. 提高动手实践能力,培养团队协作精神。

二、实验环境1. 实验设备:51单片机开发板、LED灯、面包板、电源、连接线等。

2. 实验软件:Proteus仿真软件、Keil uVision5集成开发环境。

三、实验原理流水灯实验是单片机入门级实验之一,通过控制单片机的I/O口输出高低电平,使LED灯依次点亮,形成流水灯效果。

实验中,利用单片机的定时器产生定时中断,每隔一定时间改变I/O口的输出状态,实现LED灯的流水灯效果。

四、实验步骤1. 打开Proteus软件,新建一个工程项目,添加51单片机开发板和LED灯等元件,绘制电路图。

2. 打开Keil uVision5,新建一个C51工程项目,选择对应的单片机型号。

3. 编写程序:(1)初始化I/O口:将P0口设置为输出模式,将P1口设置为输出模式。

(2)设置定时器:选择合适的定时器,设置定时时间,使其产生定时中断。

(3)编写中断服务程序:在中断服务程序中,改变I/O口的输出状态,实现LED灯的流水灯效果。

(4)编写主程序:在主程序中,启动定时器,进入中断服务程序。

4. 编译程序,生成HEX文件。

5. 将生成的HEX文件导入Proteus软件,运行仿真实验。

6. 观察实验现象,检查LED灯的流水灯效果是否正常。

五、实验结果与分析1. 实验现象:在Proteus软件中,LED灯依次点亮,形成流水灯效果。

2. 实验分析:通过设置定时器,每隔一定时间改变I/O口的输出状态,实现LED 灯的流水灯效果。

实验过程中,可以调整定时器的定时时间,改变流水灯的速度。

六、实验总结1. 本实验使我们对单片机的基本原理和组成有了更深入的了解。

2. 通过编写程序,掌握了51单片机的编程方法,提高了编程能力。

3. 实验过程中,我们学会了利用单片机控制LED灯,实现了流水灯效果。

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