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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

MSP430實(shí)現(xiàn)計(jì)時(shí)器的源代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:436127 發(fā)表于 2018-11-30 22:08 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
和上一篇文章一樣,用到了 TM1638。計(jì)時(shí)器初值設(shè)為 23:57:45,計(jì)時(shí)到 23:59:59 時(shí)重置為 0點(diǎn) 0分 0秒。
(和上次的定時(shí)器一樣,主函數(shù)中的delay是我自己寫的,是為了便于調(diào)試,并沒(méi)有真正起到延時(shí)1s的作用)

源の代碼:

#include "TM1638.h"
#include "msp430f6638.h"
#include "stdint.h"

uint8_t num[8];    //各個(gè)數(shù)碼管顯示的值
uint8_t led_flag[8];
const uint8_t tab[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x00};

void init_port(void) {
    P3DIR |= BIT5;
    P3DIR |= BIT4 + BIT2;

    P1DIR |= BIT0;    // ACLK set out to pins
    P1SEL |= BIT0;

}

const uint8_t tab2[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

void TM1638_Write(unsigned char DATA) {    //寫數(shù)據(jù)函數(shù)
    unsigned char i;
    DIO_OUT;
    for(i=0;i<8;i++) {
      CLK_low;
      if(DATA & 0x01)
          DIO_high;
      else
          DIO_low;
      CLK_high;
      DATA >>= 1;
    }
}

unsigned char TM1638_Read(void) {    //讀數(shù)據(jù)函數(shù)
    unsigned char i;
    unsigned char temp=0;
    DIO_IN;
    STB_low;
    for(i=0;i<8;i++) {
          temp >>= 1;
          CLK_low;
          _delay_us(100);
          if(DIO_READ)
              temp |= 0x80;
          else
              temp &= 0x7f;
          CLK_high;
    }
    return temp;
}

void Write_COM(unsigned char cmd) {    //發(fā)送命令字
    CLK_high;
    STB_high;
    STB_low;
    TM1638_Write(cmd);
    STB_high;
}



void Write_DATA(unsigned char add,unsigned char DATA) {    //指定地址寫入數(shù)據(jù)
    Write_COM(0x44);
    STB_low;
    TM1638_Write(0xc0|add);
    TM1638_Write(DATA);
    STB_high;
}

void init_TM1638(void) {
    unsigned char count = 0;
    unsigned char times = 1;
    while(times--) {
        Write_allLED(tab2[count]);
        count++;
        if(count == 16)
            count = 0;
        _delay_ms(100);
    }
    Write_allLED(0xff);
    _delay_ms(100);
    Write_allLED(0);
}

void delay() {
    for (int i=0; i<10; i++)
      for (int j=0; j<1000; j++);
}


void Write_allLED(unsigned char DATA) {
    unsigned char i;
    Write_COM(0x8F);//顯示控制
    Write_COM(0x40); //數(shù)據(jù)命令
    STB_low;
    TM1638_Write(0xc0);
    for(i=0;i<16;i++)
    TM1638_Write(DATA);
    STB_high;
}


void main(void) {

    WDTCTL = WDTPW+WDTHOLD;
    init_port();
    init_TM1638();
        
    int hourA = 2;
    int hourB = 3;
    int minuteA = 5;
    int minuteB = 7;
    int secondA = 4;
    int secondB = 5;
        
    while(1) {
        secondB++;
        if(secondB == 10) {
            secondB = 0;
            secondA++;
            if(secondA == 6) {
                secondA = 0;
                minuteB++;
                if(minuteB == 10) {
                    minuteB = 0;
                    minuteA++;
                    if(minuteA == 6) {
                        minuteA = 0;
                        hourB++;
                        if(hourB == 10) {
                            hourB = 0;
                            hourA++;
                        }
                        if(hourA == 2 && hourB == 4) {
                            hourA = 0;
                            hourB = 0;
                        }
                    }
                }
            }
        }

        Write_DATA(4*2,tab[hourA]);
        Write_DATA(5*2,tab[hourB]);
        Write_DATA(6*2,tab[15]);
        Write_DATA(7*2,tab[minuteA]);
        Write_DATA(0*2,tab[minuteB]);
        Write_DATA(1*2,tab[15]);
        Write_DATA(2*2,tab[secondA]);
        Write_DATA(3*2,tab[secondB]);

        delay();

    }
   
}




shiy2-3-2.zip

1.95 KB, 下載次數(shù): 5, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:458641 發(fā)表于 2018-12-30 16:36 | 只看該作者
很好,++++++
回復(fù)

使用道具 舉報(bào)

板凳
ID:588621 發(fā)表于 2019-8-7 08:50 來(lái)自手機(jī) | 只看該作者
劉旭0625 發(fā)表于 2018-12-30 16:36
很好,++++++

能不能給我發(fā)個(gè)定時(shí)一分鐘燈亮的程序
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产福利在线 | 在线视频 亚洲 | 久久99这里只有精品 | 国产一区二区久久久 | 成人黄色在线观看 | 天天艹逼网 | 亚洲天堂一区二区 | xxx视频 | 国产精品不卡一区 | 在线亚洲人成电影网站色www | 久青草影院 | 国产高清久久 | 国产亚洲精品精品国产亚洲综合 | 五月激情六月婷婷 | 中文字幕亚洲区 | 91精品国产综合久久久久久蜜臀 | 国产精品.xx视频.xxtv | 91视视频在线观看入口直接观看 | 亚洲一区二区免费电影 | 亚洲狠狠 | 午夜精品一区二区三区免费视频 | 国产婷婷色一区二区三区 | 日韩中字幕| 国产成人精品a视频 | 日韩成人精品视频 | 国产精品久久久久久久久久久免费看 | 欧美a区 | 日本精品久久久久久久 | 国产日韩电影 | 国产欧美在线一区 | 精品久久久久久亚洲精品 | 午夜视频在线观看视频 | 精品久久久久久亚洲精品 | 美国av毛片 | av性色全交蜜桃成熟时 | 精品日韩在线观看 | 激情五月婷婷综合 | 亚洲日本欧美 | 91原创视频 | 91久久久久久久 | 久久精品91 |