实验二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单片机实验:流水灯
实验二单片机并行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口实现流水灯】
实验二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编写流水灯实验一、实验目的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的使用及流水灯设计
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流水灯实验
下面的这个东西就不用说了吧,开关运行按钮。
下面这个就是结果了。
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灯,实现了流水灯效果。
