91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 16KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-10
  • 語(yǔ)言: 其他
  • 標(biāo)簽: stm8s??觸摸按鍵??

資源簡(jiǎn)介

基于stm8s103 的電阻式觸摸按鍵源代碼,很好

資源截圖

代碼片段和文件信息

#include?
#include?“TM1628.h“
typedef?unsigned?char?????uint8_t;
typedef?unsigned?short????uint16_t;
typedef?unsigned?long?????uint32_t;
typedef?uint32_t??u32;
typedef?uint16_t?u16;
typedef?uint8_t??u8;

#define?loadbitmask?0x04
#define?GPIOA_baseAddress???????0x5000
#define?GPIOB_baseAddress???????0x5005
#define?GPIOF_baseAddress???????0x5019
#define?PA3_stouchbit???0
#define?PF4_stouchbit???1
#define?PB7_stouchbit???2
#define?PB6_stouchbit???3
typedef?struct?GPIO_struct
{
??volatile?uint8_t?ODR;?/*!??volatile?uint8_t?IDR;?/*!??volatile?uint8_t?DDR;?/*!??volatile?uint8_t?CR1;?/*!??volatile?uint8_t?CR2;?/*!}
GPIO_TypeDef;
GPIO_TypeDef?*PORT_ADDR;??/**se?adress?of?the?GPIO?(DR?address)?*/



void?Clk_Config(void)
{
????CLK_CKDIVR_CPUDIV?=?0;?????????????????//系統(tǒng)時(shí)鐘1分頻
????while(!(CLK_ICKR?&?0x02));?????????//等待HSI準(zhǔn)備好
}
void?delay(u16?n)??????????
{
????u16?ij;
????while(n?--)
????{
??????for(i?=?0;i?????????for(j?=?0;j?????????????
??????
????}
}?
void?Io_Config(void)
{
????PA_DDR?|=?0x0C;?????????????????????
????PA_CR1?|=?0x0C;?????????????????????????
????PA_ODR?|=?0x0C;??
????PB_DDR?|=?0xC0;?????????????????????
????PB_CR1?|=?0xC0;?????????????????????????
????PB_ODR?|=?0xC0;
????PF_DDR?|=?0x10;?????????????????????
????PF_CR1?|=?0x10;?????????????????????????
????PF_ODR?|=?0x10;
????PD_DDR?|=?0x10;
????PD_CR1?|=?0x10;
}
void?Tim2_Config(void)
{
????TIM2_PSCR?=?0; ????????//16分頻得到8MHZ的定時(shí)器時(shí)鐘定時(shí)器加1就是0.125us
????TIM2_ARRH?=?0xff; ????????//20ms更新一次
????TIM2_ARRL?=?0xff;
???//?TIM2_IER_UIE?=?1; ????????//更新中斷使能 ?
????TIM2_CR1_ARPE?=?1; ????????//預(yù)裝載使能
????TIM2_CR1_CEN=1;???
}
int?touch_acqusition(int?touch_io)
{
????u16?measure_time=0measure_count=0;
????u8?stouchbitmask;
????switch(touch_io)
????{
????????case?PA3_stouchbit:
??????????PORT_ADDR?=?(GPIO_TypeDef?*)(GPIOA_baseAddress);
??????????stouchbitmask=0x08;
??????????break;????????
????????case?PF4_stouchbit:
??????????PORT_ADDR?=?(GPIO_TypeDef?*)(GPIOF_baseAddress);
??????????stouchbitmask=0x10;
??????????break;
????????case?PB7_stouchbit:
??????????PORT_ADDR?=?(GPIO_TypeDef?*)(GPIOB_baseAddress);
??????????stouchbitmask=0x80;
??????????break;
????????case?PB6_stouchbit:
??????????PORT_ADDR?=?(GPIO_TypeDef?*)(GPIOB_baseAddress);
??????????stouchbitmask=0x40;
??????????break;
????}
????do
????{
??????????
????????PORT_ADDR->ODR?&=?~stouchbitmask;??????????????//CAP_CHx?pin?is?set?in?output?mode?at?Vss
????????PORT_ADDR->DDR?|=?stouchbitmask;
????????PORT_ADDR->CR1?&=?~stouchbitmask;
????????PA_ODR?|=?loadbitmask;????????????????//Load?pin?is?set?in?output?mode?at?Vdd
????????TIM2_CNTRH=0X00;
????????TIM2_CNTRL=0X00;????????????//保存定時(shí)器計(jì)數(shù)器的初始值(vih_start)
??

評(píng)論

共有 條評(píng)論