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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7262|回復: 13
收起左側

89c52單片機+HT1621 LCD驅動程序為懶人提供下載直接用

  [復制鏈接]
ID:264021 發表于 2017-12-19 23:32 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
  1. #ifndef  _HT1621B_H_
  2. #define  _HT1621B_H_
  3. #include <reg52.h>
  4. #include <intrins.h>           //為了使用NOP
  5. #define NOP _nop_()
  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. #define ComMode 0x52  //4COM,1/3bias 1000 010 1001 0
  9. #define RCosc 0x30    //內部RC振蕩器(上電默認)1000 0011 0000
  10. #define LCD_on 0x06   //打開LCD顯示 偏壓發生器1000 0000 0 11 0
  11. #define LCD_off 0x04  //關閉LCD顯示(上電默認)
  12. #define Sys_en 0x02   //系統振蕩器開 1000 0000 0010
  13. #define Ctrl_cmd 0x80 //寫控制命令 1000
  14. #define Data_cmd 0xa0 //寫數據命令 1010

  15. //定義HT1621端口
  16. #define SEG_NUM 12          //段碼數字個數,即Seg數量/2

  17. sbit CS1=P2^7;
  18. sbit WR1=P2^6;
  19. sbit DATA1=P2^5;
  20. //                 //  0    1    2    3    4    5    6    7    8    9     滅
  21. uchar code   tab[11]={0xF0,0x60,0xD0,0xF0,0x60,0xB0,0xB0,0xE0,0xF0,0xF0,0x00};
  22. uchar code tab1[11] ={0xA0,0x00,0x60,0x40,0xC0,0xC0,0xE0,0x00,0xE0,0xC0,0x00};
  23. /**-------------------------------------------------------------------------
  24. Name: SendBit_1621(送數據程序)
  25. ---------------------------------------------------------------------------*/
  26. void SendBit_1621(uchar sdata,uchar cnt) //sdata 的高cnt 位寫入HT1621,高位在前
  27. {
  28.         uchar i;
  29.         for(i=0;i<cnt;i++)
  30.         {
  31.                 WR1=0;         
  32.                 if(sdata&0x80) DATA1=1;
  33.                 else DATA1=0;
  34.                 WR1=1;
  35.                 sdata<<=1;
  36.         }
  37. }

  38. /**-------------------------------------------------------------------------
  39. Name: SendCmd(送命令)
  40. ---------------------------------------------------------------------------*/
  41. void SendCmd_1621(uchar command)
  42. {
  43.         CS1=0;
  44.         SendBit_1621(0x80,4);    //寫入標志碼“100”和9 位command 命令,由于
  45.         SendBit_1621(command,8); //沒有使有到更改時鐘輸出等命令,為了編程方便
  46.         CS1=1;                   //直接將command 的最高位寫“0”
  47. }

  48. /**-------------------------------------------------------------------------
  49. Name: Write_1621(送數據和命令程序)
  50. ---------------------------------------------------------------------------*/
  51. void Write_1621(uchar addr,uchar sdata,uchar len)
  52. {
  53.         addr<<=2;
  54.         CS1=0;
  55.         SendBit_1621(0xa0,3);  //寫入標志碼“101”
  56.         SendBit_1621(addr,6);  //寫入addr 的高6位
  57.         SendBit_1621(sdata,len); //寫入data 的高len位
  58.         CS1=1;
  59. }

  60. /**-------------------------------------------------------------------------
  61. Name: all_off(清除1621顯示)
  62. ---------------------------------------------------------------------------*/
  63. void HT1621_all_off(void)
  64. {
  65.         uchar i;
  66.         uchar addr=0;
  67.         for(i=0;i<SEG_NUM;i++)
  68.         {
  69.                 Write_1621(addr,0x00,8);
  70.                 addr+=2;
  71.         }
  72. }

  73. /**-------------------------------------------------------------------------
  74. Name: all_on(點亮1621全部Seg)
  75. -------------------------------------------------------------------------*/
  76. void HT1621_all_on(void)
  77. {
  78.         uchar i;
  79.         uchar addr=0;
  80.         for(i=0;i<SEG_NUM;i++)
  81.         {
  82.                 Write_1621(addr,0xff,8);
  83.                 addr+=2;
  84.         }
  85. }

  86. /**-------------------------------------------------------------------------
  87. Name: Init_1621(初始化1621)
  88. -------------------------------------------------------------------------*/
  89. void Init_1621(void)
  90. {
  91.         SendCmd_1621(Sys_en);
  92.         SendCmd_1621(RCosc);
  93.         SendCmd_1621(ComMode);
  94.         SendCmd_1621(LCD_on);
  95. }
  96. /**-------------------------------------------------------------------------
  97. Name: LCDoff(初始化1621)
  98. -------------------------------------------------------------------------*/
  99. void LCDoff(void)
  100. {
  101.         SendCmd_1621(LCD_off);
  102. }
  103. /**-------------------------------------------------------------------------
  104. Name: LCDon(初始化1621)
  105. -------------------------------------------------------------------------*/
  106. void LCDon(void)
  107. {
  108.         SendCmd_1621(LCD_on);
  109. }


  110. void DelayMs(uint n)
  111. {
  112.     uchar a,b;
  113.         uint i;
  114.         for(i=n;i>0;i--)
  115.             for(b=80;b>0;b--)
  116.                 for(a=10;a>0;a--)NOP;
  117. }
  118. #endif
  119. //void main(void)
  120. //{
  121. //        uchar i;
  122. //        Init_1621();       //初始化HT1621
  123. //        HT1621_all_off();  //清空LCD顯示
  124. //        HT1621_all_on();   //點亮所有Seg
  125. //         DelayMs(500);
  126. //HT1621_all_off();
  127. //      while(1)
  128. //   {       
  129. //                         DelayMs(500);
  130. //  i++;
  131. //if(10==i)    //??8??????
  132. //i=0;
  133. //                 

  134. //Write_1621(10, tab[i],4);  //第1個數字顯示"1"
  135. //        Write_1621(11,tab1[i],4);
  136. //   
  137. ……………………

  138. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
HT1621液晶測試程序.rar (21.72 KB, 下載次數: 263)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:165343 發表于 2018-2-13 13:55 | 顯示全部樓層
正好需要,下載看看,謝謝
回復

使用道具 舉報

ID:323951 發表于 2018-5-29 17:39 | 顯示全部樓層
非常感謝
回復

使用道具 舉報

ID:336540 發表于 2018-7-30 14:15 | 顯示全部樓層
IC資料,可完美兼容HT1621B 全部封裝 SSOP48 DIP28 LQFP44 LQFP48
詳見http://www.zg4o1577.cn/bbs/dpj-125017-1.html

評分

參與人數 1黑幣 +35 收起 理由
Trump1438 + 35 很給力!

查看全部評分

回復

使用道具 舉報

ID:277978 發表于 2018-9-10 14:33 | 顯示全部樓層
可以學習學習了
回復

使用道具 舉報

ID:388870 發表于 2018-9-17 10:09 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:429142 發表于 2018-11-19 13:06 | 顯示全部樓層
學習學習學習學習
回復

使用道具 舉報

ID:537743 發表于 2019-5-27 14:34 | 顯示全部樓層
多謝分享,下來學習!
回復

使用道具 舉報

ID:80750 發表于 2019-10-24 19:35 | 顯示全部樓層
這個程序真的管用,感謝感謝
回復

使用道具 舉報

ID:216341 發表于 2020-2-24 17:53 | 顯示全部樓層
從LED數碼管到LCD液晶,還是有很多概念上的不理解。參考下樓主的程序看!謝謝!
回復

使用道具 舉報

ID:691499 發表于 2020-2-25 23:04 | 顯示全部樓層
下載看看,謝謝
回復

使用道具 舉報

ID:726610 發表于 2020-4-10 22:01 | 顯示全部樓層
過來學習一下。
回復

使用道具 舉報

ID:599609 發表于 2020-4-30 13:10 | 顯示全部樓層
正好需要,下載看看,謝謝
回復

使用道具 舉報

ID:209219 發表于 2020-8-13 17:30 | 顯示全部樓層
感謝分享,測試可以使用~
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www性色 | 天天操妹子 | 一本一道久久a久久精品蜜桃 | 国产专区在线 | 在线中文视频 | 国产欧美精品一区二区 | aaaaaaa片毛片免费观看 | 九九精品在线 | 日韩另类 | 免费精品国产 | 午夜影院在线观看免费 | 男人久久天堂 | 99re在线视频 | 又黑又粗又长的欧美一区 | 欧美一区二区成人 | 一区二区成人 | 日韩欧美国产一区二区三区 | 成人免费视频观看视频 | 久久久一区二区 | 久久精品99久久 | 日韩av在线中文字幕 | 91精品国产综合久久国产大片 | 免费天天干 | 亚洲国产成人精品女人 | 99热在线免费 | 日韩国产欧美一区 | 欧美一区二区 | 久久国产日本 | 自拍偷拍中文字幕 | 欧美久久不卡 | 欧美成年黄网站色视频 | 国产精品美女久久久久久久网站 | 天天人人精品 | 亚洲第一av | 国产精品久久久久久久久久久久久 | 日韩精品 电影一区 亚洲 | 天天综合日日夜夜 | 国产精品精品久久久久久 | 久久久人成影片免费观看 | 欧美天堂| 免费成人av网站 |