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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3535|回復: 2
打印 上一主題 下一主題
收起左側

STM8 AD轉換程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:94349 發表于 2015-11-2 14:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include "stm8s.h"
  2. #include "ht1621.h"

  3. unsigned int Beep;
  4. unsigned char flag;
  5. unsigned int value,value_1;
  6. unsigned char const smg_number[10]={0xaf,0x06,0xcb,0x4f,0x66,0x6d,0xed,0x07,0xef,0x6f};//0123456789


  7. void Delay_ms(u16 ms)
  8. {
  9.   while(ms!=0)
  10.   {
  11.     ms--;
  12.   }
  13. }

  14. void Tim2_init(void)
  15. {
  16.   TIM2_TimeBaseInit(TIM2_PRESCALER_32, 31250);//500MS
  17.   TIM2_ARRPreloadConfig(ENABLE);
  18.   TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);
  19.   TIM2_Cmd(ENABLE);
  20. }
  21. void Tim4_init(void)
  22. {
  23.   TIM4_TimeBaseInit(TIM4_PRESCALER_128, 77);//5ms
  24.   //TIM4_ClearFlag(TIM4_FLAG_UPDATE);
  25.   TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
  26.   TIM4_Cmd(ENABLE);
  27. }
  28. void Tim1_init(void)
  29. {
  30.   TIM1_TimeBaseInit(19, TIM1_COUNTERMODE_UP, 50000, 0);//500ms
  31.   TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);
  32.   TIM1_ARRPreloadConfig(ENABLE);
  33.   TIM1_GenerateEvent(TIM1_EVENTSOURCE_UPDATE);
  34.   TIM1_Cmd(ENABLE);
  35. }


  36. void Adc1_init(void)
  37. {
  38. ADC1_DeInit();
  39. ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_0, ADC1_PRESSEL_FCPU_D18, ADC1_EXTTRIG_TIM, ENABLE, ADC1_ALIGN_RIGHT,
  40.           ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);
  41. ADC1_ITConfig(ADC1_IT_EOCIE, DISABLE);
  42. ADC1_Cmd(ENABLE);
  43. ADC1_StartConversion();

  44. }

  45. void Gpio_init(void)
  46. {
  47.   GPIO_Init(GPIOB, GPIO_PIN_HNIB, GPIO_MODE_OUT_PP_HIGH_FAST);
  48.   GPIO_Init(GPIOB, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
  49.   GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_OUT_PP_HIGH_FAST);
  50.   GPIO_Init(GPIOC, GPIO_PIN_LNIB, GPIO_MODE_IN_PU_NO_IT);
  51.   GPIO_Init(GPIOG, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
  52.   GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_FAST);
  53. }
  54. void Beep_int(void)
  55. {
  56.   BEEP_DeInit();
  57.   BEEP_LSICalibrationConfig(128000);
  58.   BEEP_Init(BEEP_FREQUENCY_2KHZ);
  59. }

  60. void Bp_Buz(void)
  61. {
  62.   if(Beep!=0)
  63.   {
  64.     Beep--;
  65.     BEEP_Cmd(ENABLE);
  66.   }
  67.   else
  68.   {
  69.     BEEP_Cmd(DISABLE);
  70.   }  
  71. }

  72. void ADC_Value(u16 value)
  73. {
  74.     value_1=(unsigned int)value*0.4888;
  75.     Ht1621WrOneNum(4,smg_number[value_1/1000]);
  76.     Ht1621WrOneNum(6,smg_number[value_1%1000/100]);
  77.     Ht1621WrOneData(8,0x08);
  78.     Ht1621WrOneNum(9,smg_number[value_1%100/10]);
  79.     Ht1621WrOneNum(12,smg_number[value_1%10]);
  80. }

  81. void main(void)
  82. {
  83.   /* Infinite loop */
  84.   Gpio_init();
  85.   Ht1621_Init();
  86.   Adc1_init();
  87.   Tim1_init();
  88.   //Tim2_init();
  89.   //Tim4_init();
  90.   Ht1621_all_off();
  91.   GPIO_WriteHigh(GPIOB, GPIO_PIN_3);
  92.   Delay_ms(0xffff);
  93.   Delay_ms(0xffff);
  94.   Delay_ms(0xffff);
  95.   //Beep_int();
  96.   rim();
  97.   
  98.   while (1)
  99.   {  
  100.     //if((smg_number[value%1000/100]==0xaf)&&(smg_number[value%100/10]==0xaf))
  101.     if(((value_1%1000/100)==0)&&((value_1%100/10)==0)&&((value_1%10)==0))
  102.     {
  103.       GPIO_WriteHigh(GPIOB, GPIO_PIN_3);
  104.       GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_FAST);
  105.       GPIO_Init(GPIOG, GPIO_PIN_0, GPIO_MODE_OUT_PP_HIGH_FAST);
  106.     }
  107.     //if(((value_1%1000/100)==4)&&((value_1%100/10)==9)&&((value_1%10)==9))
  108.     else
  109.     {
  110.       GPIO_WriteLow(GPIOB, GPIO_PIN_3);
  111.       GPIO_Init(GPIOG, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
  112.       GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_OUT_PP_HIGH_FAST);
  113.       
  114.     }


  115. unsigned int count;
  116. u16 u16_adc1_value;
  117. extern unsigned int Beep;
  118. INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
  119. {
  120.   /* In order to detect unexpected events during development,
  121.      it is recommended to set a breakpoint on the following instruction.
  122.   */
  123.    //u16 u16_adc1_value;
  124.    flag!=flag;
  125.    u16_adc1_value = ADC1_GetConversionValue();
  126.    Delay_ms(0xffff); Delay_ms(0xffff);
  127.    ADC_Value(u16_adc1_value);
  128.    TIM1_ClearITPendingBit(TIM1_IT_UPDATE);
  129.   //TIM1_ClearFlag(TIM1_FLAG_UPDATE);
  130.       
  131. }
復制代碼


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

使用道具 舉報

沙發
ID:500472 發表于 2019-3-30 12:02 | 只看該作者
STM8 AD轉換程序
回復

使用道具 舉報

板凳
ID:472506 發表于 2019-4-2 08:28 | 只看該作者
學習中,參考參考。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美白人做受xxxx视频 | 国产精品美女在线观看 | 日本精品视频 | 日韩在线国产精品 | 日韩精品中文字幕一区二区三区 | 亚洲日本乱码在线观看 | 不卡一区二区三区四区 | 久久国产电影 | 一区二区三区在线观看免费视频 | 国产精品激情 | 欧美视频免费在线 | 在线2区 | 99精品一区二区 | 性大毛片视频 | 国产成人精品综合 | 999精品视频 | 国产视频精品视频 | 国产精品久久久久久久7电影 | 欧美日韩亚洲系列 | 精品国产1区2区3区 一区二区手机在线 | 日韩在线免费视频 | 久久久蜜桃一区二区人 | 成人一区av偷拍 | 先锋资源亚洲 | 蜜桃传媒av | h片免费看| 99国产精品久久久久久久 | 精品自拍视频 | 亚洲精品在线视频 | 午夜激情免费视频 | 九九色九九 | 日批免费观看 | 在线一区二区三区 | 国产精品一区一区 | 中文字幕日韩欧美 | 欧美日韩精品在线免费观看 | 麻豆av在线免费观看 | 久久综合国产 | 亚洲三级视频 | 久久躁日日躁aaaaxxxx | 久久尤物免费一区二区三区 |