河北工程单片机数字钟课程设计
单片机数字钟课程设计
单片机数课字程钟设设报计告报告●设计目的:1、熟悉MCS-51指令,以及基本程序的编写/子程序的调用/调试的方法;2、学习定时/计数器的使用,掌握定时/计数器的编程方法;3、加强对MCS-51单片机存储器结构的了解,以及堆栈的使用,PUSH、MOV、JB、MOVC等指令和ORG、EQU、DB等指令的用法;4、根据跑马灯的不同循环模式设计出相应的程序,使跑马灯实现不同的灯光效果。
5、学习将程序从电脑捎入单片机的方法。
●设计要求:设计的程序必须满足以下要求:当按下电路板上4※4行列式键盘上相应的按键时,将能够完成不同的功能:1、F1:进入计算功能,数据与显示归零,按数字键(0~9)输入数据,按“+”、“—”进行加减运算,数码管显示键入数据或运算结果。
2、F2:进入时钟显示,数码管显示为时间状态。
3、F3:进入时间设置功能,当前设置位闪烁,键入数字设定时间,设定完成后按F2确认。
4、F4:进入跑马灯功能,有四种跑马灯模式可以循环切换,当然也可通过编程实现更多的模式。
●设计电路图:●程序流程图:1、时钟功能的程序流程图:计算器程序流程图跑马灯程序流程图时钟程序流程图程序:SUDAT00 EQU 40H ;加(减数)SUDAT01 EQU 41H SUDAT02 EQU 42H SUDAT03 EQU 43HSUDAT10 EQU 44H ;加(被减数)SUDAT11 EQU 45H SUDAT12 EQU 46H SUDAT13 EQU 47HDISPDAT0 EQU 29H ;显示数据区DISPDAT1 EQU 2AH DISPDAT2 EQU 2BH DISPDAT3 EQU 2CH DISPDAT4 EQU 2DHDISPDAT5 EQU 2EH DISPDAT6 EQU 2FH DISPLONG EQU 31H ;显示长度DISPCON EQU 32H ;显示计位KEYDAT EQU 30H ;键码HOURH EQU 34H ;时间数据HOURL EQU 35H MINH EQU 36HMINL EQU 37H LEDMOD EQU 39H ;流水灯模式SUCON EQU 3AH ;输入计数SUBIT EQU 20H.1 ;减标示DP EQU 20H.2 ;秒显标示KEYBIT EQU 20H.3 ;有键码标示SU EQU 20H.4 ;计算标示TIME EQU 20H.5 ;时间标示TIMESET EQU20H.6 ;时间设置标示;ORG 0000HAJMP STARTORG 0003HRETIORG 000BHAJMP TIME0ORG 0013HRETIORG 001BHLJMP TIME1ORG 0023HRETI;-------------------------------ORG 0050HSTART:MOV A,#00HMOV R0,#20HMOV R1,#30HLOOP0:MOV @R0,AINC R0DJNZ R1,LOOP0MOV SP,#50HMOV DISPLONG,#07SETB RS0SETB RS1MOV R0,#DISPDAT0MOV R2,#200MOV R3,#120MOV R4,#00MOV R5,#00MOV R6,#0FEHMOV R7,DISPLONGCLR RS0MOV R2,#50MOV R3,#30CLR RS1MOV LEDMOD,#02MOV DISPLONG,#07MOV DISPCON,#07MOV KEYDAT,#0FFHSETB TIMEMOV TL0,#0AH ;1E定时2.5MSMOV TH0,#0F7HMOV IE,#8AH ;开T0,T1MOV TMOD,#11H ;定时方式1SETB TR0MOV TL1,#00H ;定时10MSMOV TH1,#0DCHSETB TR1MAIN:ACALL KEYJNB KEYBIT,MAIN1ACALL DOKEYMAIN1:JB TIME,MAIN2JB TIMESET,MAIN2JB SU,MAIN3MAIN2:MOV R0,#HOURHMOV R1,#DISPDAT0 MOV R2,#04H MAINLOOP:MOV A,@R0 ;时间转七段码送显示数据区MOV DPTR,#TABMOVC A,@A+DPTRMOV C,DPMOV ACC.7,CMOV @R1,AINC R0INC R1DJNZ R2,MAINLOOP SJMP MAINMAIN3:MOV R0,#SUDAT00 ;计算数转段码送显区MOV R1,#DISPDAT0 MOV R2,#04HSJMP MAINLOOP ;;;;;;;;;;;;;;;;;;;; TAB:DB40H,79H,24H,30H,19H DB12H,02H,78H,00H,10H DB7FH,7FH,7FH,7FH,7FH,7FH ;0A-0FF全黑;;;;;;;;;;;;;;;;;;;;;;; ;;;显示子程序;R0显示数址,R6位选值, R7显示计数,DISPL0NG显示数长度;DISPDATA0显示数据区首址DISPLAY:MOV P2,#0FFHMOV P0,@R0MOV P2,R6INC R0DJNZ R7,DISPLAY1 MOV R7,DISPLONG MOV R0,#DISPDAT0MOV R6,#0FEHSJMP DISPOUTDISPLAY1:MOV A,R6RL AMOV R6,ADISPOUT:RET;;;;;;;;;;;;;;;;;;;;;;;;;;; 键盘扫描程序;KEYDAT存放键码,双键按下时只认前键;KEYBIT有键标示KEY:MOV P1,#0F0HMOV A,P1ORL A,#0FHXRL A,#0FFHJZ KEYOUT0MOV A,#60HLCALL DELAYMOV P1,#0F0HMOV A,P1ORL A,#0FHXRL A,#0FFHJZ KEYOUT0MOVP1,#0FEH ;KEYDAT存放键码JNB P1.4,KEY1JNB P1.5,KEY2JNB P1.6,KEY3JNB P1.7,KEY4MOV P1,#0FDHJNB P1.4,KEY5JNB P1.5,KEY6JNB P1.6,KEY7JNB P1.7,KEY8MOV P1,#0FBHJNB P1.4,KEY9JNB P1.5,KEY10JNB P1.6,KEY11JNB P1.7,KEY12MOV P1,#0F7HJNB P1.4,KEY13JNB P1.5,KEY14JNB P1.6,KEY15JNB P1.7,KEY16MOV KEYDAT,#0FFHCLR KEYBITKEYOUT0:AJMP KEYOUT1KEY1:MOV KEYDAT,#0AHSJMP KEYOUTKEY2:MOV KEYDAT,#09HSJMP KEYOUTKEY3:MOV KEYDAT,#08HSJMP KEYOUTKEY4:MOV KEYDAT,#07HSJMP KEYOUTKEY5:MOV KEYDAT,#0BHSJMP KEYOUTKEY6:MOV KEYDAT,#06HSJMP KEYOUTKEY7:MOV KEYDAT,#05HSJMP KEYOUTKEY8:MOV KEYDAT,#04HSJMP KEYOUTKEY9:MOV KEYDAT,#0CHSJMP KEYOUTKEY10:MOV KEYDAT,#03HSJMP KEYOUTKEY11:MOV KEYDAT,#02HSJMP KEYOUTKEY12:MOV KEYDAT,#01H SJMP KEYOUTKEY13:MOV KEYDAT,#0DH SJMP KEYOUTKEY14:MOV KEYDAT,#0EH SJMP KEYOUTKEY15:MOV KEYDAT,#00H SJMP KEYOUTKEY16:MOV KEYDAT,#0FH KEYOUT:SETB KEYBITMOV P1,#0F0HMOV A,P1ORL A,#0FH XRL A,#0FFH JNZ KEYOUT MOV A,#100H LCALL DELAY KEYOUT1:RET;;;;;;;;;;;;;;;;;;;;; ;;;;;;;键盘处理,; SU计算标志,TIME时间标志,TIMSET时间设置标志;SUCON计算输入位数 ,TSETCON时间设置位数;DISPCON显示位数;SUDAT00-03加数(减数),SUDAT10-13 加数(被减数);LEDMOD流水灯模式, TSETCON时间设置位数,DISPCON显示位数;ADDBIT加法标示,SUBBIT 减法标示DOKEY:MOV A,KEYDATCLR CSUBB A,#10H ;大于16为错码JNC DONEXTCLR CMOV A,KEYDATSUBB A,#0AH ;大于10为功能键,小于10为数字键JC NEXTMOV B,#03MUL ABMOV DPTR,#DOFKEY ;功能键处理JMP @A+DPTRDOFKEY:LJMP DOFKEY1LJMP DOFKEY2LJMP DOFKEY3LJMP DOFKEY4LJMP DOFKEY5LJMP DOFKEY6NOPNOPDONEXT:LJMPDOKEYOUTNEXT:LJMP DOSKEYDOFKEY1:;计算功能LCALL TIMDBJNB TIMESET,DOFKEY11PUSH PSWSETB RS0SETB RS1MOV R2,#200MOV R3,#120POP PSWDOFKEY11:SETBSU ;SU计算标志CLR TIME ;TIME时间标志CLRTIMESET ;TIMSET时间设置标志MOVSUCON,#04H ;SUCON计算输入位数SETB DPCLR SUBITMOV SUDAT00,#00HMOV SUDAT01,#00HMOV SUDAT02,#00HMOV SUDAT03,#00HMOV SUDAT10,#00HMOV SUDAT11,#00HMOV SUDAT12,#00HMOV SUDAT13,#00HLJMP DOKEYOUTDOFKEY2:;计时功能LCALL TIMDBJNB TIMESET,DOFKEY21PUSH PSWSETB RS0SETB RS1MOV R2,#200MOV R3,#120POP PSWDOFKEY21:SETB TIMECLR SUCLR TIMESETMOV SUCON,#00HSETB DPLJMP DOKEYOUTDOFKEY3:;时间设置功能LCALL TIMDBSETB TIMESETCLR TIMECLR SUMOV SUCON,#00HSETB DPLJMPDOKEYOUTDOFKEY4: ;流水灯功能MOV A,LEDMODCLR CSUBB A,#01HJNC DOFKEY40MOV LEDMOD,#03 MOV DISPLONG,#04H LJMP DOKEYOUT DOFKEY40:MOV LEDMOD,AMOV DISPLONG,#07H ;DISPLONG显示位数MOV LEDMODCJNE A,#02H,DOFKEY41MOV DISPDAT4,#00H MOV DISPDAT5,#00H MOV DISPDAT6,#00H LJMP DOKEYOUT DOFKEY41:MOV DISPDAT4,#24H MOV DISPDAT5,#92H MOV DISPDAT6,#49H LJMP DOKEYOUT DOFKEY5: ;加号处理MOV R4,SUDAT00 MOV R5,SUDAT01 MOV R6,SUDAT02 MOV R7,SUDAT03 MOV R0,SUDAT10 MOV R1,SUDAT11 MOV R2,SUDAT12 MOV R3,SUDAT13 LCALL BADDMOV SUCON,#04H CLR SUBITLJMP DOKEYOUT DOFKEY6: ;减号处理 MOV R4,SUDAT00MOV R5,SUDAT01MOV R6,SUDAT02MOV R7,SUDAT03MOV R0,SUDAT10MOV R1,SUDAT11MOV R2,SUDAT12MOV R3,SUDAT13LCALL BADDMOV SUCON,#04HSETB SUBITLJMP DOKEYOUTDOSKEY:;数字键处理JB SU,DOSKEY1JBTIMESET,DOSKEY2 ;时间设定LJMP DOKEYOUTDOSKEY1:MOV A,SUCONCJNE A,#04H,DOSKEY10MOV SUDAT00,#00HMOV SUDAT01,#00HMOV SUDAT02,#00HMOV SUDAT03,#00HDOSKEY10:MOV A,SUCONJZ DOKEYOUTMOV SUDAT00,SUDAT01MOV SUDAT01,SUDAT02MOV SUDAT02,SUDAT03MOV SUDAT03,KEYDATDEC SUCONLJMPDOKEYOUTDOSKEY2:MOV A,SUCON ;设定时间ADD A,SUCONMOV DPTR,#DOSKEY20JMP @A+DPTRDOSKEY20:SJMP DOSKEY21SJMP DOSKEY22SJMP DOSKEY23SJMP DOSKEY24DOSKEY21:MOV A,KEYDAT ;设定小时高位CLR CSUBB A,#03JNC DOKEYOUTMOV HOURH,KEYDATSJMP DOSKEY25DOSKEY22:MOV A,HOURH ;设定小时低位CJNE A,#02,NE1MOV A,KEYDATCLR CSUBB A,#4JNC DOKEYOUTNE1:MOV HOURL,KEYDATSJMP DOSKEY25DOSKEY23:MOV A,KEYDAT ;设分高位CLR CSUBB A,#6JNC DOKEYOUTMOV MINH,KEYDATSJMP DOSKEY25DOSKEY24:MOV MINL,KEYDAT ;设分低位DOSKEY25:LCALL SU10T08LCALL TIMDBINC SUCONMOV A,SUCONCLR CSUBB A,#4JC DOKEYOUTMOV SUCON,#00HDOKEYOUT:CLR KEYBIT MOVKEYDAT,#0FFH ;0FFH 为无键码指示 RET;;;;;;;;;;;;TIME0;;;;;;;;;用第三组寄存器,MINL 分钟低位,MINH 分钟高位 ;HOURL 小时低位,HOURH 小时高位;R4分钟数<60,R5小时数<24 ,R2为2.5MS 计数,R3为0.5S 计数;DP 秒闪标示TIME0: ;T0计时 PUSH ACC MOV F0,C PUSH PSW SETB RS0 SETB RS1 MOVTL0,#0AH ;1E 定时2.5MSMOV TH0,#0F7H SETB TR0 ACALLDISPLAY ;0.25MS 显示一位DJNZ R2,TIMEOUT MOV R2,#200 ;200*0.25MS=0.5S JB SU ,TIME00 CPL DP TIME00:DJNZ R3,TIMEOUT MOV R3,#120 ;120*0.5S=60S INC R4 ;R4计分钟值,满60向R5进位 MOV A ,R4 CLR CSUBB A ,#60JC TIME01 MOV R4,#00 INC R5 ;R5计小时值 TIME01:MOV A,R4 ;将R5值化为十进制数 MOV B ,#10 DIV AB MOV MINH ,A MOV MINL ,B MOV A ,R5 CLR CSUBB A ,#24 JC TIME02 MOV R5,#00 TIME02:MOV A ,R5 MOV B ,#10 DIV ABMOV HOURH ,A MOV HOURL ,B TIMEOUT:POP PSWMOV C ,PSW.1 POP ACC RETI;;;;;;;;;;;;;;;;;;;;;;;;TIME1: ;T1计时,用于跑马灯和控制时间设置闪烁 PUSHACC ;R2计数时间闪烁频率MOV F0,C ;r3计数跑马灯频率PUSH PSW ;R4保存时间闪动初值 CLR RS0 ;第二组寄存器SETB RS1MOV TL1,#00H ;定时10MSMOV TH1,#0DCH SETB TR1JNB TIMESET ,TI10 DJNZ R2,TI10 MOV R2,#50 MOV A ,SUCON MOV R0,#HOURH ADD A ,R0 MOV R0,A MOV A,@R0 CJNE A ,#0AH,TI11 MOV A ,R4 MOV @R0,A SJMP TI10 TI11:MOV A,@R0 MOV R4,AMOV @R0,#0AH TI10:MOV A ,LEDMOD CJNE A ,#02H,TI12 DJNZ R3,TI1OUT MOV R3,#15 ACALL LED SJMP TI1OUT TI12:DJNZ R3,TI1OUT MOV R3,#60 ACALL LED TI1OUT:POP PSWMOV C ,PSW.1 POP ACC RETI;;;;;;;;;;DELAY: ;延时程序 ,时间常数在ACC PUSH ACC DELAY1:DJNZ ACC ,$ POP ACC DJNZ ACC ,DELAYRET ;;;;;;;;;;;;;;;;;;;;;; ;流水灯子程序;LEDMOD模式,流水灯数据在DISPDAT4-6LED:MOV A,LEDMOD ADD A,LEDMOD MOV DPTR,#LED0 JMP @A+DPTR LED0:SJMP MODL1SJMP MODL2SJMP MODL3MOV DISPLONG,#04H RETRETMODL1:MOVC,DISPDAT6.7 ;右移动MOV A,DISPDAT4RLC AMOV DISPDAT4,AMOV A,DISPDAT5RLC AMOV DISPDAT5,AMOV A,DISPDAT6RLC AMOV DISPDAT6,A RETMODL2:MOVC,DISPDAT4.0 ;左移动MOV A,DISPDAT6 RRC AMOV DISPDAT6,A MOV A,DISPDAT5 RRC AMOV DISPDAT5,A MOV A,DISPDAT4 RRC AMOV DISPDAT4,A RET MODL3:MOVC,DISPDAT4.7 ;灯从左全亮后又到全灭CPL CMOV A,DISPDAT5RLC AMOV DISPDAT5,AMOV A,DISPDAT6RLC AMOV DISPDAT6,AMOV A,DISPDAT4RLC AMOV DISPDAT4,ARET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;十进制加法子程序;入口R0-3,R4-7,出口R4-7SUADD:MOV A,R3ADD A,R7DA AMOV C,ACC.4ANL A,#0FHMOV R7,AMOV A,R2ADDC A,R6DA AMOV A,ACC.4ANL A,#0FHMOV R6,AMOV A,R1ADDC A,R5DA AMOV C,ACC.4ANL A,#0FHMOV R5,AMOV A,R0ADDC A,R4DA AMOV R4,ARET;;;;;;;;;;;;;;;;;;;;;;;;;;;DOBM:;求补码MOV A,#99HCLR CSUBB A,R4MOV R4,AMOV A,#09HCLR CSUBB A,R5MOV R5,AMOV A,#09HCLR CSUBB A,R6MOV R6,AMOV A,#0AHCLR CSUBB A,R7MOV R7,ARET;;;;;;;;;;BUM: ;负数显示数(补码还原)MOV A,#99HCLR CSUBB A,R4MOV R4,AMOV A,#09HCLR CSUBB A,R5MOV R5,AMOV A,#09HCLR CSUBB A,R6MOV R6,AMOV A,#09HCLR CSUBB A,R7MOV R7,AMOV R0,#00HMOV R1,#00HMOV R2,#00HMOV R3,#01H ACALL SUADDANL A,#0FH MOV R4,ARET;;;;;;;;;;;BADD: ;带符号十进制加法JNB SUBIT,BADD1ACALL DOBM ;负时求补码BADD1:ACALL SUADD ;相加 ANL A,#0E0H JZ BADD2MOV A,R4ANL A,#0FH ORL A,#90H MOV R4,AMOV SUDAT10,R4 MOV SUDAT11,R5 MOV SUDAT12,R6 MOV SUDAT13,R7 ACALL BUMMOV SUDAT00,R4 MOV SUDAT01,R5 MOV SUDAT02,R6 MOV SUDAT03,R7 RETBADD2:MOV A,R4ANL A,#0FHMOV R4,AMOV SUDAT10,R4MOV SUDAT11,R5MOV SUDAT12,R6MOV SUDAT13,R7MOV SUDAT00,R4MOV SUDAT01,R5MOV SUDAT02,R6MOV SUDAT03,R7RET ;;;;;;;;;;;;;;;;;;;;;;;;;;SU10T08: ;十进制化为16进制PUSH PSWSETB RS0SETB RS1MOV A,HOURHMOV B,#10MUL ABADD A,HOURLMOV R5,AMOV A,MINHMOV B,#10MUL ABADD A,MINLMOV R4,APOP PSWRET;;; ; ;;;;;;;;;;;;TIMDB:;将时间计数化为十进制PUSH PSWSETB RS0SETB RS1MOVA,R4 ;将R4值化为十进制数MOV B,#10DIV ABMOV MINH,AMOV MINL,BMOVA,R5 ;将R5值化为十进制数MOV B,#10DIV ABMOV HOURH,AMOV HOURL,BPOP PSWRETEND结论:将MCS-51单片机学习板上相应的元器件用锡焊好以后,把按照课程设计要求的所需的程序捎入单片机中,然后通电对其进行调试。
单片机数字时钟课程设计
单片机数字时钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和编程方法,掌握数字时钟的设计与实现过程。
2. 使学生掌握数字时钟的显示原理,包括时、分、秒的显示和调整方法。
3. 让学生了解单片机与其他硬件设备(如LED显示屏、按键等)的接口技术。
技能目标:1. 培养学生运用单片机编程实现数字时钟功能的能力。
2. 培养学生运用所学知识解决实际问题的能力,如调试程序、排查故障等。
3. 提高学生的动手实践能力,能够独立完成数字时钟的搭建和调试。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发学生的创新意识和探索精神。
2. 培养学生团队协作精神,学会在合作中解决问题,共同完成任务。
3. 培养学生严谨的学习态度和良好的学习习惯,注重实践与理论相结合。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为单片机应用实践课程,注重理论联系实际,培养学生的动手能力和创新能力。
2. 学生特点:学生已具备一定的单片机基础知识,有一定的编程基础,但实践能力有待提高。
3. 教学要求:以学生为主体,教师为主导,采用项目式教学,引导学生主动探究和解决问题。
二、教学内容1. 理论知识:- 单片机原理及编程基础回顾;- 数字时钟的原理与设计思路;- 单片机与其他硬件设备的接口技术。
2. 实践操作:- 数字时钟的硬件搭建,包括LED显示屏、按键等;- 单片机程序编写,实现时、分、秒的显示与调整;- 程序调试与故障排查。
3. 教学大纲:- 第一阶段(1课时):单片机原理及编程基础回顾;- 第二阶段(2课时):数字时钟原理学习,设计思路讲解;- 第三阶段(2课时):硬件搭建与程序编写;- 第四阶段(1课时):程序调试与故障排查;- 第五阶段(1课时):成果展示与总结。
4. 教材关联:- 教材第3章:单片机原理及编程基础;- 教材第4章:数字时钟设计与实现;- 教材第5章:单片机与其他硬件设备接口技术。
单片机数字钟课程设计
单片机数字钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握数字时钟的工作机制;2. 学生能描述数字时钟的各个模块功能,如时钟电路、计数器、显示电路等;3. 学生能运用所学编程语言,如C语言,编写数字时钟的程序代码。
技能目标:1. 学生能运用单片机开发工具进行程序编写、调试和下载;2. 学生能动手搭建数字时钟硬件电路,实现时钟的显示和计时功能;3. 学生能通过实际操作,掌握基本电路故障排查和程序调试技巧。
情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新意识和动手能力;2. 学生在团队协作中学会沟通、分享和承担责任,培养合作精神;3. 学生通过解决实际问题,体会科技对社会发展的作用,增强社会责任感。
课程性质:本课程为实践性较强的课程,结合理论教学和动手操作,让学生在实际操作中掌握单片机数字时钟的制作。
学生特点:学生具备一定的电子基础知识,对单片机有一定了解,喜欢动手实践,具有较强的求知欲和好奇心。
教学要求:注重理论与实践相结合,强调学生在操作过程中掌握知识,培养学生动手能力、创新意识和团队协作能力。
通过课程学习,使学生能够独立完成单片机数字时钟的设计与制作。
二、教学内容1. 理论知识:- 单片机原理:介绍单片机的硬件结构、工作原理和编程方法;- 数字时钟原理:分析数字时钟的组成、工作原理及各模块功能。
2. 实践操作:- 硬件设计:指导学生设计数字时钟的硬件电路,包括时钟电路、计数器、显示电路等;- 程序编写:教授学生使用C语言编写单片机程序,实现数字时钟的功能;- 调试与下载:教授学生如何使用开发工具进行程序调试和下载。
3. 教学大纲:- 第一周:单片机原理学习,了解数字时钟的基本原理;- 第二周:分析数字时钟各模块功能,学习C语言编程基础;- 第三周:设计数字时钟硬件电路,编写程序代码;- 第四周:进行程序调试,搭建完整的数字时钟系统。
4. 教材关联:- 教材第一章:单片机原理及其应用;- 教材第二章:数字电路设计基础;- 教材第三章:C语言编程基础;- 教材第四章:单片机程序设计与实践。
单片机电子时钟课程设计实验报告(1)
单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
单片机电子时钟课程设计报告
单片机电子时钟课程设计报告一、设计目的。
本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。
通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。
二、设计原理。
本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。
利用数码管来显示小时和分钟,通过按键来调整时间。
同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。
三、设计方案。
1. 硬件设计。
(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。
(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。
(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。
(4)按键输入,设计按键来调整时间,包括调整小时和分钟。
(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。
2. 软件设计。
(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。
(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。
(3)按键处理,设计按键扫描程序,实现对时间的调整。
(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。
四、设计实现。
1. 硬件实现。
根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。
2. 软件实现。
编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。
五、实验结果。
经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。
六、总结与展望。
通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。
在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。
同时,也为学生今后的科研和创新工作奠定了良好的基础。
单片机时钟课程设计
单片机时钟课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握时钟模块的使用方法;2. 学会编写程序,实现单片机时钟的基本功能,如时、分、秒显示;3. 了解时钟电路的组成及工作原理,能够分析时钟电路故障并进行排除。
技能目标:1. 能够独立完成单片机时钟电路的搭建;2. 掌握编程软件的使用,能够编写和调试单片机时钟程序;3. 学会使用示波器、万用表等工具进行电路测试和故障排除。
情感态度价值观目标:1. 培养学生的动手实践能力,激发对单片机及电子技术的兴趣;2. 培养学生团队协作意识,提高沟通与交流能力;3. 培养学生严谨、细致、负责的学习态度,树立正确的价值观。
课程性质:本课程为实践性较强的课程,要求学生在掌握基本理论知识的基础上,注重动手实践。
学生特点:学生具备一定的单片机基础知识,对编程和电子技术有一定了解,但实践能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的动手实践能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 单片机时钟原理:介绍单片机时钟的基本原理,包括时钟信号的生成、分频、计数等,对应教材第3章。
2. 时钟电路设计:讲解时钟电路的组成、工作原理及常用元器件的选择,对应教材第4章。
3. 编程软件使用:学习编程软件的使用方法,掌握程序编写、编译、下载等操作,对应教材第5章。
4. 单片机时钟程序设计:学习编写单片机时钟程序,实现时、分、秒显示,对应教材第6章。
5. 电路搭建与测试:动手搭建单片机时钟电路,使用示波器、万用表等工具进行测试,对应教材第7章。
6. 故障分析与排除:学习分析时钟电路故障,掌握故障排除方法,对应教材第8章。
7. 课程实践:分组进行单片机时钟项目实践,培养学生的动手能力和团队协作精神。
教学安排与进度:第1周:学习单片机时钟原理,了解时钟信号的生成与计数;第2周:学习时钟电路设计,进行电路图绘制;第3周:学习编程软件使用,编写时钟程序;第4周:搭建单片机时钟电路,进行测试与调试;第5周:分析故障,进行故障排除;第6周:课程实践,完成单片机时钟项目。
单片机数字钟课程设计
单片机数字钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握数字钟的电路构成和工作原理。
2. 使学生掌握单片机编程的基本方法,能够运用C语言编写简单的数字钟程序。
3. 帮助学生了解数字钟的各个模块功能,如时钟电路、计数器、显示电路等。
技能目标:1. 培养学生动手搭建数字钟电路的能力,提高实践操作技能。
2. 培养学生运用编程软件进行程序编写、调试和优化单片机程序的能力。
3. 培养学生分析问题、解决问题的能力,能够解决数字钟运行过程中出现的故障。
情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发学生的求知欲和探索精神。
2. 培养学生团队合作意识,学会与他人共同解决问题,提高沟通与协作能力。
3. 培养学生严谨的科学态度,注重实验数据的真实性,养成认真负责的学习习惯。
课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,旨在培养学生的动手能力、编程能力和问题解决能力。
学生特点:学生为初中生,具备一定的电子知识基础,对单片机有一定了解,喜欢动手实践,对新鲜事物充满好奇心。
教学要求:教师需结合学生特点,以引导为主,讲解与实践相结合,注重培养学生的自主学习能力和团队合作精神。
在教学过程中,关注学生的个体差异,给予个性化指导,确保每位学生都能达到课程目标。
通过课程学习,使学生能够独立完成数字钟的搭建和程序编写,提高综合运用知识的能力。
二、教学内容1. 单片机基础理论:介绍单片机的组成、工作原理,重点讲解AT89C52单片机的内部结构、引脚功能及特性。
教材章节:第一章 单片机概述,第二节 AT89C52单片机简介2. 数字钟电路设计:讲解数字钟的电路构成,包括时钟电路、计数器、显示电路等模块,分析各模块之间的连接关系。
教材章节:第二章 数字钟电路设计,第一节 数字钟概述,第二节 电路模块介绍3. 单片机编程:教授C语言编程基础,以数字钟为例,讲解程序设计思路、流程及编程技巧。
数字时钟单片机课程设计
数字时钟单片机课程设计一、课程目标知识目标:1. 学生能理解数字时钟单片机的基本原理,掌握单片机的硬件结构和软件编程方法。
2. 学生能运用所学的单片机知识,设计并实现一个具有基本功能的数字时钟。
3. 学生了解数字时钟的显示原理,掌握时间计算和显示的编程技巧。
技能目标:1. 学生能够独立完成数字时钟单片机的硬件连接和程序编写,具备实际操作能力。
2. 学生通过课程学习,培养解决实际问题的能力,学会调试程序,找出并解决问题。
3. 学生能够运用所学知识,进行创新设计,提高动手实践能力。
情感态度价值观目标:1. 学生在学习过程中,培养对单片机技术的兴趣,提高对电子技术的认识。
2. 学生通过团队合作,培养沟通协作能力,增强团队精神。
3. 学生在课程实践中,体会科技改变生活的实际应用,激发创新意识。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的单片机基础知识,对电子技术有较高的兴趣,喜欢动手实践。
教学要求:教师应结合学生特点,采用任务驱动法,引导学生主动探究,注重实践操作能力的培养。
在教学过程中,关注学生的个体差异,提供有针对性的指导。
通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。
二、教学内容1. 硬件基础:介绍数字时钟单片机的硬件结构,包括处理器、时钟电路、显示模块等组成部分。
关联教材第3章“单片机硬件结构”。
- 单片机选型与特性- 时钟电路原理与设计- 显示模块工作原理与接口技术2. 程序设计:讲解数字时钟程序设计的基础知识,包括编程语言、程序结构和流程控制。
关联教材第4章“单片机编程基础”。
- 基本指令与编程语法- 时间计算与显示编程- 程序调试与优化技巧3. 系统设计与实现:引导学生进行数字时钟单片机系统的设计与实现,包括硬件连接、程序编写和功能测试。
关联教材第6章“单片机应用系统设计”。
- 硬件连接与电路搭建- 程序编写与功能实现- 系统调试与故障排除4. 创新实践:鼓励学生运用所学知识进行创新设计,提高数字时钟的功能和实用性。
单片机电子时钟课程设计报告
单片机电子时钟课程设计报告一、引言。
随着科技的不断发展,电子产品已经渗透到我们生活的方方面面。
其中,电子时钟作为一种常见的电子产品,被广泛应用于各个领域。
本课程设计旨在通过单片机技术,设计并实现一个功能强大、稳定可靠的电子时钟,以满足人们对精准时间的需求。
二、设计方案。
1. 硬件设计。
本课程设计选用了51单片机作为核心处理器,配合数码管显示模块、时钟芯片等外围器件,构成了电子时钟的硬件平台。
通过对硬件电路的设计和布线,实现了对时间的精准显示和控制。
2. 软件设计。
在软件设计方面,本课程设计采用了C语言作为编程语言,利用单片机的定时器、中断等功能模块,编写了精确的时钟控制程序。
通过对时钟的分、秒、小时的精准控制,实现了电子时钟的正常运行和显示。
三、功能实现。
1. 时间显示。
经过精心设计的软件程序,实现了对时间的精准显示。
时钟的显示界面清晰明了,数字显示稳定可靠,能够满足人们对时间的基本需求。
2. 时间调整。
通过设置按键,可以对时钟进行时间的调整。
用户可以根据实际需求,随时对时钟的时间进行调整,保证时钟的准确性。
3. 闹铃功能。
本课程设计还实现了闹铃功能,用户可以通过设置闹铃时间,让时钟在设定的时间点发出提示音,提醒用户重要事件的发生。
四、实验结果。
经过实际测试,本课程设计的电子时钟能够稳定可靠地运行,显示精准,功能完善。
时钟的硬件和软件设计均达到了预期的要求,符合设计的初衷和要求。
五、总结与展望。
本课程设计通过对单片机电子时钟的硬件和软件设计,成功实现了一个功能强大、稳定可靠的电子时钟。
但是,仍有一些功能可以进一步完善和优化,比如增加温湿度显示功能、实现无线时间校准等。
未来,我们将继续努力,不断完善电子时钟的功能,为人们的生活带来更多的便利。
六、参考文献。
[1] 《单片机原理与接口技术》,XXX,XXX出版社,2008。
[2] 《C语言程序设计》,XXX,XXX出版社,2010。
七、致谢。
感谢所有为本课程设计提供帮助和支持的老师和同学们,在他们的帮助下,本课程设计得以顺利完成。
单片机课程设计--数字钟
单片机课程设计--数字钟一、设计目的及意义(1)巩固、加深和扩大51系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)对课题设计方案的分析、选择、比较、熟悉用51单片机做系统开发、研制的过程,软硬件设计的方法、容及步骤二、原理图设计中简要说明设计目的(1)功能:24小时制时间显示,可随时进行时间校对调整,整点报时及闹钟功能。
(2)原理图中所使用的元器件功能在图中的作用1.主要元件AT89C51P3.2 /INT0(外部中断0)定时器/计数器0溢出中断2.LED及按键开关用于时间的显示和设定(3)各器件的工作过程及顺序计时状态,AT89C51通过P1口持续向LED发送信号,使LED扫描显示刚前时分秒,当出现定时器/计数器0溢出中断时,时间加多1秒,AT89C51从P1口向LED输出新的时间;只按住SET UP键时,进入外部中断0,时间计数停止,通过点击按键H,M,S对时分秒进行调整,新的时间值送给了计时程序,松开SET UP键退出中断,回到计时状态;按住SET UP键和ALARM键时,进入外部中断0,时间计数停止,通过点击按键H,M对时分进行闹钟定时,AT89C51记忆时分值,退出时先松开SET UP键再松开ALARM;闹铃:当时间值和设定闹铃值一样时,进行闹铃一分钟。
(3)流程图(4)程序清单#include<reg52.h>#define uint unsigned int #define uchar unsigned char sbit wela1=P2^0;sbit wela2=P2^1;sbit wela3=P2^2;sbit wela4=P2^3;sbit wela5=P2^4;sbit wela6=P2^5;sbit dp= P1^7;sbit c0= P0^0;sbit c1= P0^1;sbit c2= P0^2;sbit c3= P0^3;sbit c4= P0^4;sbit c5= P0^5;sbit kai= P3^2;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};void display(void);void delay(uint);uint num=0,num1=0,num2=0,num3=0;uint shi,ge,shi1,ge1,shi2,ge2;uint shi1t,ge1t,shi2t,ge2t; void delay(uint x){uint i,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}void main(){TMOD=0x11;TH0 =(65536-50000)/256;TL0 =(65536-50000)%256;EA =1; //开总中断EX0 =1;//开外部中断0IT0 =0; //外部中段0设为电平触发ET0 =1; //T0溢出中断充许TR0 =1; //启动部定时器IT1=0; //外部中段1设为边沿触发while(1){display();}}void display(void) //扫描显示{wela5=1;P1=table[shi];delay(5);wela5=0;wela6=1;P1=table[ge];delay(5);wela6=0;wela3=1;P1=table[shi1];delay(5);wela3=0;wela4=1;P1=table[ge1];dp=0;delay(5);wela4=0;wela1=1;P1=table[shi2];delay(5);wela1=0;wela2=1;P1=table[ge2];dp=0;delay(5);wela2=0;}void int0()interrupt 0 // 时间调整功能,外部中断0,与闹钟功能,按住SET UP进入,松开退出{while(kai==0){c3=1; //关闭闹铃display();if(c0==1)//秒{ge++;delay(10);if(ge==10){ge=0;shi++;if(shi==6){shi=0;}}while(c0)display();}if(c1==1)//分{ge1++;delay(10);if(ge1==10){ge1=0;shi1++;if(shi1==6){shi1=0;}}while(c1)display();}if(c2==1)//时{ge2++;delay(10);if(ge2==10){ge2=0;shi2++;}if(shi2==2&&ge2==4){shi2=0;ge2=0;}//24进0while(c2)display();}}if(c4==1)//闹钟功能区,按住ALARM和SET UP时,就能进行闹钟设定,设定完成后,先松开SET UP再松开ALARMF才有效{shi1t=shi1;ge1t=ge1;shi2t=shi2;ge2t=ge2;}else{num1=shi*10+ge;num2=shi1*10+ge1;num3=shi2*10+ge2;}}void T0time() interrupt 1 //定时器0溢出中断{TH0 =(65536-50000)/256;TL0 =(65536-50000)%256;num++;if(num==5) //num==20时,为现实1秒{num=0;num1++;if (num1==60){num1=0;num2++;}shi=num1/10;ge =num1%10;if (num2==60){num2=0;num3++;}shi1=num2/10;ge1 =num2%10;if (num3==24){num3=0;}shi2=num3/10;ge2 =num3%10;}if(shi1==0&&ge1==0)//整点检测报时{ c3=0; }else{c3=1;}if(shi1==shi1t && ge1==ge1t && shi2==shi2t && ge2==ge2t)//闹钟检测 { c3=0; }else{c3=1;}}。
单片机电子时钟课程设计报告(一)
单片机电子时钟课程设计报告(一)单片机电子时钟课程设计报告随着科技的不断发展,电子时钟软件的应用越来越广泛。
本文将介绍一个单片机电子时钟的设计过程与实现方法。
一、设计目标本次课程设计我们的目标是设计一款能够进行时间显示的电子时钟。
具体要求如下:1. 时钟实时显示当前时间,包括时、分、秒和星期;2. 描述时钟功能,实现时间的调校、时间格式的调亮和调暗等操作;3. 显示格式清晰美观,操作方便简单,能够长时间稳定地工作。
二、硬件设计1. 硬件搭建:本设计采用单片机AT89C51作为核心CPU。
同时使用16MHz的晶振电路来为微控制器提供准确的时基。
另外,为了实现更好的人机交互,本设计还需要使用LCD液晶显示屏和4个按键。
2. 硬件接口:液晶显示屏需要采用并行接口,并且需要对显示屏背光进行控制。
而4个按键需要分别连接到4个I/O口上,从而实现对电子时钟的各项控制功能。
三、软件设计1. 程序框架:本设计使用Keil编程软件进行程序编写,并采用C语言进行程序设计。
主要的程序框架分为4个部分:数据收集模块、处理模块、显示模块和按键扫描模块。
2. 数据收集模块:数据收集模块采用中断方式,以1秒为间隔进行一次数据收集。
同时还需要对实时时间进行调校和校验。
3. 处理模块:处理模块主要用于完成各种时间处理和格式设置功能,包括对时、分、秒等时间数据进行读取、存储和操控操作。
同时,还要完成处于闹钟和日历两种状态的时间判断和时间更新操作。
4. 显示模块:显示模块主要用于将处理过的时间数据显示在LCD液晶显示屏上,实现时间的实时显示功能。
5. 按键扫描模块:按键扫描模块主要用于检测按键的按下和松开状态,并且根据不同按键的功能实现对时钟的不同控制操作。
四、总结本次设计采用单片机AT89C51作为核心CPU,对硬件和软件进行优化设计,结构合理,功能完善。
最终实现了日期时间的实时显示、闹钟功能、日历功能等多种功能。
同时,本设计能够进行时间调亮和调暗,具有操作方便简单、显示清晰美观等特点。
单片机数字钟课程设计
单片机数字钟课程设计单片机数字钟课程设计1. 硬件设计:- 使用单片机控制数字钟的显示和时间的设置功能,在电路板上连接LED数码管用于显示时间。
- 使用实时时钟芯片或者外部晶振作为时钟源,确保时间的准确性。
- 设置按键用于调整时间,包括小时、分钟和秒钟。
2. 功能设计:- 初始化功能:启动时将时间设置为00:00:00。
- 显示功能:将当前时间显示在LED数码管上,包括小时、分钟和秒钟。
- 调整时间功能:按下相应的按键,可以调整小时、分钟和秒钟,同时更新LED数码管上的显示。
- 闹钟功能:设置一个闹钟时间,并在闹钟时间到达时发出声音或者闪烁LED灯提示。
3. 软件设计:- 使用C语言编写单片机的程序,通过编程控制数码管的显示和按键的响应。
- 在程序中使用定时器中断来更新时间的显示,确保时间的准确性。
- 使用按键中断来响应按键的操作,包括调整时间和设置闹钟功能。
4. 测试与调试:- 在编写完程序后,进行测试和调试,确保各项功能的正常运行。
- 使用示波器等工具来监测时钟信号和按键信号的波形,确保硬件连接的正确性。
- 运行程序并观察LED数码管的显示,以及按键的响应情况,进行功能的验证。
5. 效果展示:- 在完成测试和调试后,将数字钟的效果展示给他人,包括时间的显示和调整、闹钟的设置和响应等功能。
- 可以将数字钟制作成实物展示,方便他人观看和操作,也可以进行演示和讲解,介绍数字钟的工作原理和设计思路。
整个单片机数字钟的课程设计过程包括硬件设计、功能设计、软件设计、测试与调试以及效果展示。
通过这个设计项目,可以锻炼学生的硬件和软件设计能力,提高他们对单片机原理和应用的理解和掌握程度。
单片机课程设计报告数字电子钟正文
1 设计概述1.1 设计课题任务设计一个具有特定功能的电子钟。
具有时间显示功能。
并有时间设定,时间调整功能。
1.2 功能要求说明设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。
2 系统的组成及工作原理2.1 系统的组成数字钟实际上是一个对标准频率(1Hz)进行计数的计数电路。
由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1Hz 时间信号必须做到准确稳定。
通常使用石英晶体振荡器电路构成数字电子钟。
(1)晶体振荡器晶体振荡器给数字提供一个频率稳定准确的12MHz的方波信号,可保证数字电子钟的走时准确及稳定。
不管是指针式的电子钟还是数字数字显示的电子钟都使用了晶体振荡器。
(2)复位电路时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器,时个位和时十位计数器构成。
秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,时个位和时十位计数器为24进制计数器。
(3)数码管数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。
(4)键盘键盘是控制和修改时钟的重要输入模块,通过键盘可以修改时间。
(5)控制部分AT89S52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32I/0口线,看门狗(WDT),两个数据指针,三个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
2.2 系统的工作原理(1):输入/输出口线P0.0-P0.7 P0口8位双向口线P1.0-P1.7 P1口8位双向口线P2.0-P2.7 P2口8位双向口线P3.0-P3.7 P3口8位双向口线(2):地址锁存控制信号ALE在系统扩展时,ALE用于控制把P0口输出地低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。
单片机时钟课程设计
单片机时钟课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握时钟电路的组成与工作原理。
2. 使学生学会编程控制单片机时钟,实现时钟的显示与调整功能。
3. 帮助学生了解实时时钟芯片的应用,掌握相关寄存器的配置方法。
技能目标:1. 培养学生运用单片机进行时钟设计与实现的能力,提高编程技巧。
2. 培养学生动手实践能力,学会使用开发工具进行电路设计与调试。
3. 提高学生团队协作能力,学会在项目过程中分工合作,共同解决问题。
情感态度价值观目标:1. 激发学生对电子技术的兴趣,培养主动学习的习惯。
2. 培养学生面对问题的积极态度,勇于尝试,不断优化解决方案。
3. 增强学生的自信心,让他们在实践中体验成功,认识到努力的价值。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握单片机时钟相关知识的基础上,能够独立完成时钟设计与实现,培养实际操作能力,同时注重培养学生团队协作精神,提高解决问题的能力。
通过本课程的学习,学生将具备以下具体学习成果:1. 掌握单片机时钟电路的原理与设计方法。
2. 能够使用编程语言实现单片机时钟的显示与调整功能。
3. 熟悉实时时钟芯片的使用,并能进行相关寄存器的配置。
4. 提高动手实践能力,具备团队协作和解决问题的能力。
5. 增强学习兴趣,形成积极向上的学习态度。
二、教学内容根据课程目标,本章节的教学内容主要包括以下几部分:1. 单片机基础理论:回顾单片机的基本原理,重点讲解时钟电路的组成、工作原理及常用时钟芯片。
2. 时钟电路设计与编程:介绍时钟电路的设计方法,包括晶振电路、时钟芯片的连接与配置。
结合教材章节,学习编程控制单片机时钟,实现显示与调整功能。
3. 实时时钟芯片应用:以教材为依据,详细讲解实时时钟芯片(如DS1302、DS3231等)的使用方法,包括寄存器配置、数据读取与写入等。
4. 教学大纲安排:a. 第一周:回顾单片机基础理论,学习时钟电路的组成与工作原理。
单片机课程设计数字钟的设计
实验任务(1.开机时,显示12:00:00的时间开始计时;(2.P0.0/AD0控制“秒”的调整,每按一次加1秒;(3.P0.1/AD1控制“分”的调整,每按一次加1分;(4.P0.2/AD2控制“时”的调整,每按一次加1个小时;2.电路原理图P0_0~P0_3要加上拉电阻。
图4.20.1 3.系统板上硬件连线(2.把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;(3.把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;4.相关基本知识(1.动态数码显示的方法(2.独立式按键识别过程(3.“时”,“分”,“秒”数据送出显示处理方法5.程序框图6.汇编源程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT P0.2MINITEK BIT P0.1SECONDK BIT P0.0DISPBUF EQU 40HDISPBIT EQU 48HT2SCNTA EQU 49HT2SCNTB EQU 4AHTEMP EQU 4BHORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV SECOND,#00HMOV MINITE,#00HMOV HOUR,#12MOV DISPBIT,#00HMOV T2SCNTA,#00HMOV T2SCNTB,#00HMOV TEMP,#0FEHLCALL DISP ;2KB范围内长调用MOV TMOD,#01HMOV TH0,#(65536-2000) / 256 ;2msMOV TL0,#(65536-2000) MOD 256WT: JB SECONDK,NK1 ;SECONDK是1转NK1,即按键SP1按下时转.LCALL DEL Y10MSJB SECONDK,NK1INC SECONDMOV A,SECONDCJNE A,#60,NS60MOV SECOND,#00HNS60: LCALL DISPJNB SECONDK,$NK1: JB MINITEK,NK2LCALL DEL Y10MSJB MINITEK,NK2INC MINITEMOV A,MINITECJNE A,#60,NM60MOV MINITE,#00HNM60: LCALL DISPJNB MINITEK,$NK2: JB HOURK,NK3LCALL DELY10MSJB HOURK,NK3INC HOURMOV A,HOURCJNE A,#24,NH24MOV HOUR,#00HNH24: LCALL DISPJNB HOURK,$NK3: LJMP WTDEL Y10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETDISP: ;将得出的时间存入40H (DISPBUF)之后的地址MOV A,#DISPBUFADD A,#8DEC AMOV R1,AMOV A,HOURMOV B,#10DIV ABMOV @R1,A ;累加器送内部RAM单元@R1与R1区分?:@R1——R1为地址,@R1指向其内容。
单片机课程设计可调数字钟(来自河北大学)
软件调试:检查程序逻辑是 否正确,功能是否实现
性能测试:测试数字钟的准 确性、稳定性和可靠性
硬件调试:检查电路连接是 否正确,电源电压是否稳定
故障排除:根据测
单片机可调数字钟的精度和稳定性分析
精度:采用高精度时钟芯片,确保时间显示准确无误 稳定性:采用抗干扰设计,确保在复杂环境下也能稳定运行 温度补偿:采用温度补偿技术,确保在不同温度下都能保持高精度 电源管理:采用低功耗设计,确保在电池供电下也能长时间稳定运行
单片机课程设计可调数 字钟
汇报人:
目录
添加目录标题
01
单片机课程设计可调 数字钟概述
02
单片机可调数字钟的 设计与实现
03
单片机可调数字钟的 性能分析
04
单片机可调数字钟的 应用前景和发展趋势
05
单片机课程设计可调 数字钟的总结与展望
06
添加章节标题
单片机课程设计 可调数字钟概述
课程设计目的和意义
提高动手实践能力 和创新能力
将所学知识应用于 实际项目,解决实 际问题
感谢您的观看
汇报人:
外壳设计:选择合适的外壳, 如塑料外壳或金属外壳等
单片机可调数字钟的软件设计
软件架构:模块化设计, 易于维护和扩展
功能模块:时间显示、闹 钟设置、时间调整等
编程语言:C语言或汇编 语言
程序流程:初始化、主循 环、中断处理等
界面设计:简洁明了,易 于操作
调试与测试:模拟器仿真、 硬件调试等
单片机可调数字钟的调试与测试
外观设计:具有独特的外 观设计,易于识别和操作
稳定性:具有较高的稳定 性和可靠性,不易出现故 障
单片机可调数字钟的应用场景
单片机课程设计数字钟实验报告
单片机课程设计:电子钟一、实现功能1、能够实现准确计时,以数字形式显示时、分、秒的时间。
2、小时以24小时计时形式,分秒计时为60进位,能够调节时钟时间。
3、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。
4、能够实现按键启动与停止功能。
5、能够实现整点报时功能。
6、能够实现秒表功能。
二、设计思路1、芯片介绍VCC:电源。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL 门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能RXD(串行输入口)TXD(串行输出口)/INT0(外部中断0)/INT1(外部中断1)T0(记时器0外部输入)T1(记时器1外部输入)/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
单片机课程设计-可调数字钟(来自河北大学)
、绪论单片机正朝着高性能和多品种的方向发展,下一步的趋势将是继续向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
单片机应用的重要意义还在于,它从根本上改变了传统控制系统的设计思想和设计方法。
以前必须由模拟电路或数字电路实现的大部分功能,现在已经能用单片机通过软件方法来实现了。
用单片机设计制作数字钟是单片机的一个典型应用。
通过设计制作一个数字钟,我们可以充分了解单片机的工作原理,学会如何用单片机实现数据的处理以及设备的控制等。
设计制作一个数字钟虽然简单,但涉及到的内容却十分广博。
本课程设计是基于单片机时钟的LED显示,通过单片机产生计数功能,经由LED数码管显示,显示时间时、分、秒,并用按键进行时间调整,同时带有整点报时功能。
本课程设计只是设计制作一个功能简单的数字钟,旨在通过对简单的硬件和软件的操作和应用以实现用数码管显示的数字钟,尝试基本的电路设计和单片机的C 语言编程以及锻炼实践动手能力。
整体设计本设计采用51单片机内部定时器产生时钟来进行准确计时,时分秒由3个变量来记录,定义按键功能,来实现时钟的调节,最终是由LED数码管来动态显示时间。
三、硬件电路设计3.1总体电路设计t:>砂■HJ* WT-iyfaj _ . wr_—=^丿W J F'口乎f•屮I ■-w< y■ ^-z H■■屮 / '■~tfVKL3世J.flKIW^LLi t[MW JVDCkl3i_::» -sa_4.■IEFl IT CHFk KIL^H PI1 F 妒1 FN K 旳1 PHK 炉1 Fll rr K 沪1 PfglDTK'L CIFJwmtlv HLW.tiWKTET&沁1 h 僚匕艸1RLMUi C 煙t 艸1 Egt3:Uli E212 F :卯1CILIW 耳㈣i■.、-gj _J .c /SZ JJ Z^呈•as __ '—『1F '.HlI 占注 4.斗丄-:濮].h 半¥ %卞J 1 * ・ 乂WVK L SaE 穴£母Fau■FC •产r””归--.b监咚d1—^A匕3.2信号处理电路vccDIJ2 2iTTLCON2 =D2 ^flN414S3.3单片机最小系统电路R2R1 IQKlOKuKtcu H匸N t fITfl iTfl F-n f*■■b^■"411 hK *Hl- i u -adours ;N :如A1 ESyvccKU1IX7LM3113.4显示电路设计单片机外围电路有时钟电路和复位电路等,时钟电路采用的是内部时钟方 式,在单片机内部有一振荡电路,在外部的XTAL1和XTAL2引脚外接石英石英晶 体(晶振)就构成了自激振荡器课在单片机内部产生时钟脉冲信号, 两电容作用是稳定频率和快速起振,晶振的振荡频率我们采用的是经典值 12MHz复位电路采用的是上电复位和按键复位均有效的方式, 单片机执行复位操作后进入初始化状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科信学院单片机系统设计项目(三级项目)设计说明书(2012/2013学年第二学期)题目:数字钟专业班级:通信工程10级2班学生姓名:学号:指导教师设计周数:2周设计成绩:2013年6月21日目录摘要 ------------------------------------------------------------------------------------------------------------------ 2一、课程设计目的------------------------------------------------------------------------------------------------ 2二、设计要求 ------------------------------------------------------------------------------------------------------ 2三、单片机数字钟的基本原理 -------------------------------------------------------------------------------- 2四、总体方案设计------------------------------------------------------------------------------------------------ 24.1 电路的总体原理框图--------------------------------------------------------------------------------- 24.2 实现时钟计时的基本方法--------------------------------------------------------------------------- 34.3总体方案介绍 ------------------------------------------------------------------------------------------- 4五、数字钟的硬件设计 ----------------------------------------------------------------------------------------- 45.1硬件电路的设计原则---------------------------------------------------------------------------------- 45.2 最小系统------------------------------------------------------------------------------------------------- 55.2.1 芯片分析--------------------------------------------------------------------------------------- 45.2.2 晶振电路--------------------------------------------------------------------------------------- 65.3 LCD1602显示模块设计------------------------------------------------------------------------------ 75.4时钟显示校正电路------------------------------------------------------------------------------------- 8六、系统软件设计 ---------------------------------------------------------------------------------------------- 96.1软件设计分析 ------------------------------------------------------------------------------------------- 96.2 源程序清单 -------------------------------------------------------------------------------------------- 10七、proteus仿真图及实物显示效果 ------------------------------------------------------------------------ 27八、设计总结 ----------------------------------------------------------------------------------------------------- 28九、参考文献 ----------------------------------------------------------------------------------------------------- 28摘要:该电子时钟由89C51,BUTTON,液晶屏等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。
关键词:单片机;电子时钟;键盘控制一、课程设计目的通过《单片机原理与应用》课程设计,使学生掌握单片机及其扩展系统设计的方法和设计原则及相应的硬件调试的方法。
进一步加深单片机及其扩展系统设计和应用的理解。
二、设计要求1、准确计时,以数字形式显示时、分、秒的时间。
2、年以12个月计时形成,月以28(或29或30或31)日计时形成,日以24小时计时形式,分秒计时为60进位。
3、校正时间功能,即能随意设定走时时间。
4、闹钟功能,一旦走时到该时间,能以声形式告警提示。
5、设计5V直流电源,系统时钟电路、复位电路。
6、带有秒表功能,按键控制启动、暂停、清零。
三、单片机数字钟的基本原理它是利用单片机的内部的定时/计数器工作与定时方式,对机器周期计数形成基准时间(如10ms)然后用另外一个计数器或软件计数的形式对基准时间进行计数形成秒(如对10ms计数100次),“秒”计数60次“分”,“分”计数60次形成“时”,“时”计数24次形成“日”,“日”计数为28(或29或30或31)次形成“月”,“月”计数12次形成“年”,年计数999次就清零,然后通过译码器,数码管把他们的内容在相应的位置显示出来。
在具体的设计时定时器采用中断方式工作,对时钟的形成在终中断序中实现,在主程序只是对定时/计数器的定义初始化,调用显示程序和控制程序的初始化。
另外为了使用的方便,也设计了按键,可以通过按键对时分秒进行调整,这样程序就加了按键程序。
四、总体方案设计4.1 电路的总体原理框图本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的年、月、日、时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LCD 液晶屏显示即可满足设计要求。
总设计原理框图如下图所示:图1原理框图4.2 实现时钟计时的基本方法利用STC 系列单片机的可编程定时/计数器、中断系统来实现时钟计数。
(1) 计数初值计算:把定时器设为工作方式1,定时时间为50ms ,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。
假设使用T/C0,方式1,50ms 定时,fosc=12MHz 。
则初值X 满足(216-X )×1/12MHz ×12μs =50000μs X=15536→0011110010110000→3CB0H(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒); (3) 从秒到分、从分到时、从时到日、从日到月、从月到年的计时是通过累加和数值比较实现。
4.3总体方案介绍 4.3.1 计时方案利用STC89C51单片机内部的定时/计数器进行中断时,配合软件延时实现年、月、日、时、分、秒的计时。
该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。
4.3.2 控制方案微型控制器时钟电路声光报时校时输入数据显示STC89C51的P0口和P1口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P1口作八个LED数码管的位控输出线,P3口外接四个按键A、B、C构成键盘电路。
STC89C51 是一种低功耗,高性能的CMOS 8位微型计算机。
它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。
简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本设计中采用此的设计方案。
五、数字钟的硬件设计5.1硬件电路的设计原则在性价比满足应用系统要求的情况下,选择更可靠,更熟悉的单片机缩短研制周期。
尽可能选择自己较为熟悉的应用电路,以提高系统的可靠性。
单片机内部的资源与外部的扩展资源应在满足系统设计的基础上留有余地,为进一步的升级和扩展提供方便。
应充分的结合软件方案考虑硬件的结构,通常硬件功能较完善,其相应的软件程序就简单,但硬件的成本较高,而功能较低,其相应的软件就复杂,其实际常用软件代替硬件来降低成本。
整个系统相关的器件尽可能的做到性能相匹配。
充分的考虑系统的抗干扰性,如具有抗干扰的单片机并充分的帅选芯片与器件,在电路中采取隔离或屏蔽的措施等。
5.2 最小系统5.2.1 芯片分析STC89C51单片机引脚图如下:图2 STC89C51引脚图MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:VCC:+5V电源。
VSS:接地。
RST:复位信号。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。