还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
目录
1、课程设计的主要内容和要求………………………………………………
12、实现原理等知识的介绍……………………………………………………
22.1电子时钟的设计
2.2单片机识的相关知识
3、系统的总体方案设计说明;
3.1总体设计方案
3.2总设计原理框图
4、具体实现步骤的设计说明;
5、单片机系统程序的编制;
6、测量过程的操作说明,原始测量数据的记录;
7、结论及存在问题;
8、心得体会总结;
9、____
一、主要内容和要求1主要内容设计一个数字式电子钟,它具有时,分,秒的计时功能,可以通过键盘进行时间设定,并且将时间显示在LED数码管上用按键设定时钟的时、分、秒,用扫描方式动态显示时钟用定时中断方式工作,单片机晶体震荡器频率
11.0592Mhz.可选做双机通信实验,实现子母钟功能,即由其中一台做时钟,另一台采集时钟值并显示2对于基本题目要求是用按键设定时钟的时、分、秒要求用4键方式,即选择、加、减、确认键,选择键用于选择修改起始时、分、秒值,每按一次,被修改数码管顺序__并闪烁用+,-键修改数值,确认键确定修改结束a)用扫描方式动态显示时、分、秒,第2,4数码管加小数点,并且要求第4数码管小数点每秒闪烁一次b)时钟用定时中断方式工作注意单片机晶体震荡器频率是
11.0592Mhz.c)可选做双机通信实验,实现子母钟功能,即由其中一台做时钟,另一台采集时钟值并显示
二、实现原理等知识的介绍
2.1电子时钟的相关知识1电子时钟简介电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟2电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED数码管代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好3电子时钟的工作原理该电子时钟由__C51,__X232,LED数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时用按键设定时钟的时、分、秒通过四个按键即选择、加、减、确认键,选择键用于选择修改起始时、分值,每按一次,被修改数码管顺序__并闪烁用+,-键修改数值,确认键确定后秒位清零,修改结束
2.2单片机的相关知识1单片机简介单片机全称为单片机微型计算机(SingleChipMicrosoftcomputer从应用领域来看,单片机主要用来控制,所以又称为微控制器(MicrocontrollerUnit)或嵌入式控制器单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机2单片机的发展史34位单片机1975年,美国德克萨斯仪器公司首次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机__松下公司的MN1400系列,美国洛克威尔公司的PPS/1系列等四位单片机的主要应用领域有PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制48位单片机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位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域516位单片机1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面市这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美国国家半导体公司推出的HPC16040,NEC公司推出的783XX系列等16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合632位单片机随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络服务器等领域的应用与发展,20世纪80年代末推出了32位单片机,如Motorlora公司的MC683XX系列,Intel的80960系列,以及近年来流行的ARM系列单片机32位单片机是单片机的发展趋势,随着技术的发展及__成本和产品__的下降,将会与8位单片机并驾齐驱764位单片机近年来,64位单片机在引擎控制,智能机器人,磁盘控制,__图像通信,算法密集的实时控制场合已有应用,如英国I__os公司的TransputerT800是高性能的64位单片机1单片机的存储器ROM和RAM时严格区分的ROM称为程序存储器,只存放程序,固定常数,及数据表格RAM则为数据存储器,用作工作区及存放用户数据2采用面向控制的指令系统为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力3单片机的I/O口通常时多功能的由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的__线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分4单片机的外部扩展能力很强在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便LED数码管分共阳极与共阴极两种,其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光共阴极LED数码管则与之相反,它是将发光二极管的阴极负极短接后作为反映出半导体材料的特性常见管芯材料有磷化镓GaP、砷化镓GaAs、磷砷化镓GaAsP、氮化镓GaN等,其中氮化镓可发__发光颜色不仅与管芯材料有关,还与所掺杂质有关,因此用同一种管芯材料可以制成发出红、橙、黄、绿等不同颜色的数码管其他颜色LED数码管的光谱曲线形状与之相似,仅入,值不同LED数码管的产品中,以发红光、绿光的居多、这两种颜色也比较醒目LED数码管等效于多只具有发光性能的PN结当PN结导通时,依靠少数载流子的注人及随后的复合而辐射发光,其伏安特性与普通二极管相似在正向导通之前,正向电流近似于零,笔段不发光当电压超过开启电压时,电流就急剧上升,笔段发光因此,LED数码管属于电流控制型器件,其发光亮度L单位是cd/m2与正向电流IF有关,用公式表示L=KIF即亮度与正向电流成正比LED的正向电压U,则与正向电流以及管芯材料有关使用LED数码管时,工作电流一般选10__左右/段,既保证亮度适中,又不会损坏器件
三、系统的总体方案设计说明
3.1总体设计方案本次设计时钟电路,使用了ATC__C52单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块按键、芯片、扬声器、LED数码管即可满足设计要求
3.2总设计原理框图如下图所示
四、具体实现步骤的设计说明
4.1电路设计原理说明本设计电路,硬件部分共由五个模块组成按键模块、复位电路模块、晶振电路模块、发声模块、时间显示模块晶振电路模块负责给单片机提供时钟周期复位单路模块负责上电后自动复位,或按键后强制复位上电后,由单片机内部定时器计时,同时通过动态显示函数自动将时分秒显示到数码管上与此同时,按键扫描函数,一直扫描按键引脚状态,一旦扫描到按键被按下,即进入相应的功能函数
4.2各部分电路说明1按键模块按键模块如图所示在该模块中,采用四个按键作为电子时钟的控制输入,通过按键来实现时钟的时间设置功能电路中将四个按键的一端接公共地,而单片机的P2口默认为高电平,一旦按键被按下,则该按键对应的额管脚被拉低,通过软件扫描按键即可知道用户所要实现的功能,调用相应的按键子程序来完成该操作2单片机的复位电路单片机的复位电路如图所示图单片机的复位电路当MCS-5l系列单片机的复位引脚RST全称RESET出现2个机器周期以上的高电平时,单片机就执行复位操作如果RST持续为高电平,单片机就处于循环复位状态根据应用的要求,复位操作通常有两种基本形式上电复位和上电或开关复位上电复位要求接通电源后,自动实现复位操作上电后,保持RST一段高电平时间3单片机的晶振电路单片机的晶振电路,如图所示图单片机的晶振电路石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容接地点就是分压点以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看形成一个正反馈以保证电路持续振荡4发声模块发声模块,如图所示图发声指示模块发声模块由蜂鸣器、电源、8550三极管、限流电阻组成蜂鸣器由PNP三极管驱动,当BZ管脚为高时,三极管be级没电压差,三极管截止;反之,三极管导通,有电流流经蜂鸣器,蜂鸣器发声5时间显示模块时间显示模块如图所示图时间显示模块时间显示部分的电路也很简单,由五个一位的共阴8段数码管、五盏发光二极管组成在显示过程中,单片机将要显示的数字传递给__C52芯片,同时通过位选选通要显示的数码管
五、单片机系统程序的编制
5.1程序设计ORG0000HLJMPSTART;转初始化ORG000BHLJMPPGT0;T0中断入口ORG0033HSTART:DIS1EQU30HDIS2EQU31HDIS3EQU32HDIS4EQU33HDIS5EQU34HDIS6EQU35HDISXSEQU36HDISFZEQU37HDI__ZEQU38HMS500EQU39HK1BITP
3.2K2BITP
3.3K3BITP
3.4K4BITP
3.5BDPBIT01HbdBIT02HMOVSP#50H;初始化程序MOVP0#0FFHMOVP1#0FFHMOVP2#0FFHMOVP3#0FFHMOVTMOD#01H;定时器T0工作于方式1MOVTH0#4CH;定时器初值MOVTL0#05HMOVIE#82HMOVR3#10SETBTR0MOVDIS1#00H;清显示缓冲区MOVDIS2#00HMOVDIS3#00HMOVDIS4#00HMOVDIS5#00HMOVDISXS#12;初始化时间为12:30:00MOVDISFZ#30MOVDI__Z#0MOVMS500#0__IN:;主程序jnbk2d1jnbk3d2jnbk4d3jnbk1d4d1:ljmpsendd2:ljmpsendd3:ljmpsendd4:jnbk1qu1qu1:lcallsoundajmpgod1k1dd:jbk2k2ddlcallys10mslcallsoundincdisxsmovadisxscjnea#24__movdisxs#00hljmpgod1__:jcd0movdisxs#00hljmpgod1d0:ajmpgod1k2dd:jbk3k3ddlcallys10mslcallsoundmovadisxscjnea#00__2movdisxs#23ajmpgod1__2:decdisxsajmpgod1k3dd:jbk2k4ddlcallys10mslcallsoundincdisfzmovadisfzcjnea#60__3lcallys10msmovdisfz#00hljmpgod2__3:jct0movdisfz#00hljmpgod2t0:ljmpgod2k4dd:jbk3tjlcallys10mslcallsoundmovadisfzcjnea#00h__4movdisfz#59ljmpgod2__4:decdisfzljmpgod2tj:ljmpgod2zy1:ljmpk1ddzy2:ljmpk2ddgod1:lcallys10msMOVADISXSMOVB#10DIVAB;转换当前小时数据MOVDIS1A;得到十小时值MOVDIS2B;得到小时值CLRP
2.6;允许数码管显示MOVADIS1;显示十小时值MOVDPTR#SGTBMOVCA@A+DPTRMOVP0ACLRP
2.0setbP
2.1SETBP
2.2SETBP
2.3setbP
2.4LCALLDELAY05sMOVADIS2;显示小时值MOVDPTR#SGTBMOVCA@A+DPTRJBBDpDP0ANLA#01111111BDP0:MOVP0AsetbP
2.0CLRP
2.1SETBP
2.2SETBP
2.3setbP
2.4LCALLDELAY05sjnbk1qu2jnbk2zy1jnbk3zy2setbp
2.0setbp
2.1jnbk4z0sjmpgod1qu2:lcallsoundljmpgod2z0:movdi__z#00hljmpsendgod2:lcallys10msMOVADISFZMOVB#10DIVAB;转换当前分钟数据MOVDIS3A;得到十分值MOVDIS4B;得到分值MOVADISFZMOVB#10DIVAB;转换当前分钟数据MOVDIS3A;得到十分值MOVDIS4B;得到分值CLRP
2.6;允许数码管显示MOVADIS3;显示十分钟值MOVDPTR#SGTBMOVCA@A+DPTRMOVP0AsetbP
2.0SETBP
2.1clrP
2.2SETBP
2.3setbP
2.4LCALLDELAY05sMOVADIS4;显示分钟值MOVDPTR#SGTBMOVCA@A+DPTRJBbdpDP4ANLA#01111111BDP4:MOVP0ASETBP
2.0setbP
2.1SETBP
2.2clrP
2.3setbP
2.4lcalldelay05sjnbk2zy3jnbk3zy4jnbk1z5jnbk4z1setbp
2.2setbp
2.3ljmpgod2z5:lcallsoundljmpgod1z1:movdi__z#00hjnbk4sendzy3:ljmpk3ddzy4:ljmpk4ddSEND:MOVADI__Z;处理当前秒数据MOVB#10DIVAB;10进制转换MOVDIS5A;得到十秒值MOVDIS6B;得到秒值CJNEA#00TST1MOVP1#0FFHAJMPTSTTST1:CJNEA#01TST2;将十秒值用P1口的发光二极管来显示MOVP1#11111110BAJMPTSTTST2:CJNEA#02TST3MOVP1#11111100BAJMPTSTTST3:CJNEA#03TST4MOVP1#11111000BAJMPTSTTST4:CJNEA#04TST5MOVP1#111_____BAJMPTSTTST5:CJNEA#05TSTMOVP1#11_____0BTST:MOVADISFZMOVB#10DIVAB;转换当前分钟数据MOVDIS3A;得到十分值MOVDIS4B;得到分值MOVADISXSMOVB#10DIVAB;转换当前小时数据MOVDIS1A;得到十小时值MOVDIS2B;得到小时值CLRP
2.6;允许数码管显示MOVADIS1;显示十小时值MOVDPTR#SGTBMOVCA@A+DPTRMOVP0ACLRP
2.0SETBP
2.1SETBP
2.2SETBP
2.3SETBP
2.4LCALLDELAYMOVADIS2;显示小时值MOVDPTR#SGTBMOVCA@A+DPTRJBBDPDP1ANLA#01111111BDP1:MOVP0ASETBP
2.0CLRP
2.1SETBP
2.2SETBP
2.3SETBP
2.4LCALLDELAYMOVADIS3;显示十分钟值MOVDPTR#SGTBMOVCA@A+DPTRMOVP0ASETBP
2.0SETBP
2.1CLRP
2.2SETBP
2.3SETBP
2.4LCALLDELAYMOVADIS4;显示分钟值MOVDPTR#SGTBMOVCA@A+DPTRJBBDPDP2ANLA#01111111BDP2:MOVP0ASETBP
2.0SETBP
2.1SETBP
2.2CLRP
2.3SETBP
2.4LCALLDELAY十秒值已经用发光二极管来表示,第五位数码管显示的是秒值MOVADIS6;显示秒值MOVDPTR#SGTB1MOVCA@A+DPTRMOVP0ASETBP
2.0SETBP
2.1SETBP
2.2SETBP
2.3CLRP
2.4LCALLDELAYAJMP__IN;循环PGT0:PUSHACC;定时器T0中断处理程序MOVTH0#4CH;50MSMOVTL0#05HDJNZR3T0RETMOVR3#10CPLBDPINCMS500MOVAMS500CJNEA#2T0RETMOVMS500#00HINCDI__ZMOVADI__ZCJNEA#60T0RETMOVDI__Z#00HINCDISFZMOVADISFZCJNEA#60T0RETMOVDISFZ#00HINCDISXSMOVADISXSCJNEA#24T0RETMOVDISXS#00HT0RET:POPACCRETI********8位共阳数码管字型表***********SGTB:DB0C0H0F9H0A4H0B0H99H92H82H0F8H80H90HDB88H83H0C6H0A1H86H8EH__H0A3H8CH0C8Hsgtb1:db24h7dh0e0h70h39h32h22h7ch20h30h28h23h0a6h61h0a2h0aah********延时子程序********DELAY:MOVR1#2Y1:MOVR2#200DJNZR2$DJNZR1Y1RET**********10ms延时程序***********YS10MS:MOVR7#100DL1:MOVR6#0FFHDL0:DJNZR6DL0DJNZR7DL1RET*******音效子程序*******SOUND:MOVR7#228SDL1:CPLP
3.7MOVR6#0FFHSDL0:DJNZR6SDL0DJNZR7SDL1RET**********
0.5s延時子程序***********DELAY05s:MOVR5#2D8:MOVR6#10D9:MOVR7#248DJNZR7$DJNZR6D9DJNZR5D8RETEND
5.2程序流程图
六、测量过程的操作说明,原始测量数据的记录
6.1操作说明操作功能说明功能说明表按键功能K1当按一下K1,进入调整小时状态,再按一下,进入到调整分钟状态,如此循环K2用来对小时和分钟进行加时间(每次加1)K3用来对小时和分钟进行减时间(每次减1)K4确认键,退出选中小时或分钟发光二极管对秒数的十位数进行记录,亮一盏灯代表十秒,亮两盏灯代表__秒,如此累推
6.2原始测量数据的记录数据记录表初始值12.30.0按一次K112.##.#按一次K213.##.#按一次K312.##.#第二次按K1##.30.#按一次K2##.31.#按一次K3##.30.#按K412.30.0
七、结论及存在问题通过用汇编对K
1、K
2、K
3、K4的编译,可以初步实现调整时钟时间的功能但在编译过程中也遇到不少问题,第一,编译时有跳出转移范围的问题,这是由于判断语句JB、JNB的转移范围是-128~+127字节,出现这样的问题是由于超出转移范围第二,要实现选中小时或者分钟位上的闪烁,要用到延时和对数码管的显示效果,但达不到指定目的,数码管闪烁的效果不明显,这是由于延时的时间不够长,使得人眼难以看得清
八、心得体会总结本文介绍的是利用AT__C51单片机设计的有调时功能的电子时钟并详细说明了软件和硬件设计方法在设计过程中可以看出,汇编语言有着其独特的魅力,它简单易学,语法错误容易纠正;用单片机实现电子时钟的设计是比较方便和易于实现通过电子时钟的设计和制作,加深了对单片机的理解,能够更熟练地应用单片机实现预期的功能,对今后的学习有很大的帮助电子时钟各项功能的实现,为自动控制的实现打下了理论基础,获得了实现方法当然,该电子钟还有很多不足之处,比如不能定时,不能报时断电后不能只能调时在今后的学习中还要对此加以研究,
九、____及__《单片机原理及其接口技术》胡汉才编著北京清华大学出版社《51系列单片机及C51程序设计》王建校等科学出版社其它有关资料几个有关单片机和芯片资料的__http://___.mcu-memory.com………….等及其相关链接89C52时钟电路校时输入数据显示图按键模块延时1秒按键K1为0YN子程序2子程序1YNNYDISFZ=00DISXS+1DISXS=24DISXS=0NYYN按键K1为0DI__Z=00DISFZ+1DISFZ=60主程序SENDDI__Z=60DI__Z+1I开始计数单元清零TH
0、TL0装入初值开中断,并允许T0中断子程序1开始NNK2=1K3=1DISFZ+1DISFZ-1K4=1主程序SENDYYN子程序1开始NNK2=1K3=1DISXS+1DISXS-1K4=1主程序SENDYYN。