找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

段式液晶HT1621驅(qū)動(dòng) 15F104E做的溫控器

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:19198 發(fā)表于 2016-11-11 13:07 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 trm999 于 2017-11-5 12:35 編輯

歷時(shí)一周,由HT1621B驅(qū)動(dòng)寫(xiě)起,LCD正常顯示后,加入18B20溫度檢測(cè)程序,
可以正常顯示溫度后,又加入按鍵識(shí)別,因?yàn)槭?腳IO,所以只有一個(gè)IO可用,
加入短按,2秒長(zhǎng)按,5秒長(zhǎng)按程序來(lái)實(shí)現(xiàn)減、加、保存,涉及到保存,
又學(xué)習(xí)STC單片機(jī)的EEPROM,實(shí)現(xiàn)保存后由于代碼比較多,又進(jìn)行模塊化編程學(xué)習(xí),
在這里卡了2天,定時(shí)器卡了一下午,終于完成   

注意:1.EEPROM操作放到中斷里面可以正常操作保存,估計(jì)和關(guān)閉中斷有關(guān)系  2.因?yàn)槔^電器會(huì)干擾動(dòng)作,要加電容


// - - * * * * * * * HT1621 段碼屏驅(qū)動(dòng)   * * * * * * *
// - - * MCU STC15F104W通過(guò) 15F104E未知 內(nèi)設(shè)12M 晶振 *
// - - * C 語(yǔ)言程序          trm999  版本1.0         *
//                 溫度容差0.5攝氏度,當(dāng)空調(diào)控制器使用,必須要有容差
// - - * * * * * * * * * * * * * * * *   * * * * * * *
/*********************************************************************
數(shù)碼管結(jié)構(gòu)       a    f     b        g      e     c     d         dp
                 seg0  seg1  seg2  seg3  seg4  seg5  seg6   seg7
com0          1a    1f    1b    1g    1e    1c    1d     1dp
  com1          2a    2f    2b    2g    2e    2c    2d     2dp
    com2      3a    3f    3b    3g    3e    3c    3d     3dp
      com3      4a    4f    4b    4g    4e    4c    4d     3dp      數(shù)據(jù)位4位,結(jié)構(gòu)4321
*********************************************************************/
sbit DQ=P3^5;   //18B20
sbit SS=P3^0;   //繼電器
sbit HT1621_CS=P3^3; // - - HT1621使能引腳
sbit HT1621_WR=P3^2; // - - HT1621時(shí)鐘引腳
sbit HT1621_DAT=P3^4; // - - HT1621數(shù)據(jù)引腳
sbit key_sr=P3^1;//對(duì)應(yīng)按鍵

//shuzi0是左1大8字的代碼表格
uchar code Ht1621_shuzi0[][8]={                //0~9數(shù)字?jǐn)?shù)組

    {0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x00},//0
    {0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00},//1
    {0x01,0x00,0x01,0x01,0x01,0x00,0x01,0x00},//2
    {0x01,0x00,0x01,0x01,0x00,0x01,0x01,0x00},//3
    {0x00,0x01,0x01,0x01,0x00,0x01,0x00,0x00},//4
    {0x01,0x01,0x00,0x01,0x00,0x01,0x01,0x00},//5
    {0x01,0x01,0x00,0x01,0x01,0x01,0x01,0x00},//6
    {0x01,0x00,0x01,0x00,0x00,0x01,0x00,0x00},//7
    {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00},//8
    {0x01,0x01,0x01,0x01,0x00,0x01,0x01,0x00},//9   
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01},//AUTO    10
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//        11               
};

//shuzi1是左2大8字的代碼表格
uchar code Ht1621_shuzi1[][8]={                //0~9數(shù)字?jǐn)?shù)組

    {0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x00},//0
    {0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00},//1
    {0x02,0x00,0x02,0x02,0x02,0x00,0x02,0x00},//2
    {0x02,0x00,0x02,0x02,0x00,0x02,0x02,0x00},//3
    {0x00,0x02,0x02,0x02,0x00,0x02,0x00,0x00},//4
    {0x02,0x02,0x00,0x02,0x00,0x02,0x02,0x00},//5
    {0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x00},//6
    {0x02,0x00,0x02,0x00,0x00,0x02,0x00,0x00},//7
    {0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00},//8
    {0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x00},//9
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02},//hight    10
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//        11
};

//shuzi2是右小8字的代碼表格
uchar code Ht1621_shuzi2[][8]={                //0~9數(shù)字?jǐn)?shù)組

    {0x04,0x04,0x04,0x00,0x04,0x04,0x04,0x00},//0
    {0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00},//1
    {0x04,0x00,0x04,0x04,0x04,0x00,0x04,0x00},//2
    {0x04,0x00,0x04,0x04,0x00,0x04,0x04,0x00},//3
    {0x00,0x04,0x04,0x04,0x00,0x04,0x00,0x00},//4
    {0x04,0x04,0x00,0x04,0x00,0x04,0x04,0x00},//5
    {0x04,0x04,0x00,0x04,0x04,0x04,0x04,0x00},//6
    {0x04,0x00,0x04,0x00,0x00,0x04,0x00,0x00},//7
    {0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00},//8
    {0x04,0x04,0x04,0x04,0x00,0x04,0x04,0x00},//9
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04},//low    10
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//    11
};

//shuzi3是特殊符號(hào)代碼表格
uchar code Ht1621_shuzi3[][8]={                //0~9數(shù)字?jǐn)?shù)組

    {0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//上半圓
    {0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},//圓雙線
    {0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00},//TEMP
    {0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00},//ROOM
    {0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},//SET
    {0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00},//下半圓hr
    {0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00},//線條
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08},//FAN    7
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//    8
};


淘寶買的2毛液晶玻璃,接口有變化,com0-com4是反的


要用HT1621B驅(qū)動(dòng),自己做的板子老是有重影,干脆打板子,做工不錯(cuò)


焊好后,松香不少請(qǐng)無(wú)視


15F104E單片機(jī),加的背光,晚上方便


外殼是個(gè)問(wèn)題,基本都是膠粘的,因?yàn)槠囀褂�,所以電源�?2V變5V,用的3312模塊的一半


左邊圓的是按鍵


正常顯示溫度,小數(shù)字是小數(shù)部分,AUTO代表正溫度,負(fù)溫度會(huì)顯示LOW


設(shè)定界面會(huì)顯示線條,繼電器閉合會(huì)顯示一個(gè)小圓圈和兩個(gè)細(xì)線



源文件因?yàn)槭悄K化,所以打包吧
溫控器   15F104E通過(guò)1.0版 20161102溫控器 15F104E通過(guò)1.0版.7z (117.73 KB, 下載次數(shù): 254) (118 K) 下載次數(shù):0

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:14010 發(fā)表于 2016-11-11 18:46 | 只看該作者
不錯(cuò),支持一下!
回復(fù)

使用道具 舉報(bào)

板凳
ID:149091 發(fā)表于 2016-11-22 21:50 | 只看該作者
51黑有你更精彩!��!
回復(fù)

使用道具 舉報(bào)

地板
ID:190026 發(fā)表于 2017-5-6 17:38 | 只看該作者
購(gòu)買了 怎么不能下載呢
回復(fù)

使用道具 舉報(bào)

5#
ID:140489 發(fā)表于 2017-6-16 10:21 | 只看該作者
下載了,但是好貴,一共要10黑幣
回復(fù)

使用道具 舉報(bào)

6#
ID:303586 發(fā)表于 2018-4-8 14:53 | 只看該作者
看看歷程,學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

7#
ID:254251 發(fā)表于 2018-5-15 18:09 | 只看該作者
編不過(guò)
回復(fù)

使用道具 舉報(bào)

8#
ID:254251 發(fā)表于 2018-5-15 18:49 | 只看該作者
回差0.5太小繼電器頻繁開(kāi)閉,回差2到3比較好
回復(fù)

使用道具 舉報(bào)

9#
ID:399111 發(fā)表于 2020-4-29 12:14 | 只看該作者
學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

10#
ID:282850 發(fā)表于 2020-4-30 15:18 | 只看該作者
液晶的焊接方法不錯(cuò),有個(gè)優(yōu)點(diǎn)是方便拆下來(lái),今年焊過(guò)一次直插,拆時(shí)把腳剪了一段,后改成此法焊接。
HT1621的字編碼可以優(yōu)化一下,一維數(shù)組就可以了。顯示時(shí)發(fā)送的是一個(gè)char就行。
回復(fù)

使用道具 舉報(bào)

11#
ID:718536 發(fā)表于 2020-11-27 21:24 | 只看該作者
溫控部分有加入PID算法嗎?
回復(fù)

使用道具 舉報(bào)

12#
ID:19198 發(fā)表于 2021-1-3 22:53 | 只看該作者
簡(jiǎn)化一下,留存?zhèn)渫?br />
  1. uchar code bianma[][8]={                //0~9數(shù)字?jǐn)?shù)組

  2.     {0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x00},//0                                  0
  3.     {0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00},//1                                  1
  4.     {0x01,0x00,0x01,0x01,0x01,0x00,0x01,0x00},//2                                  2
  5.     {0x01,0x00,0x01,0x01,0x00,0x01,0x01,0x00},//3                                  3
  6.     {0x00,0x01,0x01,0x01,0x00,0x01,0x00,0x00},//4                                  4
  7.     {0x01,0x01,0x00,0x01,0x00,0x01,0x01,0x00},//5                                  5
  8.     {0x01,0x01,0x00,0x01,0x01,0x01,0x01,0x00},//6                                  6
  9.     {0x01,0x00,0x01,0x00,0x00,0x01,0x00,0x00},//7                                  7
  10.     {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00},//8                                  8
  11.     {0x01,0x01,0x01,0x01,0x00,0x01,0x01,0x00},//9                                        9
  12.           {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01},//AUTO 10                10
  13.           {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//上半圓                11
  14.     {0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00},//圓雙線                12
  15.     {0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00},//TEMP                        13
  16.     {0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00},//ROOM                        14
  17.     {0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00},//SET                                15
  18.     {0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00},//下半圓hr        16
  19.     {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00},//線條                        17
  20.           {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01},//FAN                                18
  21.           {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//滅                     19
復(fù)制代碼





void SMG_SX(shi,ge,xiaoshu,low,high,xian,yuanxian,tmp)//段碼屏顯示函數(shù),數(shù)據(jù)轉(zhuǎn)換
{
        
                uchar j,t;
                uchar a0,a1,a2,a3;
               
        for(j=0;j<8;j++)                        
        {
            a0=(bianma[shi][j]);
                                                a1=(bianma[ge][j]|bianma[high][j]);
                                                a2=(bianma[xiaoshu][j]|bianma[low][j]);
                                                a3=(bianma[yuanxian][j]|bianma[tmp][j]);
                                                a1<<=1;
                                                a2<<=2;
                                                a3<<=3;
                                                t=(a0|a1|a2|a3);

                         
            Ht1621WrOneData(j,t);  //寫(xiě)入1621顯示緩存      
        }               
}
回復(fù)

使用道具 舉報(bào)

13#
ID:201953 發(fā)表于 2021-1-11 08:47 | 只看該作者
感謝分享。學(xué)習(xí)一下段式液晶的輸出格式輸出。
回復(fù)

使用道具 舉報(bào)

14#
ID:282074 發(fā)表于 2021-1-16 07:56 來(lái)自觸屏版 | 只看該作者
trm999 發(fā)表于 2021-1-3 22:53
簡(jiǎn)化一下,留存?zhèn)渫?br />


里面的板子可以一塊兒打樣
回復(fù)

使用道具 舉報(bào)

15#
ID:381171 發(fā)表于 2021-6-1 11:26 | 只看該作者
學(xué)習(xí)的道路因?yàn)橛?1黑論壇更容易了!非常感謝!
回復(fù)

使用道具 舉報(bào)

16#
ID:137736 發(fā)表于 2022-9-3 18:23 | 只看該作者
1621驅(qū)動(dòng)很好
回復(fù)

使用道具 舉報(bào)

17#
ID:507641 發(fā)表于 2022-9-8 08:48 | 只看該作者
f556 發(fā)表于 2020-4-30 15:18
液晶的焊接方法不錯(cuò),有個(gè)優(yōu)點(diǎn)是方便拆下來(lái),今年焊過(guò)一次直插,拆時(shí)把腳剪了一段,后改成此法焊接。
HT16 ...

詳細(xì)點(diǎn),上個(gè)實(shí)例
回復(fù)

使用道具 舉報(bào)

18#
ID:507641 發(fā)表于 2022-9-19 08:40 | 只看該作者
請(qǐng)問(wèn)屏的型號(hào)或者連接?謝謝
回復(fù)

使用道具 舉報(bào)

19#
ID:977861 發(fā)表于 2022-10-3 13:29 | 只看該作者
測(cè)溫是多少到多少呀
回復(fù)

使用道具 舉報(bào)

20#
ID:102702 發(fā)表于 2022-11-10 22:57 | 只看該作者
樓主能上個(gè)電路圖嗎?
回復(fù)

使用道具 舉報(bào)

21#
ID:624729 發(fā)表于 2023-4-18 21:20 | 只看該作者
非常精彩,學(xué)到不少,多謝。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表