实验一 Keil4基本用法及流水灯实验指导书

合集下载

流水灯(电路和汇编)-Proteus和Keil仿真演示实例知识讲解

流水灯(电路和汇编)-Proteus和Keil仿真演示实例知识讲解

流水灯(电路和汇编)-P r o t e u s和K e i l仿真演示实例示例要求:在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。

在KEIL 51中编程序,形成HEX文件;在PROTEUS中设计硬件,下载HEX文件,运行看结果。

第1篇:PROTEUS电路设计1、打开PROTEUS的ISIS软件,如图1所示。

新建电路图文件,将文件保存到E:\projectio (新建文件夹projectio)下面,文件基本名为io,扩展名默认。

选择元图1 ISIS窗口图2、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图2所示。

图2 元件选择窗口在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图3的device列表栏。

在这里依次添加元件单片机80C51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED,如图3所示。

图3 添加元件的device列表栏3、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作;如图4所示。

电源(POWER)与地(GROUND):(右键-放置-终端里选)。

图4 放置元件图4、连接导线,如图5所示。

连接后存盘。

图5 连接元件图5、在Keil软件中设计软件程序,形成HEX文件(具体过程见第2篇Keil软件编程)。

保存软件项目到电路文件相同的文件夹E:\projectio下。

6、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。

这里是同一个文件夹下面的shili.hex文件。

如图6所示。

图6 下载程序到单片机7、单击仿真运行按钮play,运行程序。

《单片机原理及应用》基于51单片机实验箱的流水灯设计

《单片机原理及应用》基于51单片机实验箱的流水灯设计

《单片机原理及应用》基于51单片机实验箱的流水灯设计一、实验目的和要求1.掌握单片机基本资源使用。

2.掌握单片机电路原理图。

3.掌握单片机C语言软件开发以及试验箱使用。

二、实验内容和原理实验内容:1.绘制程序流程图并编写C语言程序2.在实验箱中进行测试,最后提交实验报告三、主要仪器设备Keil4软件、C51单片机实验箱。

四、操作方法与实验步骤4.1 题目要求使用单片机实验箱实现流水灯功能。

4.2 系统设计思路主程序中实现流水灯功能,时间单位采用500ms信号,作为实现流水灯的发光二极管和单片机的P1相连。

4.2 C程序编制(包含详细的文字和程序流程图)#include<intrins.h>#include<reg52.h>#define uchar unsiged char#define uint unsigned intvoid mDelay(uint Delay){int i;for(;Delay>0;Delay--)for(i=0;i<110;i++);}void main(){unsigned char a,i;While(1){a=0x01;for(i=0;i<8;i++){a=-crol-(a,1)P2=amDelay(500);}}4.3 测试分析(包含文字和图像叙述)在KeilC51软件软件中编写好程序并调试好后,连接单片机实验箱,实验结果如下:实验箱上连接的八个灯,每个灯间隔500ms的时间一个接一个的循环闪烁。

五、讨论和心得(不少于100字)通过此次实验,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,试验过程还是比较繁琐,但是还是完成了这次试验,使我对于理解单片机的基本原理更加深刻,将所学知识运用到实践中,在实践中发现问题,强化理论知识。

课程名称:单片机原理及应用实验项目名称(二):定时计数器的应用—按钮控制LED灯四、实验目的和要求1.掌握单片机基本资源使用。

《单片机系统设计技术》实验指导

《单片机系统设计技术》实验指导

《单片机系统设计技术》实验指导书适用专业: 电气、自动化、信息等编写单位: 电气信息学院编写人: 曹 林审核人:审批人:批准时间:年月日目 录实验1 IO控制LED流水灯实验 (3)实验2 IO控制数码管动态扫描实验 (5)实验3 外部中断实验 (8)实验4 定时器应用控制实验 (10)实验5 UART实验 (12)实验6 键盘扫描输入编程 (14)实验7 UART与PC对话实验 (17)实验8 ADC数据采集实验 (19)实验1 IO控制LED流水灯实验1.实验目的1)、熟悉KEIL编程环境和调试环境。

2)、掌握单片机汇编语言和指令的用法。

3)、理解简单的IO控制程序,延迟子程序,并对其修改,使其功能改变。

2.实验设备硬件: PC 机,单片机教学实验开发平台;软件: KEIL集成开发环境、STC ISP程序下载软件。

3.实验内容使用P0口控制8个LED 进行流水灯显示。

4.实验预习要求和实验准备要求预习教科书关于单片机硬件架构内容、IO口的内容,特殊寄存器内容。

预习汇编程序编写、MCS-51指令表。

带上教科书、U盘、具备二进制和十六进制转换的科学计算器。

5.实验原理和步骤1)实验原理(1)实验原理图图1 P0口连接的8盏LED灯从图1中可以看出:如果需要把LED点亮有两个条件,其一是需要用短接帽把J1的2脚和3脚短接,在PCB上就是将电路板左上角LED和VCC短接起来;其二是P0.X口给出低电平,让电流从VCC开始流经限流电阻、LED后进入单片机的P0.X口,最后到单片机内部的地线上。

因此,简单地说就是在短接帽接好的前提下,向P0.X口写0则LED将点亮,写1则LED将熄灭。

图中网络标识PORT0_0、PORT0_1……PORT0_7和单片机P0.0、P0.1……P0.7连接,可观察原理图上单片机P0口的网络标识也是PORT0_0、PORT0_1……PORT0_7。

2)实验步骤(1)启动KEIL集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。

流水灯的实验原理及步骤

流水灯的实验原理及步骤

流水灯的实验原理及步骤流水灯是一种用于电子电路实验的简单电路。

它由一组LED灯组成,灯珠逐个点亮,呈现出流水的效果。

以下是流水灯的实验原理及步骤:实验原理:流水灯的实验原理是借助555计时器和数个逻辑门实现的。

555计时器产生的方波信号通过逻辑门的组合,控制LED灯的亮灭顺序,从而实现流水的效果。

实验步骤:1.准备材料和工具:一块实验面板、555计时器、几个逻辑门(如74LS04等)、一组LED灯、几个电阻、导线等。

2.将555计时器、逻辑门、LED灯等器件按照连线图连接在实验面板上。

具体连接方式如下:- 将VCC引脚连接到正电源。

- 将GND引脚连接到地线。

- 连接一个电阻和电容来设置555计时器的频率。

电阻连接到引脚7(DISCHARGE)和引脚8(VCC)之间,电容连接到引脚6(THRESHOLD)和引脚2(TRIGGER)之间。

同时将电容的另一端连接到地线。

- 将555计时器的引脚3(OUTPUT)连接到逻辑门1的一个输入端,再将逻辑门1的输出端连接到一个电阻,电阻的另一端连接到LED灯1的正极。

LED 灯1的负极连接到地线。

- 将LED灯1的负极连接到逻辑门2的一个输入端,再将逻辑门2的输出端连接到一个电阻,电阻的另一端连接到LED灯2的正极。

LED灯2的负极连接到地线。

- 依此类推,将其他LED灯也连接起来,形成流水灯的效果。

3.检查连接是否正确,确保没有短路或接触不良的地方。

4.将正电源接入电路,调整电阻和电容的值,以控制流水灯的速度和亮度。

5.观察LED灯的亮灭顺序,若亮灯顺序与预期不符,可能需要调整逻辑门的输入连接方式。

6.实验完成后,断开电源,注意安全。

以上是流水灯的实验原理及步骤,希望对你有帮助。

Keil uVision4集成开发环境安装及使用介绍

Keil uVision4集成开发环境安装及使用介绍

Keil uVision4集成开发环境安装及使用介绍1 概述Keil uVision4 IDE是基于Windows的开发平台,包含一个高效的编译器、一个项目管理器和一个MAKE工具。

uVision4支持所有的Keil C51工具,包括C 编译器、宏汇编器、连接/定位器、目标代码到HEX的转换器。

●Windows应用程序uVision4是一个集成开发环境,它把项目管理,源代码编辑,程序调试等集成到一个功能强大的环境中。

●C51美国标准优化C交叉编译器从C源代码产生可重定位的目标文件。

●A51宏汇编器从8051汇编源代码产生可重定位的目标文件。

●BL51连接/重定位器组合由C51和A51产生的可重定位的目标文件,生成绝对目标文件。

●LIB51库管理器组合目标文件,生成可以被连接器使用的库文件。

●OH51目标文件到HEX格式的转换器从绝对目标文件创建Intel HEX格式文件。

●RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目。

2 Keil uVision4集成开发环境的安装Keil uVision4集成开发环境的安装与破解。

在配套光盘的“05.安装软件\ Keil C51 v9.06”文件夹下找到“Keil.C51.V9.06.exe”文件,双击该文件启动安装,出现如图1所示的安装界面。

图1 Keil C软件安装界面点击界面中【Next】按键,出现如图2所示的软件安装许可协议界面。

图2 软件许可协议勾选其中的【I agree to all the terms of the preceding Licence Agreement】选项,点击界面中的【Next】按键,出现如图3所示的软件安装路径选择界面。

图3 选择安装路径选择合适的软件安装路径后,点击界面中的【Next】按键,出现如图4所示的用户信息输入界面。

图4 用户信息输入界面填写完全用户信息后,点击【Next】按键,出现如图5所示的软件安装进程界面。

流水灯实验报告

流水灯实验报告
void main()//主函数 {
while(1) { ucha r i; P0=P1=P3=0xff;
fo;)//逐个点亮 { P0=table1[i]; delayms(500); } for(i=0;i<8;i++) { P1=table[i]; delayms(500); } for(i=0;i<8;i++)
并 行
P1 接口的 8 个 led



P2 接口的 8 个 led 灯
第1页共5页
五、硬件电路设计 根据设计任务,首先进行系统硬件的设计。其硬件原理图由 LED 显示电路和单片机最 小系统组成,如图所示,其中包括时钟电路采用内部时钟方式,复位电路采用上电自 动复位。由于单片机的 I/O 口的高电平驱动能力只有微安级,而灌电流可以达到 3 毫 安以上,因此采用低电平驱动。P1、P2、P3 分别控制 8 个 led 灯。
第3页共5页
{ P3=table1[i]; delayms(500); }
shan();//全部闪烁
for(i=0;i<8;i++)//逐个熄灭 { P3=table2[i]; delayms(500); } for(i=0;i<8;i++) { P1=table3[i]; delayms(500); } for(i=0;i<8;i++) { P0=table2[i]; delayms(500); }
二、实验主要仪器设备和材料
Keil 软件;Proteus 软件
三、任务设计要求
采用 STC89C52 单片机构建最小系统,在 P0-2 口外接 24 只发光二极管,编程实现 24 只灯的 花样显示控制。

手把手教你单片机流水灯实验

手把手教你单片机流水灯实验

手把手教你单片机流水灯实验(详解)每当夜幕降临,我们可以看到大街各式各样广告牌上漂亮的霓虹灯,看起来令人赏心悦目,为夜幕中的城市增添了不少亮丽色彩。

其实这些霓虹灯的工作原理和单片机流水灯是一样的,只不过霓虹灯的花样更多,看起来更漂亮一些。

这一课我们就结合S51增强型单片机实验板、ISP 编程器来手把手教你详细学习单片机的流水灯实验。

首先介绍实验的硬件设备:S51增强型单片机实验板+ISP编程器图1:S51增强型单片机实验板图2:ISP编程器套件S51增强型单片机实验板上有8个高亮度发光二极管(见图1所示),可以用来做单片机流水灯、跑马灯。

等实验,电路原理图见下图3。

图3从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。

因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。

实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。

从上面中文表示看来实现单片机流水灯很简单,但是我们不能说P1.0你变低,它就变低了。

因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”机器代码。

我们又怎样来使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。

今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译” 成单片机所需的二进制代码,然后交给单片机去执行。

流水灯实验报告

流水灯实验报告

流水灯实验报告单片机流水灯实验一、任务让8个LED灯轮流亮起来,实现流水灯的功能。

二、思路让接在P0.0口的LED灯亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED灯熄灭,就要把P0.0口的电平变为高电平就可以了。

要实现流水灯功能,只要将8个LED灯依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

我们应该注意一点,由于单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

三、步骤1、用proteus画电路图。

如下图:2、用keil建工程。

1) 运行keil C51软件,点击Project菜单新建项目,选择为AT89C52的单片机型号。

然后单击File选择New新建程序文件,保存成 .c 文件,右击Source Group1添加入程序文件。

2) 用C语言编写程序代码如下:#includevoid delay (unsigned char tmp);code unsigned char tmpled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};void main(void) {unsigned char i; while (1) {for(i=0;i<8;i++) { P0=tmpled[i]; delay(50); } } }void delay(unsigned char tmp) {unsigned char i,j; i=tmp; while(i) { i--; j=255; { j--; } } }3) 右击Target 1打开设置,Output菜单下勾选上create hex file。

4) 调试运行程序后,在proteus中双击单片机,添加hex文件,运行看到流水的的效果。

四、实验中遇到的问题。

1、用proteus仿真时候,发现错误:error variable not found parsing property resistance of RN1-Rnvalue expected for RN1-R(n=1~8)而且led灯亮度十分微弱。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)App:这个目录存放了自己的应用程序。
2.工程模板的建立
1)建立一个名叫led的目录,将以上四个目录拷贝到该目录中;
2)在该目录中创建一个名叫led的工程;
3)在工程选项中右键,选择“AddGroup…”,添加三个组:Common、Target和User。
4)在Common组中选择“AddFiles…”将Common\src目录中的四个文件添加进工程;
二、实验板上的说明
实验板上的8个LED利用GPIO口直接控制。图中的8个LED引脚(LD11~LD4)分别对应P2.0~P2.7。8根信号线经过74LV244W驱动以后连接到发光二极管LED上,引脚输出高电平则LED点亮,输出低电平则LED熄灭。
实验
【实验目的】
1、学习Keil4的基本方法;
2、掌握在开发过程中程序工程模板的建立和使用;
3、掌握LPC1768的GPIO口的用法。
【实验要求】
1、了解LPC系列处理器GPIO口的功能原理;
2、了解程序设计中多模块编程的方法;
【实验原理】
一、LPC系列处理器GPIO口的原理
参见教材中有关GPIO口的章节,重点要掌握GPIO口的初始化、数据的输入和输出;本实验通过LPC1768的IO口控制8个LED的亮灭。
for(i=0;i<65530;i++)
for(j=0;j<100;j++);
}
}
【实验总结】
经过这次实验,复习了Keil4的基本方法,掌握了LPC1768的GPIO口的用法。
MAIN function
*----------------------------------------------------------------------------*/
int main (void)
{
uint32_t i,j;
uint8_tlocation;
LED_init();
while(1)
(2)在Keil4中打开一个现成的工程文件,对其进行环境设置、编译、链接及生成可执行文件,并下载到1768实验板进行调试、运行,详见参考文档“Keil4基本用法.doc”。
二、编程
1、编译、链接和调试;
阅读给出的参考程序,编译、链接,生成可执行文件,并下载到1768实验板,运行,查看LED灯闪烁情况;
{
for(location=0;location<8;location++)
{
LED_On (7-location); /* Turn on the LED. */
for(i=0;i<65530;i++)
for(j=0;j<100;j++);
LED_Off (7-location); /* Turn off the LED. */
2、修改程序:
修改参考程序控制LED闪烁形式和频率的程序部分,实现LED的各种不同移动、闪烁效果。
【实验习题】
修改源程序,实现LED的反向移动、闪烁效果。
#include "LPC17xx.h"
#include "led.h"
/*----------------------------------------------------------------------------
5)在Target组中添加目标板驱动程序,本例中只需要添加fio.c;
6)在User组中自己新建一个源程序,本例中取名为led_test.c;
7)按照IAR EWARM设置章节中的内容对工程进行设置。
以上的程序开发流程应当牢记,以后我们的每个实验都采用这个流程进行。
四、驱动程序说明
1.fio.c说明
在本例中使用到的目标板驱动程序为fio.c,它提供了4个函数:
1)GPIOInit( ):对GPIO口的初始化,三个参数分别为端口组号、端口类型和端口方向;
2)LedsInit( ):对4个Led的初始化操作;
3)LedOn( ):点亮一个Led。参数为led灯的编号。如果给出的参数大于4,则按取余以后算出的值点亮;
三、程序工程模板说明
1.工程目录说明
在程序开发中,尤其是涉及到的代码较多时,应该将不同的代码分别存放,这样做的好处是系统代码结构清楚,查找、管理和代码移植都容易。实验板提供的程序工程模板中,主要有以下几个目录:
1)Common:这个目录存放了几乎各个实验都要使用的公用代码、IAR配置宏和链接器命令文件。
4)LedOff( ):熄灭一个Led。
2.fio.h说明
fio.h是fio.c的配套头文件,内容主要有:SCS寄存器中GPIOM设置的参数、各GPIO寄存器的地址、几个参数宏、fio.c中的几个函数的extern外部函数声明。
【实验内容与步骤】
一、了解Keil4软件基本用法:
(1)在Keil4中新建一个工程文件的步骤:详见参考文档“Keil_uvision_4基本使用教程”;
相关文档
最新文档