收藏 分销(赏)

单片机电子钟设计任务书.doc

上传人:pc****0 文档编号:6155645 上传时间:2024-11-28 格式:DOC 页数:18 大小:292.41KB 下载积分:10 金币
下载 相关 举报
单片机电子钟设计任务书.doc_第1页
第1页 / 共18页
单片机电子钟设计任务书.doc_第2页
第2页 / 共18页


点击查看更多>>
资源描述
目 录 一、 课程设计的主要内容和要求 ………………………………………………1 二、 实现原理等知识的介绍……………………………………………………2 2.1电子时钟的设计 2.2单片机识的相关知识 三、 系统的总体方案设计说明; 3.1总体设计方案 3.2总设计原理框图 四、 具体实现步骤的设计说明; 五、 单片机系统程序的编制; 六、 测量过程的操作说明,原始测量数据的记录; 七、 结论及存在问题; 八、 心得体会总结; 九、 参考文献。 一、主要内容和要求 1 主要内容:设计一个数字式电子钟,它具有时,分,秒的计时功能,可以通过键盘进行时间设定,并且将时间显示在LED数码管上。用按键设定时钟的时、分、秒,用扫描方式动态显示。时钟用定时中断方式工作,单片机晶体震荡器频率11.0592Mhz.。可选做双机通信实验,实现子母钟功能,即由其中一台做时钟,另一台采集时钟值并显示。 2 对于基本题目要求是: 用按键设定时钟的时、分、秒。要求用4键方式,即选择、加、减、确认键,选择键用于选择修改起始时、分、秒值,每按一次,被修改数码管顺序移动并闪烁。用+,- 键修改数值,确认键确定修改结束。 a)用扫描方式动态显示时、分、秒,第2,4 数码管加小数点,并且要求第4数码管小数点每秒闪烁一次。 b) 时钟用定时中断方式工作。注意单片机晶体震荡器频率是11.0592Mhz.。 c)可选做双机通信实验,实现子母钟功能,即由其中一台做时钟,另一台采集时钟值并显示。 二、实现原理等知识的介绍 2.1电子时钟的相关知识 1电子时钟简介 电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。 2电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED数码管代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 3电子时钟的工作原理 该电子时钟由89C51,MAX232,LED数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时。用按键设定时钟的时、分、秒。通过四个按键即选择、加、减、确认键,选择键用于选择修改起始时、分值,每按一次,被修改数码管顺序移动并闪烁。用+,- 键修改数值,确认键确定后秒位清零,修改结束。 2.2单片机的相关知识 1单片机简介 单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 2 单片机的发展史 3 4位单片机 1975年,美国德克萨斯仪器公司首次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机。日本松下公司的MN1400系列,美国洛克威尔公司的PPS/1系列等。四位单片机的主要应用领域有:PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制 4 8位单片机 1972年,美国Intel公司首先推出8位微处理器8008,并于1976年9月率先推出MCS-48系列单片机。在这以后,8位单片机纷纷面市。例如,莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列等。随着集成电路工艺水平的提高,一些高性能的8位单片机相继问世。例如,1978年摩托罗拉公司的MC6801系列及齐洛格公司的Z8系列,1979年NEC公司的UPD78XX系列。这类单片机的寻址能力达64KB,片内ROM容量达4--8KB,片内除带有并行I\O口外,还有串行I\O口,甚至还有A\D转化器功能。8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。 5 16位单片机 1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面市。这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美国国家半导体公司推出的HPC16040,NEC公司推出的783XX系列等。16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。 6 32位单片机 随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用与发展,20世纪80年代末推出了32位单片机,如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年来流行的ARM系列单片机。32位单片机是单片机的发展趋势,随着技术的发展及开发成本和产品价格的下降,将会与8位单片机并驾齐驱。 7 64位单片机 近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密集的实时控制场合已有应用,如英国Inmos公司的Transputer T800是高性能的64位单片机。 2.2.3单片机的特点 1 单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。 2 采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。 3 单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。 4 单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。 2.2.4数码管显示工作原理 LED数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极(负极)短接后作为反映出半导体材料的特性。常见管芯材料有磷化镓(GaP)、砷化镓(GaAs)、磷砷化镓(GaAsP)、氮化镓(GaN)等,其中氮化镓可发蓝光。发光颜色不仅与管芯材料有关,还与所掺杂质有关,因此用同一种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管。其他颜色LED数码管的光谱曲线形状与之相似,仅入,值不同。LED数码管的产品中,以发红光、绿光的居多、这两种颜色也比较醒目。 LED数码管等效于多只具有发光性能的PN结。当PN结导通时,依靠少数载流子的注人及随后的复合而辐射发光,其伏安特性与普通二极管相似。在正向导通之前,正向电流近似于零,笔段不发光。当电压超过开启电压时,电流就急剧上升,笔段发光。因此,LED数码管属于电流控制型器件,其发光亮度L(单位是cd/m2)与正向电流IF有关,用公式表示:L=KIF即亮度与正向电流成正比。LED的正向电压U,则与正向电流以及管芯材料有关。使用LED数码管时,工作电流一般选10mA左右/段,既保证亮度适中,又不会损坏器件。 三、系统的总体方案设计说明 3.1总体设计方案 本次设计时钟电路,使用了ATC89C52单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:按键、芯片、扬声器、LED数码管即可满足设计要求。 3.2总设计原理框图如下图所示: 8 9 C 5 2 时钟电路 校时输入 数据显示 四、具体实现步骤的设计说明 4.1 电路设计原理说明 本设计电路,硬件部分共由五个模块组成:按键模块、复位电路模块、晶振电路模块、发声模块、时间显示模块。晶振电路模块负责给单片机提供时钟周期。复位单路模块负责上电后自动复位,或按键后强制复位。上电后,由单片机内部定时器计时,同时通过动态显示函数自动将时分秒显示到数码管上。与此同时,按键扫描函数,一直扫描按键引脚状态,一旦扫描到按键被按下,即进入相应的功能函数。 4.2各部分电路说明 1按键模块 按键模块如图所示。 图 按键模块 在该模块中,采用四个按键作为电子时钟的控制输入,通过按键来实现时钟的时间设置功能。电路中将四个按键的一端接公共地,而单片机的P2口默认为高电平,一旦按键被按下,则该按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作。 2单片机的复位电路 单片机的复位电路,如图所示。 图单片机的复位电路 当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。上电后,保持RST一段高电平时间。 3单片机的晶振电路 单片机的晶振电路,如图所示。 图 单片机的晶振电路 石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率。晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容, 接地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看, 形成一个正反馈以保证电路持续振荡。 4发声模块 发声模块,如图所示。 图 发声指示模块 发声模块由蜂鸣器、电源、8550三极管、限流电阻组成。蜂鸣器由PNP三极管驱动,当BZ管脚为高时,三极管be级没电压差,三极管截止;反之,三极管导通,有电流流经蜂鸣器,蜂鸣器发声。 5时间显示模块 时间显示模块如图所示。 图 时间显示模块 时间显示部分的电路也很简单,由五个一位的共阴8段数码管、五盏发光二极管组成。在显示过程中,单片机将要显示的数字传递给89C52芯片,同时通过位选选通要显示的数码管。 五、单片机系统程序的编制 5.1程序设计 18 ORG 0000H LJMP START ;转初始化 ORG 000BH LJMP PGT0 ;T0中断入口 ORG 0033H START: DIS1 EQU 30H DIS2 EQU 31H DIS3 EQU 32H DIS4 EQU 33H DIS5 EQU 34H DIS6 EQU 35H DISXS EQU 36H DISFZ EQU 37H DISMZ EQU 38H MS500 EQU 39H K1 BIT P3.2 K2 BIT P3.3 K3 BIT P3.4 K4 BIT P3.5 BDP BIT 01H bd BIT 02H MOV SP,#50H ;初始化程序 MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV TMOD,#01H ;定时器T0工作于方式1 MOV TH0,#4CH ;定时器初值 MOV TL0,#05H MOV IE,#82H MOV R3,#10 SETB TR0 MOV DIS1,#00H ;清显示缓冲区 MOV DIS2,#00H MOV DIS3,#00H MOV DIS4,#00H MOV DIS5,#00H MOV DISXS,#12 ;初始化时间为12:30:00 MOV DISFZ,#30 MOV DISMZ,#0 MOV MS500,#0 MAIN: ;主程序 jnb k2,d1 jnb k3,d2 jnb k4,d3 jnb k1,d4 d1: ljmp send d2: ljmp send d3: ljmp send d4: jnb k1,qu1 qu1:lcall sound ajmp god1 k1dd: jb k2,k2dd lcall ys10ms lcall sound inc disxs mov a,disxs cjne a,#24,bj mov disxs,#00h ljmp god1 bj: jc d0 mov disxs,#00h ljmp god1 d0: ajmp god1 k2dd: jb k3,k3dd lcall ys10ms lcall sound mov a,disxs cjne a,#00,bj2 mov disxs,#23 ajmp god1 bj2: dec disxs ajmp god1 k3dd: jb k2,k4dd lcall ys10ms lcall sound inc disfz mov a,disfz cjne a,#60,bj3 lcall ys10ms mov disfz,#00h ljmp god2 bj3: jc t0 mov disfz,#00h ljmp god2 t0: ljmp god2 k4dd: jb k3,tj lcall ys10ms lcall sound mov a,disfz cjne a,#00h,bj4 mov disfz,#59 ljmp god2 bj4: dec disfz ljmp god2 tj: ljmp god2 zy1: ljmp k1dd zy2: ljmp k2dd god1: lcall ys10ms MOV A,DISXS MOV B,#10 DIV AB ;转换当前小时数据 MOV DIS1,A ;得到十小时值 MOV DIS2,B ;得到小时值 CLR P2.6 ;允许数码管显示 MOV A,DIS1 ;显示十小时值 MOV DPTR,#SGTB MOVC A,@A+DPTR MOV P0,A CLR P2.0 setb P2.1 SETB P2.2 SETB P2.3 setb P2.4 LCALL DELAY05s MOV A,DIS2 ;显示小时值 MOV DPTR,#SGTB MOVC A,@A+DPTR JB BDp,DP0 ANL A,#01111111B DP0: MOV P0,A setb P2.0 CLR P2.1 SETB P2.2 SETB P2.3 setb P2.4 LCALL DELAY05s jnb k1,qu2 jnb k2,zy1 jnb k3,zy2 setb p2.0 setb p2.1 jnb k4,z0 sjmp god1 qu2: lcall sound ljmp god2 z0: mov dismz,#00h ljmp send god2: lcall ys10ms MOV A,DISFZ MOV B,#10 DIV AB ;转换当前分钟数据 MOV DIS3,A ;得到十分值 MOV DIS4,B ;得到分值 MOV A,DISFZ MOV B,#10 DIV AB ;转换当前分钟数据 MOV DIS3,A ;得到十分值 MOV DIS4,B ;得到分值 CLR P2.6 ;允许数码管显示 MOV A,DIS3 ;显示十分钟值 MOV DPTR,#SGTB MOVC A,@A+DPTR MOV P0,A setb P2.0 SETB P2.1 clr P2.2 SETB P2.3 setb P2.4 LCALL DELAY05s MOV A,DIS4 ;显示分钟值 MOV DPTR,#SGTB MOVC A,@A+DPTR JB bdp,DP4 ANL A,#01111111B DP4: MOV P0,A SETB P2.0 setb P2.1 SETB P2.2 clr P2.3 setb P2.4 lcall delay05s jnb k2,zy3 jnb k3,zy4 jnb k1,z5 jnb k4, z1 setb p2.2 setb p2.3 ljmp god2 z5: lcall sound ljmp god1 z1: mov dismz,#00h jnb k4,send zy3: ljmp k3dd zy4: ljmp k4dd SEND: MOV A,DISMZ ;处理当前秒数据 MOV B,#10 DIV AB ;10进制转换 MOV DIS5,A ;得到十秒值 MOV DIS6,B ;得到秒值 CJNE A,#00,TST1 MOV P1,#0FFH AJMP TST TST1: CJNE A,#01,TST2 ;将十秒值用P1口的发光二极管来显示 MOV P1,#11111110B AJMP TST TST2: CJNE A,#02,TST3 MOV P1,#11111100B AJMP TST TST3: CJNE A,#03,TST4 MOV P1,#11111000B AJMP TST TST4: CJNE A,#04,TST5 MOV P1,#11110000B AJMP TST TST5: CJNE A,#05,TST MOV P1,#11100000B TST: MOV A,DISFZ MOV B,#10 DIV AB ;转换当前分钟数据 MOV DIS3,A ;得到十分值 MOV DIS4,B ;得到分值 MOV A,DISXS MOV B,#10 DIV AB ;转换当前小时数据 MOV DIS1,A ;得到十小时值 MOV DIS2,B ;得到小时值 CLR P2.6 ;允许数码管显示 MOV A,DIS1 ;显示十小时值 MOV DPTR,#SGTB MOVC A,@A+DPTR MOV P0,A CLR P2.0 SETB P2.1 SETB P2.2 SETB P2.3 SETB P2.4 LCALL DELAY MOV A,DIS2 ;显示小时值 MOV DPTR,#SGTB MOVC A,@A+DPTR JB BDP,DP1 ANL A,#01111111B DP1: MOV P0,A SETB P2.0 CLR P2.1 SETB P2.2 SETB P2.3 SETB P2.4 LCALL DELAY MOV A,DIS3 ;显示十分钟值 MOV DPTR,#SGTB MOVC A,@A+DPTR MOV P0,A SETB P2.0 SETB P2.1 CLR P2.2 SETB P2.3 SETB P2.4 LCALL DELAY MOV A,DIS4 ;显示分钟值 MOV DPTR,#SGTB MOVC A,@A+DPTR JB BDP,DP2 ANL A,#01111111B DP2: MOV P0,A SETB P2.0 SETB P2.1 SETB P2.2 CLR P2.3 SETB P2.4 LCALL DELAY 十秒值已经用发光二极管来表示,第五位数码管显示的是秒值 MOV A,DIS6 ;显示秒值 MOV DPTR,#SGTB1 MOVC A,@A+DPTR MOV P0,A SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.3 CLR P2.4 LCALL DELAY AJMP MAIN ;循环 PGT0: PUSH ACC ;定时器T0中断处理程序 MOV TH0,#4CH ;50MS MOV TL0,#05H DJNZ R3,T0RET MOV R3,#10 CPL BDP INC MS500 MOV A,MS500 CJNE A,#2,T0RET MOV MS500,#00H INC DISMZ MOV A,DISMZ CJNE A,#60,T0RET MOV DISMZ,#00H INC DISFZ MOV A,DISFZ CJNE A,#60,T0RET MOV DISFZ,#00H INC DISXS MOV A,DISXS CJNE A,#24,T0RET MOV DISXS,#00H T0RET: POP ACC RETI ******** 8位共阳数码管字型表 *********** SGTB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H, 80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,89H,0A3H, 8CH,0C8H sgtb1: db 24h,7dh,0e0h,70h,39h,32h,22h,7ch,20h, 30h,28h,23h,0a6h,61h,0a2h,0aah ******** 延时子程序 ******** DELAY: MOV R1,#2 Y1: MOV R2,#200 DJNZ R2,$ DJNZ R1,Y1 RET ********** 10ms延时程序 *********** YS10MS: MOV R7,#100 DL1: MOV R6,#0FFH DL0: DJNZ R6,DL0 DJNZ R7,DL1 RET ******* 音效子程序 ******* SOUND: MOV R7,#228 SDL1: CPL P3.7 MOV R6,#0FFH SDL0: DJNZ R6,SDL0 DJNZ R7,SDL1 RET ********** 0.5s延時子程序 *********** DELAY05s: MOV R5,#2 D8: MOV R6,#10 D9: MOV R7,#248 DJNZ R7,$ DJNZ R6,D9 DJNZ R5,D8 RET END 5.2 程序流程图 延时1秒 按键K1为0 Y N 子程序2 子程序1 Y N N Y DISFZ=00 DISXS+1 DISXS=24 DISXS=0 N Y Y N 按键K1为0 DISMZ=00 DISFZ+1 DISFZ=60 主程序SEND DISMZ=60 DISMZ+1 I 开始 计数单元清零 TH0、TL0装入初值 开中断,并允许T0中断 子程序1 开始 N N K2=1 K3=1 DISFZ+1 DISFZ-1 K4 =1 主程序SEND Y Y N 子程序1 开始 N N K2=1 K3=1 DISXS+1 DISXS-1 K4 =1 主程序SEND Y Y N 六、测量过程的操作说明,原始测量数据的记录。 6.1操作说明操作功能说明 功能说明表 按键 功能 K1 当按一下K1,进入调整小时状态,再按一下,进入到调整分钟状态,如此循环 K2 用来对 小时 和 分钟 进行加时间(每次加1) K3 用来对 小时 和 分钟 进行减时间(每次减1) K4 确认键,退出选中小时或分钟 发光二极管 对秒数的十位数进行记录,亮一盏灯代表十秒,亮两盏灯代表二十秒,如此累推 6.2原始测量数据的记录 数据记录表 初始值 12.30.0 按一次K1 12.##.# 按一次K2 13.##.# 按一次K3 12.##.# 第二次按K1 ##.30.# 按一次K2 ##.31.# 按一次K3 ##.30.# 按K4 12.30.0 七、结论及存在问题 通过用汇编对K1、K2、K3、K4的编译,可以初步实现调整时钟时间的功能。但在编译过程中也遇到不少问题,第一,编译时有跳出转移范围的问题,这是由于判断语句 JB、JNB 的转移范围是-128~+127字节,出现这样的问题是由于超出转移范围。第二,要实现选中小时或者分钟位上的闪烁,要用到延时和对数码管的显示效果,但达不到指定目的,数码管闪烁的效果不明显,这是由于延时的时间不够长,使得人眼难以看得清。 八、心得体会总结 本文介绍的是利用AT89C51单片机设计的有调时功能的电子时钟。并详细说明了软件和硬件设计方法。在设计过程中可以看出,汇编语言有着其独特的魅力,它简单易学,语法错误容易纠正;用单片机实现电子时钟的设计是比较方便和易于实现。 通过电子时钟的设计和制作,加深了对单片机的理解,能够更熟练地应用单片机实现预期的功能,对今后的学习有很大的帮助。电子时钟各项功能的实现,为自动控制的实现打下了理论基础,获得了实现方法。 当然,该电子钟还有很多不足之处,比如不能定时,不能报时。断电后不能只能调时。在今后的学习中还要对此加以研究, 九、参考文献及网站 《单片机原理及其接口技术》胡汉才 编著 北京 清华大学出版社 《51系列单片机及C51程序设计》王建校等 科学出版社 其它有关资料 几个有关单片机和芯片资料的网站: http://www.mcu- http://www.wave- …………. 等及其相关链接
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服