秒表的设计与制作.pptVIP

  • 5
  • 0
  • 约5.92千字
  • 约 45页
  • 2023-04-27 发布于广东
  • 举报
;学习目标;学习目标; 在单片机应用系统中,通常要使用显示器作为输出设备显示系统的状态,常用的显示器有LED数码管、点阵显示器和液晶显示器。; 利用单片机和2位数码管制作一个秒表。 1、显示时间为00~99s,每秒自动加1; 2、开机时显示“00”; 3、设置一个按键,当按键第一次被按下松开时,秒表开始计时;当第二次按下按键松开时,秒表停止计时;当第三次按下按键松开时,秒表复位。;;一、数码管简介; 单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。 通常每个笔段要串一个数百欧姆的限流电阻。;共阴极和共阳极的字段码互为反码 。;二、显示程序的任务;(一)绘制程序流程图 本项目中要显示的数字或符号的段码在编写程序时给出,故使用查表程序结构形式实现。;二、显示程序的任务;二、显示程序的任务;二、显示程序的任务;练习:在“Proteus软件”中绘制电路图。用“Keil”模拟仿真软件进行程序的编辑、编译。将“.HEX”文件装载到Proteus中,观察程序运行结果。;三、显示方式;三、显示方式;例:编程在两个LED数码管上显示数字“1”“2”;例:用静态显示方式实现0~99s运行的秒表;三、显示方式;三、显示方式; ORG 00H SJMP STAR ORG 1BH SJMP T1S QRG 30H STAR: MOV R2,#00 ;秒计数器 MOV R4,#20 ;50ms计数器 MOV IE,#88H MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB TR1;LOOP:ACALL DIS SJMP LOOP T1S: MOV TH1,#3CH MOV TL1,#0B0H DJNZ R4,T1S1 MOV R4,#20 INC R2 CJNE R2,#99,T1S1 CLR TR1 T1S1: RETI;DIS: MOV A,R2 MOV B,#10 DIV AB ACALL SEG7 MOV P0,A MOV A,B ACALL SEG7 MOV P2,A RET;SEG7: INC A MOVC A,@A+PC RET DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH END;练习:在“Proteus软件”中绘制电路图。用“Keil”模拟仿真软件进行程序的编辑、编译。将“.HEX”文件装载到Proteus中,观察程序运行结果。;各数码管的段选线共用一个8位的并行I/O口,位选线分别由相应的I/O口控制; 显示时逐位扫描,即:从段选口送出某位的字形码,再选通该位,显示一段时间,再换下一位。;例:8-1;例:8-1; ORG 0 SJMP STAR ORG 30H STAR: MOV P1,#0FFH ;关闭位选口 MOV P2,#0FFH ;关闭段选口 ST1: MOV R0,#0 ;计数器预设为0 MOV R1,#0FEH ;选通P1.0控制的显示器 ST2: MOV A,R0 ;将R0中数字转换为显示码 ;从P2口输出 LCALL SEG7 CPL A ;取反; MOV P2,A MOV A,R1 ;位选通:P1 MOV P1,A LCALL DLY10 ;延时10MS MOV P1,#0FFH ;关断位选通 INC R0 ;计数+1 CJNE R0,#4H,ST3 ;四位是否扫描完? SJMP ST1 ;0~3扫描完,重新开始 ST3: MOV A,R1 ;0~3依次显示 RL A MOV R1,A SJMP ST2;DLY10:MOV R7,#20 ;延时10MS MOV R6,#248 DLY1: DJNZ R6,$ DJNZ R7,DLY1 RET SEG7: INC A ;将数字转换为

文档评论(0)

1亿VIP精品文档

相关文档