第2讲 单片机控制两个数码管.pptVIP

  • 162
  • 0
  • 约1.61千字
  • 约 11页
  • 2019-03-04 发布于江苏
  • 举报
第2讲 单片机控制两个数码管

第2讲 单片机控制两个数码管 任务2-1 单片机控制两个数码管静态显示00-99 程序框图 汇编程序设计 C51程序设计 根据汇编语言的程序,写出C51的程序 重点: 从汇编语言到C51的算术运算 任务2-2 单片机控制两个数码管动态显示00-99 汇编 SCOUNT EQU 30H ORG 0000H SETB P3.7 CLR P3.6 START: MOV P1,#0FFH MOV SCOUNT,#00H ST1: MOV 20H,#0 MOV 21H,#0 ST2: CPL P3.6 CPL P3.7 MOV R0,20H MOV A,R0 ACALL SEG7 MOV P1,A ACALL DELAY INC SCOUNT MOV R2,SCOUNT CJNE R2,#10,STH MOV SCOUNT,#00H INC R0 MOV 20H,R0 C51 根据汇编语言的程序写出C51的程序 实训与作业 完成数码管显示00-99的项目(静态显示方式、动态显示方式) 写出实验报告 * * 本讲内容: 1、单片机控制两个数码管静态显示00-99 2、单片机控制两个数码管静态显示按钮次数 十六进制数字型代码表 思考:y、J、L、H的编码? 1、两个共阳极数码管; 2、P2控制十位,P1控制个位 3、延时方式:延迟时间1秒。 second EQU 20H ORG 0000H START: MOV second,#00H LOOP: ACALL SHOW ACALL DELAY1S INC second MOV R0,second CJNE R0,#64H,LOOP SJMP START SHOW: MOV A,20H MOV B,#10 DIV AB SHOW1: MOV DPTR,#TAB MOVC A,@A+DPTR ;十位 MOV P2,A MOV A,B ;个位 MOVC A,@A+DPTR MOV P1,A RET DELY1S: MOV R6,#100 D2: MOV R5,#20 D1: MOV R4,#248 DJNZ R4,$ DJNZ R5,D1 DJNZ R6,D2 RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H END 分析: 1, 两个数码管显示:十位值放在(A),个位值放在(B),方法:采用DIV,(20H)/10,商A,余数B 2,将second从00到99循环附值 3,每个second显示一次,只要将前面的程序作为子程序调用。 4,显示间隔:采用延迟子程序(延迟时间为1秒) 1、两个共阳极数码管,码位由P1控制; 2、P3.7控制十位, P3.6控制个位 3、延时方式:延迟时间1秒。 STH: CPL P3.6 CPL P3.7 ST3: MOV R1,21H ST4: MOV A,R1 ACALL SEG7 MOV P1,A ACALL DELAY CJNE R0,#10,ST2 INC R1 MOV 21H,R1 MOV 20H,#0 CJNE R1,#10,ST2 SJMP ST1 DELAY: MOV R7,#4 D1: MOV R6,#20 D2: MOV R5,#248 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET SEG7: INC A MOVC A,@A+PC RET DB ...... END * *

文档评论(0)

1亿VIP精品文档

相关文档