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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3709|回復: 2
收起左側

單片機大佬們數碼管和點陣怎么同時工作?

[復制鏈接]
ID:252816 發表于 2018-11-17 21:53 | 顯示全部樓層 |閱讀模式
大佬們,我是想讓數碼管顯示2018,點陣顯示0--9,請大佬們指教我該怎么改正
圖片2.png 圖片1.png
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

//uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code DSY_CODE[]={0xa4,0xc0,0xf9,0x80};
uchar code wei[]={0x80,0x40,0x20,0x10};
unsigned char const xuehao[]={
0x00,0x00,0xFE,0x82,0x82,0x82,0xFE,0x00, //0
0x00,0x00,0x84,0x82,0xFF,0x80,0x80,0x00, //1
0x00,0x00,0xF2,0x92,0x92,0x92,0x9E,0x00, //2
0x00,0x00,0x92,0x92,0x92,0xFE,0x00,0x00, //3
0x00,0x20,0x30,0x28,0x24,0xFE,0x20,0x00, //4
0x00,0x00,0x9E,0x92,0x92,0x92,0xF2,0x00, //5
0x00,0x00,0xFE,0x92,0x92,0x92,0xF2,0x00, //6
0x00,0x00,0x00,0x02,0x02,0x02,0xFE,0x00, //7
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, //8
0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00  //9
                                    };
unsigned char code lie[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void DelayMS(uint x)
{
        uchar t;
        while(x--) for(t=0;t<120;t++);
}

void Timer1Init()
{
        TMOD|=0X10;//選擇為定時器1模式,工作方式1,僅用TR1打開啟動。

        TH1=0XFC;        //給定時器賦初值,定時1ms
        TL1=0X18;        
        ET1=1;//打開定時器1中斷允許
        EA=1;//打開總中斷
        TR1=1;//打開定時器                        
}
void main()
{

        uchar i;
        while(1)
                {
                        for(i=0;i<4;i++)
                {
                        P3=0x00; //關閉顯示
                  P1=DSY_CODE[ i]; //發送數字段碼
                        P3=wei[ i];
            DelayMS(10);
               }
              Timer1Init();  //定時器1初始化
          }


}
void Timer1() interrupt 3
{
  uchar t,j,k;
        TH1=0XFC;        //給定時器賦初值,定時1ms
        TL1=0X18;
          for(t=0;t<10;t++)
    {
       for(j=0;j<30;j++)
        {
          for(k=0;k<8;k++)
           {
            P2=lie[k];
            P0=~xuehao[t*8+k];
                                                 DelayMS(2);
                                         }
                                 }
    }

}

回復

使用道具 舉報

ID:155507 發表于 2018-11-18 09:45 | 顯示全部樓層
你的程序有缺陷,給你改了一下,你試試。


  1. #include <reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. //uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  6. uchar code DSY_CODE[]={0xa4,0xc0,0xf9,0x80};
  7. uchar code wei[]={0x80,0x40,0x20,0x10};
  8. unsigned char const xuehao[]={
  9.         0x00,0x00,0xFE,0x82,0x82,0x82,0xFE,0x00, //0
  10.         0x00,0x00,0x84,0x82,0xFF,0x80,0x80,0x00, //1
  11.         0x00,0x00,0xF2,0x92,0x92,0x92,0x9E,0x00, //2
  12.         0x00,0x00,0x92,0x92,0x92,0xFE,0x00,0x00, //3
  13.         0x00,0x20,0x30,0x28,0x24,0xFE,0x20,0x00, //4
  14.         0x00,0x00,0x9E,0x92,0x92,0x92,0xF2,0x00, //5
  15.         0x00,0x00,0xFE,0x92,0x92,0x92,0xF2,0x00, //6
  16.         0x00,0x00,0x00,0x02,0x02,0x02,0xFE,0x00, //7
  17.         0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, //8
  18.         0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00  //9
  19. };
  20. unsigned char code lie[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  21. void DelayMS(uint x)
  22. {
  23.         uchar t;
  24.         while(x--) for(t=0;t<120;t++);
  25. }
  26. /*
  27. void Timer1Init()
  28. {
  29.         TMOD|=0X10;//選擇為定時器1模式,工作方式1,僅用TR1打開啟動。

  30.         TH1=0XFC;        //給定時器賦初值,定時1ms
  31.         TL1=0X18;        
  32.         ET1=1;//打開定時器1中斷允許
  33.         EA=1;//打開總中斷
  34.         TR1=1;//打開定時器                        
  35. }
  36. */
  37. void main()
  38. {

  39.         uchar i;
  40.         uchar t,j,k;
  41.         //Timer1Init();  //定時器1初始化

  42.         while(1)
  43.         {
  44.                 //for(i=0;i<4;i++)
  45.                 //{

  46.                 //        DelayMS(10);
  47.                 //}
  48.                 for(t=0;t<10;t++)
  49.                 {
  50.                         for(j=0;j<30;j++)
  51.                         {
  52.                                 for(k=0;k<8;k++)
  53.                                 {
  54.                                         P2=lie[k];
  55.                                         P0=~xuehao[t*8+k];
  56.                                         DelayMS(2);
  57.                                         P3=0x00; //關閉顯示
  58.                                         P1=DSY_CODE[ k/2]; //發送數字段碼
  59.                                         P3=wei[ k/2];                          
  60.                                 }
  61.                         }
  62.                 }
  63.         }


  64. }
  65. /*
  66. void Timer1() interrupt 3
  67. {

  68.         TH1=0XFC;        //給定時器賦初值,定時1ms
  69.         TL1=0X18;


  70. }
  71. */

復制代碼
回復

使用道具 舉報

ID:252816 發表于 2018-11-18 16:31 | 顯示全部樓層
angmall 發表于 2018-11-18 09:45
你的程序有缺陷,給你改了一下,你試試。

非常感謝師兄,仿真后沒有問題
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区免费视频 | 欧美色综合天天久久综合精品 | 日韩在线欧美 | www.av7788.com| 国产91在线播放 | 国产精品99久久久久久宅男 | 天天色天天射天天干 | 色一情一乱一伦一区二区三区 | 色视频网站免费 | 天天摸天天看 | 成人午夜电影在线观看 | www.99热.com| 成人久久18免费网站麻豆 | 亚洲精品欧美一区二区三区 | 人人干在线 | 天天曰夜夜操 | 国产精品色| 亚洲精品色 | 国产精品毛片久久久久久 | 亚洲成人av | 2022精品国偷自产免费观看 | 亚洲免费在线播放 | 亚洲国产精品99久久久久久久久 | 99热在线播放 | 亚洲欧美日韩在线 | 美女爽到呻吟久久久久 | 国产一区二区三区 | 欧美小视频在线观看 | 精品二区视频 | 国产在线小视频 | 日产久久 | 成人精品视频99在线观看免费 | 91国产在线视频在线 | cao视频| 999观看免费高清www | 精品一二区 | 国产精品久久久久久久久久不蜜臀 | 久久精品亚洲欧美日韩久久 | 国产高清在线视频 | 欧美日韩国产高清 | 黑人久久 |