超炫电子表设计实现_第1页
超炫电子表设计实现_第2页
超炫电子表设计实现_第3页
超炫电子表设计实现_第4页
超炫电子表设计实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、 超炫电子表设计实现 学号:1206034203 姓名: 唐颖 一、任务要求:本课题要求以单片机为核心设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。做时钟时在6位LED 显示器上显示时、分、秒,做跑表时显示范围000.0秒999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。要求焊接好开发板,在开发板上进行调试二、系统设计:1,分析任务要求,系统整体设计思路。电子表的电路由多个部分组成,如控制按键的输入电路,单片机的时钟电路,复位电路,LED显示器段码驱动电路,LED显示器位码驱动电路,显示器电路和跑表时钟电路组成。然后通过对以上电路的产生和调整设计出

2、总的电路框图。利用52单片机的P2口作为控制单片机跑表开始,暂停,清零,返回的输入端。P3作为控制LED的显示时钟的调节时间控制信号输入端。P0,P1控制LED动态显示选择控制端控制六个LED的显示时间和显示顺序。定时器T0定时50ms。T1定时10ms,37H-39H保存时钟的变化量。41H-43H保存秒表的变化量。其中为了方便显示,每个变量对应两个单元,以便将变量拆开成两个十进制的数方便显示。 2、 单片机的选择 本系统采用AT89C52单片机、6位数码管显示(不带译码器)和7个、键盘键盘操作(分别为功能键,加一键,减一键,返回键,开始键,暂停键,清零键)作为调节时间的按钮构成一个单片机多

3、功能时钟的硬件。此外包括一些必须的晶振电路和复位电路,是一个多功能时钟,具有时间显示功能和跑表功能,数码管显示时间,通过三个按钮对时间进行调整,按键1为时分秒控制按钮,2、3为加减调节按钮。(1) 计数单元由单片机内部定时器/计数器T0来实现。 (2) 时间显示功能通过LED数码管动态扫描来实现,其中P0口控制数码管的断选信号,P1口的低六位控制数码管的六个片选信号。(3) 时间调整通过接入键盘来实现。 3电子表系统结构框图所示 按键电路 单 LED 片 显示 时钟电路 机 复位电路 跑表电路对定时器T0一个50ms的定时时间,软件计数功能的单元地址R2为20,当R2减到0是秒加一。当秒、分值

4、为60时改位清零,且高位加一。当时的值达到24时,显示全部为0,然后进入新的一天。该系统是通过P2控制时分秒位的选择,通过P0口实现时分秒的显示。时分秒的调节由外接键盘的上三个按钮控制,按一下调秒、两下调分、三下调时、按四下返回。对于定时器T1设定一个10ms的定时时间,当进入一次中断时,秒表最后一位的数字加一。在秒表的子程序中加入按键检测程序,保证在跑表运行的过程中能随时的响应外部按键的信号进行相关的操作。跑表变量储存在41H-43H的单元中,变化后,经过数据处理,经显示程序显示。三、单片机硬件电路原理图1、总体设计图2. 按键结构按键采用的是7个独立按键,首先得按动接在P2.3口的返回键,

5、即进入系统,显示器显示6个0,接着按下接在P2.0口的开始键,使系统开始运行,P2.1口的是接的秒表的复位清零,P2.2口接得是秒表的暂停,键盘1功能切换键是接在P3.2上的,按下1键进入调秒状态每按下P3.0接得2键秒钟加一,每按下P3.1接得3键秒钟减一;按两下键盘1键进入调分状态,每按下2键分钟加一,每按下3键分钟减一;按三下键盘1键进入调时状态,每按下2键时钟加一,每按下3键时钟减一;按四下键盘1键返回计数状态。3.调节电路4.显示电路时钟电路5、跑表电路6、单片机部分四、设计流程图与主要程序 1.1 主程序流程图 程序开始 初始化定时器,开中断 调用显示程序 N 判断有无键按下 Y

6、调用按键调节子程序 1.2显示程序流程图 R1指向数据首址扫描控制字初值放入R5 扫描控制字送到p2口 取段码表地址查显示数据对应段码送P0口 延迟1ms字程序 控制字循环右移 四位循环显示是否结束 N Y 子程序返回2.程序部分MIAOL EQU 30H;存放时间的变量分别为秒钟秒钟个位,十位MIAOH EQU 31HFENL EQU 32HFENH EQU 33HSHIL EQU 34HSHIH EQU 35HSHI EQU 39H ;存放10进制的时钟信息FEN EQU 38HMIAO EQU 37HFUC EQU 36H ;功能键按键计数器,记录功能键按下的次数FANHUI1 BIT

7、P2.0START BIT P2.1;跑表计时开始STOP BIT P2.2;跑表计时停止CLEAR BIT P2.3 ;跑表清零SECOND1 EQU 41H ;保存跑表变量SECOND2 EQU 42HFENG EQU 43HSECOND1L EQU 44HFENGL EQU 48HSECOND2L EQU 46HSECOND1H EQU 45HFENGH EQU 49HSECOND2H EQU 47HORG 0000HSJMP MAINORG 000BHLJMP TIME0ORG 001BHLJMP TIME1ORG 0030HINIT: MOV TMOD,#11H ;选定时器0方式1

8、MOV TH0,#3CH ;置初值MOV TL0,#0B0H ;MOV TH1,#0D8H ;置初值(10MS)0.01S MOV TL1,#0F0H ; MOV R2,#20 ;1秒时间50msX20 SETB ET0 ;开定时器0中断 SETB ET1SETB EA ;开中中断 SETB TR0 ;启动定时器0 MOV P3,#0ffh ;读键值,初始化 MOV P2,#0ffh RETMAIN: ACALL INIT ;调用初始化函数A1: MOV DPTR,#TAB ;查表初值ACALL KEYSCAN MOV A,P2 JNB FANHUI1 ,FANHUI JNB START, S

9、EC_WATCH;判断是否是跑表计时开始 JNB STOP,STOP_WATCH JNB CLEAR,CLEAR_WATCHSJMP A1 ;判断设置时钟时LJMP A1FANHUI : ACALL KEYSCAN ACALLDISP ACALL CHULI CLR TR1 JNB START,SEC_WATCH ;判断是否是跑表计时开始 JNB STOP,STOP_WATCH JNB CLEAR,CLEAR_WATCH SJMP FANHUISEC_WATCH: MOV DPTR,#TAB ACALL DELAY ACALL DISP1 ACALL CHULI1 SETB TR1 MOVSE

10、COND1,#00 MOVSECOND2,#00 A3: LCALL DISP1 LCALL CHULI1 JNB CLEAR,CLEAR_WATCHJNB STOP,STOP_WATCH JNB FANHUI1,FANHUI JNB START, SEC_WATCH AJMP A3 CLEAR_WATCH: MOV SECOND1,#00 MOV SECOND2,#00 LCALL CHULI1 ACALL DISP1LCALL DELAY AJMP A3STOP_WATCH: CLR TR1LCALL CHULI1 ACALL DISP1 SJMP A3KEYSCAN: MOV A,P3;

11、读取按键 ANL A,#07H; CJNE A,#07H,K0;判断是否按键 RETK0: ACALL DELAY;有按键延时去抖动MOV A,P3ANL A,#07HCJNE A,#07H,K1;RET;是抖动返回K1:MOV R3,A;不是抖动,存按键K2:MOV A,P3;ANL A,#07H;CJNE A,#07H,K2;等待松开按键MOV A,R3;CJNE A,#06H,K3;键值读取看是否是P3.1被按下,加1按键SJMP KEY1;K3: CJNE A,#05H,KEY3 ; 看是否是P3.2被按下,减1按键SJMP KEY2 ;KEY3: INC FUC;不是加1也不是减1就

12、是功能键P3.0,被按下,功能键按下次数加1 CLR TR0 ;按下功能见后进入调整时间模式,关闭定时器 MOV A,FUC ;读取功能键按下次数 CJNE A,#4,RETT ;如果按下四次了,就恢复时间模式SETB TR0 ;打开定时器MOV TH0,#3CH ; MOV TL0,#0B0H ;MOV FUC,#0 ;计数器清0SJMP RETT ;KEY1: ACALL ADD1 ;如果是加1按键,调用加1函数 SJMP RETT ;KEY2: ACALL SUB1 ;如果是减1按键,调用减1函数RETT: RET、CHULI1:MOV R1,#44H ;将十进制的时间个十位分开 MOV

13、 R0,#41H ; MOV R3,#3 ;K4: MOV A,R0 ;取时间MOV B,#10 ;分离个十为DIV AB ;MOV R1,B ;个位保存在以L(SHIL FENL MIAO L)结尾的时间变量中INC R1 ;MOV R1,A ;INC R1 ;INC R0 ;DJNZ R3,K4 ;MOV A,FENG ;时信息更新,保证不大于23CJNE A,#60,RET5 ;MOV FENG,#0 ;RET5:RET ;CHULI: MOV R1,#30H; MOV R0,#37H ; MOV R3,#3 ;K5: MOV A,R0 ;MOV B,#10 ;DIV AB ;MOV R

14、1,B ;INC R1 ;MOV R1,A ;INC R1 ;INC R0 ;DJNZ R3,K4 ;MOV A,SHI ;CJNE A,#24,RET4 ;MOV SHI,#0 ;RET4:RETADD1:MOV A,FUC ; CJNE A,#3,AD0 ; MOV R0,#39H ;时存放的地址 MOV A,R0 ;取时,看是否满23 CJNE A,#23,AD1 ; MOV R0,#0 ; 如果满了23,就清0 SJMP RET0AD0: MOV A,#36H ;不是给时加1 ADD A,FUC ; MOV R0,A ;取出要加数的地址 MOV A,R0 ; CJNE A,#59,AD

15、1; 是否加到59了 MOV R0,#0; 加到了59就清0 SJMP RET0AD1: INC R0;时没有加到23,其他的没有加到59时,加1RET0:RETSUB1:MOV A,FUC CJNE A,#3,SU0 MOV R0,#39H MOV A,R0 CJNE A,#0,SU1 MOV R0,#23 SJMP RET1SU0: MOV A,#36H ADD A,FUC MOV R0,A MOV A,R0 CJNE A,#0,SU1 MOV R0,#59 SJMP RET1SU1: DEC R0RET1:RETDISP: MOV R3,#20DI0: MOV R0,#35H MOV R

16、4,#6 MOV R5,#01HDI1: MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P1,A RL A MOV R5,A DEC R0 ACALL DELAY MOV P1,#00H DJNZ R4,DI1 DJNZ R3,DI0 RETDISP1:MOV R3,#5DI01: MOV R0,#49H MOV R4,#6 MOV R5,#01HDI11: MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P1,A RL A MOV R5,A DEC R0 ACALL DELAY MOV P1,#00H DJ

17、NZ R4,DI11 DJNZ R3,DI01 RET TIME1: MOV TH1,#0D8H ;置初值(10MS)0.01S MOV TL1,#0F0H INC SECOND1 ; MOV A, SECOND1 ; CJNE A,#100,RET2 ;看是否满100个10ms MOV SECOND1 ,#0 ;满100个秒,秒清0 INC SECOND2 ;秒加1 MOV A, SECOND2 ;是否满60秒 CJNE A,#60,RET2 ; MOV SECOND2,#0 INC FENG MOV A,FENG ;分钟加1 RET2: RETITIME0:MOV TH0,#3CH MOV

18、 TL0,#0B0H ;重置初值 DJNZ R2,RET3 ;是否满1秒 MOV R2,#20 ;秒钟加1 INC MIAO ; MOV A,MIAO ; CJNE A,#60,RET3 ;看是否满60秒 MOV MIAO ,#0 ;满60秒,秒清0 INC FEN ;分钟加1 MOV A,FEN ;是否满60分 CJNE A,#60,RET3 ; MOV FEN,#0 ;满60分 INC SHI ;时钟加1 MOV A,SHI ; CJNE A,#24,RET3 ;时钟是否满24 MOV SHI,#0 ;满24,时钟清0RET3: RETIDELAY:MOV R6,#5D0: MOV R7,#245 DJNZ R7,$ DJNZ R6,D0 RETTAB:DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80HDB 90H,88H,83H,0c6H,0a1H,86H,8eH,0ffH ;共阳编码表心得体会这次课程设计让我学会了很多东西,任何书本上

温馨提示

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

评论

0/150

提交评论