⑴ 基於單片機的數字時鍾設計開題報告
//我這里有一個定時的鬧鍾,你把蜂鳴器的中斷改為LED就行了,可以通過P2^0--P2^3實現秒錶的顯示和以及調時調分和調節鬧鍾以及鬧鍾的開關,有問題可以給我留言QQ834589429
#include<reg52.h>//包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
codeunsignedchartab[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//共陰數碼管0-9
sbitA1=P2^0;
sbitA2=P2^1;
sbitA3=P2^2;
sbitA4=P2^3;
sbitbeep=P1^4;
unsignedcharShiwan;
unsignedcharWanwei;
unsignedcharQianwei;
unsignedcharBaiwei;
unsignedcharShiwei;//定義十位
unsignedcharGewei,Naoling1,Naoling2,Naoling3,Naoling4;//定義個位
staticunsignedcharhour=12,minute=30,second=0,count=0;
staticunsignedcharalarmhour=12,alarmminute=29,i=0,j=0,k;
/******************************************************************/
/*延時函數*/
/******************************************************************/
voiddelay(unsignedintcnt)
{
while(--cnt);
}
voidxianshi(void)
{
Gewei=tab[second%10];//個位顯示處理
Shiwei=tab[second/10];//十位顯示值處理
if(second%2==0)
{
Baiwei=tab[minute%10];
Qianwei=tab[minute/10];//千位
}
else
{
Baiwei=(tab[minute%10]|0x80);//百位顯示處理:加點的字碼
Qianwei=(tab[minute/10]|0x80);
}
if(second%2!=0)
{
Wanwei=tab[hour%10];
Shiwan=tab[hour/10];
}
else
{
Wanwei=(tab[hour%10]|0x80);
Shiwan=(tab[hour/10]|0x80);
}
Naoling1=~tab[alarmhour%10];
Naoling2=~tab[alarmhour/10];
Naoling3=~tab[alarmminute%10];
Naoling4=~tab[alarmminute/10];
}
voidtimer0()interrupt3using1
{
TH1=0x3c;//中斷設置初始化
TL1=0xb0;
if(alarmhour==hour&&alarmminute==minute&&j==1)
{
beep=0;
}
}
/******************************************************************/
/*定時器中斷函數*/
/******************************************************************/
voidtimer1()interrupt1using0
{
TH0=0xd8;//重新賦值
TL0=0xf0;
count++;
xianshi();
if(count==99)//100x10ms=1S,大致延時時間
{
count=0;
second++;//秒加1
if(second==60)
minute++;
{
if(second==60)
second=0;
{
if(minute==60)
hour++;
{
if(minute==60)
minute=0;
{
if(hour==24)
hour=0;
}
}
}
}
}
}
/******************************************************************/
/*主函數*/
/******************************************************************/
voidmain()
{
TMOD|=0x01;//定時器設置10msin12Mcrystal,工作在模式1,16位定時
TH0=0xd8;
TL0=0xf0;
IE=0x82;//打開中斷
TR0=1;//打開定時開關
xianshi();
EA=1;ET0=1;TMOD|=0x21;TR0=1;//開中斷總開關,計數器0允許中斷,設置中斷模式,啟動計數器0
ET1=1;TR1=1;
while(1)
{
{
if(!A3)
{
delay(10000);
if(!A3)
{
i++;if(i==7)i=0;
xianshi();
}
}
}
{
if(!A4)
{
delay(10000);
if(!A4)
{
i--;if(i==255)i=6;
xianshi();
}
}
}
switch(i)
{
case0://正常顯示控制
{
P1=0x1e;//片選個位
P0=~Baiwei;//顯示個位
delay(300);//短暫延時
P1=0x1d;//片選十位
P0=~Qianwei;//顯示十位
delay(300);//短暫延時
P1=0x1b;//片選百位
P0=~Wanwei;//顯示百位
delay(300);//短暫延時
P1=0x17;//片選千位
P0=~Shiwan;//顯示千位
delay(300);//短暫延時
P1=0x1f;
P0=0xff;
delay(300);
};break;
case1://調分控制
{
if(second%2!=0)
{
P1=0x1e;//片選個位
P0=~Baiwei;//顯示個位
delay(300);//短暫延時
P1=0x1d;//片選十位
P0=~Qianwei;//顯示十位
delay(300);//短暫延時
P1=0x1f;
P0=0xff;
delay(300);
}
else
delay(300);
delay(300);
{
if(!A1)
{
delay(10000);//消抖
if(!A1)
{
minute++;if(minute==61)minute=0;
xianshi();
}
}//按鍵處理
}
{
if(!A2)
{
delay(10000);//消抖
if(!A2)
{
minute--;if(minute==255)minute=59;
xianshi();
}
}
}
};break;
case2://調時控制
{
if(second%2==0)
{
P1=0x1b;//片選百位
P0=~Wanwei;//顯示百位
delay(300);//短暫延時
P1=0x17;//片選千位
P0=~Shiwan;//顯示千位
delay(300);//短暫延時
P1=0x1f;
P0=0xff;
delay(300);
}
else
delay(300);
delay(300);
{
if(!A1)
{
delay(10000);//消抖
if(!A1)
{
hour++;if(hour==24)hour=0;
xianshi();
}
}//按鍵處理
}
{
if(!A2)
{
delay(10000);//消抖
if(!A2)
{
hour--;if(hour==255)hour=23;
xianshi();
}
}
}
};break;
case3://秒顯示控制
{
P1=0x1e;//片選個位
P0=~Gewei;//顯示個位
delay(300);//短暫延時
P1=0x1d;//片選十位
P0=~Shiwei;//顯示十位
delay(300);//短暫延時
P1=0x1f;
P0=0xff;
delay(300);
delay(300);
delay(300);
};break;
case4://鬧鍾控制
{
if((!A1)||(!A2))
{
delay(10000);
if((!A1)||(!A2))j++;
if(j==2)
j=0;
}
switch(j)
{
case0:{
P1=0x1e;//片選個位
P0=~0x71;//顯示個位
delay(300);//短暫延時
P1=0x1d;//片選十位
P0=~0x71;//顯示十位
delay(300);//短暫延時
P1=0x1b;//片選百位
P0=~0x3f;//顯示百位
delay(300);//短暫延時
P1=0x17;//片選千位
P0=~0x40;//顯示千位
delay(300);//短暫延時
delay(300);
};break;
case1:{
P1=0x1e;//片選個位
P0=~0x37;//顯示個位
delay(300);//短暫延時
P1=0x1d;//片選十位
P0=~0x3f;//顯示十位
delay(300);//短暫延時
P1=0x1b;//片選百位
P0=0xff;//顯示百位
delay(300);//短暫延時
P1=0x17;//片選千位
P0=~0x40;//顯示千位
delay(300);//短暫延時
delay(300);
}
}
};break;
case5://鬧鈴分鍾調整
{
{
P1=0x1e;
P0=Naoling3;
delay(300);
P1=0x1d;
P0=Naoling4;
delay(300);
P1=0x1f;
P0=0xff;
delay(300);
delay(300);
delay(300);
}
{
if(!A1)
{
delay(10000);//消抖
if(!A1)
{
alarmminute++;if(alarmminute==61)alarmminute=0;
}
}//按鍵處理
}
{
if(!A2)
{
delay(10000);//消抖
if(!A2)
{
alarmminute--;if(alarmminute==255)alarmminute=59;
}
}
}
};break;
case6://鬧鈴小時調整
{
{
P1=0x1b;
P0=Naoling1;
delay(300);
P1=0x17;
P0=Naoling2;
delay(300);
P1=0x1f;
P0=0xff;
delay(300);
delay(300);
delay(300);
}
{
if(!A1)
{
delay(10000);//消抖
if(!A1)
{
alarmhour++;if(alarmhour==24)alarmhour=0;
}
}//按鍵處理
}
{
if(!A2)
{
delay(10000);//消抖
if(!A2)
{
alarmhour--;if(alarmhour==255)alarmhour=23;
}
}
};break;
default:break;
}
}
}
}
⑵ 關於51單片機 的秒錶/時鍾計時器設計摘要
本設計以AT89S51單片機為核心晶元,與型號為1602的液晶顯示器構成數字電子時鍾電路。AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含4K Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件採用ATMEL公司的高密度、非易失性存儲技術製造,兼容標准MCS-51指令系統及AT89C51引腳結構,晶元內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案.液晶顯示器以其微功耗、體積小、顯示內容豐富、超薄輕巧的諸多優點,在袖珍式儀表和低功耗應用系統中得到越來越廣泛的應用。
⑶ 求單片機課程設計 用匯編語言設計計數器(要求從0~9999,在數碼管上顯示)!!!!!!!!!!!!!
單片機課程設計報告
題 目 計時器設計
班 級 電 信 093
學 號 090301334
姓 名 周 劍
時 間 2010.12.20
成 績
指導教師 石巧雲
目錄
一、 前言………………………………………………………………1
單片機的應用介紹…………………………………………………1
二、 課程設計的目的和要求…………………………………………2
(一)課程設計的目的…………………………………………… 2
(二)課程設計的基本要求……………………………………… 3
三、 總體設計…………………………………………………………3
(一)工作原理…………………………………………………… 3
(二)硬體總體設計……………………………………………… 4
(三)軟體總體設計……………………………………………… 5
四、綜合調試………………………………………………………… 7
(一)keil調試 …………………………………………………… 8
(二)Proteus調試………………………………………………… 9
五、結束語…………………………………………………………… 9
六、參考文獻 …………………………………………………………10
前言
單片機的應用介紹
單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
單片機是指一個集成在一塊晶元上的完整計算機系統。盡管他的大部分功能集成在一塊小晶元上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部匯流排系統,目前大部分還會具有外存。同時集成諸如通訊介面、定時器,實時時鍾等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網路、復雜的輸入輸出系統集成在一塊晶元上。
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄象機、攝象機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用單片機的應用介紹
單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。
單片機是指一個集成在一塊晶元上的完整計算機系統。盡管他的大部分功能集成在一塊小晶元上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部匯流排系統,目前大部分還會具有外存。同時集成諸如通訊介面、定時器,實時時鍾等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網路、復雜的輸入輸出系統集成在一塊晶元上。
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄象機、攝象機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應
智能化控制的科學家、工程師。
與智能化控制的科學家、工程師。
單片機廣泛應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程式控制制等領域,大致可分如下幾個范疇:
(1.在智能儀器儀表上的應用
(2.在工業控制中的應用
(3.在家用電器中的應用
(4.在計算機網路和通信領域中的應用
(5.單片機在醫用設備領域中的應用
(6.在各種大型電器中的模塊化應用
此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。
二、 課程設計的目的和要求
(一)課程設計的目的
1. 進一步熟悉和掌握8051單片機的結構及工作原理。
2. 掌握單片機的介面技術及相關外圍晶元的外特性,控制方法
3. 通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數的計算方法。
4. 通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術。
5. 通過完成一個包括電路設計和程序開發的完整過程,使學生了解開發一單片機應用系統的全過程,為今後從事相應打下基礎。
(二)課程設計的基本要求
用AT89C51 單片機的定時/計數器T0產生一秒的定時時間,作為秒計數時間,但一秒產生時,秒計數加1,秒計數加到60時,自動從0開始。單片機晶振頻率為12MHz。
二、 總體設計
(一) 工作原理
LED顯示器的結構與原理
1、結構種類
七段LED顯示器(數碼管)系發光器件的一種。常用的LED發光器件有兩類:數碼管和點陣。數碼管內部有七個條形發光二極體和一個小圓點發光二極體組成,根據各管的亮暗組成字元。常見數碼管有10根管腳。管腳排列如下圖(a)所示。其中COM為公共端,根據內部發光二極體的接線形式可分為共陰極和共陽極兩種。如下圖(b)(c)所示,使用時,共陰極數碼管公共端接地,共陽極數碼管公共端接電源。發光二極體需5~10mA的驅動電流才能正常發光,一般需加限流電阻控制電流的大小。
2、顯示原理
LED數碼管的a~g七個發光二極體。加正電壓的發光加零電壓的不能發光,不同亮暗的組合能形成不同的字元,這種組合稱為字型碼。共陽極和共陰極的字型碼是不同的,如下圖所示。
LED字元顯示代碼表
顯示 段符號 十六進制代碼
dp g f e d c b a 共陰極 共陽極
0 0 0 1 1 1 1 1 1 3FH C0H
1 0 0 0 0 0 1 1 0 06H F9H
2 0 1 0 1 1 0 1 1 5BH A4H
3 0 1 0 0 1 1 1 1 4FH B0H
4 0 1 1 0 0 1 1 0 66H 99H
5 0 1 1 0 1 1 0 1 6DH 92H
6 0 1 1 1 1 1 0 1 7DH 82H
7 0 0 0 0 0 1 1 1 07H F8H
8 0 1 1 1 1 1 1 1 7FH 80H
9 0 1 1 0 1 1 1 1 6FH 90H
(二) 硬體總體設計
1、主要元器件選擇
主要元器件選用型號和數量如下:
1個AT89C51(單片機) 1個CRYSTAL(晶振) 2個CAP(電容)
3個RES(電阻) 2個7SEG-COM-CATHOD(共陰極數碼管)
1個CAP-ELEC(電解電容)
2、系統板上硬體連線
(1. 把「單片機系統」區域中的P0.0/AD0-P0.7/AD7埠用8芯排線連接到「四路靜態數碼顯示模塊」區域中的任一個a-h埠上;要求:P0.0/AD0對應著a,P0.1/AD1對應著b,……,P0.7/AD7對應著h。
(2. 把「單片機系統」區域中的P2.0/A8-P2.7/A15埠用8芯排線連接到「四路靜態數碼顯示模塊」區域中的任一個a-h埠上;要求:P2.0/A8對應著a,P2.1/A9對應著b,……,P2.7/A15對應著h。
3、計時器電原理圖
(三)軟體總體設計
1、程序設計內容
(1.在設計過程中我們用一個存儲單元作為秒計數單元,當一秒鍾到來時,就讓秒計數單元加1,當秒計數達到60時,就自動返回到0,從新秒計數。
(2.對於秒計數單元中的數據要把它十位數和個數分開,方法仍採用對10整除和對10求余。
(3.在數碼上顯示,仍通過查表的方式完成。
(4.一秒時間的產生在這里我們採用軟體精確延時的方法來完成,經過精確計算得到1秒時間為1.002秒。
2、延時1秒子程序
DELY1S: MOV R5,#100
D2: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
3、程序流程圖
4、匯編源程序設計
Second EQU 30H
ORG 0
START: MOV Second,#00H ;設置顯示初值為00
NEXT: MOV A,Second
MOV B,#10
DIV AB ;十位數存於A中,個位數存於B中
MOV DPTR,#TABLE ;字型碼地址送DPTR
MOVC A,@A+DPTR ;查十位字型碼
MOV P1,A ;送P1口顯示
MOV A,B
MOVC A,@A+DPTR ;查個位字型碼
MOV P2,A ;送P2口顯示
LCALL DELY1S ;調用延時1秒子程序DELY1S
INC Second ;顯示值加1
MOV A,Second
CJNE A,#90,NEXT ;顯示值不為90轉到NEXT執行
LJMP START ;返回到主程序
DELY1S: MOV R5,#100 ;1S延時子程序
D2: MOV R6,#20
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共陰數碼管字型碼
END
四、綜合調試
(一)Keil調試
程序調試完成圖
(二)Proteus調試
五、結束語
完成情況:經過兩個星期的努力,我們一組成員終於完成了秒錶控制方案的設計,主要是用AT89C51單片機實現0-99秒計時器控制方案。本設計還包含數碼管顯示部分,可直接顯示時間可方便觀察。通過這次課程設計,使我得到了一次用專業知識和專業技能去分析問題、解決問題全面系統的鍛煉。使我在單片機的基本原理、單片機應用系統開發過程,以及用匯編語言設計程序的思路技巧等方面都能向前邁了一大步,為日後成為合格的應用型人才打下良好的基礎。
六、參考文獻
[1]. 江力主編,單片機原理與應用技術,清華大學出版社,2008年4月第6次印刷
[2].蔡駿主編,單片機實驗指導教程,安徽大學出版社,2008年7月第一次印刷
[3]. http://www.51c51.com/51test/cc411.htm
⑷ 單片機籃球比賽計時器課程設計 要求 24秒到計時,計兩隊得分
籃球比賽24秒倒計時器的設計
設計製作一個籃球競賽計時系統,具有進攻方24秒倒計時功能,具體設計要求如下:
1、具有顯示 24s 倒計時功能:用兩個共陰數碼管顯示,其計時間隔為1s。 2、設置啟暫停/繼續鍵,控制兩個計時器的計數,暫停/繼續計數功能。 3、設置復位鍵:按復位鍵可隨時返回初始狀態,即進攻方計時器返回到24s。 4、計時器遞減計數到「00」時,計時器跳回「24」停止工作,並給出聲音和發光提示,即蜂鳴器發出聲響和發光二極體發光 前言
電子課程設計是電子技術學習中非常重要的一個環節,是將理論知識和實踐能力相統一的一個環節,是真正鍛煉學生能力的一個環節。
在許多領域中計時器均得到普遍應用,諸如在體育比賽,定時報警器、游戲中的倒時器,交通信號燈、紅綠燈、行人燈、交通纖毫控制機,還可以用來做為各種葯丸、葯片,膠囊在指定時間提醒用葯等等,由此可見計時器在現代社會的應用是相當普遍的。
在籃球比賽中,規定了球員的持球時間不能超過24秒,否則就違例了。本課程設計「智能籃球比賽倒計時器的設計」,可用於籃球比賽中,用於對球員持球時間24秒限制。一旦球員的持球時間超過了24秒,它自動的報警從而判定此球員的違例。
本設計主要能完成:顯示24秒倒計時功能;系統設置外部操作開關,控制計時器的直接清零、啟動和暫停/連續功能;在直接清零時,數碼管顯示器滅燈;計時器為24秒遞減計時其計時間隔為1秒;計時器遞減計時到零時,數碼顯示器不滅燈,同時發出光電報警信號等。
1.1基本原理
24秒計時器的總體參考方案框圖如圖1所示。它包括秒脈沖發生器、計數器、解碼顯示電路、報警電路和輔助時序控制電路(簡稱控制電路)等五個模塊組成。其中計數器和控制電路是系統的主要模塊。計數器完成24秒計時功能,而控制電路完成計數器的直接清零、啟動計數、暫停/連續計數、解碼顯示電路的顯示與滅燈、定時時間到報警等功能。
⑸ 51單片機做數字電子鍾
這么復雜的東西給這么少分 暈死了 你也太小氣了吧,分多的話還可能幫你動動腦
⑹ 單片機秒錶設計
用AT89C51設計一個2位的LED數碼顯示作為「秒錶」,這應該是一個模擬題,可用兩位一體的共陰數碼管,用定時器T0定時,得到1秒計時。
⑺ 哪位大神能幫我寫一個基於單片機C51的電子時鍾設計報告
老師給我的
電子鍾設計
1、 電路圖:
2功能實現:
(1. 把「單片機系統」區域中的P1.0-P1.7埠用8芯排線連接到「動態數碼顯示」區域中的A-H埠上;
(2. 把「單片機系統:區域中的P3.0-P3.7埠用8芯排線連接到「動態數碼顯示」區域中的S1-S8埠上;
(3. 把「單片機系統」區域中的P0.0/AD0、P0.1/AD1、P0.2/AD2埠分別用導線連接到「獨立式鍵盤」區域中的SP3、SP2、SP1埠上;
3、程序框圖:
6. 匯編源程序
HOURK BIT P1.2
MINITEK BIT P1.1
SECONDK BIT P1.0
SECOND EQU 30H
MINITE EQU 31H
HOUR EQU 32H
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
ORG 0030H
START:
MOV SECOND,#00H
MOV MINITE,#00H
MOV HOUR,#12
MOV R0,#00H
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
SETB TR0
NEXT: MOV A,#7FH
MOV P3,A
MOV A,HOUR
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
MOV A,#0BFH
MOV P3,A
MOV A,B
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
MOV A,#0DFH
MOV P3,A
mov p2,#40h
call delay
mov a,#0efh
mov p3,a
MOV A,MINITE
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
MOV A,#0F7H
MOV P3,A
MOV A,B
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
MOV A,#0FBH
MOV P3,A
mov p2,#40h
call delay
MOV A,#0FDH
MOV P3,A
MOV A,SECOND
MOV B,#10
DIV AB
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
MOV A,#0FEH
MOV P3,A
MOV A,B
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
WT: JB SECONDK,NK1
LCALL DELY10MS
JB SECONDK,NK1
JNB SECONDK,$
INC SECOND
MOV A,SECOND
CJNE A,#60,NK1
MOV SECOND,#00H
NK1: JB MINITEK,NK2
LCALL DELY10MS
JB MINITEK,NK2
JNB MINITEK,$
INC MINITE
MOV A,MINITE
CJNE A,#60,NK2
MOV MINITE,#00H
NK2: JB HOURK,NK3
LCALL DELY10MS
JB HOURK,NK3
JNB HOURK,$
INC HOUR
MOV A,HOUR
CJNE A,#24,NK3
MOV HOUR,#00
NK3:
MOV A,R0
CJNE A,#20,NEXT1
MOV R0,#0
INC SECOND
MOV A,SECOND
CJNE A,#60,NEXT1
MOV SECOND,#0
INC MINITE
MOV A,MINITE
CJNE A,#60,NEXT1
MOV MINITE,#0
INC HOUR
MOV A,HOUR
CJNE A,#24,NEXT1
MOV HOUR,#0
next1:JMP NEXT
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H
INT_T0: CLR TR0
INC R0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
RETI
DELAY:
MOV R6,#2
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
DELY10MS:
MOV R6,#10
DD1: MOV R7,#248
DJNZ R7,$
DJNZ R6,DD1
RET
END