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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1245|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于max7219級聯(lián)仿真的問題 附單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:978416 發(fā)表于 2022-6-27 21:38 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
想請教一下各位大神,我做了一個用7219級聯(lián)顯示時分秒,年月日的程序;實物顯示沒有問題,但是仿真只顯示第一個7219的,第二個的年月日不顯示;

單片機(jī)源程序如下:
#include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include "ds1302.h"        

typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;

sbit key=P3^7;
sbit key1=P3^6;

u8 num;
u16 DisplayData[17];
u8 code smgduanyin                   [10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
u8 code smgduanyang                [10]=                                         {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
u8 code smgduan7219           [10]={0,1,2,3,4,5,6,7,8,9};

/*******************************************************************************
* 函 數(shù) 名         : delay
* 函數(shù)功能                   : 延時函數(shù),i=1時,大約延時10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);        
}
void delayms(u16 xms)
{
        u16 i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}

/*******************************************************************************
* 函 數(shù) 名         : datapros()
* 函數(shù)功能                   : 時間讀取處理轉(zhuǎn)換函數(shù)
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/

void datapros()         
{
           Ds1302ReadTime();
        DisplayData[8] = smgduan7219[TIME[2]/16];                                //時
        DisplayData[7] = smgduan7219[TIME[2]&0x0f];        
        DisplayData[6] = 0x0a;
        DisplayData[5] = smgduan7219[TIME[1]/16];                                //分
        DisplayData[4] = smgduan7219[TIME[1]&0x0f];        
        DisplayData[3] = 0x0a;
        DisplayData[2] = smgduan7219[TIME[0]/16];                                   //秒
        DisplayData[1] = smgduan7219[TIME[0]&0x0f];
               
        Ds1302ReadTime();
        DisplayData[16]= smgduan7219[2];
        DisplayData[15]= smgduan7219[0];
        DisplayData[14]= smgduan7219[TIME[6]/16];                         //年
        DisplayData[13]= smgduan7219[TIME[6]&0x0f];
        DisplayData[12]= smgduan7219[TIME[4]/16];                         //月
        DisplayData[11]= smgduan7219[TIME[4]&0x0f];
        DisplayData[10] = smgduan7219[TIME[3]/16];                         //日
        DisplayData[9] = smgduan7219[TIME[3]&0x0f];

        DisplayData[17] =smgduanyang[TIME[5]&0x0f];                   //周
}                                                               



void max7219send(uchar add,uchar dat)
{
        uchar ads,i,j;
        
        i=0;
        while(i<16)
        {
                if(i<8)
                {
                        ads=add;
                }
                else
                {
                        ads=dat;
                }
                for(j=0;j<8;j++)
                {
                        clk7219=0;
                        din7219=ads&0x80;
                        ads=ads<<1;
                        clk7219=1;
                }
                i=i+8;
        }
        
}
void write7219value1(uchar add1,uchar dat1)
{
        sc7219=0;
        max7219send(add1,dat1);
        sc7219=1;
}

void write7219value2(uchar add2,uchar dat2)
{
        sc7219=0;
        max7219send(add2,dat2);
        max7219send(0x00,0x00);
        sc7219=1;
}


void max7219init()
{
        write7219value1(0x0c,0x01);
        write7219value1(0x0b,0x07);        
        write7219value1(0x0a,0xff);        
        write7219value1(0x09,0xff);
        write7219value1(0x0f,0x00);
                 
        write7219value2(0x0c,0x01);        
        write7219value2(0x0b,0x07);
        write7219value2(0x0a,0xff);
        write7219value2(0x09,0xff);        
        write7219value2(0x0f,0x00);        


        
}

void main()
{
        uchar i,z;
        Ds1302Init();           //第一次初始化后就可以注釋該條語句,這樣下次重啟就不會再次初始化了
        max7219init();        
               
          while(1)
          {         
          datapros();         //數(shù)據(jù)處理函數(shù)
                                                  for(i=1;i<9;i++)
                                                {
                                                
                                                 write7219value1(i,DisplayData[ i]);
                                                         write7219value2(i,DisplayData[i+8]);
                                                }                                
                                }
                                
               
                        }        

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

使用道具 舉報

沙發(fā)
ID:96682 發(fā)表于 2022-6-29 09:44 | 只看該作者
實物是買成品的自然沒問題,仿真么就不一定啦
回復(fù)

使用道具 舉報

板凳
ID:1023753 發(fā)表于 2022-6-29 10:14 | 只看該作者
程序硬件可以實現(xiàn)就好了  仿真只是借鑒
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 美女艹b| 亚洲美乳中文字幕 | 欧美不卡在线 | 久草资源| 精品久久一区二区三区 | 免费在线观看成人 | 久久国产成人精品国产成人亚洲 | 国产精品国产亚洲精品看不卡15 | 久久久久久久一区 | 日韩av一区二区在线观看 | 日本二区在线观看 | 国产成人aⅴ | 日韩不卡视频在线 | 亚洲欧美一区二区三区国产精品 | 国产精品视频二区三区 | 黄色亚洲 | 久久久综合网 | 一级做a爰片性色毛片16美国 | 成人免费视频观看视频 | 玖玖综合网 | 国产在线一区二区 | 国产精品自拍一区 | 国产羞羞视频在线观看 | 成人精品一区二区三区中文字幕 | 欧美日韩久久精品 | 一级毛片在线看 | 在线色网站| 在线黄色影院 | 国产精品3区 | 一区二区三区免费 | 特级黄一级播放 | 一区二区三区高清 | 不卡一二三区 | 日韩综合在线视频 | 亚洲精品一区二区三区四区高清 | 天堂久久久久久久 | 懂色av蜜桃av | 日本精品视频一区二区三区四区 | 久久国产精品视频 | 午夜影视 | 中文精品一区二区 |