亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標題:
stm8單片機源程序如下:測速程序 含串口通信
[打印本頁]
作者:
zyx136336399
時間:
2019-5-31 11:03
標題:
stm8單片機源程序如下:測速程序 含串口通信
基于stm8 光電門測速系統 能夠與labview 和串口助手通信
單片機源程序如下:
#include "stm8s.h"
void GPIO_init_Config()
{
GPIO_DeInit(GPIOB);
GPIO_DeInit(GPIOA);
GPIO_DeInit(GPIOC);
GPIO_Init(GPIOB,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(GPIOA,GPIO_PIN_HNIB,GPIO_MODE_IN_PU_IT);
}
//延時函數,單位毫秒
void delay_ms(u16 i)
{
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_2,999);
while(i--)
{
TIM2_Cmd(ENABLE);
while(TIM2_GetFlagStatus(TIM2_FLAG_UPDATE)!=1);
TIM2_ClearFlag(TIM2_FLAG_UPDATE);
TIM2_Cmd(DISABLE);
}
}
//TIM2初始化函數
void TIM3_Cap_Init()
{
TIM3_DeInit();
TIM3_TimeBaseInit(TIM3_PRESCALER_2,65535);
TIM3_ICInit(TIM3_CHANNEL_1,TIM3_ICPOLARITY_FALLING ,TIM3_ICSELECTION_DIRECTTI,TIM3_ICPSC_DIV1,0x00);
TIM3_ITConfig(TIM3_IT_CC1|TIM3_IT_UPDATE,ENABLE);
TIM3_CCxCmd(TIM3_CHANNEL_1,ENABLE);
enableInterrupts();
TIM3_Cmd(ENABLE);
}
//串口配置函數
void USART_Init()
{
UART2_DeInit();
UART2_Init((u32)9600,
UART2_WORDLENGTH_8D,
UART2_STOPBITS_1,
UART2_PARITY_NO,
UART2_SYNCMODE_CLOCK_DISABLE,
UART2_MODE_TXRX_ENABLE);
UART2_Cmd(ENABLE);
}
void USART_SendByte(u8 TxDate)
{
UART2_SendData8(TxDate);
while(!UART2_GetFlagStatus(UART2_FLAG_TXE));
}
void USART_Write(u8* TxDate,u16 len)
{
u16 i;
for(i=0;i<len;i++)
{
USART_SendByte(TxDate[i]);
}
}
u16 Cap_Val=0;
u8 Cap_Sta=0;
#pragma vector=18
__interrupt void TIMER_IRQHander(void)
{
if((Cap_Sta&0X80)==0)
{
#pragma vector=17
if (TIM3_GetITStatus(TIM3_IT_UPDATE)==SET)
{
if(Cap_Sta&0X40)
{
if((Cap_Sta&0X3F)==0X3F)
{
Cap_Sta|=0X80;
Cap_Val=0XFFFF;
}
else
{
Cap_Sta++;
}
}
TIM3_ClearITPendingBit(TIM3_IT_UPDATE);
}
if(TIM3_GetITStatus(TIM3_IT_CC1)==SET)
{
if(Cap_Sta&0X40)//捕獲到一個上升沿
{
Cap_Sta|=0X80;//標記成功捕獲到一次低電平脈寬
Cap_Val=TIM3_GetCapture1();
TIM3_OC1PolarityConfig(TIM3_ICPOLARITY_FALLING);//設置為下降沿觸發
}
else//還未開始,第一次捕獲下降沿
{
Cap_Sta=0;
Cap_Val=0;
TIM3_SetCounter(0);
Cap_Sta|=0X40;//標記捕獲到了下降沿
TIM3_OC1PolarityConfig(TIM3_ICPOLARITY_RISING);//設置為上升沿觸發
}
}
}
TIM3_ClearITPendingBit(TIM3_IT_CC1);
}
//主函數
int main(void)
{
u32 temp=0;
u8 s[10];
GPIO_init_Config();
TIM3_Cap_Init();
USART_Init();
GPIO_WriteHigh(GPIOB,GPIO_PIN_LNIB);
while(1)
{
if(Cap_Sta&0X80)
{
temp=Cap_Sta&0X3F;
temp*=65536;
temp+=Cap_Val;
Cap_Sta=0;
Cap_Val=0;
}
if(temp!=0)
{
GPIO_WriteReverse(GPIOB,GPIO_PIN_4);
//temp=0;
delay_ms(temp);
//GPIO_WriteReverse(GPIOB,GPIO_PIN_LNIB);
//delay_ms(temp/100000);
}
}
}
復制代碼
所有資料51hei提供下載:
定時器捕獲按鍵時長控制燈閃爍間隔.7z
(425.53 KB, 下載次數: 15)
2019-5-31 19:43 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時間:
2019-5-31 19:43
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1