女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

使用單片機實現(xiàn)數(shù)字鐘的設(shè)計說明

Wildesbeast ? 來源:單片機教程網(wǎng) ? 作者:h1654155169.2086 ? 2020-05-05 11:44 ? 次閱讀

1.實驗任務(wù)

(1. 開機時,顯示12:00:00的時間開始計時;

(2. P0.0/AD0控制“秒”的調(diào)整,每按一次加1秒;

(3. P0.1/AD1控制“分”的調(diào)整,每按一次加1分;

(4. P0.2/AD2控制“時”的調(diào)整,每按一次加1個小時;

2.電路原理

圖4.20.1

3.系統(tǒng)板上硬件連線

(1. 把“單片機系統(tǒng)”區(qū)域中的P1.0-P1.7端口用8芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的A-H端口上;

(2. 把“單片機系統(tǒng):區(qū)域中的P3.0-P3.7端口用8芯排線連接到“動態(tài)數(shù)碼顯示”區(qū)域中的S1-S8端口上;

(3. 把“單片機系統(tǒng)”區(qū)域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分別用導線連接到“獨立式鍵盤”區(qū)域中的SP3、SP2、SP1端口上;

4.相關(guān)基本知識

(1. 動態(tài)數(shù)碼顯示的方法

(2. 獨立式按鍵識別過程

(3. “時”,“分”,“秒”數(shù)據(jù)送出顯示處理方法

5.程序框圖

6.匯編源程序

SECOND EQU 30H

MINITE EQU 31H

HOUR EQU 32H

HOURK BIT P0.0

MINITEK BIT P0.1

SECONDK BIT P0.2

DISPBUF EQU 40H

DISPBIT EQU 48H

T2SCNTA EQU 49H

T2SCNTB EQU 4AH

TEMP EQU 4BH

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV SECOND,#00H

MOV MINITE,#00H

MOV HOUR,#12

MOV DISPBIT,#00H

MOV T2SCNTA,#00H

MOV T2SCNTB,#00H

MOV TEMP,#0FEH

LCALL DISP

MOV TMOD,#01H

MOV TH0,#(65536-2000) / 256

MOV TL0,#(65536-2000) MOD 256

SETB TR0

SETB ET0

SETB EA

WT: JB SECONDK,NK1

LCALL DELY10MS

JB SECONDK,NK1

INC SECOND

MOV A,SECOND

CJNE A,#60,NS60

MOV SECOND,#00H

NS60: LCALL DISP

JNB SECONDK,$

NK1: JB MINITEK,NK2

LCALL DELY10MS

JB MINITEK,NK2

INC MINITE

MOV A,MINITE

CJNE A,#60,NM60

MOV MINITE,#00H

NM60: LCALL DISP

JNB MINITEK,$

NK2: JB HOURK,NK3

LCALL DELY10MS

JB HOURK,NK3

INC HOUR

MOV A,HOUR

CJNE A,#24,NH24

MOV HOUR,#00H

NH24: LCALL DISP

JNB HOURK,$

NK3: LJMP WT

DELY10MS:

MOV R6,#10

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

DISP:

MOV A,#DISPBUF

ADD A,#8

DEC A

MOV R1,A

MOV A,HOUR

MOV B,#10

DIV AB

MOV @R1,A

DEC R1

MOV A,B

MOV @R1,A

DEC R1

MOV A,#10

MOV@R1,A

DEC R1

MOV A,MINITE

MOV B,#10

DIV AB

MOV @R1,A

DEC R1

MOV A,B

MOV @R1,A

DEC R1

MOV A,#10

MOV@R1,A

DEC R1

MOV A,SECOND

MOV B,#10

DIV AB

MOV @R1,A

DEC R1

MOV A,B

MOV @R1,A

DEC R1

RET

INT_T0:

MOV TH0,#(65536-2000) / 256

MOV TL0,#(65536-2000) MOD 256

MOV A,#DISPBUF

ADD A,DISPBIT

MOV R0,A

MOV A,@R0

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P1,A

MOV A,DISPBIT

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P3,A

INC DISPBIT

MOV A,DISPBIT

CJNE A,#08H,KNA

MOV DISPBIT,#00H

KNA: INC T2SCNTA

MOV A,T2SCNTA

CJNE A,#100,DONE

MOV T2SCNTA,#00H

INC T2SCNTB

MOV A,T2SCNTB

CJNE A,#05H,DONE

MOV T2SCNTB,#00H

INC SECOND

MOV A,SECOND

CJNE A,#60,NEXT

MOV SECOND,#00H

INC MINITE

MOV A,MINITE

CJNE A,#60,NEXT

MOV MINITE,#00H

INC HOUR

MOV A,HOUR

CJNE A,#24,NEXT

MOV HOUR,#00H

NEXT: LCALL DISP

DONE: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H

TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

END

7. C語言源程序

#include 《AT89X51.H》

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x00};

unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};

unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};

unsigned char dispbitcnt;

unsigned char second;

unsigned char minite;

unsigned char hour;

unsigned int tcnt;

unsigned char mstcnt;

unsigned char i,j;

void main(void)

{

TMOD=0x02;

TH0=0x06;

TL0=0x06;

TR0=1;

ET0=1;

EA=1;

while(1)

{

if(P0_0==0)

{

for(i=5;i》0;i--)

for(j=248;j》0;j--);

if(P0_0==0)

{

second++;

if(second==60)

{

second=0;

}

dispbuf[0]=second;

dispbuf[1]=second/10;

while(P0_0==0);

}

}

if(P0_1==0)

{

for(i=5;i》0;i--)

for(j=248;j》0;j--);

if(P0_1==0)

{

minite++;

if(minite==60)

{

minite=0;

}

dispbuf[3]=minite;

dispbuf[4]=minite/10;

while(P0_1==0);

}

}

if(P0_2==0)

{

for(i=5;i》0;i--)

for(j=248;j》0;j--);

if(P0_2==0)

{

hour++;

if(hour==24)

{

hour=0;

}

dispbuf[6]=hour;

dispbuf[7]=hour/10;

while(P0_2==0);

}

}

}

}

void t0(void) interrupt 1 using 0

{

mstcnt++;

if(mstcnt==8)

{

mstcnt=0;

P1=dispcode[dispbuf[dispbitcnt]];

P3=dispbitcode[dispbitcnt];

dispbitcnt++;

if(dispbitcnt==8)

{

dispbitcnt=0;

}

}

tcnt++;

if(tcnt==4000)

{

tcnt=0;

second++;

if(second==60)

{

second=0;

minite++;

if(minite==60)

{

minite=0;

hour++;

if(hour==24)

{

hour=0;

}

}

}

dispbuf[0]=second;

dispbuf[1]=second/10;

dispbuf[3]=minite;

dispbuf[4]=minite/10;

dispbuf[6]=hour;

dispbuf[7]=hour/10;

}

}

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

    關(guān)注

    6063

    文章

    44915

    瀏覽量

    646836
  • 鍵盤
    +關(guān)注

    關(guān)注

    4

    文章

    864

    瀏覽量

    40423
  • 數(shù)字鐘
    +關(guān)注

    關(guān)注

    9

    文章

    160

    瀏覽量

    31730
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    基于單片機數(shù)字鐘

    本帖最后由 eehome 于 2013-1-5 09:55 編輯 SDSS基于單片機數(shù)字鐘
    發(fā)表于 06-09 23:37

    1、基于51單片機數(shù)字鐘的設(shè)計

    基于51單片機數(shù)字鐘的設(shè)計
    發(fā)表于 08-05 16:50

    如何去實現(xiàn)一種基于單片機數(shù)字鐘設(shè)計

    文末下載完整資料????????????????????摘 要??基于單片機的定時和控制裝置在許多行業(yè)有著廣泛的應(yīng)用,而數(shù)字鐘是其中最基本的,也是最具有代表性的一個例子。??在基于單片機系統(tǒng)的
    發(fā)表于 11-09 08:14

    基于單片機數(shù)字鐘具有哪些功能呢

    基于單片機數(shù)字鐘具有哪些功能呢?如何對基于單片機數(shù)字鐘進行測試呢?
    發(fā)表于 01-21 06:49

    單片機數(shù)字鐘電路圖

    單片機數(shù)字鐘電路圖
    發(fā)表于 01-12 22:05 ?5次下載

    單片機數(shù)字鐘電路圖

    單片機數(shù)字鐘電路圖
    發(fā)表于 01-12 22:05 ?43次下載

    基于8031單片機控制的數(shù)字鐘

    介紹了用8031單片機控制的電腦數(shù)字鐘的硬件結(jié)構(gòu)與軟件設(shè)計。給出了匯編語言源程序。 關(guān)鍵詞:單片機,實時控制,數(shù)字鐘,中斷 數(shù)字電子鐘的設(shè)計
    發(fā)表于 03-14 15:23 ?161次下載
    基于8031<b class='flag-5'>單片機</b>控制的<b class='flag-5'>數(shù)字鐘</b>

    單片機AT89C51設(shè)計的數(shù)字鐘

    單片機AT89C51設(shè)計的數(shù)字鐘,(1).開機時,顯示12:00:00的時間開始計時
    發(fā)表于 04-13 16:07 ?1w次閱讀
    用<b class='flag-5'>單片機</b>AT89C51設(shè)計的<b class='flag-5'>數(shù)字鐘</b>

    單片機數(shù)字鐘課程設(shè)計

    電子發(fā)燒友網(wǎng)站提供《單片機數(shù)字鐘課程設(shè)計.rar》資料免費下載
    發(fā)表于 04-14 01:19 ?2次下載

    基于單片機控制的數(shù)字鐘設(shè)計

    基于單片機控制的數(shù)字鐘設(shè)計,數(shù)碼管顯示數(shù)字,按鍵功能可調(diào)
    發(fā)表于 12-31 14:28 ?24次下載

    單片機數(shù)字鐘原理圖和仿真教程

    單片機課程設(shè)計數(shù)字鐘原理圖 仿真文件 實驗報告
    發(fā)表于 01-08 11:58 ?38次下載

    單片機數(shù)字鐘程序

    單片機數(shù)字鐘程序分享給大家,可以了解了解
    發(fā)表于 01-11 14:15 ?15次下載

    使用單片機進行數(shù)字鐘設(shè)計實例資料說明

    本文檔的主要內(nèi)容詳細介紹的是使用單片機進行數(shù)字鐘設(shè)計實例資料說明。利用AT89C51的定時器和6位7段數(shù)碼管,設(shè)計一個電子時鐘,顯示格式“XX XX XX”,從左向右分別是:時、分、秒
    發(fā)表于 01-08 16:55 ?13次下載
    使用<b class='flag-5'>單片機</b>進行<b class='flag-5'>數(shù)字鐘</b>設(shè)計實例資料<b class='flag-5'>說明</b>

    如何使用51單片機和熒光數(shù)碼管實現(xiàn)電子數(shù)字鐘的程序

    本文檔的主要內(nèi)容詳細介紹的是如何使用51單片機和熒光數(shù)碼管實現(xiàn)電子數(shù)字鐘的程序。
    的頭像 發(fā)表于 09-26 11:07 ?4364次閱讀

    基于單片機數(shù)字鐘設(shè)計

    文末下載完整資料????????????????????摘 要??基于單片機的定時和控制裝置在許多行業(yè)有著廣泛的應(yīng)用,而數(shù)字鐘是其中最基本的,也是最具有代表性的一個例子。??在基于單片機系統(tǒng)
    發(fā)表于 11-04 12:06 ?18次下載
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>數(shù)字鐘</b>設(shè)計