女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > 單片機 > 單片機
[導讀]數(shù)字鐘設計

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. 系統(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. 相關基本知識

(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

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%10;

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%10;

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%10;

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%10;

dispbuf[1]=second/10;

dispbuf[3]=minite%10;

dispbuf[4]=minite/10;

dispbuf[6]=hour%10;

dispbuf[7]=hour/10;

}

}

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

電磁兼容(EMC)是對電子產品在電磁場方面干擾大小(EMI)和抗干擾能力(EMS)的綜合評定,是評價產品質量的重要指標。。本文將詳細介紹EMC測試的流程及范圍,幫助讀者更好地理解和應用這一技術。

關鍵字: EMC 單片機系統(tǒng)

隨著單片機系統(tǒng)的廣泛應用和計算機網(wǎng)絡技術的普及,單片機的通信功能愈來愈顯得重要。單片機通信是指單片機與計算機或單片機與單片機之間的信息交換。

關鍵字: 單片機系統(tǒng) UART

摘要:給出了采用EDA軟件Quartus II中的SOPC Builder來構建SOPC系統(tǒng),再通過所構建的SOPC系統(tǒng)為平 臺,在Altera公司的FPGA多媒體開發(fā)平臺DE2上來設計物聯(lián)網(wǎng)數(shù)字鐘的具體方法。

關鍵字: 物聯(lián)網(wǎng) Quartus II SOPC FPGA DE2 數(shù)字鐘

  摘要:為了解決當前一些重大考試需要懸掛時鐘的問題,設計一種新型同步數(shù)字電子時鐘系統(tǒng)。應用電力載波技術實現(xiàn)了電子鐘的遠程同步控制。介紹了系統(tǒng)的組成及工作原理,為系統(tǒng)的設計提供了一種簡單、實用、

關鍵字: 電力載波 數(shù)字鐘 pcf8563 sc1128

你知道如何單片機EMC的檢測?如何定義EMC?簡單概括,就是設備或系統(tǒng)在其電磁環(huán)境中能正常工作,且不對該環(huán)境中任何事物構成不能承受的電磁騷擾的能力。EMC 測試包括兩大方面內容:對其向外界發(fā)送的電磁騷擾強度進行測試,以便...

關鍵字: emi 單片機系統(tǒng) 電磁干擾

當按下開關SP1,AT89S51單片機產生“叮咚”聲從P1.0端口輸出到LM386,經(jīng)過放大之后送入喇叭。

關鍵字: 單片機系統(tǒng) 門鈴

用AT89S51單片機產生“嘀、嘀、…”報警聲從P1.0端口輸出,產生頻率為1KHz,根據(jù)上面圖可知:1KHZ方波從P1.0輸出0.2秒,接著0.2秒從P1.0輸出電平信號,如此循環(huán)下去,就形成我們所需的報警聲了。

關鍵字: 單片機系統(tǒng) 報警聲

I/O并行口直接驅動LED顯示,每按下一次開關SP1,計數(shù)值加1,通過AT89S51單片機的P1端口的P1.0到P1.3顯示出其的二進制計數(shù)值。

關鍵字: 單片機系統(tǒng) 按鍵識別
關閉