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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8117|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 超碰在线亚洲 | 在线国产视频观看 | 久久国产精99精产国高潮 | 亚洲一区二区在线视频 | av看看| 夜夜骚 | 国产在线不卡视频 | 国产精品一区二 | 亚洲精品丝袜日韩 | 国产精品福利视频 | 美女操网站 | www.9191.com| 久久久久久久久久一区二区 | 九九热精品在线 | 国产露脸国语对白在线 | 天天天插 | 欧美日韩综合一区 | 国产免费拔擦拔擦8x高清 | 亚洲精品电影网在线观看 | 亚洲一区二区在线视频 | 国产黄色小视频在线观看 | 欧美一级欧美一级在线播放 | 日韩精品一区二区三区在线播放 | 国产一级特黄视频 | 亚洲精品国产成人 | 日韩羞羞 | 中日韩毛片 | 久久亚洲二区 | 在线观看日韩精品视频 | 亚洲成人天堂 | 91影院| 岛国av免费看 | 免费成人在线网站 | 久久人 | 青青草网站在线观看 | 女同久久另类99精品国产 | 日韩视频免费看 | 欧美一级免费看 | 亚洲成人精品久久 | 一区二区三区高清 | 欧美精品一二区 |