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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8314|回復: 4
打印 上一主題 下一主題
收起左側

stm32如何正確的點亮串聯的MAX7219點陣

[復制鏈接]
跳轉到指定樓層
樓主
ID:98880 發表于 2018-8-3 10:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近做一個小實驗.用的是網上的那種8X32的點陣屏,MAX7219屏驅動的,我現在用STM32的SPI硬件驅動,但每次驅動時都是四個8X8的點陳顯示同一樣東西,后來按網上的代碼,自己寫了一個用0X00填充,但除了第三和第四位正常顯示,第一位和第二位就不顯示正常.
  1.         while(1)
  2.         {
  3.   for(j=0;j<38;j++)
  4.   {
  5.    for(i=1;i<9;i++)
  6.                 {
  7.                         Write_Max7219(1,i,disp1[j][i-1]);
  8. //                        Write_Max7219(2,i,disp1[j][i-1]);
  9. //                        Write_Max7219(3,i,disp1[j][i-1]);
  10. //                        Write_Max7219(4,i,disp1[j][i-1]);                        


  11.                         delay_ms(50);
  12.                 }
  13.   }  
復制代碼

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

使用道具 舉報

沙發
ID:187303 發表于 2019-1-7 19:01 | 只看該作者
你可以參考我附件中的代碼,編譯通過。

STM32 硬件SPI max7219 8位數碼管顯示模塊

單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "delay.h"

  3. /****************************************************************************
  4. * 名    稱:SPI1_Init(void)
  5. * 功    能:STM32_SPI1硬件配置初始化
  6. * 入口參數:無
  7. * 出口參數:無
  8. * 說    明:STM32_SPI1硬件配置初始化 使用3V3
  9. ****************************************************************************/
  10. void SPI1_Init(void)       
  11. {
  12.         SPI_InitTypeDef  SPI1_InitStructure;
  13.         GPIO_InitTypeDef GPIO_InitStructure;
  14.          
  15.         //配置SPI1管腳
  16.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA, ENABLE);
  17.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);
  18.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;
  19.   GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  20.   GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  21.   GPIO_Init(GPIOA,&GPIO_InitStructure);
  22.        
  23.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
  24.   GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  25.   GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
  26.   GPIO_Init(GPIOA,&GPIO_InitStructure);
  27.          
  28.         SPI1_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;
  29.         SPI1_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_64;
  30.         SPI1_InitStructure.SPI_DataSize=SPI_DataSize_8b;
  31.         SPI1_InitStructure.SPI_Mode=SPI_Mode_Master;
  32.         SPI1_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB; //高位在先
  33.         SPI1_InitStructure.SPI_CPOL = SPI_CPOL_High;                                       
  34.         SPI1_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  35.         SPI1_InitStructure.SPI_NSS = SPI_NSS_Hard; // 使用硬件模式,PA4需要接高電平
  36.         SPI1_InitStructure.SPI_CRCPolynomial = 7;
  37.        
  38.         SPI_I2S_DeInit(SPI1);
  39.        
  40.         SPI_Init(SPI1, &SPI1_InitStructure);
  41.        
  42.         SPI_Cmd(SPI1, ENABLE);   
  43. }


  44. //-------------------------------------------
  45. //功能:向MAX7219寫入數據
  46. //入口參數:address、dat
  47. //出口參數:無
  48. //說明:
  49. void Write_Max7219(u8 address,u8 dat)
  50. {
  51.                         GPIO_ResetBits(GPIOA, GPIO_Pin_3);       
  52.       SPI_I2S_SendData(SPI1, address);  //寫入地址,即數碼管編號
  53.             delay_us(10);
  54.             SPI_I2S_SendData(SPI1, dat);            //寫入數據,即數碼管顯示數字
  55.             delay_us(10);
  56.                         GPIO_SetBits(GPIOA, GPIO_Pin_3);
  57. }

  58. void Init_MAX7219(void)
  59. {
  60. Write_Max7219(0x09, 0xff);       //譯碼方式:BCD碼
  61. Write_Max7219(0x0a, 0x03);       //亮度
  62. Write_Max7219(0x0b, 0x07);       //掃描界限;8個數碼管顯示
  63. Write_Max7219(0x0c, 0x01);       //掉電模式:0,普通模式:1
  64. Write_Max7219(0x0f, 0x00);       //顯示測試:1;測試結束,正常顯示:0
  65. }

  66. int main(void)
  67. {
  68.         delay_init();
  69.         SPI1_Init();
  70.         Init_MAX7219();
  71.         Write_Max7219(0x01, 0x00);
  72.         Write_Max7219(0x02, 0x01);
  73.         Write_Max7219(0x03, 0x02);
  74.         Write_Max7219(0x04, 0x03);
  75.         Write_Max7219(0x05, 0x04);
  76.         Write_Max7219(0x06, 0x05);
  77.         Write_Max7219(0x07, 0x06);
  78.         Write_Max7219(0x08, 0x07);
  79.         while(1)
  80.         {
  81.         }
  82. }

復制代碼

所有資料51hei提供下載:
STM32_SPI_SMG.7z (210.35 KB, 下載次數: 254)



回復

使用道具 舉報

板凳
ID:805240 發表于 2021-1-21 14:29 | 只看該作者
cm7626 發表于 2019-1-7 19:01
你可以參考我附件中的代碼,編譯通過。

STM32 硬件SPI max7219 8位數碼管顯示模塊

太棒了,找了很長時間,就你的靠譜
回復

使用道具 舉報

地板
ID:671973 發表于 2021-2-5 14:54 | 只看該作者
汪明海 發表于 2021-1-21 14:29
太棒了,找了很長時間,就你的靠譜

這個引腳怎么連的?34567我試過了,都不行,我的最小系統
回復

使用道具 舉報

5#
ID:1027551 發表于 2022-5-18 13:25 | 只看該作者
請問一下引腳如何連接呢
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产免费va| 成人一区二区在线 | 国产免费一区 | 91综合网 | 久久久激情 | 亚洲一av| 黄色片在线观看网址 | 台湾av在线 | 国产精品一区在线观看 | 黄页网址在线观看 | 精品国产乱码久久久久久丨区2区 | 欧美色性| 久久婷婷香蕉热狠狠综合 | 日韩喷潮| 久久久一区二区三区 | 久久精品亚洲 | 91av在线免费观看 | h视频免费观看 | 国产在线一级片 | 91免费版在线观看 | 久久精品一区二区三区四区 | 中文字幕亚洲视频 | h视频在线播放 | 久久久久亚洲精品 | 国产精品免费av | 九九热精品免费 | 久久精品中文字幕 | 国产激情视频在线免费观看 | 一级二级三级在线观看 | 黄色一级免费看 | av免费观看在线 | 久久精品中文 | 久久91精品久久久久久9鸭 | 成人精品毛片国产亚洲av十九禁 | 91一区二区在线观看 | 欧美日韩在线免费 | 91在线视频观看免费 | 日韩亚洲视频在线 | 九九热在线视频 | 99精品国产一区二区三区 | 在线一区 |