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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2006|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

stm8單片機(jī)源程序如下:測速程序 含串口通信

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:551708 發(fā)表于 2019-5-31 11:03 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于stm8 光電門測速系統(tǒng)  能夠與labview 和串口助手通信

單片機(jī)源程序如下:
  1. #include "stm8s.h"
  2. void GPIO_init_Config()
  3. {
  4.   GPIO_DeInit(GPIOB);
  5.   GPIO_DeInit(GPIOA);
  6.   GPIO_DeInit(GPIOC);
  7.   GPIO_Init(GPIOB,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_HIGH_FAST);
  8.   GPIO_Init(GPIOA,GPIO_PIN_HNIB,GPIO_MODE_IN_PU_IT);
  9. }
  10. //延時(shí)函數(shù),單位毫秒
  11. void delay_ms(u16 i)
  12. {
  13.   TIM2_DeInit();
  14.   TIM2_TimeBaseInit(TIM2_PRESCALER_2,999);
  15.   while(i--)
  16.   {
  17.      TIM2_Cmd(ENABLE);
  18.      while(TIM2_GetFlagStatus(TIM2_FLAG_UPDATE)!=1);
  19.      TIM2_ClearFlag(TIM2_FLAG_UPDATE);
  20.      TIM2_Cmd(DISABLE);
  21.   }
  22. }
  23. //TIM2初始化函數(shù)
  24. void TIM3_Cap_Init()
  25. {
  26.   TIM3_DeInit();
  27.   TIM3_TimeBaseInit(TIM3_PRESCALER_2,65535);
  28.   TIM3_ICInit(TIM3_CHANNEL_1,TIM3_ICPOLARITY_FALLING ,TIM3_ICSELECTION_DIRECTTI,TIM3_ICPSC_DIV1,0x00);
  29.   TIM3_ITConfig(TIM3_IT_CC1|TIM3_IT_UPDATE,ENABLE);
  30.   TIM3_CCxCmd(TIM3_CHANNEL_1,ENABLE);
  31.   enableInterrupts();
  32.   TIM3_Cmd(ENABLE);
  33. }

  34. //串口配置函數(shù)
  35. void USART_Init()
  36. {
  37.   UART2_DeInit();
  38.   UART2_Init((u32)9600,
  39.              UART2_WORDLENGTH_8D,
  40.              UART2_STOPBITS_1,
  41.              UART2_PARITY_NO,
  42.              UART2_SYNCMODE_CLOCK_DISABLE,
  43.              UART2_MODE_TXRX_ENABLE);
  44.   UART2_Cmd(ENABLE);
  45. }
  46. void USART_SendByte(u8 TxDate)
  47. {
  48.   UART2_SendData8(TxDate);
  49.   while(!UART2_GetFlagStatus(UART2_FLAG_TXE));
  50. }
  51. void USART_Write(u8* TxDate,u16 len)
  52. {
  53.   u16 i;
  54.   for(i=0;i<len;i++)
  55.   {
  56.     USART_SendByte(TxDate[i]);
  57.   }
  58. }
  59. u16 Cap_Val=0;
  60. u8 Cap_Sta=0;
  61. #pragma vector=18
  62. __interrupt void TIMER_IRQHander(void)
  63. {
  64.   if((Cap_Sta&0X80)==0)
  65.   {
  66. #pragma vector=17
  67.    if (TIM3_GetITStatus(TIM3_IT_UPDATE)==SET)
  68.    {
  69.      if(Cap_Sta&0X40)
  70.      {
  71.        if((Cap_Sta&0X3F)==0X3F)
  72.        {
  73.          Cap_Sta|=0X80;
  74.          Cap_Val=0XFFFF;  
  75.         }
  76.         else
  77.         {
  78.          Cap_Sta++;
  79.          }
  80.       }
  81.       TIM3_ClearITPendingBit(TIM3_IT_UPDATE);
  82.     }
  83.     if(TIM3_GetITStatus(TIM3_IT_CC1)==SET)
  84.     {
  85.       if(Cap_Sta&0X40)//捕獲到一個(gè)上升沿
  86.       {
  87.         Cap_Sta|=0X80;//標(biāo)記成功捕獲到一次低電平脈寬
  88.         Cap_Val=TIM3_GetCapture1();
  89.         TIM3_OC1PolarityConfig(TIM3_ICPOLARITY_FALLING);//設(shè)置為下降沿觸發(fā)
  90.       }
  91.       else//還未開始,第一次捕獲下降沿
  92.       {
  93.         Cap_Sta=0;
  94.         Cap_Val=0;
  95.         TIM3_SetCounter(0);
  96.         Cap_Sta|=0X40;//標(biāo)記捕獲到了下降沿
  97.         TIM3_OC1PolarityConfig(TIM3_ICPOLARITY_RISING);//設(shè)置為上升沿觸發(fā)
  98.       }
  99.     }
  100.   }
  101.   TIM3_ClearITPendingBit(TIM3_IT_CC1);
  102. }
  103. //主函數(shù)
  104. int main(void)
  105. {
  106.   u32 temp=0;
  107.   u8 s[10];
  108.   GPIO_init_Config();
  109.   TIM3_Cap_Init();
  110.   USART_Init();
  111.   GPIO_WriteHigh(GPIOB,GPIO_PIN_LNIB);
  112.   while(1)
  113.   {
  114.     if(Cap_Sta&0X80)
  115.     {
  116.       temp=Cap_Sta&0X3F;
  117.       temp*=65536;
  118.       temp+=Cap_Val;
  119.       Cap_Sta=0;
  120.       Cap_Val=0;
  121.     }
  122.     if(temp!=0)
  123.     {
  124.       GPIO_WriteReverse(GPIOB,GPIO_PIN_4);
  125.       //temp=0;
  126.       delay_ms(temp);
  127.       //GPIO_WriteReverse(GPIOB,GPIO_PIN_LNIB);
  128.       //delay_ms(temp/100000);
  129.     }
  130.    
  131.    }
  132. }
復(fù)制代碼

所有資料51hei提供下載:
定時(shí)器捕獲按鍵時(shí)長控制燈閃爍間隔.7z (425.53 KB, 下載次數(shù): 15)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2019-5-31 19:43 | 只看該作者
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品九九 | 午夜小视频在线播放 | 日韩三级电影在线看 | 欧美国产日韩在线观看 | 国产中文视频 | 成人免费在线观看视频 | 欧美一级久久 | 亚洲成人高清 | 在线视频亚洲 | 亚洲成人国产精品 | 欧美精品一区二区在线观看 | 精品毛片 | 国产中文字幕网 | 久久久精品视频一区二区三区 | 国产伦精品一区二区三区精品视频 | 看一级毛片 | 久在线观看| 亚洲精品自在在线观看 | 亚洲免费在线观看 | 欧美激情综合色综合啪啪五月 | 在线亚洲精品 | 天堂资源 | 亚洲国产欧美日韩 | 麻豆视频国产在线观看 | 欧美精品一区二区在线观看 | 亚洲国产精品va在线看黑人 | 亚洲综合色视频在线观看 | 欧美自拍网站 | 成人福利影院 | 日韩一二三区视频 | 久久99精品久久久久久琪琪 | 免费视频一区二区 | 中文字幕国产视频 | 久久国产一区二区 | 中文字幕第一页在线 | a在线视频 | 成人精品一区二区三区四区 | h视频在线观看免费 | 丁香一区二区 | 成人精品一区二区三区中文字幕 | 亚洲欧洲成人在线 |