色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

使用單片機實現數字鐘的設計說明

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

1.實驗任務

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

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

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

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

2.電路原理

圖4.20.1

3.系統板上硬件連線

(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端口上;

4.相關基本知識

(1. 動態數碼顯示的方法

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

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

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;

}

}

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

    關注

    6050

    文章

    44687

    瀏覽量

    641186
  • 鍵盤
    +關注

    關注

    4

    文章

    861

    瀏覽量

    40020
  • 數字鐘
    +關注

    關注

    9

    文章

    160

    瀏覽量

    31504
收藏 人收藏

    評論

    相關推薦

    基于單片機數字鐘

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

    1、基于51單片機數字鐘的設計

    基于51單片機數字鐘的設計
    發表于 08-05 16:50

    如何去實現一種基于單片機數字鐘設計

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

    基于單片機數字鐘具有哪些功能呢

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

    單片機數字鐘電路圖

    單片機數字鐘電路圖
    發表于 01-12 22:05 ?5次下載

    單片機數字鐘電路圖

    單片機數字鐘電路圖
    發表于 01-12 22:05 ?43次下載

    基于8031單片機控制的數字鐘

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

    單片機AT89C51設計的數字鐘

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

    單片機數字鐘課程設計

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

    基于單片機控制的數字鐘設計

    基于單片機控制的數字鐘設計,數碼管顯示數字,按鍵功能可調
    發表于 12-31 14:28 ?24次下載

    單片機數字鐘原理圖和仿真教程

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

    單片機數字鐘程序

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

    使用單片機進行數字鐘設計實例資料說明

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

    如何使用51單片機和熒光數碼管實現電子數字鐘的程序

    本文檔的主要內容詳細介紹的是如何使用51單片機和熒光數碼管實現電子數字鐘的程序。
    的頭像 發表于 09-26 11:07 ?4242次閱讀

    基于單片機數字鐘設計

    文末下載完整資料????????????????????摘 要??基于單片機的定時和控制裝置在許多行業有著廣泛的應用,而數字鐘是其中最基本的,也是最具有代表性的一個例子。??在基于單片機系統
    發表于 11-04 12:06 ?18次下載
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>數字鐘</b>設計
    主站蜘蛛池模板: 亚洲成人网导航 | 青娱乐国产精品视频 | 国产成人v视频在线观看 | 麻豆精品传媒2021网站入口 | 欧美亚洲日韩在线在线影院 | 搞基福利社 | 免费看欧美一级特黄a大片 免费看欧美xxx片 | 俄罗斯XBXBXB兽交 | 欧美色妞AV重囗味视频 | 挺进老师的紧窄小肉六电影完整版 | 六六影院午夜伦理 | 精品久久99麻豆蜜桃666 | 亚洲 欧美 制服 视频二区 | 美女岔开腿露出粉嫩花苞 | 中文字幕亚洲无线码一区 | 轻点灬大ji巴太粗太双性高h | japonensis护士| 国产亚洲日韩另类在线播放 | 同桌上课把奶露出来给我玩 | 欧美巨大xxxx做受高清 | 健身房被教练啪到腿软H | 任你懆视频 这里只有精品 人与人特黄一级 | 最近2019中文字幕免费 | 99精品免费在线观看 | 久久精品国产欧美日韩99热 | 四虎国产精品高清在线观看 | 午夜福利影院私人爽爽 | 性一交一无一伦一精一品 | 在线观看免费小视频 | 亚洲无人区码二码三码区别图 | 人妖xxhdxx | 国产传媒在线观看 | 精品人妻一区二区三区视频53 | 天美传媒 免费观看 | 91天仙tv嫩模福利 | 国产成人精品免费视频大全可播放的 | a级成人免费毛片完整版 | 亚洲精品福利在线 | 色婷婷粉嫩AV精品综合在线 | 久久er国产免费精品 | 灌饱娇嫩H将军公主最新章节 |