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

📄 一位计数器,按p3.2数码管加1,到9后回0,同时小喇叭响一下报警.asm

📁 本人跟网上学单片机时,调试用过的资料,有汇编和C,
💻 ASM
字号:
;一位计数器,按p3.2数码管加1,到9后回0,同时小喇叭响一下报警,


         jmp start      ;跳到主程序
         org 0030h
start:   mov 30h,#0ffh  ;30h送ff即-1
 main:   INC 30H
         mov a,30h
         setb p3.5      ;把键盘口送高电平
   mm:   jnb p3.5,tt    ;如果p3.2按下则执行tt
         ljmp mm        ;如果没有按下则反复监测键盘
   tt:   MOV DPTR,#TAB
         MOVC A,@A+DPTR
         CLR P2.6      ;开数码管
         MOV P0,A      ;送显示
         lcall delay   ;延时一段时间
         cjne a,#60h,main ;如果是最后一个数据重新开始
         cjne a,#20h,BB   ;如果是数字9到小喇叭响的程序
         ljmp start       ; 否则30H 清除
         ret
TAB: DB 28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H;数据表,0--9(如果反向排列则为倒计数
 BB:
         mov r1,#255      ;小喇叭响的次数
ppp:     cpl p3.3         ;小喇叭响
         call deL         ;小喇叭响的速率
         djnz r1,ppp      ;小喇叭响255次。
         jmp start
delay:   mov r5,#20     ;延时子程序1闪烁灯调用
   d1:   mov r6,#20
   d2:   mov r7,#255
         djnz r7,$
         djnz r6,d2
         djnz r5,d1
      ret
  del:                  ;延时子程序2小喇叭调用
        mov r4,#255
        djnz r4,$
      ret
      end

⌨️ 快捷键说明

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