找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3649|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

[求助]在這個(gè)程序中R0是怎么變化的?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:38551 發(fā)表于 2012-4-16 08:52 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式

注解說(shuō)是R0中斷次數(shù),但我看起來(lái)好像R0都是沒(méi)變化的,學(xué)單片機(jī)時(shí)間不長(zhǎng),不太懂,請(qǐng)教R0在這個(gè)過(guò)程是怎么計(jì)數(shù)的?謝謝!

===倒計(jì)時(shí)程序===

COUNT:  MOV R0,#00H                               ;重置定時(shí)器中斷次數(shù)

        MOV TH1,#3CH

        MOV TL1,#0B0H                            ;重置定時(shí)器

RECOUNT:MOV A,R6;R6 保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí)間給R6

        MOV B,#0AH

       DIV AB                                      ;除十分出個(gè)位/十位

       MOV 30H,A                                   ;十位存于(30H)

       MOV 31H,B                                   ;個(gè)位存于(31H)

       MOV R5,30H                                  ; 取十位

       MOV R4,31H                                  ; 取個(gè)位

       MOV A,R6

       SUBB A,#07H

       JNC LARGER              ; 大于5s跳到LARGER,小于等于5s會(huì)提醒

       MOV A,R0

       CJNE A,#0AH,FULL                    1s中0.5s向下運(yùn)行

       CLR RING 

       AJMP CHECK

FULL:  CJNE A,#14H,CHECK   下面是1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)

       SETB RING

       MOV A,R6

       JZ QUIT                                             ;計(jì)時(shí)完畢

       MOV R0,#00H

       DEC R6                                           ;一秒標(biāo)志減1

       AJMP CHECK

LARGER: MOV A,R0

        CJNE A,#14H,CHECK        如果1s向下運(yùn)行,否者跳到查"停/顯示"

       DEC R6                                    ;計(jì)時(shí)一秒R6自動(dòng)減1

       MOV R0,#00H

CHECK: JNB P3.1,QUIT                              ;如按下停止鍵退出

       ACALL DISPLAY

       JB OK,ACCOUT        如果是搶答倒計(jì)時(shí),如是則查詢(xún)搶答,否者跳過(guò)查詢(xún)繼續(xù)倒數(shù)(這里起到鎖搶答作用)

       AJMP RECOUNT

ACCOUT:JNB P1.0,TRUE1

       JNB P1.1,TRUE2

       JNB P1.2,TRUE3

       JNB P1.3,TRUE4

       JNB P1.4,TRUE5

       JNB P1.5,TRUE6

       JNB P1.6,TZ3

       JNB P1.7,TZ4

       AJMP RECOUNT

TZ3:   JMP TRUE7

TZ4:   JMP TRUE8   

 QUIT:  CLR OK                         ; 如果按下了"停止鍵"執(zhí)行的程序

       CLR RING

       AJMP START
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表