新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機2408點陣時鐘電子制作

單片機2408點陣時鐘電子制作

作者: 時間:2016-11-25 來源:網絡 收藏
這是一個鐘電子制作,用單片機直驅點陣,這里用的是STC89C52,驅動能力不是很好,有條件的話用STC12C5A60S,驅動能力已經比較好,屏的亮度會比較高。圖中是用STC89C52單片機,直驅三個8*8的共陽點陣屏,亮度還基本可以,白天看都很清楚!P0口需要接上1K的上拉電阻,P1-P3口分別接三個8*8屏的陰極,用去了單片機的全部32個I/O口。為了能調時間,P2口的P2.0-P2.6接屏的1-7列,P2.7口接一個按扭作于調時間,調整方法: 長按一次是進入調時狀態(tài),短按是加1,長按二次是調分,短按是加1,長按3次回復正常狀態(tài)! 感興趣的愛好者可以動手實踐一下,體驗一下電子制作點陣時鐘的樂趣。

本文引用地址:http://www.2s4d.com/article/201611/321448.htm



//單片機點陣電子鐘C語言程序
//MCU:STC89C52RD 晶振頻率:12MHZ
//編寫:桃源客 日期:2010-06-7
//電子小制作整理http://www.5imcu.net/轉載請保留。
#include
#include
#define uchar unsigned char //宏定義
#define uint unsigned int

sbit KEY=P2^7; //時調整鍵
uchar keymode; //鍵狀態(tài)
uchar keydate; //鍵值,
uint keycount; //鍵延時值
unsigned char c=0; //時分調整位置變量,0不調,1時調時,2時調分
bit D7,D6; //鍵值有效,長按標志,
bit SHAN; //閃爍標志位
uchar second,minute,hour; //定義秒、分、時寄存器
//以下字模與ASCII對應是,只要將 A-0x20就可以得到A的字模了
//高8*5寬 ASCII碼
//采用"字模提取軟件V2.2"
//提取方式:縱向取模,字節(jié)倒序
uchar code ASCII86[10][5]=
{
{0x3E,0x41,0x49,0x41,0x3E},//0
{0x00,0x42,0x7F,0x40,0x00},//1
{0x72,0x49,0x49,0x49,0x46},//2
{0x21,0x41,0x49,0x4D,0x32},//3
{0x18,0x14,0x12,0x7F,0x10},//4
{0x27,0x45,0x45,0x45,0x38},//5
{0x3C,0x4A,0x49,0x49,0x31},//6
{0x41,0x21,0x11,0x09,0x07},//7
{0x36,0x49,0x49,0x49,0x36},//8
{0x46,0x49,0x49,0x29,0x16},//9
};
uchar code seg[24][3]=
{
{0xfe,0xff,0xff},
{0xfd,0xff,0xff},
{0xfb,0xff,0xff},
{0xf7,0xff,0xff},
{0xef,0xff,0xff},
{0xdf,0xff,0xff},
{0xbf,0xff,0xff},
{0x7f,0xff,0xff},
{0xff,0xfe,0xff},
{0xff,0xfd,0xff},
{0xff,0xfb,0xff},
{0xff,0xf7,0xff},
{0xff,0xef,0xff},
{0xff,0xdf,0xff},
{0xff,0xbf,0xff},
{0xff,0x7f,0xff},
{0xff,0xff,0xfe},
{0xff,0xff,0xfd},
{0xff,0xff,0xfb},
{0xff,0xff,0xf7},
{0xff,0xff,0xef},
{0xff,0xff,0xdf},
{0xff,0xff,0xbf},
{0xff,0xff,0x7f}
}; //P1,P3,P2掃描列選碼
uchar disbuf[]={0,0,0,0,0,0};//定義緩沖數組區(qū)
void delay(uchar t); //延時函數
void init(); //初始化函數
void display(); //顯示函數


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉