STM8S105S4_PKT学习笔记(1) LED灯

原创 2012年03月30日 09:57:06

工程框图:


环境:STVD + Cosmic


程序:

#include "STM8S207S6.h"

void Delay(unsigned int count)
{
	while(count--);
}

void Gpio_Init(void)
{
	PD_DDR |= 0x0D;
	PD_CR1 |= 0x0D;
	PD_CR2 |= 0x00;
}

void Clock_Init(void)
{
	CLK_SWCR |= 0x02;//使能切换机制
	CLK_ECKR |= 0x01;//外部晶振使能
	while(!(CLK_ECKR & 0x02));//等待HSE准备就绪
	CLK_SWR  = 0xB4;//选择HSE为主时钟
	CLK_CSSR |= 0x01;//时钟安全系统使能
}

main()
{
	Clock_Init();
	Gpio_Init();
	while (1)
	{
		PD_ODR = 0x0D;
		Delay(50000);
		PD_ODR = 0x00;
		Delay(50000);
	}
}

我的这块板子的主芯片是STM8S207S6,反正都是STM8S系列的
上述程序,没有Clock_Init()函数程序也可以运行,只不过LED灯闪烁的频率会比现在低。手册上说:启动时,主时钟源默认为HSI的8分频,即HSI/8=2MHZ
程序中Clock_Init()函数的作用是将主时钟源切换为外部晶振(HSE),这里板子上接的外部晶振为8MHZ,所以用外部晶振作为时钟源是LED的闪烁频率会比用HSI/8作为时钟时的频率高。这里时钟切换采用是自动切换,并且使能了时钟安全系统,(当HSE失效时,HSI/8作为备用时钟源),验证的方法是程序运行了,将外部晶振拔掉,会看到LED闪烁的频率有明显的变化


STM8S PWM 应用 呼吸灯

//主功能接受:使用MCU STM8S105C6 的PWM通道2 PC2 来做呼吸灯 已经验证OK,呵 呵,这个PWM设置刚开始用还是有点麻烦,因为是自己摸索,花点时间,还是攻克了 。 //所用子...

STM8S的按键PWM调光灯历程

STM8SPWM应用前几天有个项目用到PWM,今天整理下,弄个氛围灯;记录下,以后忘记了返回来还能看看。...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

STM8S 串口应用 UART2 STM8S105

//少说话,多做事,以下是我验证过没有问题的串口发送接受数据 //使用MCU stm8s105c6 UART2 void UART2_DeInit(void) { u8 dummy = 0;...

STM8S PWM 应用 呼吸灯

//主功能接受:使用MCU STM8S105C6 的PWM通道2 PC2 来做呼吸灯 已经验证OK,呵 呵,这个PWM设置刚开始用还是有点麻烦,因为是自己摸索,花点时间,还是攻克了 。 //所用子...

【cc2541历程】按键控制PWM调光

一、简介 本文将介绍如何用S1按键,控制相应的PWM.. 二、开发平台 编译环境:IAR820.02 协议栈:BLE-CC254x-1.40 代码查看器:Source Insight 3....

STM8S105S4_PKT学习笔记(2) 外部中断

button-->PD7 Led -->PD0 main.c: /* MAIN.C file * * Copyright (c) 2002-2005 STMicroelec...

STM8S105s4-pkt触摸按键

  • 2011年11月12日 10:32
  • 308KB
  • 下载

STM8S105K4 SPI相关代码

/* 初始化函数 */ void SPI_FLASH_Init(void) {    SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_2, SPI_M...

STM8S003xx学习笔记(2):16位高级控制定时器(TIM1)

在单片机中定时器是一个非常重要的概念,这篇文章主要是对定时器TIM1做一个学习笔记。 1 综述 STM8S003xx只含有TIM1、TIM2、TIM4,其中TIM1是高级控制寄存器,TIM2和TIM4...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STM8S105S4_PKT学习笔记(1) LED灯
举报原因:
原因补充:

(最多只允许输入30个字)