0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STC12C2052AD單片機控制的數(shù)碼管時鐘程序及電路圖

倩倩 ? 來源:電子開發(fā)網(wǎng) ? 2020-09-18 17:12 ? 次閱讀

STC12C2052AD單片機控制的數(shù)碼管時鐘,數(shù)碼管是共陽4位時鐘數(shù)碼管,由于使用單片機真驅(qū),電路比較簡單,且使用的材料和工具也很簡單,用數(shù)碼管顯示,單片機控制,兩個按鍵調(diào)時,蜂鳴器整點報時。所需要的元件如下:

材料有以下這些:

STC12C2052AD單片機一片

黃色共陽4位時鐘數(shù)碼管一塊

6mm×6mm按鍵兩個

杜邦線插針2p兩個

無源蜂鳴器一個

20腳+14腳芯片座各一個

洞洞板一塊(截取一小部分)

100歐電阻4個

程序如下:

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

#include 《STC12C2052AD.h》 //聲明頭文件

sbit key1=P3^4; //按鍵接口定義

sbit key2=P3^5; //按鍵接口定義

sbit speaker=P3^7; //蜂鳴器接口定義

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

unsigned char code LED[10]={0x20,0xA7,0x90,0x82,0x07,0x42,0x40,0xA6,0x00,0x02};//數(shù)碼管段位碼定義

unsigned int time; //全局秒基準(zhǔn)定義

/*-------------------------------------延時函數(shù)-------------------------------------*/

void delayms (unsigned int a){

unsigned int i;

while( --a != 0){

for(i = 0; i 《 600; i++);

}

}

/*----------------------------------蜂鳴器驅(qū)動函數(shù)----------------------------------*/

void beep (void)

{

unsigned char i=30;

while(i--)

{

speaker=~speaker;

delayms(3);

}

}

/*----------------------------------數(shù)碼管驅(qū)動函數(shù)----------------------------------*/

void display (unsigned char hour,min)

{

unsigned char H1,H2,M1,M2;

P3=0xf8; //數(shù)碼管位選

P1 = LED[H1]; //數(shù)碼管段選

delayms (2); //掃描延時

P3=0xf4; //數(shù)碼管位選

P1 = LED[H2]; //數(shù)碼管段選

delayms (2); //掃描延時

P3=0xf2; //數(shù)碼管位選

P1 = LED[M1]; //數(shù)碼管段選

delayms (2); //掃描延時

P3=0xf1; //數(shù)碼管位選

P1 = LED[M2]; //數(shù)碼管段選

delayms (2); //掃描延時

/*--------------------------------------分定義--------------------------------------*/

M1=min/10;//取分十位

min=min%10;//取余

M2=min;//取分個位

/*--------------------------------------時定義--------------------------------------*/

H1=hour/10;//取時十位

hour=hour%10;//取余

H2=hour;//取時個位

}

/*-----------------------------------按鍵去抖函數(shù)-----------------------------------*/

void qudou (unsigned char hour,min)

{

unsigned char i;

for(i=0;i《25;i++){//循環(huán)顯示,等于鍵盤去抖的功能

display (hour,min);

}

}

/*--------------------------------------主函數(shù)--------------------------------------*/

void main(void)

{

////定時器初始設(shè)置

TMOD=0x01;//定時器工作方式1

TH0=0x3C;//定時器初始產(chǎn)生50ms時基信號

TL0=0xB0;//定時器初始產(chǎn)生50ms時基信號

ET0=1;//開定時器中斷

EA=1;//開總中斷

TR0=1;//啟動定時器

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

while(1)

{

unsigned char hour,min;//定義時分

display (hour,min);//調(diào)用顯示函數(shù)

if (time》59)//60秒向分進1

{

time=0;

min++;

}

if (min》59)//60分向時進1

{

min=0;

hour++;

beep ();

}

if (hour》23)//24時時分秒清零

{

hour=0;

min=0;

time=0;

}

/*-----------------------------------按鍵判斷程序-----------------------------------*/

if(key1==0)

qudou (hour,min);

if (key1==0) {hour++;}

if(key2==0)

qudou (hour,min);

if (key2==0) {min++;}

}

}

/*-----------------------------------中斷服務(wù)程序-----------------------------------*/

void Timer0_Routine(void) interrupt 1

{

unsigned char a;

TH0=0x3C;//定時器初始產(chǎn)生50ms時基信號

TL0=0xB0;//定時器初始產(chǎn)生50ms時基信號

a++;//定時器循環(huán)計數(shù)20次為一秒

if (a==20){//定時器循環(huán)計數(shù)20次為一秒

a=0;//次數(shù)清零,從新循環(huán)計數(shù)

time++;//秒加一

}

}

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6026

    文章

    44451

    瀏覽量

    630780
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    32

    文章

    1871

    瀏覽量

    90725
  • 時鐘程序
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    7628
收藏 人收藏

    評論

    相關(guān)推薦

    STC12C2052AD酒精檢測儀的設(shè)計

    STC12C2052AD電路圖
    發(fā)表于 05-12 16:43

    (求助)關(guān)于stc12c2052ad最基本的燒錄問題

    20腳(VCC)轉(zhuǎn)換模塊TXD接單片機2腳(RXD)轉(zhuǎn)換模塊RXD接單片機3腳(TXD)燒錄程序打開后選定STC12C2052AD后為默認(rèn)設(shè)置點擊下載后轉(zhuǎn)換模塊GND接
    發(fā)表于 04-03 20:46

    STC12C2052AD單片機相關(guān)資料下載

    STC12C2052AD是宏晶科技生產(chǎn)的一款單片機, STC12C2052系列單片機是單時鐘/機器周期(1T)的兼容8051內(nèi)核
    發(fā)表于 05-20 06:17

    STC12C2052/STC12C1052中文資料pdf

    STC12C5410AD 系列及STC12C2052AD 系列單片機是宏晶科技生產(chǎn)的單時鐘/ 機器周期(1T)的單片機,是高速/ 低功耗/
    發(fā)表于 10-24 16:20 ?15次下載

    STC12C2052AD 系列單片機器件手冊

    STC12C5410AD 系列及STC12C2052AD 系列單片機是宏晶科技生產(chǎn)的單時鐘/ 機器周期(1T)的單片機,是高速/ 低功耗/
    發(fā)表于 10-24 16:23 ?4次下載

    8051單片機數(shù)碼管電路圖

    8051單片機數(shù)碼管電路圖
    發(fā)表于 09-28 11:55 ?233次下載
    8051<b class='flag-5'>單片機</b><b class='flag-5'>數(shù)碼管</b><b class='flag-5'>電路圖</b>

    STC12C2052AD單片機控制的改進型調(diào)壓電路

    STC12C2052AD單片機控制的改進型調(diào)壓電路 0 引言 在ZXC10通信電源系統(tǒng)中,上位輸出的PWM調(diào)制信號的頻率為1 kHz
    發(fā)表于 10-24 16:25 ?4025次閱讀
    <b class='flag-5'>STC12C2052AD</b><b class='flag-5'>單片機</b><b class='flag-5'>控制</b>的改進型調(diào)壓<b class='flag-5'>電路</b>

    STC12C2052AD系列單片機器件手冊介紹

    STC12C2052AD單片機詳細(xì)資料單片機詳細(xì)資料單片機詳細(xì)資料單片機詳細(xì)資料
    發(fā)表于 12-09 16:29 ?50次下載

    STC2052單片機控制ISD1420實現(xiàn)選段播放功能的實現(xiàn)

    STC2052單片機控制ISD1420實現(xiàn)選段播放功能的實現(xiàn)(C程序_電路圖)
    發(fā)表于 06-14 17:47 ?13次下載

    STC12C2052AD芯片的AD轉(zhuǎn)換程序

    本文檔內(nèi)容介紹了基于STC12C2052AD芯片的AD轉(zhuǎn)換源程序,供參考。
    發(fā)表于 02-05 16:27 ?56次下載

    使用51單片機實現(xiàn)數(shù)碼管顯示0到9的電路圖C語言程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機實現(xiàn)數(shù)碼管顯示0到9的電路圖C語言程序免費下載。
    發(fā)表于 09-06 17:26 ?5次下載
    使用51<b class='flag-5'>單片機</b>實現(xiàn)<b class='flag-5'>數(shù)碼管</b>顯示0到9的<b class='flag-5'>電路圖</b>和<b class='flag-5'>C</b>語言<b class='flag-5'>程序</b>免費下載

    STC12C2052AD最小系統(tǒng)的PCB和電路原理免費下載

    STC12C2052AD最小系統(tǒng)的PCB和電路原理免費下載
    發(fā)表于 11-12 08:00 ?0次下載
    <b class='flag-5'>STC12C2052AD</b>最小系統(tǒng)的PCB和<b class='flag-5'>電路</b>原理<b class='flag-5'>圖</b>免費下載

    單片機STC12C2052AD數(shù)據(jù)手冊

    STC12C2052AD系列單片機STC生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新--代8051
    發(fā)表于 06-13 16:56 ?14次下載

    STC12C2052AD系列單片機英文資料

    電子發(fā)燒友網(wǎng)站提供《STC12C2052AD系列單片機英文資料.pdf》資料免費下載
    發(fā)表于 10-25 15:23 ?2次下載
    <b class='flag-5'>STC12C2052AD</b>系列<b class='flag-5'>單片機</b>英文資料

    FM發(fā)射-STC12C2052AD系列單片機器件手冊

    電子發(fā)燒友網(wǎng)站提供《FM發(fā)射-STC12C2052AD系列單片機器件手冊.pdf》資料免費下載
    發(fā)表于 11-17 14:26 ?0次下載
    FM發(fā)射<b class='flag-5'>機</b>-<b class='flag-5'>STC12C2052AD</b>系列<b class='flag-5'>單片機</b>器件手冊