資源簡介
原廠C 語言 89s51 TM1620 軟件 沒有任何更改
代碼片段和文件信息
?/*
?*版權(quán)信息:???深圳天微技術(shù)部
?*文件名:?????TM1620
?*當前版本:???1.0
?*單片機型號:?AT89S52
?*開發(fā)環(huán)境:???Keil?uVision3
?*晶震頻率:???12M
?*作者:???????李建文
?*完成日期:???2009-05-05
?功能:????????驅(qū)動共陰LED數(shù)碼屏做時鐘顯示,可由按鍵控制時鐘暫停,開始,停止以及顯示0-9數(shù)字
*/
#include
#include
#define?nop?_nop_();
#define?uchar?unsigned?char
#define?uint??unsigned?int
sbit?stb?=P1^0; //定義片選通訊口
sbit?clk?=P1^1; //定義時鐘通訊口
sbit?dio?=P1^3; //定義數(shù)據(jù)輸入/輸出通訊口
bdata?uchar?y=0;//定義可以位尋址全局變量y
sbit?y7?=y^7;
uchar?cir_LED[6]={?0x400x200x020x040x100x08};//數(shù)碼屏圓圈做動態(tài)顯示
uchar?show[12]?=?{?0x000x000x3f0x000x380x000x380x000x7b0x000x76};//初始化顯示“HELLO”字符代碼
???????????
uchar?show_LED2[14];//顯示寄存器數(shù)組
uchar?TIME_secondsseconds_2sub_1sub_2shi_1shi_2;?//時間寄存器依次從秒個位至小時十位
uchar?TIME_count;?//定時中斷控制
uchar?key_FLAG1;//按鍵標志位
uchar?key_LED;??//按鍵單獨顯示賦值寄存器
uchar?count6=0;
uchar?show_2=0x01;
/*********************************???
功能:?TM1620寫數(shù)據(jù)
**********************************/
void?write(uchar?wr_data)
{
?????uchar?i;
?stb?=0; ???//給有效的片選信號(片選信號是低電平有效)
?nop;
?nop; ?
?for(i=0;i<8;i++)//開始傳送8位數(shù)據(jù),每循環(huán)一次傳送一位數(shù)據(jù)
?{
?????clk?=0;
?nop;
?nop;
?????wr_data?>>=?1;//移位數(shù)據(jù),低位在前!
?????nop;
?????dio?=?CY;
?????nop;
?????nop;
?????clk?=1;
?????nop;
???}
}
????
/*********************************
????TM1620控制指令
功能:?驅(qū)動LED屏做相應的顯示
**********************************/
void?xianshi(uchar?show_led[14])
{
??uchar?h;
??stb?=?1;
??clk?=?1;
??dio?=?1;
??write(0x02);//顯示模式設置,設置為6個GRID,8個SEG
??stb?=?1;
??write(0x40);//寫數(shù)據(jù)到顯示寄存器,采用地址自動加一
??stb?=?1;
??write(0xc0);//顯示寄存器的00H單元開始
??for(h=0;h<12;h++)
??{????
???write(show_led[h]);//給顯示寄存器送數(shù)據(jù),
???}
???stb=1;
???write(0x8b);//顯示控制參數(shù),點亮數(shù)碼屏幕,亮度可以通過改變低三位調(diào)節(jié)
}
/**********************************
?????定時中斷函數(shù)入口
功能:?每50MS中斷一次
**********************************/??
評論
共有 條評論