STM8 点亮第一个发光二极管

发布者:和谐相伴最新更新时间:2021-10-18 来源: eefocus关键字:STM8  点亮  发光二极管 手机看文章 扫描二维码
随时随地手机看文章

当 I/O 输出低电平时,LED 导通,LED被点亮;当 I/O 输出高点平时,LED 截止,LED 熄灭;当 I/O 周期性的交替输出高电平、低电平,LED就会闪烁


void InitLED(void)

{

PC_DDR|=0x08;//设置 PC3 为输出模式

PC_CR1|=0x08;//设置 PC3 为推挽输出

PC_CR2|=0x00;//设置 PC3 为 10MHz 快速输出

PE_DDR|=0x01;//设置 PE0 为输出模式

PE_CR1|=0x01;//设置 PE0 为推挽输出

PE_CR2|=0x00;//设置 PE0 为 10MHz 快速输出

PD_DDR|=0x08;//设置 PD3 为输出模式

PD_CR1|=0x08;//设置 PD3 为推挽输出

PD_CR2|=0x00;//设置 PD3 为 10MHz 快速输出

}


void main( void )

{

InitLED(); //初始化 LED 端口

while(1)

{

PC_ODR&=0xF7;//PC_ODR 第 3 位清零,输出低电平

PE_ODR&=0xFE; //PE_ODR 第 0 位清零,输出低电平

PD_ODR&=0xF7; //PD_ODR 第 3 位清零,输出低电平

Delay(5000); //延时

PC_ODR|=0x08;//PC_ODR 第 3 位置位,输出高电平

PE_ODR|=0x01; //PE_ODR 第 0 位置位,输出高电平

PD_ODR|=0x08; //PD_ODR 第 3 位置位,输出高电平

Delay(5000); //延时

}

}


在代码中出现的|=是在嵌入式 C 语言开发中比较常用的位操作方式,PC_DDR|=0x08;这句代码用来将PC_DDR寄存器的[3]位置位,而不影响寄存器的其他位。这句代码实质上是将 PC_DDR寄存器的值与0x08进行或操作,然后再赋值给 PC_DDR 寄存器。


在程序中出现的&=也是嵌入式 C 语言中比较常用的位操作方式,它用来将某位清零,而不影响寄存器的其他位。它实质上是将寄存器的值与等号后面的值进行与操作,然后再赋值给寄存器。


位操作

#include "iostm8s208mb.h"//主控芯片的头文件

/************************常用数据类型定义*************************/

#define u8  uint8_t

#define u16 uint16_t

#define u32 uint32_t 

typedef unsigned char    uint8_t;

typedef unsigned short   uint16_t;

typedef unsigned long    uint32_t;

/*************************端口/引脚定义区域***********************/

#define LED   PI_ODR_ODR0//连接至LED引脚PI0  

/**************************函数声明区域***************************/


/**************************主函数区域*****************************/

void main(void)

{

  PI_DDR_DDR0=1; //配置PI0端口为输出模式

  PI_CR1_C10=1;  //配置PI0端口为推挽输出模式

  PI_CR2_C20=0;  //配置PI0端口低斜率输出2MHz

  LED=0;         //让PI0引脚输出低电平

}

关键字:STM8  点亮  发光二极管 引用地址:STM8 点亮第一个发光二极管

上一篇:搭建STM8S001开发环境
下一篇:关于STM8S001J学习过程记录

推荐阅读最新更新时间:2024-11-12 11:45

动手写一个STM8的轻量级bootloader
STM8凭借其低廉的成本、超高的性价比获得了许多公司的青睐。而在产品中由于方便、安全等需求,往往要使用到IAP下载的方式对已经拿到产品客户进行软件升级(如果产品在批量生产后发现你的程序有问题,而不能IAP更新,那售后维护成本就高了)。 而STM8S003等只有8K Flash的型号是不自带Bootloader的,且ST官方的Bootloader足足会占领4KB Flash空间,且还要考虑固件的保密性等因素,所以编写一个自己的轻量级的Bootloader尤为重要。 下面向大家分享一下本人在一个项目中写的一个Bootloader,最少只需占用0.5KB Flash空间! 【串口收发】 对于单片机而言,Bootloader最
[单片机]
动手写一个<font color='red'>STM8</font>的轻量级bootloader
集创北方AMOLED显示控制整体解决方案点亮GVO FHD屏体
由北京集创北方科技股份有限公司提供的AMOLED显示控制整体解决方案,点亮昆山国显光电有限公司(GVO)5.5”FHD屏体,通过将ICN67520 Power IC、ICN9608 FHD/HD AMOLED Driver、ICNT8688 Touch IC进行搭配,可提供给客户屏体上所需的关键零组件整体解决方案。该方案能够给客户提供整体支持,有助于Driver、Power与Touch IC搭配兼容问题的调校,便于Power、Driver时序配合,并方便优化实际亮度调节算法,从而提高系统效率。与普通方案相比,它更具成本优势,从供应链的角度看,帮助客户提升了效率,缩短了开发进程。 图:集创北方AMOLED显示控制整体解决方案点亮5
[嵌入式]
51单片机---点亮LED灯
LED工作条件 普通发光二极管的工作压降为1.6V – 2.1V 工作电流 1-20mA 此处I = U/R = 3mA 点亮LED 这里在只需控制P1口输出低电平即可点亮LED(即编程时给P1口赋值0) 单片机编程 /***点亮第三颗 第六颗灯***/ #include reg52.h sbit LED3 = P1^2; //位定义 第三颗灯 sbit LED6 = P1^5; //第六颗灯 void main(){ LED3 = 0 ; LED6 = 0; } 如果灯多的话上面那种方法太麻烦 可以改写为以下代码 #include reg52.h void main(){ P1 = 0x
[单片机]
51单片机---<font color='red'>点亮</font>LED灯
51单片机STC89C52点亮多个LED(IO口的字节操作)
程序源码 /*-----------------------包含头文件区域-------------------------*/ #include reg52.h //单片机头文件 /*-----------------------主函数区域-----------------------------*/ void main() { P2=0x0F; //P2端口高四位输出低电平,低四位输出高电平,即D5~D8亮,D1~D4灭 while(1); //死循环,主程序停留在此不再往下执行 } 运行结果
[单片机]
51单片机STC89C52<font color='red'>点亮</font>多个LED(IO口的字节操作)
S3C2440—3.用点亮LED来熟悉裸机开发的详细流程
裸机点亮LED可以分为三步: 看原理图,确定控制LED的引脚 看芯片手册,确定如何设置/控制引脚 编写驱动程序 一.硬件知识 1.LED原理图 原理图将LED抽象化,就像下面这样: LDE的电阻一般很小,而电压一般为3.3V,这样以来电流就很大了,为了避免LED被大电流烧坏,需要给LED串联一个保护电阻。 然而电路中不是依靠我们手动打开电路开关的,可以通过芯片的引脚电平输出3.3V来点亮LED : 或者如下,控制芯片引脚输出0V来点亮LED: 当引脚的驱动能力不足时(电压不够3.3V),可以使用三极管。 如示,只要引脚输出电压满足三极管导通,就可以使3.3V电压加在LED上,这里引脚的输出控制三
[单片机]
S3C2440—3.用<font color='red'>点亮</font>LED来熟悉裸机开发的详细流程
IAR 开发STM8 学习
刚刚接触STM8单片机,之前一直在Linux下开发,一时有点懵逼了,于是把自己的一些学习过程记录下来,希望对与像我这样的门外汉有所帮助。 1、安装IAR软件: 百度一下,一大堆的安装教程, 我安装了2.0以上的版本,需要license,我用注册机生成的注册码填进去,一直提示注册码无效, 没办法使用,最后只能安装 1.42版本的IAR,(安装时记得安装ST-LINK驱动); 2、在IAR中创新工程:project- create new project 然后选择模板, 我选择的是C模板,点击OK, 就会生成一个main.c文件及main函数; 3、把库文件拷贝到工程目录下,(这里我拷贝Libraries 、 Utiliti
[单片机]
IAR 开发<font color='red'>STM8</font> 学习
STM8系列5大主流成员介绍
STM8系列微控制器,8位微控制器平台基于高性能8位内核和先进外设集,在8位单片机行业中占据着举足轻重的市场地位,该平台采用意法半导体专有的130 nm嵌入式非易失性存储器技术制造而成。 STM8的增强型堆栈指针操作、高级寻址模式和新指令让用户能够实现快速、安全的开发。同时具有的强大优势:电路结构简单、串口下载方便、价格便宜,拥有性价比之王称号…… NO.1:STM8S主流系列 意法半导体的STM8S系列主流8位微控制器适于工业、消费类和计算机市场的多种应 用,特别是要实现大批量的情况。基于STM8专有内核,STM8S系列采用ST的130纳米工艺技术和先进内核架构,主频达到24 MHz,处理能力高达20MIPS。嵌入式E
[单片机]
<font color='red'>STM8</font>系列5大主流成员介绍
51单片机学习之陆 —— 1.2 第一个c51程序(点亮流水灯)
由于学校的板子跟我买的板子有些差异,为了大家的阅读,以后的所有程序编写烧录都以老师发的板子为主。 1 事先准备   a 驱动安装,注意群中已经发了,吧板子的驱动装好哦。   b 烧写软件(烧录器) stc - isp (这里说明下,板子上的芯片是stc的,你还能看到它的型号stc89c52RC,用stc的烧写软件就可以了)    提问:什么是烧写软件?     答:就是把你写好代码(C或者是汇编)专程的 机器语言 通过一定的方式下载到单片机中。称为烧写。(就先这样简单理解吧)   c 编写软件 keil uVision 4 (我仅用它编译生成hex 文件)         notpad++ (我用它写c51的代码,然
[单片机]
51单片机学习之陆 —— 1.2 第一个c51程序(<font color='red'>点亮</font>流水灯)

推荐帖子

如何解析键盘手柄发过来的命令并控制云台动作(pelco-D/P协议)?
键盘(例如PelcoKBD-300,或者SamsungSPC-1010键盘)手柄通过RS485串口发送命令给主程序,主程序解析后作用于另外一台云台设备,云台设备用的是标准的Pelco-D和Pelco-P协议,网上找到的资料都是直接写云台设备的程序,我没接触过键盘手柄控制的模式,不知道键盘手柄发送过来的命令是什么格式的??读RS485出来的数据又怎么解析呢?麻烦各位多帮忙。。如何解析键盘手柄发过来的命令并控制云台动作(pelco-D/P协议)?帖子沉啦?
xiguajing 嵌入式系统
STM32单片机是不是写内部FLASH时不可以调试
我在使用官方的FLASH_EraseProgram例程时,发现只要打开调试,则flash擦除程序HAL_FLASHEx_Erase就会失败。无论断点下到什么位置都会失败。STM32单片机是不是写内部FLASH时不可以调试看你的HAL_FLASHEx_Erase要擦除哪一块区域。如果要擦除当前正在执行的程序,那应该会失败。对,楼上老师说的是这样。 我擦除的是片内最后一块扇区,MCU有128Kflash,ADDR_FLASH_PAGE_63,2K一个FLASH块,程序应该没
bigbat stm32/stm8
各位高手好!如今搞java web 开发好些,还是搞嵌入式好些?
请大家例出他们好处,让我比较一下,可以吗?我很想搞嵌入式开发,但不想放弃javaweb开发方面的东西。请大家帮我拿拿主意!各位高手好!如今搞javaweb开发好些,还是搞嵌入式好些?我是菜鸟,首先我个人认为各有优势吧!看个人兴趣了。当然是嵌入式开发现在搞PC上的软件不值钱了一抓一大把我也是楼主这样的想法,我同样是做javaWeb应用的.而现在又想做嵌入式,不过不知道是不是应该转行...废话,嵌入式火的程度,你又不是不知道,但是嵌入式的门槛比较高,想象清楚啊~垃
huangjinhu 嵌入式系统
如何通过串口通信来改变数码管的所显示的东西
在这个代码中,我想用串口助手来控制数码管的显示,但是我并不想让显示的程序放在interrupt4中(也就是说想在主函数中来控制数码管的该变)#includereg52.h#defineucharunsignedchar#defineuintunsignedintsbitdu=P2^6;sbitwe=P2^7;uchara;charcodetable={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x
胡豆豆的春天 51单片机
瑞萨CPK-RA6M4 开发板测评+开箱搭建环境
申请的瑞萨CPK-RA6M4开发板已经到手了,下面看下开箱和搭建环境。第一见开发板把手册全部打印成册的,快速入门查阅还是不错的。这款单片机内核基于Cortex-M33是最近今年推出的内核,主打安全性能上的升级。也就是里面的TrustZone。看下开发板基本是排针引出了IO,也保留了arduino接口,板载了光照度传感器,J-link仿真器件,但没有串口直接转USB比较不方便使用了。RT-Thread是对其支持了,所以本次也都将
流行科技 瑞萨电子MCU
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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