




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录一、 课程设计的主要内容和要求 1二、 实现原理等知识的介绍22.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,片内除带有并行IO口外,还有串行IO口,甚至还有AD转化器功能。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(单位是cdm2)与正向电流IF有关,用公式表示:L=KIF即亮度与正向电流成正比。LED的正向电压U,则与正向电流以及管芯材料有关。使用LED数码管时,工作电流一般选10mA左右段,既保证亮度适中,又不会损坏器件。三、系统的总体方案设计说明3.1总体设计方案本次设计时钟电路,使用了ATC89C52单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:按键、芯片、扬声器、LED数码管即可满足设计要求。3.2总设计原理框图如下图所示:89C52时钟电路校时输入数据显示四、具体实现步骤的设计说明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程序设计18ORG0000HLJMPSTART;转初始化ORG000BHLJMPPGT0;T0中断入口ORG0033HSTART:DIS1EQU30HDIS2EQU31HDIS3EQU32HDIS4EQU33HDIS5EQU34HDIS6EQU35HDISXSEQU36HDISFZEQU37HDISMZEQU38HMS500EQU39H K1BITP3.2K2BITP3.3K3BITP3.4K4BITP3.5BDPBIT01Hbd BIT02HMOVSP,#50H;初始化程序MOVP0,#0FFHMOVP1,#0FFHMOVP2,#0FFHMOVP3,#0FFHMOVTMOD,#01H;定时器T0工作于方式1 MOVTH0,#4CH;定时器初值MOVTL0,#05HMOVIE,#82HMOVR3,#10SETBTR0MOVDIS1,#00H;清显示缓冲区MOVDIS2,#00HMOVDIS3,#00HMOVDIS4,#00HMOVDIS5,#00HMOVDISXS,#12;初始化时间为12:30:00MOVDISFZ,#30MOVDISMZ,#0MOVMS500,#0MAIN:;主程序 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 god1k1dd: 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 god1k2dd: jb k3,k3dd lcall ys10ms lcall sound mov a,disxs cjne a,#00,bj2 mov disxs,#23 ajmp god1 bj2: dec disxs ajmp god1k3dd: 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 god2k4dd: 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 k2ddgod1: 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,#01111111BDP0: 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 sendgod2: lcall ys10ms MOV A,DISFZ MOV B,#10DIV 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,#01111111BDP4: 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 k4ddSEND: MOV A,DISMZ ;处理当前秒数据 MOV B,#10 DIV AB ;10进制转换 MOV DIS5,A ;得到十秒值 MOV DIS6,B ;得到秒值 CJNE A,#00,TST1 MOV P1,#0FFH AJMP TSTTST1: CJNE A,#01,TST2;将十秒值用P1口的发光二极管来显示 MOV P1,#11111110B AJMP TSTTST2: CJNE A,#02,TST3 MOV P1,#11111100B AJMP TSTTST3: CJNE A,#03,TST4 MOV P1,#11111000B AJMP TSTTST4: CJNE A,#04,TST5 MOV P1,#11110000B AJMP TSTTST5: CJNE A,#05,TST MOV P1,#11100000BTST: 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,#01111111BDP1: 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,#01111111BDP2: 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,#SGTB1MOVCA,A+DPTRMOV P0,ASETBP2.0SETBP2.1SETBP2.2SETBP2.3CLRP2.4LCALLDELAYAJMPMAIN ;循环PGT0: PUSH ACC ;定时器T0中断处理程序MOVTH0,#4CH ;50MSMOVTL0,#05HDJNZR3,T0RETMOVR3,#10 CPLBDP INCMS500MOVA,MS500CJNEA,#2,T0RETMOVMS500,#00H INC DISMZMOV A,DISMZCJNE A,#60,T0RETMOV DISMZ,#00H INC DISFZMOV A,DISFZCJNE A,#60,T0RETMOV DISFZ,#00H INC DISXSMOV A,DISXSCJNE A,#24,T0RETMOV DISXS,#00HT0RET:POPACCRETI* 8位共阳数码管字型表 *SGTB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H, 80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,89H,0A3H, 8CH,0C8Hsgtb1: db 24h,7dh,0e0h,70h,39h,32h,22h,7ch,20h, 30h,28h,23h,0a6h,61h,0a2h,0aah* 延时子程序 *DELAY:MOVR1,#2Y1:MOVR2,#200DJNZR2,$DJNZR1,Y1RET* 10ms延时程序 *YS10MS:MOVR7,#100DL1:MOVR6,#0FFHDL0:DJNZR6,DL0DJNZR7,DL1RET* 音效子程序 *SOUND:MOVR7,#228SDL1:CPLP3.7MOVR6,#0FFHSDL0:DJNZR6,SDL0DJNZR7,SDL1 RET* 0.5s延時子程序 *DELAY05s:MOVR5,#2D8:MOVR6,#10D9:MOVR7,#248DJNZR7,$DJNZR6,D9DJNZR5,D8RETEND5.2 程序流程图延时1秒按键K1为0YN子程序2子程序1YNNYDISFZ=00DISXS+1DISXS=24DISXS=0NYYN按键K1为0DISMZ=00DISFZ+1DISFZ=60主程序SENDDISMZ=60DISMZ+1I开始计数单元清零TH0、TL0装入初值开中断,并允许T0中断子程序1开始NNK2=1K3=1DISFZ+1DISFZ-1K4 =1主程序SENDYYN子程序1开始NNK2=1K3=1DISXS+1DISXS-1K4 =1主程序SENDYYN六、测量过程的操作说明,原始测量数据的记录。6.1操作说明操作功能说明功能说明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论