資源簡介
數碼管驅動芯片TM1639驅動8個共陰數碼管顯示按鍵數值,采用地址自動增加模式顯示數據
代碼片段和文件信息
?/*****************************************************************************
?*版權信息:深圳天微電子有限公司
?*文?件?名:TM1639-V1.0
?*當前版本:V1.0
?*MCU?型號:STC12C5608AD
?*開發環境:Keil?uVision4
?*晶震頻率:11.0592MHZ???????
?*完成日期:2013-07-30
?*程序功能:1.數碼管驅動:驅動8段8位LED共陰數碼管顯示0~7
????????????2.按鍵功能??:?包含按鍵讀程序驅動函數,按鍵后數碼管第一位分別顯示1、2、3、4
?*免責聲明:1.此程序為TM1639驅動LED數碼管演示程序,僅作參考之用。
????????????2.如有直接使用本例程程序造成經濟損失的,本公司不承擔任何責任?????????????
********************************************************************************/
#include? //MCU頭文件
#include?“intrins.h“ //包含nop指令頭文件
#define?nop?_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();?//宏定義
/********************定義控制端口**********************/
sbit?DIO=P3^2; //定義DIO
sbit?CLK=P3^3; //定義CLK
sbit?STB=P3^4; //定義STB
/********************定義數據*************************/
unsigned?char?Key[4]={0}; ???//為存儲按鍵值定義的數組
unsigned?char?code?CODE[16]={0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F0x770x7C0x390x5E0x790x71};? ???//共陰數碼管0~F字型碼,以實際電路接法為準
????
/***************延時函數**************/
void?delay_nms(unsigned?int?n)
{
??unsigned?int?i;
??while(n--)?
????for(i=0;i<550;i++);
}
/***************發送8bit數據,從低位開始**************/
void?send_8bit(unsigned?char?dat)
{
??unsigned?char?i;
??for(i=0;i<8;i++)
??{ ?
????CLK=0;
????if(dat&0x01)?
??DIO=1;
else?
??DIO=0;
?_nop_();
?_nop_();
?_nop_();
?CLK=1;
?dat>>=1;
??}
????CLK=0;
DIO=0;
}
/******************發送控制命令***********************/
void?send_command(unsigned?char?word)
{
?STB=1;
?nop;
?STB=0;
?send_8bit(word);
}
/****************讀取按鍵值并存儲*****
評論
共有 條評論