日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]51單片機(jī)和tm1620驅(qū)動(dòng)3位數(shù)碼管程序

TM1620 是天微公司生產(chǎn)的二極管驅(qū)動(dòng)芯片,SOP20封裝。芯片如下圖所示:

 

最多可以驅(qū)動(dòng)6個(gè)8位數(shù)碼管,如下圖所示:

 

程序如下:

/**************************************************

* 名稱:STC51驅(qū)動(dòng)TM1620 3位數(shù)碼管顯示

* MCU: STC12C5608AD

* 主頻:12Mhz(外部接12MHz晶振)

* 作者:Ration

* 時(shí)間:2013年12月5日(整理)

* 版權(quán):版權(quán)歸《單片機(jī)學(xué)習(xí)網(wǎng)》所有,傳播請(qǐng)保持完整性

*

* 更多程序請(qǐng)?jiān)L問:http://www.rationmcu.com

*************************************************/

#include "stc12c5608ad.h"

#include

#define uint unsigned int // 宏定義uint (0~65535)

#define uchar unsigned char //

#define uint32 unsigned long

sbit STB =P3^2; // 定義片選通訊口

sbit CLK =P3^3; // 定義時(shí)鐘通訊口

sbit DIO =P3^4; // 定義數(shù)據(jù)輸入/輸出通訊口

uchar bai_num,shi_num,ge_num;

static uchar code LED_tab[11]={ // 定義數(shù)碼管0~9數(shù)字碼表

0x3f, //0B00111111, //0

0x30, //0B00000110, //1

0x6d, //0B01011011, //2

0x79, //0B01001111, //3

0x33, //0B01100110, //4

0x5b, //0B01101101, //5

0x5f, //0B01111101, //6

0x70, //0B00000111, //7

0x7f, //0B01111111, //8

0x7B, //0B01101111, //9

0x4f, //E

};

void delay_ms(uchar cyc)

{

//當(dāng)將=1的時(shí)候,延時(shí)1ms

uchar ii,jj;

for(jj=1;jj<=cyc;jj++)

{

for(ii=0;ii<200;ii++)

{

_nop_();

}

}

}

void TM1620_Write(uchar wr_data)

{

uchar i;

for(i=0;i<8;i++)

{

CLK = 0;

if(wr_data&0x01)DIO = 1;

else DIO = 0;

CLK = 1;

wr_data>>=1;

}

}

void Write_COM(unsigned char cmd) //發(fā)送命令字

{

STB = 0;

TM1620_Write(cmd);

STB = 1;

}

void init_TM1620(void)

{

Write_COM(0x44); // 01000000準(zhǔn)備寫數(shù)據(jù)到顯示寄存器,普通模式,自動(dòng)地址增加

STB=0;

TM1620_Write(0xc0); // 11000000 設(shè)置顯示地址從0開始

TM1620_Write(0x00); // 所有顯示為滅

STB=1;

STB=0;

TM1620_Write(0xc2);

TM1620_Write(0x00);

STB=1;

STB=0;

TM1620_Write(0xc4);

TM1620_Write(0x00);

STB=1;

Write_COM(0x8f); // 最亮 10001111 設(shè)置消光脈沖14/16 顯示開

}

void led_show()

{

// Write_COM(0x44); // 01000000準(zhǔn)備寫數(shù)據(jù)到顯示寄存器,普通模式,自動(dòng)地址增加

STB=0;

TM1620_Write(0xc0); // 11000000 設(shè)置顯示地址從0開始

TM1620_Write(LED_tab[bai_num]); // 所有顯示為滅

STB=1;

STB=0;

TM1620_Write(0xc2); // 11000000 設(shè)置顯示地址從0開始

TM1620_Write(LED_tab[shi_num]); // 所有顯示為滅

STB=1;

STB=0;

TM1620_Write(0xc4); // 11000000 設(shè)置顯示地址從0開始

TM1620_Write(LED_tab[ge_num]); // 所有顯示為滅

STB=1;

}

void main()

{

CLK = 1; // 上拉TM1620通信時(shí)鐘引腳

STB = 1; // 上拉TM1620通信片選引腳

DIO = 1; // 上拉TM1620通信數(shù)據(jù)引腳

init_TM1620(); // 初始化LED控制芯片

bai_num=0;

shi_num=0;

ge_num=0;

led_show();

while(1)

{

;

}

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉