STM8S208R8的第一个程序---点亮LED

发布者:MusicLover123最新更新时间:2016-10-12 来源: eefocus关键字:STM8S208R8  点亮LED 手机看文章 扫描二维码
随时随地手机看文章
在网上找一份STM8S中文数据手册,那个手册有一小点问题,不碍大局的,到时候我再给大家指出,有了这份数据手册就可以顺我者昌,逆我者变羊了

下面开始写程序

#include//IAR FOR STM8自带的头文件
//也许有人问为什么不用STM8S.H,因为IAR自己已经写好了,而且还很好用,为什么不用呢

/*****************************************************************************/
//本实验用于实现LED灯点亮
//在开发板里有两个可供编程的LED,分别接在单片机的PC1,PC2引脚上
//并且通过限流电阻接到VCC3.3V上,即采用灌入模式
//那么我们在程序里将LED的相应寄存器写0点亮LED,写1则熄灭
/******************************************************************************/

/*****************************************************************************
引脚初始化程序,参见第11节.对应数据手册,我们要做
DDR---1:引脚输入输出方向控制,默认是0,即输入模式,此处我们选输出模式
CR1---2:通过软件置1或置0,用来在输入或输出模式下选择不同的功能,此处我们选推挽输出
ODR---3:端口数据输出寄存器,通过软件置1或置0,实现对LED电压的控制
由于仅仅是驱动LED,不涉及到其他信息,其他寄存器就不予理睬了
******************************************************************************/
void GPIO_Init()
{
  PC_DDR_DDR1=1;//PC1即LED1设为输出模式
                //也有人用PC_DDR|=0X02    (PC_DDR=(PC_DDR|0X02))
                //这是把PC口的所有IO口一起赋值,用的是"或",不会影响其他位
                //如果有人问为什么可以这么写,那你真应该去看看书了
                //需要控制多个引脚的时候我们可以用后面的写法,比较简洁
  PC_DDR_DDR2=1;//PC2即LED2设为输出模式
  
  PC_CR1_C11 =1;//PC1设为推挽输出模式
  PC_CR1_C12 =1;//PC2设为推挽输出模式
  
  PC_ODR_ODR1=0;//点亮LED1,因为默认该值上电时为0,我们这里可以不写,同理下面写LED2
  PC_ODR_ODR2=0;//点亮LED2
}
/*****************************************************************************
上面的程序可以用第二种方式写,即为
void GPIO_Init()
{
  PC_DDR|=0X06;
  PC_CR1|=0X06;
  PC_ODR|=0;//PC_ODR|=0X00;
}
******************************************************************************/
void main()
{
  GPIO_Init();//执行PC1,PC2初始化,以驱动LED
  while(1);//程序在这里永久执行循环,停止在这里
}

下载程序,立马能见到两个LED点亮了。如果这是你第一个STM8程序,你觉得还没到高潮,那么请将ODR值一个改成1,就能看到区别了

关键字:STM8S208R8  点亮LED 引用地址:STM8S208R8的第一个程序---点亮LED

上一篇:STM8S208R8的第二个程序---按键控制LED
下一篇:基于MP430控制的正弦波信号源的设计与制作

推荐阅读最新更新时间:2024-03-16 15:15

基于STM32F429的定时器中断点亮LED的设计
电子时代,硬件在突飞猛进的发展,频率不断上升,目前的STM32系列,Cortex M系列,Cortex-M4的频率已经为:180MHz了,基本上与之前的ARM7/9频率差不多了,还有Cortex-M7,频率更高,出现了BGA封装与SDRAM DDR等。看来处理器越来越大众化了,物联网上的电子设备联网,也越来越普及了,硬件成本不断降低是大势所趋,因此,作为一个电子设计人员,还是要不断的学习掌握更多的技术知识与基础,从而不会被社会很快淘汰。 最近买了一个现成的STM32F429 Discovery 的开发板,想尝试一下较大点的嵌入式操作系统如RTEMS的移植与应用。因为有了STM32F103/107的基础,熟悉了硬件与固件库,ST
[单片机]
基于STM32F429的定时器中断<font color='red'>点亮</font><font color='red'>LED</font>的设计
STM32学习第一课——新建工程与点亮LED
第一次接触到32位的MCU与之前所学的51单片机和430单片机都是有所不同的,STM32是用库函数来写程序的这样一来不管是从代码的编写和移植都会方便很多。以下是今天所学的东西: 1.新建工程 个人觉得不用去新建一个工程再一步一步的添加各种文件夹和文件,完全可以去官网、论坛或贴吧等地方下载模板,其中大部分文件都可以直接复制过来只需要把你要编程的文件建好就OK,接着只需要把.c .h文件添加进去就可以使用了。(最好把你要写的各种类型的.c.h文件都放在一个文件夹里g个人习惯放在PROJECT文件夹里) 工程里添加文件 点击魔术棒,在C/C++的窗口添加所需要用的文件夹(.c.h文件) 点击魔术棒旁边的三色堆添加.c文件 这
[单片机]
STM32学习第一课——新建工程与<font color='red'>点亮</font><font color='red'>LED</font>灯
51单片机之点亮第一个LED
首先,我们需要准备好51开发板,代码软件keil4,烧录软件(我所使用的是普中科技烧录软件)。第一,我们要理解工作原理,下面是开发板中的电路图。 可以看到,LED阴极接到单片机的P2脚,阳极经过电阻接到VCC,所以当p2脚为低电平时,通电之后LED就可以点亮。 第二步到编程,因为我们只是点亮LED,所以直接把p2口赋予低电平。在这里我们以p20口为例。首先需要包含头文件reg52.h,然后用其中的位定义,把P2^0口用LED来定义,增加程序的可读性。进入到main函数,用while(1)死循环,使程序不断执行以保持LED持续亮,最后在死循环中把0赋予LED即可。 #include reg52.h sbit led=P
[单片机]
51单片机之<font color='red'>点亮</font>第一个<font color='red'>LED</font>
在 S5PV210 的 开发板上 点亮 一个 LED
材料:首先 准备一个 安装好 Linux 的 开发板 使用 xshell 工具 连接 开发板 ,winscp 工具 连接 开发板 , 准备 一个 Ubuntu 32位 ,装上 交叉编译链。。 使用下面 代码 和 Makefile 文件 进行编译 ,生成的 执行 文件 利用 winscp 软件复制到 Linux开发板上 ,利用 xshell 运行 这个可执行文件。 下面 代码的 功能 是 新建 一个 TCP 客户端 连接服务器 (Windows上 的一个 网络 调试工具 NetAssist.exe ,简称网络调试助手 ,类似串口工具) 注意 其中: #define LED_PATH /sys/devices/p
[单片机]
在 S5PV210 的 开发板上 <font color='red'>点亮</font> 一个 <font color='red'>LED</font> 灯
stm8s: GPIO配置,点亮LED!PB4,PB5引脚LED点不亮
最近两天在做STM8S103的开发,调完硬件后,就开始编写软件了,第一步当然又是点亮LED灯了,结果很尴尬的死活点不亮!后来各种百度,认真查看数据手册,才发现一个很大的坑,由于粗心大意,没有看到,做个笔记,以为备忘。 1、流程 点亮LED,流程跟STM32基本一样: (1)配置GPIO(STM8S不需要专门配置每个引脚的时钟,最开始的时候配置系统时钟即可) (2)GPIO输出高低电平 废话不说,直接上代码: 2、上代码 //FUNCKTION: LED灯GPIO口初始化 //PARA : 无 //RETURN : 无 void LED_Config() { GPIO_Init(GPIOB, GPIO_PIN
[单片机]
stm8s: GPIO配置,<font color='red'>点亮</font><font color='red'>LED</font>!PB4,PB5引脚<font color='red'>LED</font>点不亮
STM32实战1:按键点亮LED小灯
理论知识已经学习完成,之后我们进入实战篇,在实战的学习中,我完成了第一个项目,用按键点亮了led灯下面是我的程序 led主程序 #include sys.h #include led.h void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);//初始化PCIO时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_I
[单片机]
PIC单片机之第一个工程分析,点亮LED
电路图如下: 新建一个工程: 然后用工程向导设置工程 Project-》project wizard: 选择芯片: 设置编译器: 选择文件位置: 这里设置工程就完成了 添加C文件,这里只是添加一个文件罢了 内容如下: 到这里文件编辑完成了 下面是下载设置,这里要选择上PICkit3,因为我们的仿真器是这个: 最后就是比较关键的配置字了,这里我们使用默认的配置字,configure-》configuration bits...如下: 整个工程可以说配置完毕了,最后下载: 这样就能够把代码数据下载成功进去了 实验现象如下所示: 到这里就结束了整个的工程 但是有几个地方要说的
[单片机]
STM32用寄存器点亮LED
寄存器:实际上就是cpu里面的东西 每个单元都有不一样的功能,根据功能给这些存储单位取别名,这个别名就是我们所说的寄存器。 寄存器的映射:给寄存器分配地址的过程就叫作寄存器的映射。 新建工程: 新建工程需要手动创建main.c .h(头文件)头文件:寄存器的映射 如何写寄存器的映射: 首先找到需要控制外设的IO口,根据这个IO口去寄存器组织架构寻找需要控制外设的IO口在哪里基地址是什么,然后再看需要控制外设的IO口的偏移地址。该IO口的地址就是基地址+偏移地址 **端口的地址在编译器看来只是个地址所以必须强制转换成指针(*unsigned int)+地址 通过控制io口的高低电平去实现我们想要的功能(通用io口(GPIO))
[单片机]
STM32用寄存器<font color='red'>点亮</font><font color='red'>LED</font>灯
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved