久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: stm8 tim1 如何實(shí)現(xiàn)定時 不明白都不行 [打印本頁]

作者: wxs732    時間: 2016-10-14 14:13
標(biāo)題: stm8 tim1 如何實(shí)現(xiàn)定時 不明白都不行
/* MAIN.C file
*
* Copyright (c) 2002-2016 STMicroelectronics
*/



/***
曾經(jīng)給TIM1  捏了無數(shù)次,希望能幫到后來的兄弟免遭揉捏之苦,我將持續(xù)分析TIM1 的東西發(fā)上來給大家共同學(xué)習(xí),保障每次一看就明白。


*/
#include "stm8s105c4.h"
void gpio_init(void);
void tim1_init(void);
void delay(unsigned int time);

void gpio_init(void)
{
                PB_ODR |=0X01;
                PB_DDR |=0X01;
                PB_CR1 |=0X01;
                PB_CR2 |=0X01;
}

void tim1_init()
{
                //設(shè)置預(yù)分頻 系數(shù)
                TIM1_PSCRH = 0;
                TIM1_PSCRL = 19;
                //默認(rèn)系統(tǒng)時鐘 2Mhz  2000.000/20 = 100khz
                //周期 1/100.000 = 0.00001s
                //開啟溢出中斷
                TIM1_IER = 0X01;
                //設(shè)置定時值
                TIM1_ARRH = (unsigned char) (5000>>8);
                TIM1_ARRL = (unsigned char )5000;
                //設(shè)置定時器初值
                TIM1_CNTRH = (unsigned char) (5000>>8);
                TIM1_CNTRL = (unsigned char )5000;
//這產(chǎn)生1 HZ 的方波  高電平500ms  低電平500毫秒
/*
*  50000 從什么地方毛出來的 是預(yù)裝載值
*  50000 =定時時間 / 周期
*  比如想 產(chǎn)生10HZ 的方波   
*   1/10HZ = 0.1s  就是50ms高電平 50ms低電平
*  0.05s/0.00001s = 5000
*  裝載值 = 5000
*  0.00001s 從哪里來的啊啊啊啊
*  系統(tǒng)默認(rèn)是 內(nèi)部時鐘 2mhz   2000.000/(19+1) = 100KHZ
*  1/100KZH = 0.00001s
*  

*/


}
void delay(unsigned int time)
{
                while(time--);
}

void  main()
{
               
               
                gpio_init();
                tim1_init();
                TIM1_CR1 |=0X01;
                _asm("rim");
          while (1);
}


@far @interrupt void TIM1_OVF_IRQ(void)
{
                TIM1_SR1 &= 0XFE;
                PB_ODR ^=0X01;  //取反 PB0
}


記得修改中斷 11 ,否則還是不行的。

作者: wxs732    時間: 2016-10-14 14:14
還是把,中斷這部分發(fā)上來,否則,還真有人,實(shí)驗(yàn)不通過
/*        BASIC INTERRUPT VECTOR TABLE FOR STM8 devices
*        Copyright (c) 2007 STMicroelectronics
*/

typedef void @far (*interrupt_handler_t)(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 */

extern @far @interrupt void TIM1_OVF_IRQ(void);



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, TIM1_OVF_IRQ}, /* irq11 */
        {0x82, NonHandledInterrupt}, /* irq12 */
        {0x82, NonHandledInterrupt}, /* 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 */
};





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产在线中文字幕 | 二区不卡 | 久久免费视频1 | 久久综合99 | 欧美在线观看网站 | 欧美国产精品一区二区三区 | 久久高潮 | 久久久久久久久久久丰满 | 国产小视频在线观看 | 亚洲 欧美 精品 | 97久久精品午夜一区二区 | 国产一区二区三区四区五区加勒比 | 蜜桃视频一区二区三区 | 欧美精品一区二区三区在线播放 | 美女视频一区 | 国产精品成人一区二区三区夜夜夜 | 怡红院成人在线视频 | 一区二区三区精品视频 | 亚洲一av | 九色国产| 91亚洲精华国产 | 中文字幕亚洲视频 | 国产情侣一区 | 国产91久久久久久久免费 | 一区二区精品视频 | 毛片免费观看视频 | 国产精品毛片久久久久久 | 成人在线| 国产精品精品视频一区二区三区 | 九九热视频这里只有精品 | 中文字幕在线一区 | www.色五月.com| 国产欧美一区二区三区日本久久久 | 香蕉久久久 | 极品电影院 | 国产二区精品视频 | 91精品入口蜜桃 | 欧美片网站免费 | 成人乱人乱一区二区三区软件 | 日韩一区二区三区在线视频 | 成人精品视频在线 |