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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

max7219驅動數碼管循環顯示0-9以及help字符,現在只能顯示0-9 求個思路

[復制鏈接]
跳轉到指定樓層
樓主
ID:836924 發表于 2020-11-24 17:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:748788 發表于 2020-11-25 10:49 | 只看該作者
將要顯示的0-9和help字符按順序放到數組里,在一個循環里逐一顯示。
回復

使用道具 舉報

板凳
ID:836924 發表于 2020-11-25 20:06 | 只看該作者
wwh2382 發表于 2020-11-25 10:49
將要顯示的0-9和help字符按順序放到數組里,在一個循環里逐一顯示。

#include <reg52.h>
#include <intrins.h>         
sbit DIN_7219=P0^5;   //7219串行數據輸入端
sbit LOAD_7219=P0^6;   //7219數據鎖存端
sbit CLK_7219=P0^7;   //7219時鐘輸入端
#define uchar unsigned char
uchar code LEDcode[]=
{0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00     /*0,1,2,3,4,5,6,7,8,9,全滅*/
  /*0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x67,0x3e,0xff,*/   };    /*A,B,C,D,E,F,P,U,全亮*/
void write_7219_byte (uchar dat)
{
uchar i,temp;
for (i=0;i<8;i++)
   {
       temp=dat&0x80;
       dat=dat<<1;
       if(temp)
          DIN_7219=1;   
       else
          DIN_7219=0;
    CLK_7219=0;
    _nop_();
       CLK_7219=1;  //時鐘上升沿把數據送入寄存器鎖定  
   }
}
void write_7219 (uchar addr,uchar dat)
{
LOAD_7219=0;     //寄存器打開,等待數據的送入
_nop_();
write_7219_byte (addr);   //選擇寄存器地址
_nop_();
write_7219_byte (dat);    //選擇讓芯片執行什么命令
_nop_();
LOAD_7219=1; //第16個上升沿之后,第17個上升沿之前必須把pinCLK置高,否則數據丟失
}
void init_7219 (void)
   {
     write_7219 (0x0c,0x01);     /*  設置電源工作模式            */
     write_7219 (0x0a,0x02);     /*  設置亮度(19/32,根據需要增減)*/
     write_7219 (0x0b,0x03);     /*  設置掃描界限(根據需要增減)  */
     write_7219 (0x09,0x00);     /*  設置譯碼模式(00不譯,FF譯)    */
  write_7219 (0x0f,0x00);     /*  顯示測試(00為正常工作狀態)  */
   }
void clear_7219(void)
{
uchar i;       //變量i,用來選擇數碼管位選
for(i=8;i>0;i--)     //i自減,選擇完所有的8位
{
  write_7219(i,0x00);  //對應位選的段全部清除顯示
}
}
void main(void)
{
    init_7219 ();          //MAX7219初始化
clear_7219();   //MAX7219清除顯示,免去干擾
    while(1)   
  {  
   write_7219(0x01,LEDcode[5]);      //掃描第一位(LSB),并送段碼顯示
   write_7219(0x02,LEDcode[5]|0x80); //掃描第二位,并送段碼顯示,同時加顯小數點2|  0x80 如果不加小數點就去掉|0x80
   write_7219(0x03,LEDcode[5]);      //掃描第三位,并送段碼顯示
   write_7219(0x04,LEDcode[5]);   //掃描第四位,并送段碼顯示
//  write_7219(0x05,LEDcode[5]);   //掃描第五位,并送段碼顯示
//  write_7219(0x06,LEDcode[6]);   //掃描第六位,并送段碼顯示
//  write_7219(0x07,LEDcode[7]);   //掃描第七位,并送段碼顯示
//  write_7219(0x08,LEDcode[8]);   //掃描第八位(MSB),并送段碼顯示

  }   
}
回復

使用道具 舉報

地板
ID:828133 發表于 2020-11-26 19:46 | 只看該作者
#include <reg52.h> #include <intrins.h>          sbit DIN_7219=P0^5;   //7219串行數據輸入端 sbit LOAD_7219=P0^6;   //7219數據鎖存端 sbit CLK_7219=P0^7;   //7219時鐘輸入端 #define uchar unsigned char uchar code LEDcode[]= {0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00     /*0,1,2,3,4,5,6,7,8,9,全滅*/   /*0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x67,0x3e,0xff,*/   };    /*A,B,C,D,E,F,P,U,全亮*/ void write_7219_byte (uchar dat) { uchar i,temp; for (i=0;i<8;i++)    {         temp=dat&0x80;        dat=dat<<1;        if(temp)           DIN_7219=1;           else           DIN_7219=0;     CLK_7219=0;     _nop_();        CLK_7219=1;  //時鐘上升沿把數據送入寄存器鎖定      } } void write_7219 (uchar addr,uchar dat) { LOAD_7219=0;     //寄存器打開,等待數據的送入 _nop_(); write_7219_byte (addr);   //選擇寄存器地址 _nop_(); write_7219_byte (dat);    //選擇讓芯片執行什么命令 _nop_(); LOAD_7219=1; //第16個上升沿之后,第17個上升沿之前必須把pinCLK置高,否則數據丟失 } void init_7219 (void)    {      write_7219 (0x0c,0x01);     /*  設置電源工作模式            */       write_7219 (0x0a,0x02);     /*  設置亮度(19/32,根據需要增減)*/      write_7219 (0x0b,0x03);     /*  設置掃描界限(根據需要增減)  */      write_7219 (0x09,0x00);     /*  設置譯碼模式(00不譯,FF譯)    */   write_7219 (0x0f,0x00);     /*  顯示測試(00為正常工作狀態)  */    } void clear_7219(void) { uchar i;       //變量i,用來選擇數碼管位選 for(i=8;i>0;i--)     //i自減,選擇完所有的8位 {   write_7219(i,0x00);  //對應位選的段全部清除顯示 } } void main(void) {     init_7219 ();          //MAX7219初始化 clear_7219();   //MAX7219清除顯示,免去干擾     while(1)      {      write_7219(0x01,LEDcode[5]);      //掃描第一位(LSB),并送段碼顯示    write_7219(0x02,LEDcode[5]|0x80); //掃描第二位,并送段碼顯示,同時加顯小數點2|  0x80 如果不加小數點就去掉|0x80    write_7219(0x03,LEDcode[5]);      //掃描第三位,并送段碼顯示    write_7219(0x04,LEDcode[5]);   //掃描第四位,并送段碼顯示 //  write_7219(0x05,LEDcode[5]);   //掃描第五位,并送段碼顯示 //  write_7219(0x06,LEDcode[6]);   //掃描第六位,并送段碼顯示 //  write_7219(0x07,LEDcode[7]);   //掃描第七位,并送段碼顯示 //  write_7219(0x08,LEDcode[8]);   //掃描第八位(MSB),并送段碼顯示   }     }
回復

使用道具 舉報

5#
ID:836924 發表于 2020-11-28 16:43 | 只看該作者
poj 發表于 2020-11-26 19:46
#include  #include           sbit DIN_7219=P0^5;   //7219串行數據輸入端 sbit LOAD_7219=P0^6;   //721 ...

你這格式有點看不懂,有點亂了
回復

使用道具 舉報

6#
ID:1143011 發表于 2025-1-16 22:48 | 只看該作者
yq1113 發表于 2020-11-25 20:06
#include
#include         
sbit DIN_7219=P0^5;   //7219串行數據輸入端

謝謝你的數組,我一直找不到合適的數組顯示
回復

使用道具 舉報

7#
ID:332444 發表于 2025-1-17 09:00 | 只看該作者
數碼管字段自己用計算器就能獲得,很簡單的,每段的值分別是1 2 4 8 16 32 64 128所有復合的段都是這些值的加法.
回復

使用道具 舉報

8#
ID:332444 發表于 2025-1-17 09:03 | 只看該作者
舉個荔枝,要想數碼管顯示L則8+16+32=都知道的值,直接用十進制也可轉為十六進制也可.設計數碼管段值的軟件無非就是點擊進行相應的加減而已.
回復

使用道具 舉報

9#
ID:332444 發表于 2025-1-17 22:17 | 只看該作者
如果有人想要軟件的話留言,我可現寫一個,輸出十進制、十六進制、共陽、共陰四種值,8段數碼管點擊,有確定按鍵添加可生成數組元素。
回復

使用道具 舉報

10#
ID:1143011 發表于 2025-1-30 11:32 | 只看該作者
unsigned char code LED_0F[] = { //字體表
        0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00,
        //0,  1,   2,   3,   4,   5,  6,   7,    8,   9,  全滅
         0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x37,0x17,0x0E,0x38,
        //A=11 B=12 C=13 D=14 E=15 F=16 H=17 h=18 L=19 J=20
         0x76,0x15,0x1D,0x67,0x73,0x0F,0x3e,0x1C,0x3B,0xff,
   //M=21,n=22,o=23,P=24,q=25,t=26,U=27,u=28,y=29,全亮=30
         0x01,0x08,0x80,0x09 }; 這是我的表
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕亚洲在线 | 亚洲精品国产区 | 91精品国产91久久久久久 | 日韩区 | 久久专区| 成人在线影视 | 天天操夜夜操免费视频 | 国产一二三区精品视频 | 性天堂网 | 天天操操 | 成人精品系列 | 免费在线观看一级毛片 | 欧美一区二区三区在线免费观看 | 久久精品国产清自在天天线 | 成人国产精品免费观看 | 成人精品啪啪欧美成 | 久久成人一区 | 日本免费一区二区三区视频 | 高清av一区| 91人人看 | 久久久蜜臀国产一区二区 | 午夜视频一区 | 国产精品久久久久久久白浊 | 黄色在线免费观看 | 中文字幕 在线观看 | 在线观看av网站永久 | 日本黄色影片在线观看 | 欧美精品日韩精品国产精品 | 欧美色人| 91伊人网 | 日本不卡一区 | 在线成人免费视频 | 亚洲精品永久免费 | 一区二区三区视频 | 日日夜夜狠狠操 | 黄色成人国产 | 一区二区日韩 | 欧美日韩一区在线播放 | 日韩伦理一区二区三区 | 九九久久国产 | www.日本在线播放 |