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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2400|回復(fù): 1
收起左側(cè)

stm8 tim1 如何實現(xiàn)定時 不明白都不行

[復(fù)制鏈接]
ID:7209 發(fā)表于 2016-10-14 14:13 | 顯示全部樓層 |閱讀模式
/* 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 ,否則還是不行的。
回復(fù)

使用道具 舉報

ID:7209 發(fā)表于 2016-10-14 14:14 | 顯示全部樓層
還是把,中斷這部分發(fā)上來,否則,還真有人,實驗不通過
/*        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 */
};
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品在线观看 | av黄页 | 亚洲精品影院 | 夜夜嗨av一区二区三区网页 | 黄色av免费在线观看 | 国产一区二区中文字幕 | 国产中文字幕在线 | 日本a网站 | 日韩中文在线观看 | 日韩精品久久久久 | 自拍偷拍一区二区三区 | 国产在线毛片 | 日韩av在线影院 | 久久成人av | 国产精品久久久久久亚洲影视 | 色婷婷综合在线 | 久久精品在线 | 久久精品网| 亚洲免费在线 | 九九热在线视频观看 | 国产福利在线 | 丝袜美腿亚洲综合 | 亚洲成人精品 | 中文字幕免费 | 一级片久久 | 一级片在线播放 | 精品久久久久久久久久久久久 | 国产激情在线观看 | 亚洲精品区| 亚洲精品在线看 | 免费一级毛片免费播放 | 欧美视频在线观看一区 | 天堂成人网| 在线观看国产小视频 | www.欧美精品 | 国产精品一区二区三区免费 | 色婷婷综合在线 | 国产麻豆91 | 欧美激情网 | 国产中文字幕一区 | 视频在线观看一区 |