新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > max7219控制8段數碼管 spi接口

        max7219控制8段數碼管 spi接口

        作者: 時間:2016-11-13 來源:網絡 收藏


        本文引用地址:http://www.104case.com/article/201611/316382.htm


        #include
        #define uint unsigned int
        #define uchar unsigned char

        #define CS_H PORTB|=(1<<4)
        #define CS_L PORTB&=~(1<<4)

        void SPI_MasterInit(void)
        {
        /* 設置MOSI 和SCK 為輸出,其他為輸入 */
        DDRB = (1<<4)|(1<<5)|(1<<7);
        /* 使能SPI 主機模式,設置時鐘速率為fck/16 */
        SPCR = (1<}

        void SPI_MasterTransmit(uchar cData)
        {
        /* 啟動數據傳輸 */
        SPDR = cData;
        /* 等待傳輸結束 */
        while(!(SPSR & (1<}

        void M7219_send(uchar b1,uchar b2)
        {
        CS_L;
        SPI_MasterTransmit(b1);
        SPI_MasterTransmit(b2);
        CS_H;
        }


        void delay(uint ms)
        {
        uint i,j;
        for(i=0;ifor(j=0;j<1141;j++);
        }
        void main()
        {
        uchar i,j;
        SPI_MasterInit();



        //M7219_send(0x0f,0xff);
        M7219_send(0x09,0xff);//手冊說0x07 Code B decode for digits 7–0
        //感覺有問題,直接寫0xff了
        M7219_send(0x0a,0x05);//Intensity Register
        M7219_send(0x0b,0x07);//Display digits 0 1 2 3 4 5 6 7
        M7219_send(0x0c,0x01);//開顯示
        while(1)
        for(i=0;i<8;i++)
        M7219_send(i+1,i);

        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 喀喇沁旗| 青岛市| 阿鲁科尔沁旗| 莫力| 财经| 辉县市| 泗阳县| 禹州市| 互助| 呼和浩特市| 牙克石市| 舞钢市| 绥江县| 昌吉市| 错那县| 呼图壁县| 山阴县| 镇赉县| 郯城县| 临泉县| 丽水市| 石柱| 秦皇岛市| 玉龙| 宣恩县| 定安县| 鄂州市| 隆尧县| 竹北市| 丹江口市| 永吉县| 佛山市| 抚顺县| 南木林县| 江源县| 濮阳市| 阳东县| 锦屏县| 香河县| 诏安县| 林州市|