⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h39.asm

📁 单片机程序集合
💻 ASM
字号:
; 硬件实验三十九  压力(温度)传感器实验

CS0809 equ  0a000h    ; AD0809片选

OUTBIT   equ 08002h  ; 位控制口
OUTSEG   equ 08004h  ; 段控制口
IN       equ 08001h  ; 键盘读入口

LEDBuf   equ   60h     ; 显示缓冲
Num      equ   70h     ; 显示的数据
DelayT   equ   75h     ;
ADResult equ   76h     ; A/D转换结果


       org   0
       ljmp  Start

AD0809Read:
       mov   dptr, #CS0809
       mov   a, #0
       movx  @dptr, a    ; 起动 A/D

       mov   a, #40h
       djnz  ACC, $      ; 延时 > 100us

       movx  a, @dptr    ; 读入结果
       mov   ADResult, a

       ret



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


Delay:               ; 延时子程序
       mov   r7, #0
DelayLoop:
       djnz  r7, DelayLoop
       djnz  acc, DelayLoop
       ret

SearchLedMap:
       anl   a, #0fh
       mov   dptr, #LEDMAP
       movc   a, @a+dptr
       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   dptr, #OUTSEG
       movx  @dptr,a
       mov   dptr, #OUTBIT
       mov   a, r2
       movx  @dptr, a        ; 显示一位八段管

       mov   a, #01
       call  Delay

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

       inc   r0

       djnz  r1, Loop

       mov   dptr, #OUTBIT
       mov   a, #0
       movx  @dptr, a        ; 关所有八段管
       ret


Start:
       nop
       call  AD0809Read
       mov   LEDBuf+0, #40h
       mov   LEDBuf+1, #40h
       mov   LEDBuf+2, #40h
       mov   LEDBuf+3, #40h
       mov   a, ADResult
       swap  a
       call  SearchLedMap
       mov   LEDBuf+4, a
       mov   a, ADResult
       call  SearchLedMap
       mov   LEDBuf+5, a
       mov   DelayT,#80
DisplayAgain:
       call  DisplayLED
       djnz  DelayT,DisplayAgain
       nop
       sjmp  Start

       end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -