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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3808|回復(fù): 3
收起左側(cè)

單片機(jī)直接驅(qū)動40-IO驅(qū)動段碼LCD_6個8

[復(fù)制鏈接]
ID:212386 發(fā)表于 2018-9-5 15:12 | 顯示全部樓層 |閱讀模式
IO直接驅(qū)動LCD
0.jpg
單片機(jī)源程序如下:
  1. #include         <intrins.h>
  2. #include        "config.h"
  3. #include        "timer.h"
  4. #include        "LCD_IO16.h"


  5. /*************        功能說明        **************

  6. 用STC115系列測試IO直接驅(qū)動段碼LCD(6個8字LCD, 1/4 Dutys, 1/3 bias)。

  7. 上電后顯示一個時間(時分秒).

  8. P3.2對地接一個開關(guān),用來進(jìn)入睡眠或喚醒.


  9. ******************************************/

  10. /*************        本地常量聲明        **************/





  11. /*************        本地變量聲明        **************/
  12. u8        cnt_500ms;
  13. u8        second,minute,hour;
  14. bit        B_Second;        //秒信號

  15. /*************        本地函數(shù)聲明        **************/



  16. /*************  外部函數(shù)和變量聲明 *****************/
  17. extern        bit        B_2ms;



  18. /************************ 定時器配置 ****************************/
  19. void        Timer_config(void)
  20. {
  21.         TIM_InitTypeDef                TIM_InitStructure;                                        //結(jié)構(gòu)定義
  22.         TIM_InitStructure.TIM_Mode      = TIM_16BitAutoReload;        //指定工作模式,   TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMask
  23.         TIM_InitStructure.TIM_Polity    = PolityLow;                        //指定中斷優(yōu)先級, PolityHigh,PolityLow
  24.         TIM_InitStructure.TIM_Interrupt = ENABLE;                                //中斷是否允許,   ENABLE或DISABLE
  25.         TIM_InitStructure.TIM_ClkSource = TIM_CLOCK_1T;                        //指定時鐘源,     TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_Ext
  26.         TIM_InitStructure.TIM_ClkOut    = DISABLE;                                //是否輸出高速脈沖, ENABLE或DISABLE
  27.         TIM_InitStructure.TIM_Value     = 65536 - (MAIN_Fosc / 500);        //初值, 節(jié)拍為500HZ
  28.         TIM_InitStructure.TIM_Run       = ENABLE;                                //是否初始化后啟動定時器, ENABLE或DISABLE
  29.         Timer_Inilize(Timer0,&TIM_InitStructure);                                //初始化Timer0          Timer0,Timer1,Timer2
  30. }

  31. /******************** 顯示時間 **************************/
  32. void        LoadRTC(void)
  33. {
  34.         LCD_load(1,hour/10);
  35.         LCD_load(2,hour%10);
  36.         LCD_load(3,minute/10);
  37.         LCD_load(4,minute%10);
  38.         LCD_load(5,second/10);
  39.         LCD_load(6,second%10);
  40. }

  41. //========================================================================
  42. // 函數(shù): void  delay_ms(unsigned char ms)
  43. // 描述: 延時函數(shù)。
  44. // 參數(shù): ms,要延時的ms數(shù), 這里只支持1~255ms. 自動適應(yīng)主時鐘.
  45. // 返回: none.
  46. // 版本: VER1.0
  47. // 日期: 2013-4-1
  48. // 備注:
  49. //========================================================================
  50. void  delay_ms(u8 ms)
  51. {
  52.      unsigned int i;
  53.          do{
  54.               i = MAIN_Fosc / 13000;
  55.                   while(--i)        ;   //14T per loop
  56.      }while(--ms);
  57. }

  58. /******************** 主函數(shù)**************************/
  59. void main(void)
  60. {

  61.         Init_LCD_Buffer();
  62.         Timer_config();
  63.         EA = 1;

  64.         LCD_SET_2M;        //顯示時分間隔:
  65.         LCD_SET_4M;        //顯示分秒間隔:
  66.         LoadRTC();        //顯示時間
  67.                                
  68.         while (1)
  69.         {
  70.                 PCON |= 0x01;        //為了省電, 進(jìn)入空閑模式(電流大約2.5~3.0mA @5V),由Timer0 2ms喚醒退出
  71.                 _nop_();
  72.                 _nop_();
  73.                 _nop_();

  74.                 if(B_2ms)        //2ms節(jié)拍到
  75.                 {
  76.                         B_2ms = 0;

  77.                         if(++cnt_500ms >= 250)        //500ms到
  78.                         {
  79.                                 cnt_500ms = 0;
  80.                         //        LCD_FLASH_2M;        //閃爍時分間隔:
  81.                         //        LCD_FLASH_4M;        //閃爍分秒間隔:
  82.                        
  83.                                 B_Second = ~B_Second;
  84.                                 if(B_Second)
  85.                                 {
  86.                                         if(++second >= 60)        //1分鐘到
  87.                                         {
  88.                                                 second = 0;
  89.                                                 if(++minute >= 60)        //1小時到
  90.                                                 {
  91.                                                         minute = 0;
  92.                                                         if(++hour >= 24)        hour = 0;        //24小時到
  93.                                                 }
  94.                                         }
  95.                                         LoadRTC();        //顯示時間
  96.                                 }
  97.                         }
  98.                
  99.                         if(!P32)        //鍵按下,準(zhǔn)備睡眠
  100.                         {
  101.                                 LCD_CLR_2M;        //顯示時分間隔:
  102.                                 LCD_CLR_4M;        //顯示分秒間隔:
  103.                                 LCD_load(1,DIS_BLACK);
  104.                                 LCD_load(2,DIS_BLACK);
  105.                                 LCD_load(3,0);
  106.                                 LCD_load(4,0x0F);
  107.                                 LCD_load(5,0x0F);
  108.                                 LCD_load(6,DIS_BLACK);
  109.                                
  110.                                 while(!P32)        delay_ms(10);        //等待釋放按鍵
  111.                                 delay_ms(50);
  112.                                 while(!P32)        delay_ms(10);        //再次等待釋放按鍵
  113.                                
  114.                                 TR0 = 0;        //關(guān)閉定時器
  115.                                 IE0 = 0;        //外中斷0標(biāo)志位
  116.                                 EX0 = 1;        //INT0 Enable
  117.                                 IT0 = 1;        //INT0 下降沿中斷               

  118.                                 P1n_push_pull(0xff);        //com和seg全部輸出0
  119.                                 P2n_push_pull(0xff);        //com和seg全部輸出0
  120.                                 P1 = 0;
  121.                                 P2 = 0;

  122.                                 PCON |= 0x02;        //Sleep
  123.                                 _nop_();
  124.                                 _nop_();
  125.                                 _nop_();
  126. ……………………

  127. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
40-IO-LCD-8x6-2014-6-19.rar (1.72 MB, 下載次數(shù): 54)
回復(fù)

使用道具 舉報

ID:212386 發(fā)表于 2018-9-5 15:12 | 顯示全部樓層
請問怎么做呀,我查了許多資料,不太懂,求大神解決
回復(fù)

使用道具 舉報

ID:269418 發(fā)表于 2021-1-30 21:34 | 顯示全部樓層
應(yīng)該很不錯非常需要
回復(fù)

使用道具 舉報

ID:970519 發(fā)表于 2022-8-25 14:41 | 顯示全部樓層
LCD段碼 I.O直驅(qū)
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费看的黄网站 | 日本福利视频免费观看 | 国产高清在线精品一区二区三区 | 久久天天躁狠狠躁夜夜躁2014 | 日韩精品视频在线观看一区二区三区 | 亚洲黄色一级毛片 | 国产成年人小视频 | 亚洲一区二区久久久 | 午夜精品一区二区三区在线视频 | 国产在线观看一区二区三区 | 国产美女在线观看 | 老牛影视av一区二区在线观看 | 五月天婷婷狠狠 | 毛片一区二区 | 97人人澡人人爽91综合色 | 亚洲欧洲视频 | 欧美日韩综合 | 免费久久99精品国产婷婷六月 | 综合久久av | 日韩精品在线看 | 美女啪啪国产 | 日韩成人精品在线观看 | 91网站在线看 | 婷婷综合在线 | 国产一区二区不卡 | 成人性视频在线 | 中文字幕av在线播放 | 亚洲一区二区三区免费观看 | 97操操| 五月婷婷中文 | 成人午夜视频在线观看 | 欧美 日韩精品 | 久操av在线 | 韩国av一区二区 | 男人的天堂中文字幕 | 亚洲国产成人av好男人在线观看 | 蜜臀av日日欢夜夜爽一区 | 视频在线一区二区 | 欧美日韩一区二区三区四区五区 | 午夜免费视频 | 欧美一区二区三区免费电影 |