《秒表的设计与制作》PPT课件.ppt_第1页
《秒表的设计与制作》PPT课件.ppt_第2页
《秒表的设计与制作》PPT课件.ppt_第3页
《秒表的设计与制作》PPT课件.ppt_第4页
《秒表的设计与制作》PPT课件.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/4/20,1,学习目标,知识目标,了解数码管的基础知识。 熟悉LED静态显示电路和显示程序的设计方法。 掌握LED动态显示电路和动态扫描显示程序的设计方法。 进一步掌握中断系统和定时器的应用。,学习目标,能力目标,能进行单片机数码管显示系统设计。 会使用单片机的开发工具。 能完成秒表的设计、制作与调试。,在单片机应用系统中,通常要使用显示器作为输出设备显示系统的状态,常用的显示器有LED数码管、点阵显示器和液晶显示器。,项目要求,利用单片机和2位数码管制作一个秒表。 1、显示时间为0099s,每秒自动加1; 2、开机时显示“00”; 3、设置一个按键,当按键第一次被按下松开时,秒表开始计时;当第二次按下按键松开时,秒表停止计时;当第三次按下按键松开时,秒表复位。,项目要求,电路图,一、数码管简介,1. 数码管的结构及工作原理,单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。 通常每个笔段要串一个数百欧姆的限流电阻。,2. 数码管的编码方式,一、数码管简介,共阴极和共阳极的字段码互为反码 。,LED数码管的字形码表,一、数码管简介,二、显示程序的任务,1、设置显示缓冲区,存放待显示数据和字符。 2、显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字形码。 3、输出显示:输出字形码到显示端口。,例:电路如图所示,要求数码管依次显示0F,每位数字显示1S。设晶振频率为12 MHz。,(一)绘制程序流程图 本项目中要显示的数字或符号的段码在编写程序时给出,故使用查表程序结构形式实现。,二、显示程序的任务,解:,ORG 00H SJMP START ORG 0030H START:MOV P1, #0FFH ;数码管的8段LED全暗 ST1: MOV DPTR, #TAB MOV R0, #0 ;显示初值 ST2: MOV A, R0 ACALL SEG7 ;根据显示数字查显示码 MOV P1, A ;显示码送P1口显示 ACALL DELAY ;延时1s INC R0 ;显示数字加1 CJNE R0,#10h,ST2 ;16个数没显示完转ST2 SJMP ST1 ;16个数显示完转ST1,循环显示,二、显示程序的任务,DELAY: MOV R7, #10 ;1S延时子程序 D1: MOV R6, #200 D2: MOV R5, #250 DJNZ R5, $ DJNZ R6, D2 DJNZ R7, D1 RET,二、显示程序的任务,SEG7: MOVC A, A+DPTR ;数字转换为显示码 RET TAB: DB 0C0H,0F9H,0A4H,0B0H ;03的共阳型显示码 DB 99H,92H,82H,0F8H ;47的共阳型显示码 DB 80H,90H,88H,83H ;8B的共阳型显示码 DB 0C6H,0A1H,86H,8EH ;CF的共阳型显示码 END,练习:在“Proteus软件”中绘制电路图。用“Keil”模拟仿真软件进行程序的编辑、编译。将“.HEX”文件装载到Proteus中,观察程序运行结果。,二、显示程序的任务,三、显示方式,多位数码管的两种显示方式:静态显示和动态显示,段选:显示什么字符,位选:哪位显示,三、显示方式,1. 静态显示,各数码管的段选线分别接一个8位的并行I/O口; 数码管在显示某一字符时,只要通过相应的I/O口送出该字符的字形码。,例:编程在两个LED数码管上显示数字“1”“2”,MOV P0,#0F9H MOV P2,#0A4H,三、显示方式,例:用静态显示方式实现099s运行的秒表,解:设计思路: (1)秒信号的产生。 (2)计数器:每过1s计数器加1,加到99就停止。 (3)把计数器的值转换成十进制并显示。,比较指令,除法指令,三、显示方式,用一个50ms的定时器定时20次。,三、显示方式,本任务可以划分成以下几个功能程序模块: 主程序:定时器、中断、内存单元初始化 DIS显示子程序:秒计数器的计数值转换成十进制数,并显示 SEG7段码转换子程序:十进制数转换成段码 定时中断服务程序:1S时间到,修改秒计数器,编程技巧:采用模块化的设计方法。,三、显示方式,各模块关系如下:,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中,观察程序运行结果。,要求秒表循环计时,程序如何修改?,静态显示的特点?,无闪烁,编程简单,占I/O线多。,三、显示方式,各数码管的段选线共用一个8位的并行I/O口,位选线分别由相应的I/O口控制; 显示时逐位扫描,即:从段选口送出某位的字形码,再选通该位,显示一段时间,再换下一位。,2. 动态显示,有闪烁,元器件少,占I/O线少,编程复杂。,动态显示的特点?,三、显示方式,例:8-1,简单程序流程,MOV P2,#0C0H,MOV P1,#0FEH,延时时间分别为10ms和1s有什么不同现象?,三、显示方式,例: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 ;03扫描完,重新开始 ST3: MOV A,R1 ;03依次显示 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 ;将数字转换为显示码 MOVC A,A+PC RET DB 3FH,06H,5BH,4FH ;共阴极段码:0,1,2,3 DB 66H,6DH,7DH,07H ;4,5,6,7 DB 7FH,6FH,77H,7CH ;8,9,A,B DB 39H,5EH,79H,71H ;C,D,E,F END,三、显示方式,四、秒表的设计,1. 硬件设计,元器件清单,四、秒表的设计,练习:搭建秒表的硬件平台。注意测量所选数码管的类型和引脚。,四、秒表的设计,四、秒表的设计,按键的抖动及去抖处理,按键在闭合和断开时,触点会存在抖动现象。一般10ms,四、秒表的设计,按键的抖动及去抖处理,去抖动的方法:硬件去抖 软件去抖,LOOP:JB P3.2, LOOP LCALL DE10 JB P3.2, LOOP LCALL KEY,四、秒表的设计,2. 软件设计,本任务可以划分成以下几个功能程序模块: 主程序:定时器、中断、内存单元初始化、按键的查询 KEY键处理子程序:统计按键次数,并进行相应处理 DIS显示子程序:秒计数器的计数值转换成十进制数,并显示 SEG7段码转换子程序:十进制数转换成段码 DLY10延时子程序:去抖、动态扫描时间 定时中断服务程序:1S时间到,修改秒计数器,各模块关系如下:,四、秒表的设计,内存单元分配:,四、秒表的设计,ORG 00H LJMP STAR ORG 000BH LJMP TIME0 ORG 0030H STAR:MOV R0,#0 MOV R1,#0 MOV R2,#0 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H,SETB EA SETB ET0 LOOP:LCALL DIS JB P3.2, LOOP LCALL DLY10 JB P3.2, LOOP JNB P3.2, $ LCALL KEY AJMP LOOP,四、秒表的设计,KEY: INC R2 CJNE R2,#1,KEY2 SETB TR0 RET KEY2:CJNE R2,#2,KEY3 CLR TR0 RET KEY3:CJNE R2,#3,BACK MOV R0,#0 MOV R1,#0 MOV R2,#0 BACK:RET,TIME0:MOV TH0,#3CH MOV TL0,#0B0H INC R0 CJNE R0,#20,I_RET MOV R0,#0 INC R1 CJNE R1,#100,I_RET MOV R1,#0 I_RET:RETI,四、秒表的设计,DIS: MOV A,R1 MOV B,#10 DIV AB MOV P2,#11111101B ACALL SEG7 MOV P0,A LCALL DLY10 MOV P2,#11111110B MOV A,B ACALL SEG7 MOV P0,A LCALL DLY10 RET,DLY10:MOV R7,#20 DLY1: MOV R6,#248 DJNZ R6,$ DJNZ R7,DLY1 RET SEG7: INC A MOVC A,A+PC RET DB 0C0H,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论