亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? h40.asm

?? 單片機程序集合
?? ASM
字號:
;擴展試驗四  紅外遙控試驗
;ASM for MCS51

OUTBIT   equ 0FE02h  ; 位控制口
CLK164   equ 0FE04h  ; 段控制口(接164時鐘位)
DAT164   equ 0FE06h  ; 段控制口(接164數據位)
IN       equ 0FE00h  ; 鍵盤讀入口
RCV_PORT equ 08004h  ; 紅外接收端口
SND_PORT equ 08002h  ; 紅外發送端口

RCV_PORT_ equ p1.0  ; 紅外接收端口
SND_PORT_ equ p1.1  ; 紅外發送端口

; 脈沖寬度下限
ldhmin equ 0d9h
ldlmin equ 0d9h
p0hmin equ 0f9h
p0lmin equ 0f9h
p1hmin equ 0eah
; 脈沖寬度上限
ldhmax equ 0dfh
ldlmax equ 0dfh
p0hmax equ 0fbh
p0lmax equ 0fbh
p1hmax equ 0ech
; 發送信號時載波信號寬度
send5  equ 192
send1  equ 38
send3  equ 115

LEDBuf equ 60h     ; 顯示緩沖
status equ 70h
rcvdat equ 71h
snddat equ 72h
vldmin equ 73h
vldmax equ 74h
hasdat equ 75h

       ljmp  Start

LEDMAP:              ; 八段管顯示碼
       db    3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
       db    7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h

Delay:               ; 延時子程序
       mov   r7, #10h
DelayLoop:
       call  ir_receive
       djnz  r7, DelayLoop
       djnz  r6, DelayLoop
       ret

DisplayLED:
       mov   r0, #LEDBuf
       mov   r1, #6          ; 共6個八段管
       mov   r2, #00100000b  ; 從左邊開始顯示
Loop:
       mov   dptr, #OUTBIT
       mov   a, #0
       movx  @dptr, a        ; 關所有八段管

       mov   a, @r0

       mov   B, #8           ; 送164
DLP:
       rlc   a
       mov   r3, a
       mov   acc.0, c

       mov   dptr, #DAT164
       movx  @dptr, a

       mov   dptr, #CLK164
       setb  acc.0
       movx  @dptr, a
       clr   acc.0
       movx  @dptr, a
       mov   a, r3
       djnz  B, DLP
       mov   dptr, #OUTBIT
       mov   a, r2
       movx  @dptr, a        ; 顯示一位八段管

       mov   r6, #1
       call  Delay

       mov   a, r2           ; 顯示下一位
       rr    a
       mov   r2, a

       inc   r0

       djnz  r1, Loop

       ret

TestKey:
       mov   dptr, #OUTBIT
       mov   a, #0
       movx  @dptr, a        ; 輸出線置為0
       mov   dptr, #IN
       movx  a, @dptr        ; 讀入鍵狀態
       cpl   a
       anl   a, #0fh         ; 高四位不用

       ret

KeyTable:                    ; 鍵碼定義
       db    16h, 15h, 14h, 0ffh
       db    13h, 12h, 11h, 10h
       db    0dh, 0ch, 0bh, 0ah
       db    0eh, 03h, 06h, 09h
       db    0fh, 02h, 05h, 08h
       db    00h, 01h, 04h, 07h

GetKey:
       mov   dptr, #OUTBIT
       mov   P2, dph
       mov   r0, #Low(IN)
       mov   r1, #00100000b
       mov   r2, #6
KLoop:
       mov   a, r1           ; 找出鍵所在列
       cpl   a
       movx  @dptr, a
       cpl   a
       rr    a
       mov   r1, a           ; 下一列

       movx  a, @r0
       cpl   a
       anl   a, #0fh
       jnz   Goon1           ; 該列有鍵入

       djnz  r2, KLoop

       mov   r2, #0ffh       ; 沒有鍵按下, 返回 0ffh
       sjmp  Exit
Goon1:
       mov   r1, a           ; 鍵值 = 列 X 4 + 行

       mov   a, r2
       dec   a
       rl    a
       rl    a
       mov   r2, a           ; r2 = (r2-1)*4

       mov   a, r1           ; r1中為讀入的行值
       mov   r1, #4
LoopC:
       rrc   a               ; 移位找出所在行
       jc    Exit
       inc   r2              ; r2 = r2+ 行值
       djnz  r1, LoopC
Exit:
       mov   a, r2           ; 取出鍵碼
       mov   dptr, #KeyTable
       movc  a, @a+dptr
       mov   r2, a

WaitRelease:
       mov   dptr, #OUTBIT  ; 等鍵釋放
       clr   a
       movx  @dptr, a

       mov   r6, #10
       call  Delay
       call  TestKey
       jnz   WaitRelease

       mov   a, r2
       ret

TestLow:                   ; 檢測低電平寬度
      mov r7,#0
waithigh0:
      mov r6,#0bh
waithigh:
      movx a,@dptr
      jb acc.1, lowwidth
      djnz r6,waithigh
      djnz r7,waithigh0
      mov r7,#0            ; 出錯
lowwidth:
      mov a,r7
      ret

TestHigh:                  ; 檢測高電平寬度
      mov r7,#0
 waitlow0:
      mov r6,#0bh
 waitlow1:
      movx a, @dptr
      jnb acc.1, highwidth
      djnz r6, waitlow1
      djnz r7, waitlow0
      mov r7,#0            ; 出錯
 highwidth:
      mov a,r7
      ret

TestValid:                    ; 脈沖是否在有效范圍內
      cjne a,vldmin,vt01
      jmp  valid              ; A = #min
vt01:
      jnc  vt02               ; A > #min
      jmp  invalid            ; A < #min
vt02:
      cjne a,vldmax,vt03
      jmp  valid              ; A = #max
vt03:
      jnc  invalid            ; A > #max
      jmp  valid              ; A < #max
invalid:
      setb c
      ret
valid:
      clr  c
      ret

ir_receive:                   ; 紅外接收
      push  psw
      setb  rs0
      mov dptr,#RCV_PORT
      movx  a, @dptr
      jnb  acc.1, lead_l      ; 是否有紅外信號?
      pop  psw                ; 無,則退出
      ret

lead_l:
      call TestLow            ; 引導碼低電平
      mov  vldmin,#ldlmin
      mov  vldmax,#ldlmax
      call TestValid
      jnc  lead_h
      jmp  error
lead_h:
      call TestHigh           ; 引導碼高電平
      mov  vldmin,#ldhmin
      mov  vldmax,#ldhmax
      call TestValid
      jnc  pulse_l
      jmp  error
pulse_l:
      mov  status,#1          ; 開始接收數據碼
pulse_t:
      call TestLow            ; 數據碼低電平
      mov  vldmin,#p0lmin
      mov  vldmax,#p0lmax
      call TestValid
      jnc  Its0L
      jmp  error
Its0L:
      call TestHigh           ; 數據碼高電平
      mov  vldmin,#p0hmin
      mov  vldmax,#p0hmax
      call TestValid          ; '0'數據位的高電平?
      jnc  Its0H
      jmp  next5
Its0H:
      mov  a,rcvdat           ; 數據碼移位到緩沖
      rrc  a
      mov  rcvdat,a
      inc  status
      mov  a,status
      cjne a,#9, pulse_t      ; 是否已收到8位數據
      jmp  process
next5:
      mov  vldmin,#p1hmin
      mov  vldmax,#p1hmax
      call TestValid          ; '1'數據位的高電平?
      jnc  Its1H
      jmp  error
Its1H:
      setb c
      jmp  Its0H
process:                      ; 對收到的數據進行校驗
      push b
      mov  a,rcvdat
      mov  b,a
      anl  b,#0fh
      anl  a,#0f0h
      swap a
      xrl  a,b
      pop  b
      cjne a,#0fh,error
      mov  a,rcvdat
      anl  a,#0fh
      mov  hasdat,#1
      pop  psw
      ret
error:                        ; 出錯退出
      pop  psw
      ret

carrier:                      ; 發送載波信號
      xrl  a,b
      movx @dptr,a
      nop
      xrl  a,b
      movx @dptr,a
      ret


ir_send:
      mov   dptr,#SND_PORT
      mov   a, #0h
      mov   b, #02
      mov   r0,#send5         ; 引導碼低電平
leaderh:
      call  carrier           ; 發載波信號
      djnz r0,leaderh
      mov  a,#0
      mov  b,a
      mov  r0,#send5          ; 引導碼高電平
leaderl:
      call  carrier           ; 無載波信號
      djnz r0,leaderl
      mov  status,#0          ; 準備發數據位
sendp:
      mov  a, #0
      mov  b, #02
      mov  r0, #send1         ; 數據碼低電平
sp0:  call carrier            ; 發載波信號
      djnz r0, sp0
      mov  a, snddat
      mov  r0, #send1         ; '0'數據位高電平
      rrc  a
      mov  snddat,a
      jnc  sp1
      mov  r0, #send3         ; '1'數據位高電平
sp1:  mov  a, #0
      mov  b,a
sp2:  call carrier            ; 無載波信號
      djnz r0, sp2
      inc  status
      mov  a, status
      cjne a,#8, sendp        ; 8 位數據已發完

      mov  a, #0              ; 發停止位
      mov  b, #02
      mov  r0, #send1
sp3:  call carrier
      djnz r0, sp3
      mov  a, #0
      mov  b, a
      mov  r0,#0              ; 數據間的間隔
      mov  r1,#3
sp4:  call carrier
      djnz r0, sp4
      djnz r1, sp4
      ret

Start:
       mov   sp, #40h
       mov   LEDBuf,   #0ffh  ; 顯示 8.8.8.8.
       mov   LEDBuf+1, #0ffh
       mov   LEDBuf+2, #0ffh
       mov   LEDBuf+3, #0ffh
       mov   LEDBuf+4, #0
       mov   LEDBuf+5, #0
       mov   hasdat, #0
MLoop:
       mov   a,hasdat
       jnz   show_dat
       call  DisplayLED      ; 顯示
       call  TestKey         ; 有鍵入?
       jz    MLoop           ; 無鍵入, 繼續顯示
       call  GetKey          ; 讀入鍵碼
       anl   a, #0fh         ; 顯示鍵碼
       mov   b, a            ; 將鍵碼編碼
       cpl   a
       anl   a,#0fh
       swap  a
       orl   a,b
       mov   snddat,a
       call  ir_send         ; 紅外發送
       ljmp  MLoop
show_dat:
       mov   hasdat,#0
       mov   LEDBuf+4,#0
       mov   a, rcvdat
       anl   a,#0fh
       mov   dptr, #LEDMap
       movc  a, @a+dptr
       mov   LEDBuf+5, a
       ljmp  MLoop

       end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天色综合天天| 国产精品毛片高清在线完整版| 亚洲免费色视频| 91色.com| 成人黄色综合网站| 亚洲欧洲制服丝袜| 欧美亚洲禁片免费| 日韩精品亚洲专区| 精品国产伦一区二区三区观看体验 | 色视频一区二区| 亚洲欧美偷拍卡通变态| 在线观看视频91| 婷婷中文字幕一区三区| 日韩欧美激情一区| 国产精品综合二区| 综合分类小说区另类春色亚洲小说欧美| 综合激情成人伊人| 欧美高清视频不卡网| 日本三级韩国三级欧美三级| 久久综合资源网| 成人激情图片网| 亚洲国产精品自拍| 久久亚洲私人国产精品va媚药| 成人国产精品免费观看| 亚洲精品国产视频| 91精品国产一区二区三区蜜臀| 国内精品嫩模私拍在线| 日韩一区在线看| 欧美精品18+| 高清视频一区二区| 午夜精品免费在线观看| 精品国产露脸精彩对白| 91香蕉视频在线| 麻豆精品在线观看| 亚洲欧美日韩在线不卡| 欧美sm极限捆绑bd| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 亚洲成av人片一区二区| 久久婷婷国产综合精品青草| 色婷婷亚洲综合| 国产一区二区精品久久| 亚洲一区二区三区四区五区黄| 久久影院午夜论| 欧美精品高清视频| 一本到不卡精品视频在线观看| 麻豆免费精品视频| 亚洲一区影音先锋| 日本一区二区高清| 欧美成人激情免费网| 在线亚洲人成电影网站色www| 精品无人码麻豆乱码1区2区 | 26uuu亚洲| 91精品国产综合久久精品性色| av资源网一区| 国产在线视视频有精品| 日韩高清在线不卡| 一区二区三区中文在线观看| 国产视频一区二区三区在线观看| 欧美精品在线视频| 色久优优欧美色久优优| 成人午夜视频在线观看| 久久99久久99| 美女视频黄a大片欧美| 亚洲影视在线播放| 1000精品久久久久久久久| 国产亚洲一二三区| 精品国产免费久久| 欧美电视剧在线看免费| 欧美高清www午色夜在线视频| www.欧美色图| 成人综合激情网| 国产丶欧美丶日本不卡视频| 捆绑变态av一区二区三区| 日韩一区精品视频| 丝袜美腿亚洲色图| 香蕉成人啪国产精品视频综合网| 日韩美女视频一区| 亚洲视频一区二区在线| 国产精品精品国产色婷婷| 国产精品理论片在线观看| 国产日韩欧美一区二区三区综合| 精品久久人人做人人爽| 欧美成人官网二区| 国产亚洲一区二区三区在线观看 | 福利一区二区在线观看| 丁香啪啪综合成人亚洲小说| 成人手机在线视频| 99热国产精品| 91精品福利在线| 欧美精品久久一区二区三区| 欧美日本在线播放| 91精品黄色片免费大全| 久久在线观看免费| 国产精品乱人伦中文| 中文字幕综合网| 五月天视频一区| 免费成人在线观看视频| 国产一区免费电影| voyeur盗摄精品| 在线看不卡av| 欧美一卡二卡在线| 久久久久久**毛片大全| 亚洲视频综合在线| 亚洲成人动漫在线观看| 美脚の诱脚舐め脚责91 | 成人深夜在线观看| 欧美天堂亚洲电影院在线播放| 制服丝袜国产精品| 国产日韩精品一区二区三区在线| 亚洲欧美综合色| 香蕉乱码成人久久天堂爱免费| 美国毛片一区二区三区| 国产成人高清视频| 欧美视频在线不卡| 久久综合视频网| 亚洲另类春色国产| 美国一区二区三区在线播放| 成人福利视频网站| 欧美蜜桃一区二区三区 | 国产精品乱码人人做人人爱| 亚洲激情av在线| 久久成人免费网站| 91热门视频在线观看| 日韩欧美在线不卡| 成人欧美一区二区三区1314| 婷婷综合另类小说色区| 成人国产一区二区三区精品| 欧美久久久久久久久| 国产精品乱码人人做人人爱 | 激情五月激情综合网| 色婷婷综合久久久久中文| 精品国产免费久久 | 911国产精品| 国产精品福利影院| 激情综合色丁香一区二区| 欧美自拍偷拍一区| 日本一区二区高清| 九一久久久久久| 欧美日韩黄色影视| 亚洲天堂免费看| 国产精品伊人色| 日韩一区二区三区在线| 亚洲人成网站色在线观看| 国产精品综合久久| 精品人在线二区三区| 亚洲电影中文字幕在线观看| 91免费小视频| 日本一区二区三区高清不卡 | 国产一区999| 日韩美女在线视频| 日精品一区二区| 欧美三级在线视频| 亚洲精品久久嫩草网站秘色| 不卡视频免费播放| 中文字幕av一区二区三区高 | 精品一区二区精品| 日韩午夜激情免费电影| 亚洲午夜影视影院在线观看| 色婷婷av久久久久久久| 亚洲天堂av一区| 9l国产精品久久久久麻豆| 国产欧美一区二区三区在线看蜜臀| 美女视频黄久久| 日韩精品一区二区三区在线播放| 天天色天天操综合| 91精品一区二区三区久久久久久| 亚洲电影第三页| 欧美日韩高清一区二区| 亚洲午夜免费电影| 欧美精品在线观看一区二区| 亚洲sss视频在线视频| 欧美日韩国产美女| 天天av天天翘天天综合网色鬼国产| 欧美中文字幕一二三区视频| 亚洲最大的成人av| 欧美日韩久久不卡| 日本sm残虐另类| 精品人在线二区三区| 国产精品一区二区黑丝| 国产天堂亚洲国产碰碰| 99久久精品免费| 亚洲美女区一区| 欧美日韩日日骚| 日韩av成人高清| 久久综合色综合88| www.性欧美| 亚洲高清免费视频| 欧美成人免费网站| 成人精品一区二区三区四区| 亚洲同性同志一二三专区| 欧美性受极品xxxx喷水| 亚洲午夜久久久久久久久电影网| 欧美高清激情brazzers| 国产综合久久久久久鬼色| 国产精品日韩成人| 在线观看一区二区视频| 日本午夜精品视频在线观看| 2023国产精品自拍| 色综合久久88色综合天天| 午夜精品一区在线观看|