实训新项目数码管显示.docVIP

  • 11
  • 0
  • 约2.24千字
  • 约 4页
  • 2020-09-06 发布于江苏
  • 举报
任务四 单片机控制数码管显示 4.1 单片机并口直接驱动单个LED显示。具体要求:将AT89C51单片机P0口P0.0~P0.7引脚连接到一个共阴数码管a~h段上,数码管公共端接地。在数码管上循环显示0~9数字,时间间隔为0.5s。 1、硬件设计图14所表示。 图14 所需元件清单图15所表示。 图15 2、程序设计: LED数码显示原理:7段LED显示器内部由7个条形发光二极管和一个小圆点发光二极管组成,依据各管公共端接线形式,可分为共阴极型和共阳极型。 LED数码管a~h段8个发光二极管加正向电压发亮,加反向电压不发亮,依据差别亮暗组合就能形成差别字形,这种组合称为段码,共阴极型和共阳极型段码见表。 显示字形 段码(按h~a排列) 显示字形 段码(按h~a排列) 共阴极型 共阳极型 共阴极型 共阳极型 0 3FH C0H 8 7FH 80H 1 06H F9H 9 6FH 90H 2 5BH A4H A 77H 88H 3 4FH B0H B 7CH 83H 4 66H 99H C 39H C6H 5 6DH 92H D 5EH A1H 6 7DH 82H E 79H 86H 7 07H F8H F 71H 8EH 因为显示数字0~9段码没有规律可循,只能采取查表方法来完成所需操作。若采取共阴极型数码管,根据数字0~9次序,在程序中创建段码表以下: “TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 程序以下: ORG 0000H MAIN: MOV R1,#0 MOV R2,#10 0~9 MOV DPTR,#TAB LP: MOV A,R1 MOVC A,@A+DPTR MOV P0,A INC R1 ACALL DEL DJNZ R2,LP LJMP MAIN TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH (高电平有用) DEL: MOV R5,#10 L2: MOV R7,#100 L1: MOV R6,#0FAH DJNZ R6,$ DJNZ R7,L1 DJNZ R5,L2 RET END 4.2 数码管动态显示 当显示器位数较多时,可采取动态显示。所谓动态显示就是一位一位地轮流点亮显示器各个位(扫描)。对于显示器每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但因为人眼视觉暂留效应和发光二极管熄灭时余晖,我们看到却是多个字符“同时”显示。显示器亮度既和点亮时导通点亮相关,也和点亮时间长短和间隔时间相关。调整电流和时间参数,即可实现亮度较高较稳定显示。 本例中显示器由4个共阴极LED数码管组成。AT89C51单片机P0口输出显示段码,由一片74LS245驱动输出给LED数码管,由P1口输出位码,经74LS06输出给LED显示。4位数码管显示““1234”。 1、硬件设计图18所表示。 图18 所需元件清单图19所表示: 图19 2、软件设计 ORG 0000H LJMP MAIN ORG 000BH LJMP STOP ORG 0030H MAIN:MOV R0,#0 MOV R1,#30 MOV R5,#0 CLR 20H.7 MOV P0,#00H MOV P1,#0FH MOV TMOD,#01H MOV TH0,#0FEH MOV TL0,#0BH MOV DPTR,#TAB SETB ET0 SETB EA SETB TR0 LP:MOV A,#3 MOVC A,@A+DPTR SETB P1.2 MOV P0,A JNB 20H.7,$ CLR 20H.7 MOV A,#4 MOVC A,@A+DPTR CLR P1.2 SETB P1.3 MOV P0,A JNB 20H.7,$ CLR 20H.7 LP2: MOV A,#1 MOVC A,@A+DPTR CLR P1.3 SETB P1.0 MOV P0,A JNB 20H.7,$ CLR 20H.7 MOV A,#2 MOVC A,@A+DPTR CLR P1.0 SETB P

文档评论(0)

1亿VIP精品文档

相关文档