MDK的使用与实验一闪烁灯
keil编程控制处理器io口驱动led灯的方法
keil编程控制处理器io口驱动led灯的方法如何用Keil编程控制处理器IO口驱动LED灯?引言:在嵌入式系统开发中,控制处理器的IO口驱动LED灯是一项非常基础和常见的任务。
Keil是一种常用的集成开发环境(IDE),它为各种处理器和编程语言提供了广泛的支持。
本文将详细介绍如何使用Keil编程来控制处理器的IO口,实现LED灯的驱动。
第一步:选择合适的开发板首先,我们需要选择一款适合的开发板。
开发板一般配有相应的处理器和外设,并提供了引脚用于连接LED灯。
在选择过程中,我们需要考虑处理器型号、外设资源以及开发工具支持等因素。
第二步:安装Keil开发环境在开始编程之前,我们需要在电脑上安装Keil开发环境。
Keil MDK是一种常用的嵌入式开发工具,它提供了IDE、编译器、调试器等多个组件,可以满足我们开发和调试的需求。
第三步:创建新的工程打开Keil MDK,点击“File”->“New”->“Project”来创建新的工程。
在弹出的窗口中,选择合适的处理器型号,并设置工程的名称和存放路径。
第四步:配置工程在创建新工程后,我们需要进行一些配置。
首先,在“Options for Target”的“Target”选项卡中,设置处理器的时钟频率和其他相关配置。
然后,在“Options for Target”的“C/C++”选项卡中,设置编译器的优化选项和其他编译相关配置。
第五步:编写代码接下来,我们需要在工程中编写代码来控制处理器的IO口,并驱动LED 灯。
Keil支持多种编程语言,包括C和汇编语言。
下面,我们以C语言为例,演示如何编写控制代码。
首先,我们需要包含相应的头文件,以便使用Keil提供的库函数和寄存器定义。
例如,对于STM32系列处理器,我们可以使用"stm32f4xx.h"头文件来定义寄存器名称和相关宏。
然后,我们可以定义一个函数,用于初始化处理器的IO口,设置为输出模式。
单片机实验报告—— LED灯闪烁
XXXX学院实验报告Experimentation Report of Taiyuan Normal University系部计算机年级大三课程单片机原理与接口技术姓名同组者日期2019.10.31 学号项目 LED闪烁一、实验目的1、了解单片机顺序执行的特点;2、掌握51单片机开发板所需软件的安装过程;3、以LED灯闪烁为例子,掌握C语言的编写和keilc51的使用;二、实验仪器硬件资源:单片机开发板笔记本电脑;软件资源:软件 Keil uVision5、USB驱动程序;三、实验原理1、流程图2、连接图四、实验结果点击运行按钮,LED灯先全部熄灭,隔一段时间,LED灯亮,再隔一段时间,LED灯全部熄灭,LED灯亮灭循环,直到点击复位按钮才结束。
五、实验代码及分析#include <reg51.h> //此文件中定义了51的一些特殊功能寄存器//--定义全局函数--//void Delay10ms(unsigned int c); //延时10ms* 函数名 : main* 函数功能 : 主函数* 输入 : 无* 输出 : 无void main(){while(1){//--数字前面加0x表示该数是十六进制的数,0x00就是十六进制的00--////--P0口一共有8个IO口,即从P0.0到P0.7,而0x00二进制就是0000 0000--////--效果就是P0.0到P2.7都是0,即低电平。
而如果你想给P0.1口赋高电平时--////--二进制就是0000 0001,就是十六进制0x01.--//P0 = 0x00; //置P0口为低电平,LED灯先熄灭Delay10ms(50); //调用延时程序,修改括号里面的值可以调整延时时间P0 = 0xff; //置P0口为高电平,LED灯亮Delay10ms(50); // 调用延时程序}}* 函数名 : Delay10ms* 函数功能 : 延时函数,延时10ms* 输入 : 无* 输出 : 无void Delay10ms(unsigned int c) //误差 0us{unsigned char a, b//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}六、心得体会通过此次试验我了解单片机顺序执行的特点,掌握51单片机开发板所需软件的安装过程,通过LED灯闪烁这个例程,我初步了解了Keilc51使用。
单片机led灯闪烁实验报告
单片机led灯闪烁实验报告1. 实验目的:掌握单片机控制LED灯闪烁的方法,了解单片机数字输入输出端口的使用。
2. 实验材料:STM32F103C8T6开发板、杜邦线、LED灯3. 实验原理:在单片机中,数字输入输出口(IO口)是实现数字输入输出的重要接口。
在单片机中,IO口除了可以做通用输入输出口以外,还有很多专用功能口,如SPI 口、I2C口等。
单片机控制LED灯闪烁的原理就是利用IO口的输出功能,通过改变输出口的电平信号来控制LED的亮灭。
当IO口输出高电平时,控制LED为亮状态;当IO 口输出低电平时,控制LED为灭状态。
4. 实验步骤:(1)将LED灯的正极连接到单片机的GPB5号引脚(即B端口的5号引脚),将LED的负极连接到地。
(2)在Keil中新建工程,并配置IO口为输出口。
(3)编写程序,利用GPIO_WriteBit函数对GPB5号引脚进行高低电平控制,实现LED灯的闪烁。
(4)将程序下载到开发板中,观察LED灯的闪烁情况。
5. 实验代码:#include "stm32f10x.h"void Delay(uint32_t nCount) {for(; nCount != 0; nCount);}int main(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);while(1) {GPIO_SetBits(GPIOB, GPIO_Pin_5);Delay(0xFFFFF);GPIO_ResetBits(GPIOB, GPIO_Pin_5);Delay(0xFFFFF);}}6. 实验结果:当程序下载到开发板中时,LED灯会以一定频率闪烁。
CC2530-MDK中文使用说明_基础实验例程
选择 test.c。
菁扬科技 & 翎跃电子
BeyondWireless 无线你的无限!
点击保存。可以看到左边 Workspace 栏的内容发生了变化。
此时输入源代码进行编程。点击 4.1.3 设置工程选项参数
即可。
菁扬科技 & 翎跃电子
BeyondWireless 无线你的无限!
设置好 Workspace 名称,点击 包括 Warnnig 和 Error。
编译信息显示程序有 Error
即可开始编译。编译信息将会显示在屏幕下方,
菁扬科技 & 翎跃电子
BeyondWireless 无线你的无限!
同时在源程序文件界面下也用 符号标识出来 根据提示信息修改正确,重新编译,编译通过,界面如下:
}
/*****************************************
//按键动作记录函数
*****************************************/
uchar KeyScan(void)
{
if(KEY1 == 1) //高电平有效
{
Delay(100); //检测到按键
void InitIO(void);
//初始化 LED 控制 IO 口函数
/****************************
//延时
*****************************/
void Delay(uint n)
菁扬科技 & 翎跃电子
BeyondWireles键动作 //定义变量记录按键次数
菁扬科技 & 翎跃电子
BeyondWireless 无线你的无限!
怎么样用KEIL新建STM32工程并点亮LED灯
KEIL新建STM32工程并点亮LED灯Ray_Zhang 1、新建工程,保存后会弹出芯片选型对话框,如图1。
图1 新建工程芯片选型保存后弹出对话框,是否要自动建立与芯片有关的驱动。
如图2图2 建立驱动选是,会出现图3:图3 建好的工程分别加入文件,如图4,除了main文件以外,都是别人搞好的,太方便了吧。
图4 添加文件修改以后的图3变为如图5图5 修改以后的工程把所要用的库文件考到一个文件夹里面,方便以后配置,如图6,这些都头文件都不需要自己写。
图6进一步配置程序,如图7,前面不怎么注意的配置就没有标出来了图7 将要添加的库文件加到这里在最后一栏里一定要点setting,不会在下载的时候会报错,如图8图8 配置下载程序框图如果报错如图9的对话框,那说明图8没设置好。
图9 报错对话框2.程序#include "stm32f10x.h" //定义启动设置,以及所有寄存器宏定义GPIO_InitTypeDefGPIO_InitStructure;// 初始化GPIO口,定义了一个名字为GPIO_InitStructure的结构体,而此结构体相当于继承了GPIO_InitYypeDef,在下面直接继承了其字段并赋值。
u32 i=0; // 定义延时参量int main(void){SystemInit(); //系统时钟配置函数通过不同的定义来选择不同的主频这里设置是72m RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//打开功能时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化IO口while (1){for(i=0;i<=0x1ffff;i++);GPIO_SetBits(GPIOA, GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7);//置高IO口for(i=0;i<=0x1ffff;i++);GPIO_ResetBits(GPIOA,GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7);//置低io口}}。
单片机实验报告
单片机实验报告单片机是一种集成电路,具有计算能力、控制能力和通信能力,广泛应用于各个领域。
本次实验是使用单片机进行LED灯控制的实验。
实验目的是了解单片机的基本原理和操作方法,掌握单片机控制LED灯的方法。
实验器材有STM32F103C8T6单片机、面包板、杜邦线、LED灯等。
实验过程如下:1. 准备工作:将单片机和LED灯连接在面包板上,连接好电源。
2. 打开Keil MDK软件,创建新工程,设置好芯片型号和工作频率。
3. 编写程序代码:在程序编辑窗口中编写相关代码,实现控制LED灯亮灭的功能。
代码主要包括引用头文件、引用库、定义引脚等内容。
4. 编译和下载:完成代码编写后,点击编译按钮进行编译,生成可执行文件。
将可执行文件下载到单片机中。
5. 运行实验:将单片机连接至电源,观察LED灯的亮灭情况。
根据代码的设置,单片机会控制LED灯的亮度和闪烁频率。
实验结果如下:通过实验,我们成功地控制了LED灯的亮灭。
根据设定的代码,单片机可以实现不同的控制灯光效果,如常亮、闪烁、呼吸灯等。
此外,可以通过修改代码来实现不同的灯光效果。
实验总结如下:通过本次实验,我对单片机的原理和操作方法有了更深入的了解。
学会了如何利用单片机控制LED灯,熟悉了编写程序代码的过程。
此外,我还学会了如何使用Keil MDK软件进行单片机开发。
单片机作为一种重要的微处理器,具有广泛的应用前景。
通过掌握单片机的工作原理和操作方法,我可以在实际应用中使用单片机进行各种控制和计算任务。
本次实验的不足之处是实验过程较为简单,仅涉及到LED灯的控制,对单片机的其他功能了解较少。
在以后的学习中,我将进一步深入学习单片机的原理和应用,提高自己的技术水平。
通过本次实验,我对单片机有了初步的了解,对以后学习和实践单片机相关的内容打下了坚实的基础。
闪烁LED灯的程序
闪烁L E D灯软件描述:/*文件描述:使用的是口,可以用其他的端口,如果用其他的端口只需把程序里的改成相应的端口,程序实现的功能是单片机通过对端口高低电平的控制实现led灯的亮和灭。
赋值1就是高电平,0是低电平,具体赋什么值才亮要结合硬件部分,看led灯的接法。
这里是赋0就会亮。
*/#include<>sbitLED=P1^0;击确定就好了。
之后就需要在工程里面添加文件了(就是写程序代码的地方)。
点击file菜单下的new按钮就建立了新文件;键入程序点击保存按钮。
键入文件名但必须以.c为后缀,因为你写的是c语言文件。
如果是汇编就是.asm了。
一般用c语言写,这里我就用test1.了,点击保存。
然后就是设置了。
右击target1,选择第一项的options for target “target1”。
选择output在create HEX前勾上对号。
点击确定。
之后就是添加文件了,就是把c语言文件添加到工程里面去。
右击上图灰色的部分,再左击Add files to ‘source group 1‘,点击文件名,点击Add;文件添加完毕,关闭对话框就可以了。
下面就是编译了,就是安从左到右的3个按键即可。
创建了hex文件,这个文件就是烧写到单片机的文件;下面就是烧写程序了。
打开烧写程序选择单片机型号一般不用该默认c52.打开需要下载的文件即点击open file按钮;选择下载的文件;点击打开即可;选择端口。
一般这个电脑就是com1.点击下载即可。
给单片机上电;硬件描述:硬件部分就是一个led灯。
但是需要串联一个限流电阻,如果只加入一个led灯就是烧掉,限流电阻的选择要合适,这个自己百度看看很简单的在这里就不必说了,应该串联个500R左右的电阻,因为办公室里没有所以就用了2个1K的并联。
我建议同学自己焊下电路板,然后下载上程序看看。
下载后的状态:定时器/*文件描述:这个led口用的也是是口,可以用其他的端口,如果用其他的端口只需把程序里的改成相应的端口,这个程序实行的功能是利用定时器0的计数功能实现上面闪烁led灯的功能。
单片机实训报告单灯闪烁
一、实训目的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文件。
单片机多灯闪烁实训报告
一、实训背景随着电子技术的不断发展,单片机在各个领域得到了广泛应用。
为了提高自己的实践能力和对单片机原理的深入理解,我们进行了单片机多灯闪烁实训。
通过本次实训,我们学习了单片机的编程、调试和实际应用,掌握了单片机多灯闪烁系统的设计和实现方法。
二、实训目的1. 熟悉单片机的硬件结构和基本原理。
2. 掌握单片机编程方法,能够编写简单的控制程序。
3. 学会调试单片机程序,确保程序的正确运行。
4. 了解单片机多灯闪烁系统的设计方法和实现步骤。
5. 提高动手能力和团队协作能力。
三、实训内容本次实训主要内容包括:1. 硬件电路设计:设计一个由8个LED灯组成的流水灯电路,要求每个LED灯依次闪烁,实现多灯闪烁效果。
2. 软件编程:编写单片机程序,实现LED灯的闪烁控制。
3. 调试与优化:对程序进行调试,确保LED灯按照预期效果闪烁。
四、实训步骤1. 硬件电路设计(1)选择合适的单片机:本次实训选用STC89C52单片机作为控制核心。
(2)设计电路原理图:根据单片机的引脚功能和LED灯的连接方式,设计电路原理图。
(3)绘制PCB板:根据电路原理图,绘制PCB板布局图。
2. 软件编程(1)初始化单片机:设置单片机的工作模式、定时器、中断等。
(2)编写主程序:实现LED灯的闪烁控制,包括延时函数、LED灯控制函数等。
(3)编写中断服务程序:根据需要,设置中断服务程序,实现特定功能。
3. 调试与优化(1)编译程序:使用Keil uVision软件编译程序,生成HEX文件。
(2)下载程序:使用ISP下载器将程序下载到单片机中。
(3)调试程序:通过调试工具(如Proteus)观察LED灯的闪烁效果,根据实际效果调整程序。
(4)优化程序:根据实际需求,对程序进行优化,提高系统性能。
五、实训成果通过本次实训,我们成功设计并实现了一个由8个LED灯组成的流水灯电路,实现了多灯闪烁效果。
以下是实训成果:1. 设计了一个基于STC89C52单片机的流水灯电路,实现了8个LED灯依次闪烁的效果。
简单的STM32汇编程序—闪烁LED
简单的STM32汇编程序—闪烁LED要移植操作系统,汇编是道不得不跨过去的坎。
所以承接上篇的思路,我准备⽤汇编写⼀个简单的闪烁LED灯的程式。
以此练习汇编,为操作系统做准备。
第⼀步,还是和上篇⼀样,建⽴⼀个空的⽂件夹。
第⼆步,因为是要⽤汇编来写程式,所以不需要启动代码,这⾥选择否。
第三步,建⽴⼀个.s⽂件,并把⽂件添加到⼯程中。
第四步,在LED.s⽂件中添加如下代码。
LED0 EQU 0x422101a0RCC_APB2ENR EQU 0x40021018GPIOA_CRH EQU 0x40010804Stack_Size EQU 0x00000400AREA STACK, NOINIT, READWRITE, ALIGN=3Stack_Mem SPACE Stack_Size__initial_spAREA RESET, DATA, READONLY__Vectors DCD __initial_sp ; Top of StackDCD Reset_Handler ; Reset HandlerAREA |.text|, CODE, READONLYTHUMBREQUIRE8PRESERVE8ENTRYReset_HandlerBL LED_InitMainLoop BL LED_ONBL DelayBL LED_OFFBL DelayB MainLoopLED_InitPUSH {R0,R1, LR}LDR R0,=RCC_APB2ENRORR R0,R0,#0x04LDR R1,=RCC_APB2ENRSTR R0,[R1]LDR R0,=GPIOA_CRHBIC R0,R0,#0x0FLDR R1,=GPIOA_CRHSTR R0,[R1]LDR R0,=GPIOA_CRHORR R0,R0,#0x03LDR R1,=GPIOA_CRHSTR R0,[R1]MOV R0,#1LDR R1,=LED0STR R0,[R1]POP {R0,R1,PC}LED_ONPUSH {R0,R1, LR}MOV R0,#0LDR R1,=LED0STR R0,[R1]POP {R0,R1,PC}LED_OFFPUSH {R0,R1, LR}MOV R0,#1LDR R1,=LED0STR R0,[R1]POP {R0,R1,PC}DelayPUSH {R0,R1, LR}MOVS R0,#0MOVS R1,#0MOVS R2,#0DelayLoop0ADDS R0,R0,#1CMP R0,#330BCC DelayLoop0MOVS R0,#0ADDS R1,R1,#1CMP R1,#330BCC DelayLoop0MOVS R0,#0MOVS R1,#0ADDS R2,R2,#1CMP R2,#15BCC DelayLoop0POP {R0,R1,PC}; NOPEND///////////////////////////////////////////////////////代码的简单讲解1,预定义LED0 EQU 0x422101a0 ;PA8的Bit-Bond地址。
dsp(LED灯闪烁实验)
LED灯闪烁实验报告一、实验目的1 、初步了解TMS320VC5416DSK硬件的基本结构及工作原理。
2、学习和熟悉Code Composer Studio 开发环境。
3、学习BSL(Board Support Library)二、实验仪器PC机一台TMS320VC5416DSK一套(附CCS)三、实验原理1、硬件原理图2 、软件流程图四实验步骤1、创建新工程2、在项目浏览器中激活led.cdb文件进行编辑3、修改属性4、设置选项5、调试rebuild all——Load program 后生成led.out文件把此文件装载到5416DSK上,运行显示结果五、实验现象、结果及分析1、一个灯闪烁的实验程序:void Blink0(){int delay,i;delay = 200; //亮灭时间间隔while(1) //控制灯的亮和灭{DSK5416_LED_on(0);TSK_sleep(delay);DSK5416_LED_off(0);TSK_sleep(delay);}}主函数:void main(){// Initialize the board//support libraryDSK5416_init();}』实验现象:灯1不断闪烁,通过调整程序中delay的值的大小可以改变闪烁频率。
2、程序修改1:改变灯闪烁的时间间隔程序如下:void Blink0(){int delay,i;delay = 200; //亮灭时间间隔while(1) //控制灯的亮和灭{DSK5416_LED_on(0);TSK_sleep(delay);DSK5416_LED_off(0);TSK_sleep(delay);}}实验现象:指示灯闪烁的时间间隔变大,为之前的5倍。
3)程序修改2:灯1,2,3,4同时闪烁核心程序:void Blink0(){int delay;delay = 200;while(1) //4个灯同时闪烁 { //4个灯同时亮DSK5416_LED_on(0);DSK5416_LED_on(1);DSK5416_LED_on(2);DSK5416_LED_on(3);TSK_sleep(delay);//4个灯同时灭DSK5416_LED_off(0);DSK5416_LED_off(1);DSK5416_LED_off(2);DSK5416_LED_off(3);TSK_sleep(delay);}}实验现象:4个灯同时闪烁,改变delay的值也可以改变闪烁的频率。
使用keil和proteus点亮一个led灯
点击元件,在图中接好,led要接在P1.0口,与程序中定义口对应。
双击单片机(89c52),在对话框里ProgramFile找到刚刚 生成的hex文件oject -> New μVision Project 创 建一个新的Project文件
选择保存路径之后出现对话框。选择 Atmel ,找到AT89C52,OK
新建文本,保存,文件后缀名加上 .c (eg:1.c)
在工作区,右键单击Source Group 1 -> Add files to … -> 1.c -> Add -> close
准备工作完成,开始编写程序,编译
点击程序上方第一个按钮
找到Output,下勾选Create Hex File,OK
再次编译程序,出现下方蓝字部分即 hex文件生成成功。
打开Proteus->新建设计 点击左上角的 “P” ,在对话框左上角空白处输入 89c52,选择AT89C52,再输入led,选择任意led即可。 左边一列第八个按钮中选择POWER(电源)
keil开发环境实验报告
keil开发环境实验报告Keil开发环境实验报告一、实验目的本实验旨在通过Keil开发环境,进行嵌入式系统的软件开发,以及对嵌入式系统的调试和测试。
二、实验环境1. Keil开发环境:Keil MDK-ARM2. 目标硬件平台:STM32F4开发板3. 软件开发语言:C语言三、实验内容1. 熟悉Keil开发环境的基本操作和功能;2. 编写一个简单的嵌入式系统应用程序,实现LED灯的闪烁;3. 在Keil开发环境中进行程序的编译、下载和调试;4. 对程序进行调试和测试,确保程序的正确性和稳定性。
四、实验步骤1. 打开Keil MDK-ARM软件,创建一个新的工程;2. 编写LED灯闪烁的应用程序,并进行编译;3. 将程序下载到STM32F4开发板,并进行调试;4. 在调试过程中,对程序进行单步调试、变量监视和寄存器查看等操作;5. 对程序进行功能测试,确保LED灯能够正常闪烁。
五、实验结果经过实验,我们成功地使用Keil开发环境进行了嵌入式系统的软件开发,并实现了LED灯的闪烁功能。
在调试和测试过程中,我们发现程序能够正确运行,LED灯能够按照预期的频率进行闪烁。
六、实验总结通过本次实验,我们深入了解了Keil开发环境的基本操作和功能,掌握了嵌入式系统的软件开发、调试和测试方法。
同时,我们也加深了对嵌入式系统的工作原理和应用的理解,为今后的嵌入式系统开发工作打下了良好的基础。
综上所述,Keil开发环境是一款强大而实用的嵌入式系统开发工具,能够有效地支持嵌入式系统的软件开发、调试和测试工作,为嵌入式系统开发者提供了便利和高效的开发环境。
希望通过本次实验报告的分享,能够对大家有所帮助,也希望大家能够在未来的嵌入式系统开发工作中充分发挥Keil开发环境的优势,取得更好的开发效果。
项目一keil软件的使用及灯光闪烁
项目一:keil软件的使用及灯光闪烁实验一、项目目的:1、练习keil软件的使用2、会用单片机控制单个LED灯闪烁二、项目设备1、MCU01 主机模块2、MCU02 电源模块3、MCU04 显示模块4、SL-USBISP-A 在线下载器5、电子连线若干三、项目内容(一)keil软件的使用51 单片机系列最受欢迎的开发软件为Keil C51。
它支持汇编,C 语言开发,软件仿真等功能。
具有相当大的用户群,功能强大,资料丰富。
下面简要介绍一下它的使用方法。
安装完成后,运行此程序进入软件界面。
界面如下图所示:使用具体方法:1、建立项目建立项目的目的是方便对源程序的统一管理,对编译条件编译设置的存储等。
项目文件和源程序文件是相互独立的两种文件。
它们可以存放在不同的目录内,但为了以后管理,通常放在一个目录内。
建立项目的方法是菜单栏中的“Project->New->uVision Project”,然后会弹出一个保存对话框,请选择存放文件夹并保存(一般是事先建立一个文件夹)。
保存项目文件的同时会弹出一个“select device for Target ‘Taget 1’”对话框,通过此对话框选择目标芯片相同的型号并按确定按钮以确定。
最后还会弹出一个对话框,询问是否加载启动文件到项目中,如果是用C 语言开发就点“是”,如果要用汇编编程就点“否”。
整个流程如下图所示。
创建源程序通过“File->New”新建一个源文件,保存此源文件时没有扩展名,如果是 C 语言编程请加扩展名“.c”,如果用汇编编程请加扩展名“.asm”。
源文件最好与项目文件放在同一个文件夹内,以便管理。
2、添加源程序文件到项目右击项目管理器中的项目文件,在弹出的菜单中选择“Add Files to Group ’source Group 1’”,在弹出的对话框中找到上一步保存的源程序文件加载到项目中。
双击刚才加载的源程序文件,在工作空间中完成程序的编辑。
微控制器实训报告总结
一、实习背景随着科技的不断发展,微控制器(Microcontroller Unit,MCU)作为一种重要的嵌入式系统核心组件,广泛应用于工业控制、智能家居、汽车电子等领域。
为了提高学生的实践能力和工程素养,我们学校特开设了微控制器实训课程。
本次实训旨在通过实际操作,使学生掌握微控制器的原理、编程和应用。
二、实习目的1. 理解微控制器的结构和工作原理;2. 掌握C语言编程在微控制器上的应用;3. 学会使用开发工具和调试工具;4. 提高学生的动手能力和团队协作精神。
三、实习内容1. 微控制器基础(1)微控制器的结构:CPU、存储器、I/O端口、定时器/计数器、中断系统等;(2)微控制器的工作原理:程序存储、指令执行、数据存储、输入输出等;(3)常用微控制器型号及特点。
2. C语言编程(1)C语言基本语法和编程规范;(2)指针、数组、结构体等数据结构;(3)函数、模块化编程;(4)中断编程、定时器编程等。
3. 开发工具与调试工具(1)Keil MDK、IAR EWARM等集成开发环境;(2)Proteus、Altium Designer等仿真软件;(3)ST-Link、JTAG等调试工具。
4. 实验项目(1)LED闪烁实验:实现LED灯闪烁,掌握基本I/O操作;(2)按键控制LED实验:实现按键控制LED灯的亮灭,掌握按键输入;(3)定时器实验:实现定时器功能,掌握定时器编程;(4)中断实验:实现中断功能,掌握中断编程;(5)串口通信实验:实现串口通信,掌握串口编程。
四、实习过程1. 教师讲解:教师详细讲解微控制器的原理、编程和应用,使学生了解相关知识;2. 实验操作:学生按照实验指导书进行操作,动手实践;3. 交流讨论:学生之间、师生之间进行交流讨论,解决实验过程中遇到的问题;4. 实验报告:学生完成实验报告,总结实验过程和心得体会。
五、实习成果1. 学生掌握了微控制器的原理、编程和应用;2. 学会了使用开发工具和调试工具;3. 提高了学生的动手能力和团队协作精神;4. 实验项目顺利完成,达到了预期目标。
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灯;最后一条程序为调用延时程序。
实验一 跑马灯实验
目录实验一跑马灯实验 (1)实验二按键输入实验 (3)实验三串口实验 (5)实验四外部中断实验 (8)实验五独立看门狗实验 (11)实验七定时器中断实验 (13)实验十三 ADC实验 (15)实验十五 DMA实验 (17)实验十六 I2C实验 (21)实验十七 SPI实验 (24)实验二十一红外遥控实验 (27)实验二十二 DS18B20实验 (30)实验一跑马灯实验一.实验简介我的第一个实验,跑马灯实验。
二.实验目的掌握STM32开发环境,掌握从无到有的构建工程。
三.实验内容熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。
通过ISP 下载代码到实验板,查看运行结果。
使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。
四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。
软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。
五.实验步骤1.熟悉MDK KEIL开发环境2.熟悉串口编程软件ISP3.查看固件库结构和文件4.建立工程目录,复制库文件5.建立和配置工程6.编写代码7.编译代码8.使用ISP下载到实验板9.测试运行结果10.使用JLINK下载到实验板11.单步调试12.记录实验过程,撰写实验报告六.实验结果及测试源代码:两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。
七.实验总结通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。
作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。
实验二按键输入实验一.实验简介在实验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向。
STM32实验报告
实验一:一个灯的闪烁一、实验要求1.熟悉使用STM32F103ZET6开发板2.利用C语言程序实现一个灯闪烁二、电路原理图图1-1 LED灯硬件连接图三、软件分析1.本实验用到以下3个库函数(省略了参数):RCC_DeInit();RCC_APB2PeriphClockCmd();GPIO_Init();2.配置输入的时钟:SystemInit()主要对RCC寄存器进行配置,GPIOA连接在APB2上,因此RCC_APB2PeriphClockCmd()函数需要使能APB2Periph_GPIOA3.声明GPIO结构: PF6~PF10口配置为输出GPIO_InitStructure.GPIO_Pin =GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;4.应用GPIO口:点亮LED1有五种方法①ODR寄存器法:GPIOA->ODR=0xffbf;②位设置/清除寄存器法:GPIOA->BRR|=0X001;③方法③只适用于GPIOx_BSRR寄存器④GPIO_WriteBit()函数法:GPIO_Write(0xffbf);⑤置位复位库函数法:GPIO_ResetBits(GPIOF,GPIO_Pin_8);5.主函数程序:int main(void){RCC_Configuration(); /* 配置系统时钟 */GPIO_Configuration(); /* 配置GPIO IO口初始化 */ for(;;){GPIOF->ODR = 0xfeff; /* PF8=0 --> 点亮D3 */Delay(600000);GPIOF->ODR = 0xffff; /* PF8=1 --> 熄灭D3 */Delay(600000);}}四、实验现象下载程序后开发板上的LED1灯闪烁五、总结通过对本实验可以发现,和51等8位单片机相比,STM32对I/O端口的操作变得复杂了许多。
MDK的使用与实验一闪烁灯
keil4的安装一、实验目的了解keil4软件安装与调试二、实验内容安装keil4软件并成功注册三、实验仪器、设备计算机、keil4软件四、实验步骤1.首先打开keil4破解.rar并解压文件,得到MDK400_mc u123.exe(安装文件)和KEIL _Li c.exe(破解文件)。
2.打开安装文件,根据提示进行下一步操作,一直到安装完成。
Keil4的安装步骤1Keil4的安装步骤2Keil4安装完成3.点击fini s h后,打开桌面上的K eil uVisio n4,进入MDK。
MDK界面点菜单fil e——licens e manage ment,会出现以下界面。
注册管理界面复制图片中的C ID码,每个计算机的C ID不同,所以必须在本机安装后才能注册。
我们再打开一起被解压出来的kei l4破解文件KEIL_Lic.exe。
将CID码输入,并在Targ et中选择A RM (选择其他的选项也可以注册,但是遇到大程序时会出现无法编译的情况)。
然后点击generat e生成注册码,将注册码填入L IC中,点击addlic,显示*** LIC AddedSucess fully ***时,注册成功。
,然后重新启动M DK。
即完成破解。
Keil4的破解实验一闪烁灯与keil4环境下STM32的设置一、实验目的熟悉在kei l4环境下的STM32的参数设置完成闪烁灯实验任务二、实验内容建立新的工程文件,并根据STM32的设置需求进行配置,配置完成后能顺利执行闪烁灯程序三、实验仪器、设备计算机、keil4软件四、实验步骤1.首先建立固件库文件夹,将其他例子中的固件库复制到我们所需要的文件夹中(文件名可更改)。
固件库文件夹CM3:放置系统头文件User:放置用户工程文件及函数FWLIB:stm32的函数库List:编译后产生的各种文件startu p:启动代码文件obj:放置编译后生成的可执行H EX等文件2.新建一个ke il 工程文件在目标文件夹中,Projec t——new uVisio n projec t,指定一个工程文件存放地点,自定义工程文件名字后,选择保存。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
keil4的安装
一、实验目的
了解keil4软件安装与调试
二、实验内容
安装keil4软件并成功注册
三、实验仪器、设备
计算机、keil4软件
四、实验步骤
1.首先打开keil4破解.rar并解压文件,得到MDK400_mcu123.exe(安装文件)和KEIL_Lic.exe(破解文件)。
2.打开安装文件,根据提示进行下一步操作,一直到安装完成。
Keil4的安装步骤1
Keil4的安装步骤2
Keil4安装完成
3.点击finish后,打开桌面上的Keil uVision4,进入MDK。
MDK界面
点菜单file——license management,会出现以下界面。
注册管理界面
复制图片中的CID码,每个计算机的CID不同,所以必须在本机安装后才能注册。
我们再打
开一起被解压出来的keil4破解文件KEIL_Lic.exe。
将CID码输入,并在Target中选择ARM (选择其他的选项也可以注册,但是遇到大程序时会出现无法编译的情况)。
然后点击generate生成注册码,将注册码填入LIC中,点击add lic,显示*** LIC Added Sucessfully ***时,注册成功。
,然后重新启动MDK。
即完成破解。
Keil4的破解
实验一闪烁灯与keil4环境下STM32的设置
一、实验目的
熟悉在keil4环境下的STM32的参数设置
完成闪烁灯实验任务
二、实验内容
建立新的工程文件,并根据STM32的设置需求进行配置,配置完成后能顺利执行闪烁灯程序
三、实验仪器、设备
计算机、keil4软件
四、实验步骤
1.首先建立固件库文件夹,将其他例子中的固件库复制到我们所需要的文件夹中(文件名可更改)。
固件库文件夹
CM3:放置系统头文件
User:放置用户工程文件及函数
FWLIB:stm32的函数库
List:编译后产生的各种文件
startup:启动代码文件
obj:放置编译后生成的可执行HEX等文件
2.新建一个keil 工程文件在目标文件夹中,Project——new uVision project,指定一个工程文件存放地点,自定义工程文件名字后,选择保存。
新建工程文件
点击保存后进入芯片选择,我们选择的是STMicroelectronics下的STM32F103VE芯片
芯片选择
点击OK,在弹出的提示加载startup文件到工程中的选择中选择否(N)
进入新建工程的主界面,接下来,我们需要对编译环境进行定义
点击按钮,对编译文件进行添加
首先添加名称为ARM的启动文件,将startup_stm32f10x_hd.s添加进去。
ASM--startup_stm32f10x_hd.s 由于我们采用的是STM32F103大存储器芯片,因此采用STM32标准库自带的大存储器芯片启动代码,这个文件已经配置好了初始状态,以及中断向量表。
可以直接在工程里使用,如果你在以后的应用中采用了中存储器或者小存储器STM32芯片,可以将启动代码换为startup_stm32f10x_md.s 或者startup_stm32f10x_ld.s。
然后添加名称为USR的用户代码,将闪烁灯的主函数main.c添加进去。
USER—main.c 例程的主函数。
RCC_Configuration() 完成对系统时钟的设置,例程中通过系统时钟设置函数,外接晶振采用8Mhz,经过片内频率合成,9倍频,设置为72MHz的时钟。
LED_Config() 对控制3个LED指示灯的IO口进行了初始化,将3个端口配置为推挽上拉输出,口线速度为50Mhz。
在配置某个口线时,首先应对它所在的端口的时钟进行使能。
否则无法配置成功,由于3个控制口用到了端口B和端口D,因此要对这两个端口的时钟进行使能,RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD ,ENABLE);
程序中对各状态LED进行了预定义:
#define LED1_ON GPIO_SetBits(GPIOB, GPIO_Pin_5);
#define LED1_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_5);
#define LED2_ON GPIO_SetBits(GPIOD, GPIO_Pin_6);
#define LED2_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_6);
define LED3_ON GPIO_SetBits(GPIOD, GPIO_Pin_3);
#define LED3_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_3);
GPIO_SetBits(x,x); GPIO_ResetBits(x,x); 是标准库stm32f10x_gpio.c中的函数,用于对某口线置位或复位。
初始化完成后,进入大循环,执行功能。
while (1){
LED1_ON; LED2_OFF; LED3_OFF; //V6 亮 V7,V8灭
Delay(0xAFFFF);
LED1_OFF; LED2_ON; LED3_OFF; //V7 亮 V6,V8灭
Delay(0xAFFFF);
LED1_OFF; LED2_OFF; LED3_ON; //V8 亮 V6,V7灭
Delay(0xAFFFF);
}
再添加名称为FWlib的官方库文件,由于在闪烁灯实验中用到的是与时钟有关系的外设时钟官方库stm32f10x_rcc.c和外设的GPIO设置有关系的函数stm32f10x_gpio.c,所以在此我们只添加这两个官方库文件。
FWLIB--stm32f10x_gpio.c ST公司的标准库,包含了关于对通用IO口设置的函数。
stm32f10x_rcc.c ST公司的标准库,包含了关于对系统时钟设置的函数。
添加名称为CMSIS的core_cm3系统文件,将内核文件core_cm3.c和系统时钟与器件初始化文件system_stm32f10x.h添加进去。
CMSYS—是关于CORETEX-M3平台的系统函数及定义
Readme文件夹可不建。
Keil4的程序配置部分完成。
接下来配置工程属性部分:
在Target 1处点击右键选择options for Target ‘Target 1’…进入配置设置或者点击进入工程属性的定义。
点击Output,勾选Create Hex File(创建HEX文件)
点击进入选择Output生成文件的路径,我们选择到我们建立的Obj
文件夹下
选择Listing,点击进入选择编译后产生的各种文件的路径,我们选择到建立的LED闪烁文件夹下
选择C/C++,在定义中,输入STM32F10X_HD,USE_STDPERIPH_DRIVER
C/C++界面中,点击include paths后面的…将包含的路径全部填写在里面
添加完毕后点击OK,就可以对工程文件进行编译。
点击对工程文件进行编译
成功编译文件,查询输出的Obj文件夹是否有文件输出。
注:AXF文件为使用JLINK下载的文件,HEX为其他方式下载的文件
接下来我们使用JLINKV8下载编译好的文件,首先我们安装驱动程序,有三个版本的驱动选择安装,我们这里选择V408i版本,安装过程略过。
安装完成后,需要在MDK中将JLINK进行配置,点击进入工程属性,选择Debug。
选择Cortex-M3 J-LINK,点击settings进入,Port选择JTAG,Max Clock选择2MHz,Interface选择USB,然后点击OK。
然后对烧写的器件进行设置,点击Utilities进入,同样选择Cortex-M3 J-LINK,点击settings。
选择Add,添加STM32F103x High-density Flash,On-chip Flash,512K,选择add。
点击OK,完成JLINK在MDK中的配置。
然后我们在MDK中,连接好开发板后,直接点击DOWNLOAD,就可以将目标程序下载至开发板中。
除了JLINK下载,我们还可以使用JTAG、串口ISP、USB等下载方式,以JLINK下载最为简单方便,其他下载方式就不一一讲解。
思考题:在程序中,那几条语句是对LED端口进行控制的?请将其写至实验报告中。