標題: 單片機TM1620程序剛做出來,測試沒問題,先記錄一下,有感興趣的朋友可以參考下 [打印本頁]

作者: 龍凌敏月    時間: 2021-6-8 09:49
標題: 單片機TM1620程序剛做出來,測試沒問題,先記錄一下,有感興趣的朋友可以參考下
原本想做個別的,因為中途被打斷了,這里記錄一下:程序是18B20溫度傳感器+TM1620,我使用的是共陰極數(shù)碼管。


#include "tm1260.h"

//---重定義關(guān)鍵詞---//

void sendDataToTM1620(unsigned char sdata){
//在時鐘的上升沿進行移位寫入,低位先傳
        unsigned char a;
         stb = 0;
        _nop_();
        _nop_();

        for(a=0;a<8;a++){
                if(sdata&0x01)
                        din = 1;
                else
                        din = 0;
                sdata >>= 1;
                clk = 0;
                _nop_();
                _nop_();
                clk = 1;

        }

}
void initialTM1620(int temp){
  unsigned char i,TempNum[4]={0};
        unsigned char code TubYinNum[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };//0-9 //共陰極
        unsigned char code TubYanNum[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 };//0-9
        
        TempNum[0] = TubYinNum[temp/100];//溫度十位
        TempNum[1] = TubYinNum[temp%100/10];//溫度個位
        TempNum[1] = TempNum[1]|0x80;//加上小數(shù)點
        TempNum[2] = TubYinNum[temp%10];//溫度小數(shù)點
        
        stb = 1;
  din = 1;
  clk = 1;
        _nop_();
        stb = 0;
        sendDataToTM1620(0x02);//顯示模式設(shè)置,設(shè)置為6個GRID,8個SEG
        stb = 1;
        _nop_();
        stb = 0;
        sendDataToTM1620(setAddrMode);//固定地址 44
//  sendDataToTM1620(0x0C);//顯示寄存器的c0H單元開始   
        //地址數(shù)據(jù)清零        
        for(i=0;i<3;i++){//因為控制的是3位數(shù)碼管,所以這里循環(huán)只有3
                stb = 1;
                _nop_();
                stb = 0;         
                _nop_();
                sendDataToTM1620(0xc0+i*2);//選擇要寫入的地址
                sendDataToTM1620(TempNum[ i]);//寫入數(shù)值

        }
        //設(shè)置亮度和開關(guān)
        stb = 1;
        _nop_();
        stb = 0;
        _nop_();
        //0x88是最暗的,8F是最亮的這期間的數(shù)可以任意選
       //當時還帶著藍牙模塊,大體測了下亮度設(shè)為88的情況下電流好像是120ma左右(圖片是80的亮度),8F大約是180ma左右。
        sendDataToTM1620(0x88);//顯示控制參數(shù),點亮數(shù)碼屏幕,亮度可以通過改變低三位調(diào)節(jié)   
        stb = 1;
        _nop_();
}
void OffTM1620()
{//息屏函數(shù)
        stb = 1;
        _nop_();
        stb = 0;
        _nop_();
        sendDataToTM1620(0x80);//關(guān)閉顯示
        stb = 1;
        _nop_();
}

51hei圖片_20210608093529.png (38.09 KB, 下載次數(shù): 152)

51hei圖片_20210608093529.png

51hei圖片_20210608093629.png (1.09 MB, 下載次數(shù): 137)

51hei圖片_20210608093629.png

51hei.png (7.85 KB, 下載次數(shù): 127)

51hei.png

溫度測試2.rar

287.15 KB, 下載次數(shù): 78, 下載積分: 黑幣 -5


作者: 1261867136qq    時間: 2022-12-9 08:43
還需要原理圖啊




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1