導航:首頁 > 操作系統 > 單片機秒錶電路

單片機秒錶電路

發布時間:2023-01-09 17:27:00

單片機秒錶設計

用AT89C51設計一個2位的LED數碼顯示作為「秒錶」,這應該是一個模擬題,可用兩位一體的共陰數碼管,用定時器T0定時,得到1秒計時。

② 單片機程序 根據電路圖,請編寫程序,使前兩個數碼管實現00到59的秒錶功能,希望大神用匯編和中斷

請設計一個2位靜態數碼管從00到59顯示的程序
#include <reg51.h>
unsigned char show[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int n, j;
qc()interrupt 1 using 3
{TH0=(65336-10000)/256;
TL0=(65336-10000)%256;
n++;
if (n>=100)
{n=0;
j++;
if (j>=60)
j=0;
}
}
main ()
{int gw,sw ;
ET0=1;
EA =1;
TMOD =0x01;
TH0=(65536-10000)/256;
TL0=(65336-10000)%256;
TR0=1;
while (1)
{ gw =j/10;
sw =j%10;
P0=show[gw];
P1=show[sw];
}
}

③ 求大神寫一下單片機at89c52控制秒錶電路循環顯示0到99的程序

我寫的是共陽極,你想共陰極,自己改RXD和TDX輸入電平以及P2碼值就好。

根據你題目要求連接的。兩個LED動態顯示,交替間隔時間常量stime我設的50ms,因為我是模擬軟體,間隔太短顯示不出交替效果,你用板子測試的話,可以把間隔調小。

另外你題目暫停按鈕連在普通引腳, 如果按鈕直接連外部中斷0來實現暫停會更敏感。

#include <reg52.h>

#define uint unsigned int

#define uchar unsigned char

#define an P2

#define stime 50 //LED交替閃爍間隔時間

void init();

void pause();

sbit wei1=P3^0;

sbit wei2=P3^1;

sbit s2=P1^4;

sbit s3=P1^6;

//共陽極

void delay(uint xms);

uint g=0;

uint s=0;

uint count=0;

uint ispause=0;

void main()

{

uchar nums[10]={0xc0,0xf9,0xa4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x98};

init();

while(1)

{

if(s2==0 && ispause==0)

{

if(s2==0)

{

while(s2==0);

ispause=1;

pause();

}

}

else if(s3==0 && ispause==1)

{

if(s3==0)

{

while(s3==0);

ispause=0;

pause();

}

}

if(s==0)

{

an=nums[g];

wei1=0;

wei2=1;

}

else

{

an=nums[s];

wei1=1;

wei2=0;

delay(stime);

an=nums[g];

wei1=0;

wei2=1;

delay(stime);

}

}

}

void pause()

{

EA=~EA;

}

void init()

{

TMOD=0x02; //T0 工作模式2 自動裝填8位 200us

TH0=0x38;

TL0=0x38;

EA=1;

ET0=1;

TR0=1;

}

void ct() interrupt 1

{

if(count<5000)

count++;

else

{

count=0;

if(g==9)

{

g=0;

if(s==9)

s=0;

else

s++;

}

else

g++;

}

}

void delay(uint xms)

{

uint i,j;

for(i=xms;i>0;i--)

for(j=112;j>0;j--);

}

④ 單片機課程設計電子秒錶

電路原理圖已畫好

實現你描述的全部功能

KeiluVision3編譯通過,C語言編寫,有詳細注釋

實機調試通過

留個郵箱發給你...

----------------------------

郵件已發......

⑤ 求用單片機設計一個秒錶AT89C51

;匯編程序如下。

;使用T0定時方式1,每隔50ms中斷一次,用於修改時間及顯示

;使用外部中斷0、1,用於控制啟動和清零

;========================================================

ORG0000H

AJMPMAIN

ORG0003H

AJMPX0_INT

ORG000BH

AJMPT0_INT

ORG0013H

AJMPX1_INT

MAIN:

MOVTMOD,#01H;T0定時方式1

MOVTH0,#(65536-50000)/256;50ms@12MHz

MOVTL0,#(65536-50000)MOD256;

SETBTR0

SETBET0;開啟定時中斷

SETBEX0

SETBEX1

SETBEA;定時器初始化結束,下面循環顯示即可

MOVR1,#99H;0~99計數.

MOVR7,#1;50ms計數.

MOVP0,#0C0H

MOVP2,#0C0H

LOOP:

SJMPLOOP

;-----------------------------------------------------------

DELAY:;延時子程序.

AA4:MOVR4,#0

DJNZR4,$

DJNZR4,$

RET

;-----------------------------------------------------------

X0_INT:;啟動/停止

CPLF0

RETI

;-----------------------------------------------------------

X1_INT:;清零

MOVR1,#0

MOVP0,#0C0H

MOVP2,#0C0H

RETI

;-----------------------------------------------------------

T0_INT:;50ms中斷執行一次.

MOVTL0,#(65536-50000)MOD256;

MOVTH0,#(65536-50000)/256;50ms@12MHz

DJNZR7,T0_END;中斷不到20次.

MOVR7,#20

JNBF0,T0_END

MOVA,R1

ADDA,#1

DAA

MOVR1,A

ANLA,#0FH

MOVDPTR,#TAB

MOVCA,@A+DPTR;查出段碼

MOVP2,A

MOVA,R1

SWAPA

ANLA,#0FH

MOVCA,@A+DPTR;查出段碼

MOVP0,A;顯示十位數.

T0_END:

RETI

;-----------------------------------------------------------

TAB:

DB0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H

;===========================================================

;模擬截圖如下:

⑥ 51單片機秒錶電路單片機電壓達不到5v是什麼問題

一種可能是電源輸出功率太小,另一種可能是電路中有可能出現短路。

⑦ 用51單片機做秒錶設計

遇到懶學生了,這個不就是一個定時器加顯示嗎,有什麼難的,自己翻翻微機原理書就可以做 了,也就四五十行匯編語言就行了,用C就更加簡單,具體的方法:用定時器定時0.2ms,定時到了就給固定的一個變數加1,然後判斷這個變數是不是到了500,到了就清零然後把秒的變數加1,就是1s了,(分和時也是如此,秒為60,秒清零,分加1);主程序就只管顯示和按鍵,按鍵隨便用中斷還是查詢,我建議你查詢,因為程序簡單,顯示程序就是查個表,自己把數碼顯示的斷碼表編好就可以了,把秒的數值查表對應顯示,完了就查詢按鍵,按鍵累加,值為0是沒按,1是按1次,2是按2次,3是按3次,同時清零,很簡單的

⑧ 關於51單片機 的秒錶/時鍾計時器設計摘要

本設計以AT89S51單片機為核心晶元,與型號為1602的液晶顯示器構成數字電子時鍾電路。AT89S51是一個低功耗,高性能CMOS 8位單片機,片內含4K Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件採用ATMEL公司的高密度、非易失性存儲技術製造,兼容標准MCS-51指令系統及AT89C51引腳結構,晶元內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案.液晶顯示器以其微功耗、體積小、顯示內容豐富、超薄輕巧的諸多優點,在袖珍式儀表和低功耗應用系統中得到越來越廣泛的應用。

⑨ 如何用單片機匯編語言設計一個秒錶

C51 http://..com/question/42921479.html?fr=qrl&cid=192&index=1

http://..com/question/29519178.html?fr=qrl&cid=192&index=2
1.基於單片機的設計
2.計時精度:百分之一秒
2.5鍵操作完成 清除 啟動 停止 設置初值 程序退出的功能
採用LED顯示時、分、秒、百分之一.PROTEL圖最好也有

用89C51,外接晶振,復位電路,二個數碼管,二個按鍵,做一個電子秒錶,具體要求為用按鍵起停電子表,可用按鍵設計倒計時時間(如10S,20S,60S),並啟動倒計時功能。能用按鍵選擇以上兩功能之一。
三、程序代碼:
A_BIT EQU 20H
B_BIT EQU 21H
TEMP EQU 22H
MOV P3,#0FFH
MOV P0,#0FFH
CLR F0
CLR F1
MOV DPTR,#NUMTAB
MOV P3,#0FFH
MOV P0,#0FFH
START:JB P3.6,START1
ACALL DELAY10
JB P3.6,START
JNB P3.6,$
LJMP GN1
START1: JB P3.7,START
ACALL DELAY10
JB P3.7,START1
JNB P3.7,$
LJMP GN2
GN1:
S1:MOV A,#0
MOV TEMP,A
GOON1: MOV R2,#2
JS1: MOV R3,#250
TIME1: MOV A,TEMP
MOV B,#10
DIV AB
MOV B_BIT,A
MOV A_BIT,B
LCALL DPLOP1
C1: JB P3.6,B1
ACALL DELAY10
JB P3.6,C1
JNB P3.6,$
CPL F0
ZT1: ; MOV P3,#0FFH
JB P3.6,$
ACALL DELAY10
JB P3.6,ZT1
JNB P3.6,$
LCALL DPLOP1

B1: JB P3.7,LOOP1
ACALL DELAY10
JB P3.7,B1
JNB P3.7,$
AJMP OVER
LOOP1: DJNZ R3,TIME1
DJNZ R2,JS1
INC TEMP
MOV A,TEMP
CLR C
SUBB A,#60
JNZ GOON1

ACALL OVER
RET
GN2: MOV A,#14H
MOV TEMP,A
MOV P3,#0FFH
MOV P0,#14H
GOON2: MOV R2,#2
JS2: MOV R3,#250
TIME2: MOV A,TEMP
MOV B,#10
DIV AB
MOV B_BIT,A
MOV A_BIT,B
MOV DPTR,#NUMTAB
DPLOP2: MOV A,A_BIT
MOVC A,@A+DPTR
MOV P0,A

CLR P2.5
ACALL DELY1
SETB P2.5
MOV A,B_BIT
MOVC A,@A+DPTR

MOV P0,A

CLR P2.6
ACALL DELY1
SETB P2.6
C2: JB P3.6,B2
ACALL DELAY10
JB P3.6,C2
JNB P3.6,$

ZT2: MOV P3,#0FFH
JB P3.6,$
ACALL DELAY10
JB P3.6,ZT2
JNB P3.6,$

B2: JB P3.7,LOOP2
ACALL DELAY10
JB P3.7,B1
JNB P3.7,$
AJMP OVER
LOOP2: DJNZ R3,TIME2
DJNZ R2,JS2
DEC TEMP
MOV A,TEMP
JNZ GOON2
ACALL OVER
RET

OVER: AJMP START
DELY1: MOV R4,#2
D1:MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
RET
DELAY10: MOV R4,#20
D2:MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
RET
NUMTAB: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
DPLOP1: MOV A,A_BIT
MOVC A,@A+DPTR
MOV P0,A

CLR P2.5
ACALL DELY1
SETB P2.5
MOV A,B_BIT
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
ACALL DELY1
SETB P2.6
RET
END

⑩ 單片機 按鍵秒錶

秒錶的設計程序
用89C51,外接晶振,復位電路,二個數碼管,二個按鍵,做一個電子秒錶,具體要求為用按鍵起停電子表,可用按鍵設計倒計時時間(如10S,20S,60S),並啟動倒計時功能。能用按鍵選擇以上兩功能之一。
三、程序代碼:
A_BIT EQU 20H ;數碼管個位數存放內存位置
B_BIT EQU 21H ;數碼管十位數存放內存位置
TEMP EQU 22H ;計數器數值存放內存位置 ;開機初始化
MOV P3,#0FFH;對P3口初始化,設置為高電平,用於按鍵輸入
MOV P0,#0FFH;使顯示時間數碼管熄滅
CLR F0
CLR F1
MOV DPTR,#NUMTAB ;指定查表啟始地址
;等待按鍵輸入
;根據按鍵的輸入判斷執行什麼功能;按鍵1按下則執行功能1
MOV P3,#0FFH;對P3口初始化,設置為高電平,用於按鍵輸入
MOV P0,#0FFH;使顯示時間數碼管熄滅
START:JB P3.6,START1;循環判斷開始按鈕K1是否按下?
ACALL DELAY10;延時10毫秒觸點消抖
JB P3.6,START;如果是干擾就返回
JNB P3.6,$;等待按鍵松開
LJMP GN1 ;按鍵2按下則執行功能2START1: JB P3.7,START;循環判斷開始按鈕K2是否按下?
ACALL DELAY10;延時10毫秒觸點消抖
JB P3.7,START1;如果是干擾就返回
JNB P3.7,$
LJMP GN2;數碼管顯示秒錶時間的程序
GN1: ;先初始化
S1:MOV A,#0
MOV TEMP,A
GOON1: MOV R2,#2
JS1: MOV R3,#250
TIME1: MOV A,TEMP ;將TEMP中的十六進制數轉換成10進制
MOV B,#10 ;10進制/10=10進制
DIV AB
MOV B_BIT,A ;十位在A
MOV A_BIT,B ;個位在B LCALL DPLOP1 ;插入一段判斷定時過程中是否有按鍵輸入的程序段
C1: JB P3.6,B1
ACALL DELAY10;延時10毫秒消抖
JB P3.6,C1
JNB P3.6,$;等待按鍵松開
CPL F0
ZT1: ; MOV P3,#0FFH;對P3口初始化,設置為高電平,用於按鍵輸入
JB P3.6,$;循環判斷開始按鈕K1是否按下?
ACALL DELAY10;延時10毫秒觸點消抖
JB P3.6,ZT1;如果是干擾就返回
JNB P3.6,$;等待按鍵松開
LCALL DPLOP1

B1: JB P3.7,LOOP1
ACALL DELAY10;延時10毫秒消抖
JB P3.7,B1
JNB P3.7,$;等待按鍵松開
AJMP OVERLOOP1: DJNZ R3,TIME1 ;2毫秒循環執行250次,時間約0.5秒
DJNZ R2,JS1 ;循環執行2次,時間為1 秒鍾INC TEMP;滿一秒鍾對時間加1
MOV A,TEMP
CLR C
SUBB A,#60
JNZ GOON1;判斷TEMP的數值是否為60?不為60循環
ACALL OVER
RET
GN2: MOV A,#14H ; 設定倒計時的時間20S
MOV TEMP,A;數碼管顯示倒計時時間的程序
;初始化
MOV P3,#0FFH;對P3口初始化,設置為高電平,用於按鍵輸入
MOV P0,#14H;使顯示時間為設定的倒計時時間 GOON2: MOV R2,#2
JS2: MOV R3,#250
TIME2: MOV A,TEMP ;將TEMP中的十六進制數轉換成10進制
MOV B,#10 ;10進制/10=10進制
DIV AB
MOV B_BIT,A ;十位在A
MOV A_BIT,B ;個位在B MOV DPTR,#NUMTAB ;指定查表啟始地址
DPLOP2: MOV A,A_BIT ;取個位數
MOVC A,@A+DPTR ;查個位數的7段代碼
MOV P0,A ;送出個位的7段代碼

CLR P2.5 ;開個位顯示
ACALL DELY1;顯示1毫秒
SETB P2.5;關閉個位顯示,防止鬼影
MOV A,B_BIT ;取十位數
MOVC A,@A+DPTR ;查十位數的7段代碼
MOV P0,A ;送出十位的7段代碼
CLR P2.6 ;開十位顯示
ACALL DELY1;顯示1毫秒
SETB P2.6;關閉十位顯示,防止鬼影 ;插入一段判斷定時過程中是否有按鍵輸入的程序段
C2: JB P3.6,B2
ACALL DELAY10;延時10毫秒消抖
JB P3.6,C2
JNB P3.6,$;等待按鍵松開

ZT2: MOV P3,#0FFH;對P3口初始化,設置為高電平,用於按鍵輸入
JB P3.6,$;循環判斷開始按鈕K1是否按下?
ACALL DELAY10;延時10毫秒觸點消抖
JB P3.6,ZT2;如果是干擾就返回
JNB P3.6,$;等待按鍵松開

B2: JB P3.7,LOOP2
ACALL DELAY10;延時10毫秒消抖
JB P3.7,B1
JNB P3.7,$;等待按鍵松開
AJMP OVERLOOP2: DJNZ R3,TIME2 ;2毫秒循環執行250次,時間約0.5秒
DJNZ R2,JS2 ;循環執行2次,時間為1 秒鍾DEC TEMP;滿一秒鍾對時間減1
MOV A,TEMP
JNZ GOON2;判斷TEMP的數值是否為0?不為0循環
ACALL OVER
RET
;結束定時
OVER: AJMP START;退到開機初始化狀態;1毫秒延時子程序
DELY1: MOV R4,#2
D1:MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
RET;10毫秒延時子程序
DELAY10: MOV R4,#20
D2:MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
RET;實驗板上的兩位一體的數碼管0~9各數字的顯示代碼
NUMTAB: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H
DPLOP1: MOV A,A_BIT ;取個位數
MOVC A,@A+DPTR ;查個位數的7段代碼
MOV P0,A ;送出個位的7段代碼

CLR P2.5 ;開個位顯示
ACALL DELY1;顯示1毫秒
SETB P2.5;關閉個位顯示,防止鬼影
MOV A,B_BIT ;取十位數
MOVC A,@A+DPTR ;查十位數的7段代碼
MOV P0,A ;送出十位的7段代碼
CLR P2.6 ;開十位顯示
ACALL DELY1;顯示1毫秒
SETB P2.6;關閉十位顯示,防止鬼影
RET
END

閱讀全文

與單片機秒錶電路相關的資料

熱點內容
未來最值得投資的加密貨幣 瀏覽:526
ascii碼是編譯的時候用嗎 瀏覽:779
壓縮機感應包可以通用嗎 瀏覽:410
方舟伺服器怎麼發布到搜索列表 瀏覽:270
xml防反編譯 瀏覽:239
數據傳輸加密系統技術方案 瀏覽:842
程序員沒有準備去面試 瀏覽:4
51單片機usb滑鼠 瀏覽:879
qq伺服器的ip地址查詢 瀏覽:112
java仿qq聊天 瀏覽:400
解壓的ipa重新打包 瀏覽:142
程序員那麼可愛vip版 瀏覽:239
程序員怎麼升職 瀏覽:243
圖形化命令按鈕vb 瀏覽:987
vcu盤加密怎麼設置 瀏覽:414
如何加密備份微信聊天記錄 瀏覽:529
安卓手機如何模擬鍵盤 瀏覽:932
查看dns地址命令 瀏覽:769
android錄屏工具 瀏覽:842
成都互動直播系統源碼 瀏覽:956