单片机
返回首页

max7219控制8段数码管 spi接口

2016-08-21 来源:eefocus

  max7219控制8段数码管 spi接口 - liuyunqian@yeah - 嵌入式学习


  max7219控制8段数码管 spi接口 - liuyunqian@yeah - 嵌入式学习


  max7219控制8段数码管 spi接口 - liuyunqian@yeah - 嵌入式学习

 

#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;i for(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);
  
}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 用数字电路CD4069制作的万能遥控轻触开关

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 开关电源的基本组成及工作原理

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章