久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17831|回復(fù): 14
收起左側(cè)

單片機(jī)八路搶答器proteus仿真帶匯編語言源程序 原理圖

  [復(fù)制鏈接]
ID:137190 發(fā)表于 2016-9-25 16:16 | 顯示全部樓層 |閱讀模式
一個非常不錯的匯編語言寫的單片機(jī)八路搶答器proteus仿真.下面是原理圖
0.png 0.png

所有資料下載: 八位搶答器.zip (201.99 KB, 下載次數(shù): 310)

下面是部分源碼預(yù)覽:
  1. OK EQU 20H                       ;搶答開始標(biāo)志位
  2.         RING EQU 22H                     ;響鈴標(biāo)志位
  3.         DATA0 EQU 36H                    ;搶答按鍵口數(shù)據(jù)存放地址
  4.         ORG 0000H
  5.         AJMP MAIN
  6.         ORG 0003H  
  7.         AJMP INTT0
  8.         ORG 000BH
  9.         AJMP T0INT
  10.         ORG 001BH
  11.         AJMP T1INT
  12.         ORG 0040H
  13. MAIN:   MOV R1,#14H                       ;初設(shè)搶答時間為20s
  14.         MOV R2,#1EH                     ;初設(shè)答題時間為30s
  15.         MOV 38H,#3CH                      ;啟用錦囊時間從60s倒計(jì)時
  16.         MOV TMOD,#11H                    ;設(shè)置未定時器/模式1
  17.         MOV TH0,#0F0H
  18.         MOV TL0,#0FFH                    ;越高發(fā)聲頻率越高,越尖
  19.         MOV TH1,#3CH
  20.         MOV TL1,#0B0H                    ;50ms為一次溢出中斷
  21.         SETB EA
  22.         SETB ET0
  23.         SETB ET1                         ;允許二個中斷,T0/T1
  24.         CLR OK
  25.         CLR RING
  26.          SETB TR1
  27.          SETB TR0                        ;一開始就運(yùn)行定時器,以開始顯示FFF.如果想重新計(jì)數(shù),重置TH1/TL1就可以了
  28. START:   MOV DATA0,#0FFH                 ;初始化
  29.          MOV R5,#0BH
  30.          MOV R4,#0BH
  31.          MOV R3,#0BH
  32.          ACALL DISPLAY                   ;未開始搶答時候顯示FFF
  33.          JNB P3.3,SELSUB0
  34.          JNB P3.4,TZ3                    ;倒計(jì)時調(diào)整
  35.          JB P3.0,NEXT
  36.          ACALL DELAY
  37.          JB P3.0,NEXT                    ;去抖動,如果"開始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢
  38.          SETB EX0                        ;開放INT0
  39.          ACALL BARK                      ;按鍵發(fā)聲
  40.          MOV A,R1
  41.          MOV R6,A                    ;送R1->R6,因?yàn)镽1中保存了搶答時間
  42.          SETB OK                         ;搶答標(biāo)志位,在使用錦囊時用作判斷是搶答倒計(jì)時還是回答倒計(jì)時
  43.          MOV R3,#0AH                     ;搶答只顯示計(jì)時,滅號數(shù)
  44.          AJMP COUNT                      ;進(jìn)入倒計(jì)時程序,"查詢有效搶答的程序"在COUNT里面
  45. NEXT:    JNB P1.0,FALSE1
  46.          JNB P1.1,FALSE2
  47.          JNB P1.2,FALSE3
  48.          JNB P1.3,FALSE4
  49.          JNB P1.4,FALSE5
  50.          JNB P1.5,FALSE6
  51.          JNB P1.6,TZ1
  52.          JNB P1.7,TZ2
  53.          AJMP START
  54. TZ1:     AJMP FALSE7
  55. TZ2:     AJMP FALSE8
  56. TZ3:     AJMP SELSUB1
  57. FALSE1: MOV R3,#01H
  58.         AJMP ERROR
  59. FALSE2: MOV R3,#02H               
  60.         AJMP ERROR
  61. FALSE3: MOV R3,#03H
  62.         AJMP ERROR
  63. FALSE4: MOV R3,#04H
  64.         AJMP ERROR
  65. FALSE5: MOV R3,#05H
  66.         AJMP ERROR
  67. FALSE6: MOV R3,#06H
  68.         AJMP ERROR
  69. FALSE7: MOV R3,#07H
  70.         AJMP ERROR
  71. FALSE8: MOV R3,#08H
  72.         AJMP ERROR
  73. SELSUB0: MOV A,R1
  74.          MOV B,#0AH
  75.          DIV AB
  76.          MOV R5,A
  77.          MOV R4,B
  78.          MOV R3,#0AH
  79.          ACALL DISPLAY                   ;先在兩個時間LED上顯示R1
  80.          JNB P3.5,INC0                   ;P3.5為+1s鍵,如按下跳到INCO
  81.          JNB P3.6,DEC0                   ;P3.6為-1s鍵,如按下跳到DECO
  82.          JNB P3.1,BACK0                  ;P3.1為確定鍵,如按下跳到BACKO
  83.          AJMP SELSUB0
  84. INC0:   MOV A,R1
  85.         CJNE A,#63H,ADD0                 ;如果不是99,R2加1,如果加到99,R1就置0,重新加起。
  86.         MOV R1,#00H
  87.         ACALL DELAY1
  88.         AJMP SELSUB0
  89. ADD0:   INC R1
  90.         ACALL DELAY1
  91.         AJMP SELSUB0
  92. DEC0:   MOV A,R1
  93.         JZ SETR1                         ;如果R1為0, R1就置99,
  94.         DEC R1
  95.         ACALL DELAY1
  96.         AJMP SELSUB0
  97. SETR1:  MOV R1,#63H
  98.         ACALL DELAY1
  99.         AJMP SELSUB0
  100. BACK0:  AJMP START
  101. SELSUB1: MOV A,R2
  102.         MOV B,#0AH
  103.         DIV AB
  104.        MOV R5,A
  105.        MOV R4,B
  106.        MOV R3,#0AH
  107.        ACALL DISPLAY
  108.     JNB P3.5,INC1
  109.     JNB P3.6,DEC1
  110.     JNB P3.1,BACK1
  111.     AJMP SELSUB1
  112. INC1:   MOV A,R2
  113.         CJNE A,#63H,ADD1
  114.         MOV R2,#00H
  115.         ACALL DELAY1
  116. AJMP SELSUB1
  117. ADD1:   INC R2
  118.          ACALL DELAY1
  119.          AJMP SELSUB1
  120. DEC1:   MOV A,R2
  121.      JZ SETR2
  122.      DEC R2
  123.     ACALL DELAY1
  124.     AJMP SELSUB1
  125. SETR2:  MOV R2,#63H
  126.         ACALL DELAY1
  127.         AJMP SELSUB1
  128. BACK1: AJMP START
  129. REPEAT:MOV A,38h                        ;使用錦囊時重新計(jì)時
  130.        MOV R6,A
  131.        CLR RING         ;當(dāng)?shù)褂?jì)時進(jìn)入最后5秒的時候,啟用錦囊能消除蜂鳴
  132. COUNT:MOV R0,#00H                    ;重置定時器中斷次數(shù)
  133.         MOV TH1,#3CH
  134.         MOV TL1,#0B0H                  ;重置定時器
  135. RECOUNT:MOV A,R6                       ;R6保存了倒計(jì)時的時間,之前先將搶答時間或回答時間給R6
  136.         MOV B,#0AH
  137.     DIV AB                             ;除十分出個位/十位
  138.     MOV 30H,A                          ;十位存于(30H)
  139.     MOV 31H,B                          ;個位存于(31H)
  140.     MOV R5,30H                         ;取十位
  141.     MOV R4,31H                         ;取個位
  142.     MOV A,R6
  143.     SUBB A,#07H
  144.     JNC LARGER                   ;大于5s跳到LARGER,小于等于5s會提醒
  145.     MOV A,R0
  146.         CJNE A,#0AH,FULL               ;1s中0.5s向下運(yùn)行
  147.     CLR RING
  148.     AJMP CHECK
  149. FULL: CJNE A,#14H,CHECK              ;下面是1s的情況,響并顯示號數(shù)并清R0,重新計(jì)
  150.       SETB RING
  151.       MOV A,R6
  152.     JZ QUIT                            ;計(jì)時完畢
  153.     MOV R0,#00H
  154.     DEC R6                            ;一秒標(biāo)志減1
  155.       AJMP CHECK
  156. LARGER: MOV A,R0
  157.         CJNE A,#14H,CHECK          ;如果1s向下運(yùn)行,否者跳到"停/顯示"
  158.         DEC R6                           ;計(jì)時一秒R6自動減1
  159.         MOV R0,#00H
  160. CHECK: JNB P3.1,QUIT         ;如按下停止鍵退出
  161.         JNB OK,CHECKK      ;只在回答倒計(jì)時才有效
  162.         AJMP NEXTT
  163. CHECKK:JNB P3.0,REPEAT    ;判斷是否使用錦囊
  164. NEXTT: ACALL DISPLAY
  165.    JB OK,ACCOUT;如果是搶答倒計(jì)時,如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)
  166.        AJMP RECOUNT
  167. ACCOUT:MOV A,DATA0
  168.        JNB ACC.0,TRUE1
  169.        JNB ACC.1,TRUE2
  170.        JNB ACC.2,TRUE3
  171.        JNB ACC.3,TRUE4
  172.        JNB ACC.4,TRUE5
  173.        JNB ACC.5,TRUE6
  174.        JNB ACC.6,TZ7
  175.       JNB ACC.7,TZ8
  176.       AJMP RECOUNT
  177. TZ7: AJMP TRUE7
  178. TZ8: AJMP TRUE8   
  179. QUIT:  CLR OK                         ;如果按下了"停止鍵"執(zhí)行的程序
  180.    CLR RING
  181.    AJMP START
  182. TRUE1: ACALL BARK
  183.        MOV A,R2
  184.        MOV R6,A              ;搶答時間R2送R6
  185.        MOV R3,#01H
  186.        CLR OK                ;因?yàn)榇痤}的計(jì)時不再查詢搶答,所以就鎖了搶答
  187.        AJMP COUNT
  188. TRUE2:ACALL BARK
  189.       MOV A,R2
  190.       MOV R6,A
  191.       MOV R3,#02H
  192.       CLR OK
  193.       AJMP COUNT
  194. TRUE3:ACALL BARK
  195.       MOV A,R2
  196.       MOV R6,A
  197.       MOV R3,#03H
  198.       CLR OK
  199.       AJMP COUNT
  200. TRUE4:ACALL BARK
  201.       MOV A,R2
  202.       MOV R6,A
  203.       MOV R3,#04H
  204.       CLR OK
  205.       AJMP COUNT
  206. TRUE5: ACALL BARK
  207.         MOV A,R2
  208.         MOV R6,A
  209.         MOV R3,#05H
  210.         CLR OK
  211.         AJMP COUNT
  212. TRUE6:  ACALL BARK
  213.         MOV A,R2
  214.         MOV R6,A
  215.         MOV R3,#06H
  216.         CLR OK
  217.         AJMP COUNT
  218. TRUE7:  ACALL BARK
  219.         MOV A,R2
  220.         MOV R6,A
  221.         MOV R3,#07H
  222.         CLR OK
  223.         AJMP COUNT
  224. TRUE8:  ACALL BARK
  225.         MOV A,R2
  226.         MOV R6,A
  227.         MOV R3,#08H
  228.         CLR OK
  229.         AJMP COUNT
  230. ERROR:  MOV R0,#00H
  231.         MOV TH1,#3CH
  232.         MOV TL1,#0B0H
  233.         MOV 34H,R3                ;犯規(guī)號數(shù)暫存與(34H)
  234. HERE:   MOV A,R0
  235.         CJNE A,#06H,FLASH         ;0.3s向下運(yùn)行->滅并停響
  236.         CLR RING
  237.         MOV R3,#0AH
  238.         MOV R4,#0AH
  239.         MOV R5,#0AH               ;三燈全滅
  240.         AJMP CHECK1
  241. FLASH:  CJNE A,#0CH,CHECK1        ;下面是0.8s的情況,響并顯示號數(shù)并清R0,重新計(jì)
  242.         SETB RING
  243.         MOV R0,#00H
  244.         MOV R3,34H                ;取回號數(shù)
  245.         MOV R5,#0BH
  246.         MOV R4,#0BH               ;顯示FF和號數(shù)
  247.         AJMP CHECK1
  248. CHECK1: JNB P3.1,QUIT1
  249.         ACALL DISPLAY
  250.         AJMP HERE
  251. QUIT1:  CLR RING
  252.         CLR OK
  253.         AJMP START
  254. DISPLAY:MOV DPTR,#DAT1           ;查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出
  255.         MOV A,R3
  256.         MOVC A,@A+DPTR
  257.         MOV P2,#0feH
  258.         MOV P0,A
  259.         ACALL DELAY
  260.         MOV DPTR,#DAT2
  261.         MOV A,R5
  262.         MOVC A,@A+DPTR
  263.         MOV P2,#0fdH
  264.         MOV P0,A
  265.         ACALL DELAY
  266.         MOV A,R4
  267.         MOVC A,@A+DPTR
  268.         MOV P2,#0fbH
  269.         MOV P0,A
  270.         ACALL DELAY
  271.         RET
  272. DAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H  
  273. ;"滅","1","2","3","4","5","6","7","8","9","滅","F"
  274. DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
  275. ;第一個為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅

  276. DELAY1: MOV 35H,#08H
  277. LOOP0:  ACALL DISPLAY
  278.          DJNZ 35H,LOOP0
  279.          RET

  280. DELAY:  MOV 32H,#12H
  281. LOOP:   MOV 33H,#0AFH
  282. LOOP1:  DJNZ 33H,LOOP1
  283.         DJNZ 32H,LOOP
  284.     RET
  285. BARK:   SETB RING
  286.         ACALL DELAY1
  287.         ACALL DELAY1
  288.         CLR RING                  ;按鍵發(fā)聲
  289.     RET

  290. T0INT:  MOV TH0,#0ECH
  291.         MOV TL0,#0FFH
  292.         JNB RING,OUT;
  293. CPL P3.7                ;RING標(biāo)志位為1時候P3.7口不斷取反使喇叭發(fā)出一定頻率的聲音
  294. OUT:    RETI

  295. T1INT: MOV TH1,#3CH
  296.       MOV TL1,#0B0H
  297.       INC R0
  298.     RETI

  299. INTT0: MOV DATA0,P1   
  300.        CLR EX0
  301.      RETI
  302.      END
復(fù)制代碼

評分

參與人數(shù) 2黑幣 +10 收起 理由
AAAKK + 5 共享資料的黑幣獎勵!
qq964404188 + 5 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:174844 發(fā)表于 2017-3-20 19:58 | 顯示全部樓層
在不,能把安裝包單獨(dú)發(fā)給我嗎
回復(fù)

使用道具 舉報(bào)

ID:190056 發(fā)表于 2017-4-16 14:20 | 顯示全部樓層
樓主,有沒有pcb圖啊
回復(fù)

使用道具 舉報(bào)

ID:260468 發(fā)表于 2017-12-12 14:57 | 顯示全部樓層
樓主,有沒有原c程序。
回復(fù)

使用道具 舉報(bào)

ID:265620 發(fā)表于 2017-12-23 21:03 | 顯示全部樓層
請問里面的錦囊時間是什么
回復(fù)

使用道具 舉報(bào)

ID:265620 發(fā)表于 2017-12-23 21:04 | 顯示全部樓層
請問里面的錦囊時間是什么
回復(fù)

使用道具 舉報(bào)

ID:274989 發(fā)表于 2018-1-11 21:02 | 顯示全部樓層
感謝感謝
回復(fù)

使用道具 舉報(bào)

ID:325677 發(fā)表于 2018-5-9 09:35 | 顯示全部樓層
請問原理圖是源工程圖片嗎?
回復(fù)

使用道具 舉報(bào)

ID:325677 發(fā)表于 2018-5-9 09:45 | 顯示全部樓層
你好。請問基于AT89c51的八路搶答器電路圖是工程源圖,這是我QQ,1163993046,可以有償使用。謝謝
回復(fù)

使用道具 舉報(bào)

ID:368704 發(fā)表于 2018-7-10 16:15 | 顯示全部樓層
不能用proteus打開嗎?
回復(fù)

使用道具 舉報(bào)

ID:453321 發(fā)表于 2018-12-24 15:22 | 顯示全部樓層
親愛的博主,能否給我壓縮包,讓我好好學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:461924 發(fā)表于 2019-1-4 16:32 來自手機(jī) | 顯示全部樓層
博主,這個怎樣可以買到呢
回復(fù)

使用道具 舉報(bào)

ID:645244 發(fā)表于 2019-11-19 18:40 | 顯示全部樓層
牛逼啊
回復(fù)

使用道具 舉報(bào)

ID:662237 發(fā)表于 2019-12-12 10:54 來自手機(jī) | 顯示全部樓層
有人有這個壓縮包嗎  可以單獨(dú)發(fā)我下嗎
回復(fù)

使用道具 舉報(bào)

ID:662237 發(fā)表于 2019-12-12 10:58 來自手機(jī) | 顯示全部樓層
123456h 發(fā)表于 2017-3-20 19:58
在不,能把安裝包單獨(dú)發(fā)給我嗎

請問你有這個壓縮包了嗎  可以發(fā)我下嗎
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲综合久久 | 国产精品亚洲视频 | 午夜午夜精品一区二区三区文 | 欧美一级欧美一级在线播放 | 亚洲欧美第一视频 | 啪啪精品| 亚洲激情网站 | 草草影院ccyy| 97久久精品午夜一区二区 | 精品蜜桃一区二区三区 | 日韩在线播放中文字幕 | 亚洲精品2区 | 亚洲精选一区二区 | 色天堂影院 | 色婷婷亚洲国产女人的天堂 | 欧美精品一区二区三区一线天视频 | 国产免费福利 | 欧美一卡二卡在线 | 最新免费黄色网址 | 一区二区三区久久 | 美女视频一区二区三区 | 国产精品视频一二三区 | 免费一区二区 | 国产激情视频网站 | 国色天香成人网 | 九九久久久 | 午夜久久久久 | 一区二区三区四区在线免费观看 | 欧美日韩免费在线 | 国产人成精品一区二区三 | 国产高清精品一区二区三区 | 久久蜜桃av一区二区天堂 | 伊人伊人伊人 | 99精品一级欧美片免费播放 | 91精品在线看| 国产精品jizz在线观看老狼 | 日日摸夜夜添夜夜添精品视频 | 天堂视频免费 | 亚洲高清电影 | 免费黄色录像片 | 亚洲一级视频在线 |