女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>匯編編程>

匯編語言 八路搶答器與99秒計數器

大?。?/span>0.1 MB 人氣: 2017-09-06 需要積分:0

1、八路搶答器

? ? ?ORG 0000H
???? SETB P3.7
???? MOV R0, #00H
???? MOV A , #0FFH
???? MOV P2 , A
L1:? MOV A , P1
???? XRL? A , #0FFH
???? JZ L1
L2:? MOV B , #02H
???? DIV AB
???? INC R0
???? JNZ L2
???? MOV DPTR,#TABLE
???? MOV A,R0
???? MOVC A , @A+DPTR
???? MOV P2 ,A
???? MOV R3 , #0FFH
SS:? CLR P3.7
???? ACALL DELAY
???? SETB P3.7
???? ACALL DELAY
???? DJNZ R3,SS
?????
L4:? SJMP?? L4
DELAY: MOV R1, #249
L3:? NOP
???? NOP
???? DJNZ R1, L3
???? RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;0-9
???? END
?

?

2、99秒計數器
counter equ 30h;分配計數器內存?
timer?? equ 31h;計數速度控制計數器?
speed?? equ 50;計數速度調節(0到255)?
led7seg equ p0;數碼管段位接口?
ledbit? equ p2;數碼管位選接口
???org 0000h
???ljmp start
?
???org 0030h
start:?mov sp,#60h;設置堆棧指針?
???mov counter,#0;計數器清零初始化?
loop:??mov timer,#speed;計數速度設定?
loop0:?mov a,counter;取出計數值到累加器?
???mov b,#10;設定十進制模?
???div ab;除法,十六進制轉十進制?
???da a;BCD碼調整?
???anl a,#0fh;清除高位?
???mov dptr,#ledmap;取字符譯碼表頭地址?
???movc a,@a+dptr;查表字符譯碼?
???mov ledbit,#0ffh;關閉數碼管,修改數據前必須關閉?
???mov led7seg,a;送出字符段碼?
???mov ledbit,#0feh;打開一位數碼管?
???acall delay;延時一段時間
???mov dptr,#ledmap
???mov a,b;取出十位值?
???movc a,@a+dptr
???mov p2,#0ffh
???mov p0,a
???mov p2,#0fdh
???acall delay
???djnz timer,loop0;速度控制,多次顯示后計數器+1??
???inc counter;計數器+1?
???mov a,counter
???cjne a,#100,loop;100溢出判斷
???mov counter,#0;溢出后歸零
???sjmp loop
;經典延時模塊?
delay:?mov r7,#100
dd:??mov r6,#10
???djnz r6,$
???djnz r7,dd
???ret
;共陰極數碼管字符譯碼表?
ledmap:?db 03FH,006H,05BH,04FH,066H
???db 06DH,07DH,007H,07FH,06FH
???end
?

3、8*8LED點陣電子屏字符顯示程序

描述:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
;*???????????? 8*8LED點陣電子屏字符顯示程序
;*???????????? 四個顯示字符數據表放在40H-7FH單元內,字符用8*8點陣,R4(30H)用于
;????????????? 控制顯示靜止字的時間,R5(31H)靜止字顯示跳轉地址步距,B內放顯示首址???????????????????????????????????????????????????????
;*???????????? COL-(8--1)分別接 (P0.0---P0.7)? 即J27-8腳接P0.0? J27-7腳接P0.1
;*???????????? J27-6腳接P0.2? J27-5腳接P0.3??? J27-4腳接P0.4? J27-3腳接P0.5
;*???????????? J27-2腳接P0.6? J27-1腳接P0.7????
;*???????????? S1逐字顯示功能程序? S3控制左移顯示功能程序???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
;******************************************************************************
? ???????? S1????? BIT??? P3.3??? ;
???????? S2????? BIT??? P3.4??? ;
???????? S3????? BIT??? P3.5??? ;
???????? S4????? BIT??? P3.6??? ;
;******************************************************************************
??????????????? ORG???? 0000H???????? ;程序執行開始地址
??????????????? LJMP??? START???????? ;跳至START執行
??????????????? ORG???? 0003H???????? ;外中斷0中斷入口地址
??????????????? RETI????????????????? ;中斷返回(不開中斷)
??????????????? ORG???? 000BH???????? ;定時器T0中斷入口地址
??????????????? RETI????????????????? ;中斷返回(不開中斷)
??????????????? ORG???? 0013H???????? ;外中斷1中斷入口地址
??????????????? RETI????????????????? ;中斷返回(不開中斷)
??????????????? ORG???? 001BH???????? ;定時器T1中斷入口地址
??????????????? RETI????????????????? ;中斷返回(不開中斷)
??????????????? ORG???? 0023H???????? ;串行口中斷入口地址
??????????????? RETI????????????????? ;中斷返回(不開中斷)
??????????????? ORG???? 002BH???????? ;定時器T2中斷入口地址
??????????????? RETI????????????????? ;中斷返回(不開中斷)
;******************************************************************************
;主體程序
START:??
??????????????? MOV????? SP,#60H????? ;堆棧在60H開始???????
??????????????? MOV????? 20H,#00H???? ;20H內存單元清0
??????????????? SETB???? 00H????????? ;20H.0位置1
START1:???????? LCALL??? CLEARMEN???? ;調用上電初始化子程序
??????????????? JB?????? 00H,FUN0???? ;20H.0位為1,執行FUN0
??????????????? JB?????? 01H,FUN1???? ;20H.1位為1,執行FUN1
??????????????? JB?????? 02H,FUN2???? ;20H.2位為1,執行FUN2
??????????????? AJMP???? START1?????? ;跳回START1循環
;******************************************************************************
;初始化程序????????
CLEARMEN:??
??????????????? MOV???? A,#0FFH?????? ;四端口置1
??????????????? MOV???? P1,A????????? ;
??????????????? MOV???? P2,A????????? ;
??????????????? MOV???? P3,A????????? ;
??????????????? MOV???? P0,A????????? ;
??????????????? MOV???? DPTR,#TABLE?? ;取"東哥單片機學習網"字符表首址值
??????????????? CLR???? A???????????? ;
??????????????? MOV???? 21H,A???????? ;21H-24H內存單元清0
??????????????? MOV???? 22H,A???????? ;
??????????????? MOV???? 23H,A???????? ;
??????????????? MOV???? 24H,A???????? ;
??????????????? MOV???? R3,A????????? ;R3寄存器清0
??????????????? MOV???? R1,#40H?????? ;設字符表移入內存單元首址
??????????????? MOV???? R2,#20H?????? ;設查表次數(32次)
CLLOOP:???????? MOVC??? A,@A+DPTR???? ;查表將"東哥單片機學習網"字符數據移入內存單元
??????????????? MOV???? @R1,A???????? ;
??????????????? MOV???? A,R3????????? ;
??????????????? INC???? A???????????? ;
??????????????? MOV???? R3,A????????? ;
??????????????? INC???? R1??????????? ;
??????????????? DJNZ??? R2,CLLOOP???? ;查表32次,不到轉CLLOOP再查
??????????????? RET?????????????????? ;子程序返回
;******************************************************************************
;鍵掃描子程序
KEYWORK:??????? MOV????? P3,#0FFH???? ;置輸入狀態
??????????????? JNB????? S1,KEY1????? ;P3.3為0(鍵按下)轉KEY1
;??????????????? JNB????? S2,KEY2????? ;P3.4為0(鍵按下)轉KEY2
??????????????? JNB????? S3,KEY3????? ;P3.5為0(鍵按下)轉KEY3
KEYRET:???????? RET?????????????????? ;無鍵按下,子程序返回
;******************************************************************************
;按鍵1功能處理
KEY1:?????????? LCALL?? DL10MS??????? ;延時10MS削抖動
??????????????? JB????? S1,KEYRET???? ;是干擾轉KEYRET結束
??????????????? SETB??? 00H?????????? ;置逐字顯示方式標志(20H.0=1)
??????????????? CLR???? 01H?????????? ;
??????????????? CLR???? 02H?????????? ;
??????????????? RET?????????????????? ;子程序返回
;******************************************************************************
; 按鍵2功能處理
KEY2:?????????? LCALL?? DL10MS??????? ;
??????????????? JB????? S2,KEYRET???? ;
??????????????? SETB??? 01H?????????? ;置上移顯示方式標志(20H.1=1)
??????????????? CLR???? 00H?????????? ;
??????????????? CLR???? 02H?????????? ;
??????????????? RET?????????????????? ;
;******************************************************************************
; 按鍵3功能處理
KEY3:?????????? LCALL?? DL10MS??????? ;
??????????????? JB????? S3,KEYRET???? ;
??????????????? SETB??? 02H?????????? ;置左移顯示方式標志(20H.2=1)
??????????????? CLR???? 01H?????????? ;
??????????????? CLR???? 00H?????????? ;
??????????????? RET
;******************************************************************************
;逐字顯示功能程序
FUN0:?????????? MOV???? 30H,#80H???? ;1幀顯示時間控制(約1秒)
??????????????? MOV???? 31H,#08H???? ;換幀跳轉步距為8
??????????????? LJMP??? DISP1??????? ;轉顯示子程序DISP1
; 上移顯示功能程序
FUN1:?????????? MOV???? 30H,#25H???? ;1幀顯示時間控制(約80毫秒)
??????????????? MOV???? 31H,#01H???? ;換幀跳轉步距為1
??????????????? LJMP??? DISP1??????? ;轉顯示子程序DISP1
;左移顯示功能程序
FUN2:?????????? LJMP??? DISP2??????? ;
;******************************************************************************
;顯示控制程序
DISP1:????????? MOV???? B,#40H?????? ;顯示數據首址
??????????????? MOV???? R4,30H?????? ;放入1幀顯示時間控制數據
??????????????? MOV???? R5,31H?????? ;放入跳轉步距控制數據
LOOP:?????????? LCALL?? DISPLAY????? ;調用顯示子程序一次
??????????????? DJNZ??? R4,LOOP????? ;1幀顯示時間未到再轉LOOP循環
??????????????? MOV???? R4,30H?????? ;1幀顯示時間到,重裝初值
??????????????? MOV???? A,B????????? ;
??????????????? CJNE??? A,#58H,CONT? ;不是末地址轉CONT
??????????????? AJMP??? START1?????? ;是末地址,一次顯示結束跳回START1
CONT:?????????? ADD???? A,R5???????? ;次幀掃描首址調整
??????????????? MOV???? B,A????????? ;
??????????????? AJMP??? LOOP???????? ;轉LOOP進行次幀掃描
;******************************************************************************
;顯示子程序,字符數據從P0口輸出,掃描控制字從P2口輸出,顯示1幀約需8MS
DISPLAY:??????? MOV???? A,#0FFH????? ;
??????????????? MOV???? P0,A???????? ;關顯示數據
??????????????? MOV???? P2,A???????? ;關掃描
??????????????? MOV???? R6,#0FEH???? ;賦掃描字
??????????????? MOV???? R0,B???????? ;賦顯示數據首地址
??????????????? MOV???? R7,#08H????? ;一次掃描8行
DISLOOP:??????? MOV???? A,@R0??????? ;取顯示數據
??????????????? MOV???? P0,A???????? ;放入P0口
??????????????? MOV???? P2,R6??????? ;掃描輸出(顯示某一行)
??????????????? ACALL?? DL1MS??????? ;亮1毫秒
??????????????? INC???? R0?????????? ;指向下一行數據地址
??????????????? MOV???? A,R6???????? ;掃描字移入A
??????????????? RL????? A??????????? ;循環左移一位
??????????????? MOV???? R6,A???????? ;放回R6
??????????????? DJNZ??? R7,DISLOOP?? ;8行掃描未完轉DISLOOP繼續
??????????????? RET????????????????? ;8行掃描結束
;******************************************************************************
;左移顯示控制程序
DISP2:????????? MOV???? R5,#32?????? ; 左移32次
DISP22:???????? LCALL?? DISPP??????? ;調用左移顯示控制子程序
??????????????? LCALL?? MOVH???????? ;調用高位移出處理子程序MOVH
??????????????? LCALL?? MOVH1??????? ;調用高位移出處理子程序MOVH1
??DJNZ?R5,DISP22??? ;左移顯示32次控制
??????????????? LJMP??? START1?????? ;跳回主程序
;******************************************************************************
; 左移顯示控制子程序
DISPP:????????? MOV???? B,#40H?????? ;第一顯示字符首址
??????????????? MOV???? R4,#25H????? ;1幀顯示時間控制
DISPP1:???????? LCALL?? DISPLAY????? ;調用顯示子程序一次
??????????????? DJNZ??? R4,DISPP1??? ;1幀顯示時間不到轉DISPP再循環
??????????????? RET
;******************************************************************************
; 高位移出處理子程序。將"東哥單片機學習網"6個字符數據的最高位移出至21H-24H單元內
MOVH:?????????? MOV???? R1,#21H????? ;最高位移出存放單元首址
??????????????? MOV???? R0,#40H????? ;"東哥單片機學習網"字符數據首址
??????????????? MOV???? R2,#08H????? ;每"字"移8次
MOV1:?????????? MOV???? A,@R0??????? ;取"電子設計"字符數據
??????????????? CLR???? C??????????? ;清進位C
??????????????? RLC???? A??????????? ;帶進位循左移
??????????????? MOV???? @R0,A??????? ;放回原單元
??????????????? MOV???? A,@R1??????? ;存放單元數據入A
??????????????? RRC???? A??????????? ;帶進位循右移
??????????????? MOV???? @R1,A??????? ;放回存放單元
??????????????? INC???? R0?????????? ;字符數據地址加1
??????????????? DJNZ??? R2,MOV1????? ;移8次未完轉MOV1再移
??????????????? MOV???? R2,#08H????? ;8次移完賦初值
??????????????? INC???? R1?????????? ;存放單元地址加1
??????????????? MOV???? A,R1???????? ;判斷地址是否小于25H
??????????????? SUBB??? A,#25H?????? ;
??????????????? JZ????? OUT????????? ;等于25H退出
??????????????? AJMP??? MOV1???????? ;小于25H轉MOV1繼續
OUT:??????????? RET????????????????? ;子程序結束
;******************************************************************************
;高位移出處理子程序。
MOVH1:????????? MOV???? A,21H??????? ;21H與22H、23H、24H單元數據循交換
??????????????? XCH???? A,24H??????? ;21H與24H全交換
??????????????? XCH???? A,23H??????? ;23H與24H全交換
??????????????? XCH???? A,22H??????? ;23H與22H全交換
??????????????? MOV???? 21H,A??????? ;22H與21H全交換
??????????????? MOV???? R1,#21H????? ;以下是重新組成顯示字符數據表程序
??????????????? MOV???? R0,#40H????? ;將21H-24H的各位分別移入50H-6FH的低位
??????????????? MOV???? R2,#08H????? ;移位次數
MOV2:?????????? MOV???? A,@R0??????? ;取字符數據
??????????????? RR????? A??????????? ;右移
??????????????? MOV???? @R0,A??????? ;放回原單元
??????????????? MOV???? A,@R1??????? ;取原移出最高位存放單元數
??????????????? CLR???? C??????????? ;清C
??????????????? RRC???? A??????????? ;帶進位循環右移
??????????????? MOV???? @R1,A??????? ;放回原單元
??????????????? MOV???? A,@R0??????? ;取字符數據
??????????????? RLC???? A??????????? ;帶進位循環左移
??????????????? MOV???? @R0,A??????? ;放回字符數據
??????????????? INC???? R0?????????? ;字符數據地址加1
??????????????? DJNZ??? R2,MOV2????? ;8次未完轉MOV2再繼續
??????????????? MOV???? R2,#08H????? ;8次完賦初值
??????????????? INC???? R1?????????? ;原移出最高位存放單元地址加1
??????????????? MOV???? A,R1???????? ;判斷地址是否小于25H
??????????????? SUBB??? A,#25H?????? ;
??????????????? JZ????? OUT????????? ;等于25H轉OUT退出
??????????????? AJMP??? MOV2???????? ;小于25H轉MOV2繼續
;******************************************************************************
;1毫秒延時子程序,采用調用掃鍵子程序延時,可快速讀出按紐的狀態
DL1MS:????????? MOV???? R3,#64H? ;100*(10+2)us
LOOPK:????????? LCALL?? KEYWORK
??????????????? DJNZ??? R3,LOOPK
??????????????? RET
;******************************************************************************
;0.5毫秒延時子程序
DL512:????????? MOV???? R2,#0FFH
LOOP1:????????? DJNZ??? R2,LOOP1
??????????????? RET
;******************************************************************************
; 10毫秒延時子程序
DL10MS:???????? MOV???? R3,#14H
LOOP2:????????? LCALL?? DL512
??????????????? DJNZ??? R3,LOOP2
??????????????? RET
;******************************************************************************
;"電子設計"顯示用ROM數據表
TABLE:????????? DB????? 0DDH,88H,0DDH,88H,5DH,0D8H,0DDH,0D8H???? ;?? 桂
??????????????? DB????? 0F7H,81H,0EFH,0D7H,81H,0E3H,0D5H,0B6H??? ;?? 東
??????????????? DB????? 0B1H,0B5H,04H,0BFH,0B1H,0B5H,9BH,0A4H??? ;?? 設
??????????????? DB????? 0BBH,0BBH,1BH,0A0H,0BBH,0BBH,9BH,0BBH??? ;?? 計
??????????????? DB????? 00H,00H,00H,00H
??????????????? END????????????????????????????????????????????? ;程序結束

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 临洮县| 洪泽县| 介休市| 文登市| 金华市| 丹凤县| 高邮市| 凤凰县| 兴文县| 淳化县| 正镶白旗| 唐河县| 息烽县| 白银市| 临安市| 镇江市| 临沧市| 前郭尔| 波密县| 镇坪县| 桑日县| 和政县| 凤庆县| 祁门县| 北安市| 五大连池市| 阳高县| 石嘴山市| 桃园市| 思南县| 安丘市| 永胜县| 宁化县| 沧州市| 曲靖市| 浦江县| 陕西省| 鄂尔多斯市| 永济市| 昌都县| 长兴县|