導航:首頁 > 操作系統 > 存儲器單片機99秒電路圖

存儲器單片機99秒電路圖

發布時間:2023-03-15 07:47:17

1. 如何用單片機做一個簡單的倒計時器

一般我們用定時器來做計時器,實現時間得加。每次中斷發生,用一個變數自增來判斷時間是否到1S,到了之後清零這個變數,另一個時間變數自增來作時間得增加。現在就是要把這個自增的時間變數改為自減,判斷當小於0時,又賦初值,然後繼續自減判斷。

2. 幫忙解讀一下51單片機99秒倒計時程序。

大概是下面這樣的
ORG 00H ;復位後主程序入口
JMP START ;轉移至主程序
ORG 0BH ;中斷服務程序入口
JMP TIMER ,轉移至中斷
START: MOV TMOD,#01H ;選擇定時器工作方式1
MOV TH0,#0BDH ;定時器0高8位給初始值
MOV TL0,#0C0H ;定時器0給低八位初始值
MOV IE,#82H
MOV 20H,#10 ;地址位20H的寄存器賦值
MOV 21H,#10 ;同上
MOV R7,#16 ;同上
CLR TR0
A4: MOV P2,#19H
CALL DELAY ;調用延時子程序
ANL P2,#00H ;與p2口數據進行與運算
MOV P2,#29H
CALL DELAY ;調用延時子程序
ORL P2,#00H
JB P1.0,A4
SETB TR0 ;打開定時器0
A1: MOV A,20H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
ADD A,#10H
MOV P2,A
CALL DELAY
ANL P2,#00H
MOV A,21H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
ADD A,#20H
MOV P2,A
CALL DELAY
ANL P2,#00H
MOV A,#01H
CJNE A,21H,A1 ;判斷是否到10
MOV A,#01
CJNE A,20H,A1 ;判斷是否到10
JMP START ;跳入主程序
TIMER: DJNZ R7,A2
MOV TH0,#0BDH
MOV TL0,#0C0H
MOV R7,#16
DJNZ 20H,A2
MOV 20H,#10
DJNZ 21H,A2
MOV 21H,#10
A2: RETI
DELAY: MOV R6,#248
DJNZ R6,$
RET
TABLE: DB 00H,00H,01H,02H,03H,04H ;定義表
DB 05H,06H,07H,08H,09H
END;結束

o(∩_∩)o...,給分吧

3. 編一個AT89C51單片機00 —99 秒的匯編程序,要求有循環和暫停,用兩個獨立數碼管顯示

;利用中斷的99秒計時器,動態掃描兩位數碼管

;P0口接J3,數據埠

;P2.2接J2B端子,表示段碼鎖存

;P2.3接J2A端子,標志位碼鎖存

LATCH1BITP2.2

LATCH2BITP2.3

ORG00H

JMPSTART

ORG0BH

JMPTIM0

START:MOVR3,#00;中斷循環次數

MOVR4,#0;時間初值

MOVDPTR,#TABLE

MOVSP,#40H

MOVTMOD,#01H;定時器工作方式

MOVTH0,#HIGH(65536-3800)

MOVTL0,#LOW(65536-3800);初值4MS

SETBTR0

MOVIE,#82H;開中斷

TIM0:

MOVTH0,#HIGH(65536-3800)

MOVTL0,#LOW(65536-3800)

INCR3

CJNER3,#250,X1;1S

MOVR3,#0

MOVA,R4;十進制轉換

MOVB,#10

DIVAB

MOV20H,B;個位

MOV21H,A;十位

INCR4

CJNER4,#100,LEDSCAN;到100則清零

MOVR4,#0

LEDSCAN:CALLSCAN;調用數碼管掃描

X1:PUSHACC

PUSHPSW

CALLSCAN

POPPSW

POPACC

RETI

SCAN:

MOVA,21H

MOVCA,@A+DPTR

MOVP0,A

SETBLATCH1

CLRLATCH1

MOVP0,#11111110B;掃描子程序

SETBLATCH2

CLRLATCH2

CALLDELAY1

MOVA,20H

MOVCA,@A+DPTR

MOVP0,A

SETBLATCH1

CLRLATCH1

MOVP0,#11111101B;0代表選通該位數碼管

SETBLATCH2

CLRLATCH2

CALLDELAY1

RET

DELAY:MOVR5,#50;典型延時程序

D1:MOVR6,#40

D2:MOVR7,#248

CALLSCAN

DJNZR7,$

DJNZR6,D2

DJNZR5,D1

RET

DELAY1:MOVR6,#4;掃描延時

D3:MOVR7,#248

DJNZR7,$

DJNZR6,D3

RET

TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;共陰字碼表

是用動態掃描的方法顯示的,用了2個鎖存器,8個數碼管的。

附上電路圖

閱讀全文

與存儲器單片機99秒電路圖相關的資料

熱點內容
java打賞源碼搭建 瀏覽:363
pdf32 瀏覽:254
植發加密100天效果 瀏覽:957
離心壓縮機檢修規程 瀏覽:430
如何收聽安卓手機發來的鏈接 瀏覽:399
福建微法院app怎麼用 瀏覽:208
android陀螺儀應用 瀏覽:719
新加坡加密貨幣騙局 瀏覽:910
電腦文件夾打開自動變為全屏 瀏覽:969
簡易單斷面計演算法 瀏覽:850
php社區程序 瀏覽:976
python現在就業怎麼樣 瀏覽:305
php上傳目錄許可權設置 瀏覽:736
php合同檔案管理系統 瀏覽:366
tshock伺服器地址 瀏覽:877
php解析文件流 瀏覽:780
伺服器機箱銅片有什麼用 瀏覽:969
樂視手機如何使用原生態安卓 瀏覽:216
dns伺服器怎麼備份啊 瀏覽:865
蘋果退款app怎麼重新購買 瀏覽:655