历史上的今天
返回首页

历史上的今天

今天是:2025年02月13日(星期四)

正在发生

2020年02月13日 | STM8s103F3p 16位定时器 STM2

2020-02-13 来源:eefocus

/************************************************************************************


/* MAIN.C file

 * 

 * Copyright (c) 2002-2005 STMicroelectronics

 */

//16位定时器2的中断方式

//周期为50ms

#include "stm8s103f.h"


main()

{

 //端口初始化

 PD_DDR=0x0f;

 PD_CR1=0x0f;

 PD_CR2=0x00;

 PD_ODR=0x0f;//端口D的前4位输出高电平

 //定时器初始化

 TIM2_IER=0x00;//禁止中断

 TIM2_EGR=0x01;//允许产生更新事件

 TIM2_PSCR=0x01;//计数器时钟=主时钟/128=2Mhz/2

        //相当于技术周期是1us

 TIM2_ARRH=0xC3;//设置重装载时候寄存器的高8位  

 TIM2_ARRL=0x50;//设置重装载时候寄存器的低8位 

         //0xc350=50000*1us=50ms

 TIM2_CNTRH=0xC3;//设定计数器的初始值高8位 

 TIM2_CNTRL=0x50;//设定计数器的初始值低8位

 TIM2_CR1=0x01;//b0=1;允许计数器工作

        //b1=0;允许更新

        //设置控制器,启动定时器

 TIM2_IER=0x01;//允许更新中断

 _asm("rim");//允许全局中断

 while (1)

 {}

}


/************************************************************************************


/* BASIC INTERRUPT VECTOR TABLE FOR STM8 devices

 * Copyright (c) 2007 STMicroelectronics

 */

#include "stm8s103f.h"

typedef void @far (*interrupt_handler_t)(void);

void TIM2_UPD_IRQHandler(void);

struct interrupt_vector {

 unsigned char interrupt_instruction;

 interrupt_handler_t interrupt_handler;

};


@far @interrupt void NonHandledInterrupt (void)

{

 /* in order to detect unexpected events during development, 

    it is recommended to set a breakpoint on the following instruction

 */

 return;

}


extern void _stext();     /* startup routine */

@near @interrupt void TIM2_UPD_IRQHandler(void)

{

  TIM2_SR1=0x00;//清楚更新标志

  PD_ODR^=0x0f;

}

struct interrupt_vector const _vectab[] = {

 {0x82, (interrupt_handler_t)_stext}, /* reset */

 {0x82, NonHandledInterrupt}, /* trap  */

 {0x82, NonHandledInterrupt}, /* irq0  */

 {0x82, NonHandledInterrupt}, /* irq1  */

 {0x82, NonHandledInterrupt}, /* irq2  */

 {0x82, NonHandledInterrupt}, /* irq3  */

 {0x82, NonHandledInterrupt}, /* irq4  */

 {0x82, NonHandledInterrupt}, /* irq5  */

 {0x82, NonHandledInterrupt}, /* irq6  */

 {0x82, NonHandledInterrupt}, /* irq7  */

 {0x82, NonHandledInterrupt}, /* irq8  */

 {0x82, NonHandledInterrupt}, /* irq9  */

 {0x82, NonHandledInterrupt}, /* irq10 */

 {0x82, NonHandledInterrupt}, /* irq11 */

 {0x82, NonHandledInterrupt}, /* irq12 */

 {0x82, (interrupt_handler_t)TIM2_UPD_IRQHandler}, /* irq13 */

 {0x82, NonHandledInterrupt}, /* irq14 */

 {0x82, NonHandledInterrupt}, /* irq15 */

 {0x82, NonHandledInterrupt}, /* irq16 */

 {0x82, NonHandledInterrupt}, /* irq17 */

 {0x82, NonHandledInterrupt}, /* irq18 */

 {0x82, NonHandledInterrupt}, /* irq19 */

 {0x82, NonHandledInterrupt}, /* irq20 */

 {0x82, NonHandledInterrupt}, /* irq21 */

 {0x82, NonHandledInterrupt}, /* irq22 */

 {0x82, NonHandledInterrupt}, /* irq23 */

 {0x82, NonHandledInterrupt}, /* irq24 */

 {0x82, NonHandledInterrupt}, /* irq25 */

 {0x82, NonHandledInterrupt}, /* irq26 */

 {0x82, NonHandledInterrupt}, /* irq27 */

 {0x82, NonHandledInterrupt}, /* irq28 */

 {0x82, NonHandledInterrupt}, /* irq29 */

};

推荐阅读

史海拾趣

Empro Technology Corp公司的发展小趣事

Empro Technology Corp成立于2005年,由一群热衷于电子技术的工程师创立。在初创阶段,公司专注于研发高效能、低功耗的半导体芯片。经过数年的不懈努力,公司成功推出了一款具有颠覆性技术的芯片产品,其性能远超当时市场上的同类产品,迅速获得了市场的认可。

芯旺微电子(ChipON)公司的发展小趣事

芯旺微电子自2012年成立以来,始终致力于高可靠性MCU器件的研发设计。公司凭借其自主研发的KungFu内核架构处理器,迅速在汽车级和工业级混合信号MCU领域崭露头角。随着技术的不断积累和市场的深入拓展,芯旺微电子逐渐从一家初创公司发展成为国内车规级MCU市场的领军企业。

永丰盈(CST)公司的发展小趣事

品质是CST的生命线。为了确保产品质量的稳定性和可靠性,公司建立了完善的质量管理体系,严格执行ISO9001质量体系及ISO14001环境体系。同时,公司还注重员工的培训和教育,提高员工的质量意识和操作技能。这些措施使得CST的产品质量得到了客户的广泛认可。

Aeroflex Metelics / Hi-Rel Components公司的发展小趣事

品质是CST的生命线。为了确保产品质量的稳定性和可靠性,公司建立了完善的质量管理体系,严格执行ISO9001质量体系及ISO14001环境体系。同时,公司还注重员工的培训和教育,提高员工的质量意识和操作技能。这些措施使得CST的产品质量得到了客户的广泛认可。

Elcos AG公司的发展小趣事

在电子科技日新月异的21世纪初,Elcos AG由一群志同道合的电子工程师创立。他们看到了电子元器件市场中的机遇,决定专注于研发和生产高性能的电子元器件。初始阶段,公司面临着资金紧张、技术挑战和市场认知度低的困境。然而,凭借对技术的执着和对市场的敏锐洞察,Elcos AG逐步攻克了技术难题,并通过与几家小型电子产品制造商的合作,打开了市场的大门。

EF Johnson Technologies Inc公司的发展小趣事

在电子通信技术的浪潮中,EF Johnson Technologies Inc公司凭借其卓越的研发团队,成功开发出一款新型无线通信设备,该设备在信号稳定性和传输距离上均取得了重大突破。这一技术突破不仅让EF Johnson在市场上获得了显著的竞争优势,也推动了整个行业的技术进步。随着产品的广泛应用,EF Johnson逐渐确立了其在无线通信领域的领先地位。

问答坊 | AI 解惑

MCGS组态软件设计及其应用

一、引言     过去工业控制计算机系统的软件功能都靠软件人员编程实现。工作量大,软件通用性差,且易产生错误。随着工业控制要求的不断提高,专门用于工业控制的组态软件应运而生,它是一套功能齐全的组态生成工具软件,通用性强,而 ...…

查看全部问答>

ARM c程序的问题

_irqHandler PROC    1. STMFD   sp!,{r0-r4,r12,lr}    2. mov     r4,#0x80000000  //中断控制寄存器首地址(假设的)    3. ldr     r0,[r4,#0] ...…

查看全部问答>

给论坛的建议

我希望论坛能够在下载扣金币方面可以放松点,比如每次只扣一个或者在某个贴上下载只扣若干个就好了,因为有些文件确实比较大,要下好几个压缩文件才能行的,而每下一个就扣好几,很多人都有些不舍得,毕竟金币有比较难得,特别是新手就更麻烦了,我 ...…

查看全部问答>

wince 桌面快捷方式

请问: wince中的文件夹有没有后缀名? 我想把一个名为NandFlash的文件夹,放到桌面快捷方式, 我在WINCE500\\PLATFORM\\SMDK2440\\FILES创建了一个NandFlash.LNK文件,里面写上22#\\windows\\NandFlash 我又在Project.bib 里面加上 NandFlash ...…

查看全部问答>

PCI设备识别不正常

首先我的程序在某些主板上是可以正常工作的(具体型号我也搞不懂),设置的是从设备,内部只有从设备状态机。没有接入奇偶检验,仲裁和热插拔。 问题是在一些主板上发现设置为从设备时无法找到设备,设置为主设备可以找到,但是通过软件读取配置信 ...…

查看全部问答>

0

居然要全部下完才能都打开?这个有点不厚道…

查看全部问答>

LM3S程序求教

//————————————————头文件————————————————————#include \"inc/hw_ints.h\"//硬件中断#include \"inc/hw_memmap.h\"#include \"inc/hw_types.h\"//硬件类型#include \"driverlib/gpio.h\"//GPIO#include \"dri ...…

查看全部问答>

中断究竟是个怎么回事?

今天听单片机老师讲课讲中断,说分了好几种,被他弄得一头雾水,还是没明白他说的中断都有什么,怎么配置,查了查2553手册,愣是没找到讲解终端的地方,球大神指点123!不胜感激。…

查看全部问答>

DCDC电源中的电流检测

文章介绍了7中电流检测的办法,可以作为电流检测的入门读物 …

查看全部问答>