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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stm8s驅動ht1621液晶程序 帶蜂鳴器

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

  3. unsigned char const smg_number[10]={0xaf,0x06,0xcb,0x4f,0x66,0x6d,0xed,0x07,0xef,0x6f};//0123456789
  4. unsigned char Hour2,Hour1,Min1,Min2,Sec2,Sec1;
  5. unsigned char Hour,Min,Sec,ST_Sec,ST_flag,ST_fig;
  6. unsigned char Half_SecFlag=1,Key_exit_fig,SecFlag;
  7. unsigned char Key_Count,Key_flag,Key_long_flag,Key_fig;
  8. extern unsigned int count2;
  9. extern unsigned char Key_mode;
  10. void Data_process(void)
  11. {
  12.   Hour2=Hour/10;
  13.   Hour1=Hour%10;
  14.   Min2=Min/10;
  15.   Min1=Min%10;
  16.   Sec2=Sec/10;
  17.   Sec1=Sec%10;
  18. }
  19. void Display(void)
  20. {
  21.   Ht1621WrOneNum(9,smg_number[Sec2]);Ht1621WrOneNum(12,smg_number[Sec1]);  
  22.   Ht1621WrOneNum(6,smg_number[Min1]);
  23.   if(Half_SecFlag)
  24.   {
  25.     Ht1621WrOneData(8,0);
  26.   }
  27.   else
  28.   {
  29.     Ht1621WrOneData(8,0x04);//col
  30.   }
  31.   if(Min2==0)
  32.   {
  33.     Ht1621WrOneNum(4,0);
  34.   }
  35.   else
  36.   {
  37.     Ht1621WrOneNum(4,smg_number[Min2]);
  38.   }
  39.   if(ST_flag)
  40.   {
  41.     Ht1621WrCmd(LCDOFF);ST_flag=0;GPIO_WriteLow(GPIOB, GPIO_PIN_3);
  42.     halt();
  43.   }  
  44. }

  45. void GPIO_int(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_IT);
  51.   EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOC, EXTI_SENSITIVITY_FALL_ONLY);
  52. }
  53. void TIM4_int(void)
  54. {
  55.   //TIM4_TimeBaseInit(TIM4_PRESCALER_128, 77);//5ms
  56.   TIM4_TimeBaseInit(TIM4_PRESCALER_128, 15);//1ms
  57.   TIM4_ClearFlag(TIM4_FLAG_UPDATE);
  58.   TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
  59.   TIM4_Cmd(ENABLE);
  60. }
  61. void TIM1_int(void)
  62. {
  63.   TIM1_TimeBaseInit(19, TIM1_COUNTERMODE_UP, 50000, 0);//500ms
  64.   TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);
  65.   TIM1_GenerateEvent(TIM1_EVENTSOURCE_UPDATE);
  66.   //TIM1_Cmd(ENABLE);
  67. }
  68. void Beep_int(void)
  69. {
  70.   BEEP_DeInit();
  71.   BEEP_LSICalibrationConfig(128000);
  72.   BEEP_Init(BEEP_FREQUENCY_2KHZ);
  73. }
  74. void main(void)
  75. {
  76.   /* Infinite loop */
  77.   GPIO_int();
  78.   Ht1621_Init();
  79.   Ht1621_all_on();
  80.   GPIO_WriteHigh(GPIOB, BackLight);
  81.   Half_SecFlag=1;//ST_fig=1;
  82.   TIM4_int();
  83.   TIM1_int();
  84.   Beep_int();BEEP_Cmd(ENABLE);Ht1621_all_on();
  85.   rim();
  86.   while (1)
  87.   {
  88.     if(ST_fig==1)
  89.     {
  90.       ST_fig=0;
  91.       Ht1621_all_off();
  92.       BEEP_Cmd(DISABLE);
  93.     }
  94.     if(Key_flag==1)
  95.     {
  96.       TIM1_Cmd(ENABLE);
  97.       ST_Sec=0;
  98.       count2=0;
  99.     }
  100.     if(Key_flag==2)
  101.     {
  102.       TIM1_Cmd(DISABLE);
  103.       Half_SecFlag=0;//COL
  104.       ST_Sec=0;
  105.       Key_flag=0;
  106.     }
  107.     /*if(Key_long_flag==1)
  108.     {
  109.       //Beep_int();
  110.       BEEP_Cmd(ENABLE);Ht1621_all_on();TIM4_int();
  111.       TIM1_int();
  112.       if(ST_fig==1)
  113.       {
  114.         ST_fig=0;
  115.         Ht1621_all_off();Min=0;Sec=0;
  116.         BEEP_Cmd(DISABLE);
  117.       }
  118.     }*/
  119.     Display();Data_process();
  120.   }
  121. }

  122. #ifdef USE_FULL_ASSERT

  123. /**
  124.   * @brief  Reports the name of the source file and the source line number
  125.   *   where the assert_param error has occurred.
  126.   * @param file: pointer to the source file name
  127.   * @param line: assert_param error line source number
  128.   * @retval : None
  129.   */
  130. void assert_failed(u8* file, u32 line)
  131. {
  132.   /* User can add his own implementation to report the file name and line number,
  133.      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  134.   /* Infinite loop */
  135.   while (1)
  136.   {
  137.   }
  138. }
  139. #endif


  140. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

  141. /unsigned int count=0;unsigned char BSec;
  142.   extern unsigned char SecFlag,Key_Flag,Key_Flag2,Key_long_flag;
  143.   extern unsigned char Hour,Min,Sec,ST_Sec,ST_flag,ST_fig,Key_flag,Key_fig;
  144.   unsigned int Key_cnt,Key_mode,Beep_fig;
  145. INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
  146. {
  147.    TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
  148.     if (GPIO_ReadInputPin(GPIOC, GPIO_PIN_1)== RESET)  
  149.      {
  150.         Key_cnt++;
  151.         if(Key_cnt==20)//20ms
  152.         {
  153.           Key_mode++;Beep_fig=50;Key_fig=1;
  154.           if(Key_mode==1)
  155.           {
  156.             ST_flag=0;Key_flag=1;
  157.           }
  158.           if(Key_mode==2)
  159.           {
  160.             Key_mode=0;ST_flag=0;
  161.             Key_flag=2;
  162.           }
  163.         }
  164.         if(Key_cnt>=3*1000)//4s200*5
  165.         {
  166.           if(Key_cnt>4000)//800*5
  167.             Key_long_flag=1;
  168.             Key_flag=0;Key_fig=0;Key_mode=0;//TIM4_Cmd(DISABLE);
  169.             BEEP_Cmd(ENABLE);Ht1621_all_on();Min=0;Sec=0;ST_Sec=0;
  170.             if(ST_fig==1)
  171.             {
  172.               ST_fig=0;//TIM4_Cmd(ENABLE);
  173.               Ht1621_all_off();Min=0;Sec=0;
  174.               BEEP_Cmd(DISABLE);Display();
  175.             }
  176.         }
  177.       }
  178.     else
  179.     {Key_cnt=0;Key_long_flag=0;}
  180.     if(Key_fig)
  181.     {
  182.       if(Beep_fig)
  183.       {
  184.         BEEP_Cmd(ENABLE);
  185.         Beep_fig--;
  186.       }
  187.       else //(!Beep_fig)
  188.       {
  189.         BEEP_Cmd(DISABLE);
  190.         Beep_fig=0;
  191.       }
  192.     }
  193.     if(Key_flag==0)
  194.     {
  195.       count2++;
  196.       if(count2==1000)
  197.       {
  198.         count2=0;ST_Sec++;
  199.         if(ST_Sec==2)
  200.         {
  201.           ST_fig=1;
  202.         }
  203.         if(ST_Sec==10)
  204.         {
  205.           ST_Sec=0;ST_flag=1;
  206.         }
  207.       }
  208.    
  209.     }
  210.    
  211.    
  212. }
復制代碼


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

使用道具 舉報

沙發
ID:166284 發表于 2020-8-14 15:06 | 只看該作者
大哥 你這個 #include "ht1621.h" 頭文件呢?
回復

使用道具 舉報

板凳
ID:839438 發表于 2020-11-26 09:47 | 只看該作者
沒有看到ht1621初始化程序
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费看国产精品视频 | 天天干天天操天天射 | 国产综合网址 | 台湾佬久久| 色噜噜亚洲男人的天堂 | 国产精品色哟哟网站 | 亚洲午夜精品 | 欧美黄色片 | av先锋资源 | 国产一级片久久久 | 欧美日韩国产一区二区三区 | 国户精品久久久久久久久久久不卡 | 在线亚洲欧美 | 亚洲精品一区二区另类图片 | 国产精品资源在线观看 | 一二三在线视频 | 人人草天天草 | 欧美在线观看免费观看视频 | 国产色黄 | 色秀网站| av在线伊人 | 日韩1区| 夜夜草视频 | 亚洲欧美视频一区 | 亚洲成人国产精品 | 亚洲精品美女在线观看 | 狠狠爱视频 | 国产精品福利视频 | 欧美韩一区二区三区 | 夜夜骑综合| 国产精品视频久久 | 日一区二区 | 亚洲高清在线观看 | 中文字幕在线电影观看 | 成人免费观看视频 | 国产jizz女人多喷水99 | 亚洲国产精品久久 | 国产www在线| 可以看黄的视频 | 羞羞的视频免费看 | 欧美日韩大片 |