单片机之秒表汇编程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机之秒表汇编程序

此程序上电后开始显示并不正常,过一会才正常,按键似乎并没有用,希

望能明白怎么回事频率12mhz ,从零开始计到99 秒,原理为先通过十六进制和

十进制的转换后使用变址寻址把数据

显示出来,十位和各位共延时4 毫秒,如果有按键按下计数从零开始

DIZHI EQU 21H ;用于中间的数据传送COUNT EQU 22H ;用于计

数器的自加ORG 0000HJMP STARTORG 0030HTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;共阳极代码START: CLR COUNTWORK1: CALL DISPY ;十六进制的转换,输出

代码显示INC COUNTJNB P2.0 , FUYUAN ;s4 按下从零开始计数MOV A ,COUNTCJNE A ,#100 ,WORK2CLR COUNTCALL STARTWORK2: LJMP WORK1DISPY: MOV A ,COUNTMOV B ,#10DIV ABMOV R1 ,#250 ;寄存器计数250 次,一次4 毫秒MOV DIZHI ,ADISP: MOV A ,DIZHI ;数据的中间交换MOV DPTR ,#TABMOVC A ,@ A+DPTR;变址寻址MOV P0 ,A ;P0 为段选CLR P2.5 ;P2 位选,显示十位CALL DELSETB P2.5MOV A ,BMOVC A , @A+DPTRMOV P0 ,A ;显

示个位CLR P2.4CALL DELSETB P2.4DJNZ R1 ,DISPRETFUYUAN:CALL DELMOV P0 ,#11111111BMOV P2 ,#11111111BLJMP START ;从零开始DEL: MOV R6 ,#4F1: MOV R7, #250 ;延时两个毫秒F2: DJNZ R7 ,F2DJNZ R6 ,F1RETENDtips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

相关文档
最新文档