电子时钟的设计.doc

上传人:小飞机 文档编号:4267620 上传时间:2023-04-12 格式:DOC 页数:49 大小:1.11MB
返回 下载 相关 举报
电子时钟的设计.doc_第1页
第1页 / 共49页
电子时钟的设计.doc_第2页
第2页 / 共49页
电子时钟的设计.doc_第3页
第3页 / 共49页
电子时钟的设计.doc_第4页
第4页 / 共49页
电子时钟的设计.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《电子时钟的设计.doc》由会员分享,可在线阅读,更多相关《电子时钟的设计.doc(49页珍藏版)》请在三一办公上搜索。

1、电子时钟的设计1 课程设计目的12 系统方案设计及确定22.1 方案的提出22.2 方案的论证及确定22.2.1 单片机简介及选择22.2.2 键盘电路的简介及选择42.2.3 LED数码管的简介及选择53 系统的硬件设计73.1 AT89S51最小系统设计73.1.1 时钟电路硬件设计73.1.2 复位电路硬件设计73.2 键盘电路硬件设计93.3 显示电路硬件设计93.4 蜂鸣器电路硬件设计104 系统软件设计114.1 系统主程序设计114.1.1 系统软件设计内存分配及芯片地址介绍114.1.2 系统主程序流程图114.2 定时器的设计124.3 整点报时145 系统调试155.1 调

2、试步骤155.2 调试过程中的问题及解决方法226 总结237 参考文献24附录25附录一:程序清单25附录二 系统硬件原理图及PCB图461 课程设计目的单片机体积小、成本低,嵌入到工业操纵单元、机器人、智能仪器外表、汽车电子系统、武器系统、家用电器、办公自动化设备、金融电子系统、玩具、个人信息终端及通讯产品中。单片机是运算机技术进展史上的一个重要里程碑,标志着运算机正式形成了通用运算机系统和嵌入式运算机系统两大分支。单片机是集成电路技术与微型运算机技术高速进展的产物。体积小、价格低、应用方便、稳固可靠,因此,给工业自动化等领域带来了一场重大革命和技术进步。 由于体积小,专门容易地嵌入到系统

3、之中,以实现各种方式的检测、运算或操纵,这一点,一样微机全然做不到。 由于单片机本身确实是一个微型运算机,因此只要在单片机的外部适当增加一些必要的外围扩展电路,就能够灵活地构成各种应用系统,如工业自动检测监视系统、数据采集系统、自动操纵系统、智能仪器外表等。从工业自动化、自动操纵、智能仪器外表、消费类电子产品等方面,直到国防尖端技术领域,单片机都发挥着十分重要的作用。因此单片机的课程设计是十分必要的。灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的明白得,并灵活运用,将各门知识综合应用。

4、能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础。2 系统方案设计及确定2.1 方案的提出用单片机及6位LED数码管显示时、分、秒,以24小时计时方式运行,能整点提醒(短蜂鸣,次数代表整点时刻),使用按键开关可实现时、分调整,秒表(或闹钟)/时钟功能转换,以及实现省电(关闭显示)功能。系统框图如下图2.2 方案的论证及确定2.2.1 单片机简介及选择单片机是集成电路技术与微型运算机技术高速进展的产物。体积小、价格低、应用方便、稳固可靠,因此,给工业自动化等领

5、域带来了一场重大革命和技术进步。 由于体积小,专门容易地嵌入到系统之中,以实现各种方式的检测、运算或操纵,这一点,一样微机全然做不到。 由于单片机本身确实是一个微型运算机,因此只要在单片机的外部适当增加一些必要的外围扩展电路,就能够灵活地构成各种应用系统,如工业自动检测监视系统、数据采集系统、自动操纵系统、智能仪器外表等。20世纪80年代以来,进展迅速,世界一些闻名厂商投放市场的产品就有几十个系列,数百个品种,Intel公司的MCS-48、MCS-51,Motorola公司的6801、6802,Zilog公司的Z8系列,Rockwell公司的6501、6502等。此外,荷兰的Philips公司

6、、日本的NEC公司、日立公司等也相继推出了各自的产品。 尽管机型专门多,然而在20世纪80年代以及90年代,在我国使用最多的8位单片机依旧Intel公司的MCS-51系列单片机以及与其兼容的单片机(称为51系列单片机)MCS-51系列单片机要紧包括 差不多型:8031/8051/8751(低功耗型80C31/80C51/87C51)增强型:8032/8052/8752。已为我国宽敞技术人员所熟悉和把握。在上世纪80年代和90年代,MCS-51系列是在我国应用最为广泛的单片机机型之一。(1)差不多型典型产品:8031/8051/8751。 8031内部包括1个8位CPU、128B RAM,21个

7、专门功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,5个中断源,但片内无程序储备器,需外扩程序储备器芯片。8051是在8031的基础上,片内又集成有4KB ROM作为程序储备器。因此8051是一个程序不超过4KB的小系统。ROM内的程序是公司制作芯片时,代为用户烧制的。8751与8051相比,片内集成的4KB EPROM取代了8051的4KB ROM来作为程序储备器。(2)增强型 Intel公司在差不多型基础上,推出增强型-52子系列,典型产品:8032/8052/8752。内部RAM增到256B,8052、片内程序储备器扩展到8KB,16位定时器/计数

8、器增至3个,6个中断源,串行口通信速率提高5倍。 表2-1列出了差不多型和增强型的MCS-51系列单片机片内的差不多硬件资源。表2-1MCS-51系列单片机片内的差不多硬件资源。与MCS-51系列的87C51单片机相比,AT89C51/AT89S51单片机片内的4KB Flash储备器取代了87C51片内的4KB EPROM。AT89S51片内的Flash储备器可在线编程或使用编程重视复编程,且价格较低。因此AT89C51/AT89S51单片机作为代表性产品受到用户欢迎,AT89C5x/AT89S5x单片机是目前取代MCS-51系列单片机的主流芯片之一。本书重点介绍AT89S51单片机的原理及

9、应用系统设计。 AT89S5x的“S”档系列机型是ATMEL公司继AT89C5x系列之后推出的新机型,代表性产品为AT89S51和AT89S52。差不多型的AT89C51与AT89S51以及增强型的AT89C52与AT89S52的硬件结构和指令系统完全相同。使用AT89C51的系统,在保留原先软硬件的条件下,完全能够用AT89S51直截了当代换。 与AT89C5x系列相比,AT89S5x系列的时钟频率以及运算速度有了较大的提高,例如,AT89S51工作频率的上限为24MHz,而AT89S51则为33MHz。AT89S51片内集成有双数据指针DPTR,看门狗定时器、具有低功耗闲暇工作方式和掉电工

10、作方式。目前,AT89S5x系列已逐步取代AT89C5x系列。此次设计使用的是AT89S51。2.2.2 键盘电路的简介及选择键盘具有向单片机输入数据、命令等功能,是人与单片机对话的要紧手段。键盘可分为两类:非编码键盘和编码键盘。本报告要紧介绍非编码键盘。非编码键盘是利用按键直截了当与单片机相连接而成,这种键盘通常使用在按键数量较少的场合。使用这种键盘,系统功能通常比较简单,需要处理的任务较少,然而能够降低成本、简化电路设计。按键的信息通过软件来猎取。非编码键盘 分为两种结构:独立式键盘和矩阵式键盘(1)独立式键盘独立式键盘特点是:一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/

11、O输入线的电平状态,可容易地判定哪个按键被按下,如图10-8所示。关于图3-1的键盘,图中的上拉电阻保证按键开释时,输入检测线上有稳固的高电平。当某一按键按下时,对应的检测线就变成了低电平,与其他按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,专门容易识别哪个键被按下。(2) 矩阵式键盘矩阵式(也称行列式)键盘用于按键数目较多的场合,由行线和列线组成,按键位于行、列的交叉点上。如图3-2所示,一个44的行、列结构能够构成一个16个按键键盘。在按键数目较多的场合,要节约较多的I/O口线。矩阵中无按键按下时,行线为高电平;当有按键按下时,行线电平状态将由与此

12、行线相连的列线的电平决定。列线的电平假如为低,则行线电平为低;列线的电平假如为高,则行线的电平也为高,这是识别按键是否按下的关键所在。由于本设计键盘数目较少故采纳独立式键盘。 图3-1独立式键盘 3-2矩阵式键盘2.2.3 LED数码管的简介及选择LED(Light Emitting Diode)发光二极管缩写。LED数码管是由发光二极管构成的。常见的LED数码管为“8”字型的,共计8段。每一段对应一个发光二极管。有共阳极和共阴极两种,如图3-3所示。共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平常,发光二极管点亮。同样,共阳极LED数码管的发光二极管的阳极连接在一起,公共阳

13、极接正电压,当某个发光二极管的阴极接低电平常,发光二极管被点亮,相应的段被显示。图3-3LED数码管有静态显示和动态显示两种显示方式。静态显示方式的显示无闪耀,亮度都较高,静态显示方式接口编程容易,然而占用口线较多(图3-4)。动态显示的优点是硬件电路简单,显示器越多,优势越明显。缺点是显示亮度不如静态显示的亮度高。假如“扫描”速率较低,会显现闪耀现象(图3-5)。 图2-4静态显示 图2-5动态显示基于以上缘故本设计采纳动态显示。总结以上选择,我们单片机选用了AT89S51,键盘选用了非编码式独立式键盘,数码管选择动态显示。3 系统的硬件设计3.1 AT89S51最小系统设计AT89S51的

14、最小系统包括时钟电路、复位电路,和AT89S51芯片。3.1.1 时钟电路硬件设计AT89S51内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳固的自激振荡器。C1和C2的典型值通常选择为30pF。电容大小会阻碍振荡器频率高低、振荡器的稳固性和起振的快速性。晶振频率范畴通常是1.212MHz。晶体频率越高,单片机速度就越快。速度快对储备器的速度要求就高,印制电路板的工艺要求也高,即线间的寄生电容要小。晶体和电容应尽可能与单片机靠近,以减少寄生电容,保证振荡器稳固、可靠地工作。为提高温度稳固性,采纳

15、温度稳固性能好的电容。常选6MHz或12MHz的石英晶体。随着集成电路制造工艺技术的进展,单片机的时钟频率也在逐步提高,已达33MHz。本设计选用的是11.0592MHZ。图3-1时钟电路3.1.2 复位电路硬件设计单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使AT89S51复位。 复位电路采纳上电自动复位和按钮复位两种方式。上电自动复位是给电容C 充电加给RST引脚一个短的高电平信号,此信号随着VCC对电容C 的充电过程而逐步回落,即RST引脚上的高电平连续时刻取决于电容C 充电时刻。为保证系统可靠复位,RST引脚上的高电平必须坚持足够长的时刻。除

16、了上电复位外,有时还需要按键手动复位,本设计采纳上电自动复位和按钮复位结合的方式。图3-2复位电路下图为AT89S51的最小系统图3-3AT89S51的最小系统3.2 键盘电路硬件设计关于图3-8的键盘,图中的上拉电阻保证按键开释时,输入检测线上有稳固的高电平.与门U5B的输出为高电平。当某一按键按下时,对应的检测线就变成了低电平,与其他按键相连的检测线仍为高电平,与门U5B的输出为低电平(向单片机发出中断要求),只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,专门容易识别哪个键被按下。图3-8键盘电路3.3 显示电路硬件设计本设计采纳的动态显示,图3-9所示为一个6位8段LED动

17、态显示电路。其中段码线占用一个8位I/O口(P0口),而位选线占用一个6位I/O口(P2口低6位)。必须采纳动态的“扫描”显示方式。即在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码(三极管电路起到驱动作用)。图3-9显示电路3.4 蜂鸣器电路硬件设计当单片机测控系统发生故障或处于某种紧急状态时,单片机系统应能发出提醒人们警觉的声音报警。用I/O口专门容易实现该功能。本设计用于整点报时和闹铃用。购买市售的压电式蜂鸣器,用一根I/O口线驱动蜂鸣器发声。约需10mA的驱动电流,可用7406或7407低电平驱动,也能够用一个晶体

18、管驱动如图3-10所示图3-10蜂鸣器电路4 系统软件设计4.1 系统主程序设计4.1.1 系统软件设计内存分配及芯片地址介绍定时器T0、T1溢出周期为50MS,T0为秒计数用, T1为调整时闪耀及秒表定时用,P1.0、P1.1、P1.2、P1.3为调整按钮,P0口为字符输出口,P2为扫描口,P1.7为蜂呜器口,采纳共阳显示管。50H-55H为闹钟定时单元,60H-65H为秒表计时单元,72H-75H为显示时刻单元,76H-79H为分时计时单元。03H标志=0时钟闪耀,=1秒表,05H=0,不闹铃,=1要闹铃. 07H每秒改变一次,用作间隔呜叫。4.1.2 系统主程序流程图通过不断地调用显示程

19、序可保证在执行其他子程序时保证数码管亮(除省电模式外)。图4-1系统主程序流程图4.2 定时器的设计定时器T0、T1溢出周期为50MS,T0为秒计数用, T1为调整时闪耀及秒表定时用。图4-2用T0实现计时流程图图4-3时刻调整流程图4.3 整点报时图4-4整点报时流程图5 系统调试5.1 调试步骤该程序的调试环境是在星研仿真软件环境里面进行的,通过软禁工具里的窗口来对CPU进行选择,在其窗口工具栏下的数据窗口里观看,以判定时钟是否正常的进行,再通过仿真机和星研软件相连通,从而进行仿真调试,最终完成时钟系统的各个功能。1、建立项目文件。a)执行 主菜单 | 文件 | 新建 选择“创建项目文件”

20、,在“项目文件名”中输入您的项目文件名,例如:example;在“位于哪个名目”中选择一个项目文件存放名目。该名目名决定编译、连接时生成的所有文件所在名目;该项目文件名决定最终生成的代码文件的名称。即假如项目文件名叫“Example”,则最后生成的代码文件为“Example.dob”、“Example.hex”等。“确定”后,进入下一步。b) 选择仿真头、您需要仿确实CPU的公司、型号。点击“下一步”c) 选择语言d) 按照您的硬件需要,设置编译、连接操纵项。e) 设置存贮器出借方式。点击“完成”,您的项目文件建立完毕。存贮器出借方式分为程序空间出借方式、外部数据空间出借方式。STAR系列仿真

21、器仿真器内有128K仿真RAM,其中64K能够出借给您作为程序存贮器,存放机器码;64K可出借给您作为数据存贮器,存放外部数据。通常,您借用仿真RAM作为程序存贮器,便于调试程序;外部数据空间在您的应用系统上,便于对您系统上的I/O、数据RAM操作;假如您的线路板还未制成,您也可借用仿真RAM。SUPER ICE16 、SUPER ICE51仿真器 仿真器内有64K仿真RAM,能够作为您的程序、数据存贮器。以8K为一个单位,可出借给您作为程序、数据存贮器。假如您选中相应的复选框,该8K空间在您的系统上;不选中相应的复选框,该8K空间在仿真器上。通常,您借用仿真RAM作为程序存贮器,便于调试程序

22、;外部数据空间在您的应用系统上,便于对您系统上的I/O、数据RAM操作;假如您的线路板还未制成,您也可借用仿真RAM。但要注意您借用的程序空间与您借用的外部数据空间地址不能重叠,因为仿真器内只有64K存贮器(仿真RAM)。MCS196类CPU能够依照INST引脚区分程序空间和数据空间,假如您不需要区分程序、数据空间或关于只有64K空间的CPU(如8098),请不要选中使用INST区分程序、数据空间。SUPER ICE51S仿真器仿真器内有64K仿真RAM,可出借给您作为程序、数据存贮器。假如您选中相应的复选框,该64K空间在您的系统上;不选中相应的复选框,该64K空间在仿真器上。通常,您借用仿

23、真RAM作为程序存贮器,便于调试程序;外部数据空间在您的应用系统上,便于对您系统上的I/O、数据RAM操作;假如您的线路板还未制成,您也可借用仿真RAM。但要注意您存放代码的区域与存放数据的区域不能重叠,因为仿真器内只有64K存贮器(仿真RAM)。2、添加模块文件工作区窗的项目视中,包含“源文件”、“头文件”、“库文件”、“其它文件”,“其它文件”中通常包含对该项目用途作一些说明的文件。“库文件”通常包含编译软件自带的OBJ文件、LIB等库文件。a)假如您的模块文件还没建立,您能够执行 主菜单 | 文件 | 新建在“文件名”中输入模块文件名,在“位于哪个名目”中,选择一个文件存放的名目,通常与

24、项目文件名在同一个名目;选中“添加到项目文件中”,系统自动将该模块文件加入到项目中。b)添加已存在的模块文件,库文件 在工作区窗的文件视中按鼠标右键,系统弹出一个菜单,选择“添加文件”,选择需要添加到项目文件中的各种文件。在选择文件时,按住“Ctrl”,一次可添加多个文件。 使用 主菜单 | 项目 | 添加文件,也能够添加文件。c)在文件窗中,按鼠标右键,系统弹出一个菜单,选择“添加文件至项目”,即可将当前文件添加至项目中。工作区窗的“Examples”视中包含有一些例子,依照您使用的编译软件,能够选择相应的例子。3、编辑程序在工作区窗的项目视中,用鼠标双击程序文件名,即可打开相应的文件,编辑

25、程序。4、设置项目文件a) 在工作区窗的项目视中按鼠标右键,系统弹出一个菜单,选择“设置项目文件”,能够重新选择仿真头、CPU的公司、型号、编译软件、设置编译软件、存贮器出借方式。b) 使用 主菜单 | 项目 | 设置项目文件,也能够设置项目文件。5、删除模块文件在工作区窗的文件视中,选择需要删除的模块文件名:a) 按Del键。b) 按鼠标右键,系统弹出一个菜单,选择“删除文件”,即可把它从项目文件中去除。c) 使用 主菜单 | 项目 | 删除文件。2 编译、连接星研集成环境软件不带任何编译软件,请依照您使用的编译软件设置工作环境1、 设置工作环境依照您在项目文件中选择的语言、编译器所在名目,

26、设置以上路径。2、 启动编译、连接对工作区窗项目视的“源文件”中所有模块文件编译,假如没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB、HEX文件)。a) 在工作区窗的项目视中按鼠标右键,系统弹出一个菜单,选择“编译、连接”或“重新编译连接”b) 使用 主菜单 | 项目 | 编译、连接 或主菜单 | 项目 | 重新编译、连接 ”。“编译连接”与“重新编译、连接”区别:“重新编译、连接”不管项目中有无添加、删除模块文件、编译软件是否变化、编译操纵项有无修改、模块文件有无修改,对“源文件”中所有模块文件编译,假如没有错误,再与“库文件”中所有库文件连接,生成代码文件(DOB、HEX文

27、件)。3、 编译、连接结果编译、连接过程中产生的信息显示在信息窗的“建立”视中。如有错误、警告信息,用鼠标左键双击错误、警告信息或将光标移到错误、警告信息上,回车,系统自动打开对应的出错文件,并定位于出错行上。进入调试状态在进入调试状态往常,请正确设置通信口:执行 主菜单 | 辅助 | 通信 。仿真器配套的通信线能够与微机并口相连,即为并口通信线,假如并口地址是378H,请选择并口1;并口地址是278H,请选择并口2;并口地址是3BCH,请选择并口3。仿真器配套的通信线能够与微机串口相连,即为串口通信线:波特率STAR系列、SUPER ICE51S使用串口通信时,波特率能够选择115200。假

28、如您选择串行通信,您可在此选择一个合适的波特率。通常,您能够选择缺省,一样情形下,星研集成环境软件会自动选择一个合适的波特率,用于仿真器与微机之间的通信,然而,关于有的微机可能选择的不合适,显现无法联机,或者过了几分钟,状态条中仍旧显现“正在通信”标志,按Esc键,退出联机状态,然后,由高(通常57600)到底,选择波特率,重新联机。校验 通常您不必选中它,能够提高传送DOB/HEX文件时的速度。假如编译、连接正确后,能够开始调试程序。进入调试状态方法:a) 执行 主菜单 | 运行 | 进入调试状态b) 点击工具条的c) 执行 主菜单 | 运行 | 装载DOB、HEX、BIN文件在信息窗的“装

29、载”视中,显示装载的代码文件,装载的字节数,装载完毕后,显示启始地址,终止地址。装载完毕后,进入调试状态,能够依照您的需要,在 主菜单 | 查看中打开:寄存器窗、存贮器窗1、2、3、观看窗、变量窗、反汇编窗。您也能够通过 主菜单 | 辅助 | 设置 | 格式,设置每一种窗口使用的字体、大小、颜色。移动窗口到您喜爱的位置、大小。第一在“种类”中选择一个窗口,然后选择“字体”、“大小”,在“颜色”中选择某一类,在“前景”、“背景”中选择您喜爱的颜色。关于高级语言,在您的程序前有一段库文件提供的初试化代码,(当前可执行标志)可不能显现在您的文件行上,假如您使用C语言,可将光标移到main函数上,按F

30、4功能键,让CPU全速运行到main行上后停下;假如您使用PL/M语言,按F7功能键,让CPU“单步进入”,运行到您的任何一个可执行后停下。您能够使用以下命令调试您的程序: 设置或清除断点(功能键为F2)在当前光标行上设置或清除一个断点 单步进入(功能键F7)单步执行当前行或当前指令,可进入函数或子程序。SUPER ICE16、SUPER ICE51“单步进入”时,不响应中断。 连续单步进入(功能键Ctrl + F7)连续执行“单步进入”,用鼠标点击或按任意键后,停止运行。SUPER ICE16、SUPER ICE51“单步进入”时,不响应中断。 单步(功能键 F8)单步执行当前行或当前指令,

31、将函数或子程序作为一条指令来执行。假如当前行中含有函数、子程序、或发生中断,CPU将执行完整个函数、子程序、或中断,停止于当前行或当前指令的下一有代码的行上。SUPER ICE16、SUPER ICE51“单步”时,不响应中断。 连续单步(功能键 Ctrl + F8)连续执行“单步”,用鼠标点击或按任意键后,停止运行。SUPER ICE16、SUPER ICE51“单步”时,不响应中断。 运行到光标行(功能键 F4)从当前地址开始全速运行用户程序,碰到光标行、断点或用鼠标点击,停止运行。 全速断点(功能键 F9)从当前地址开始全速运行用户程序,碰到断点或用鼠标点击,停止运行。 全速运行(功能键

32、Ctrl + F10)从当前地址开始全速运行用户程序,现在,按用户系统的复位键,CPU从头开始执行用户程序,即关于MCS51类CPU是从0开始执行;关于MCS96、MCS196类CPU是从2080H开始执行。用鼠标点击,停止运行。 停止运行 终止微机与仿真器之间通信(功能键 ESC)。5.2 调试过程中的问题及解决方法在调试的过程中,由于源程序有多处错误,在编译时会显现提示,那个时候我们会依照提示对错误的地点进行修改,从而使程序编译成功。尽管编译成功了,然而这只是代表程序的语法方面没有错误,还有可能存在逻辑上的错误,如此也会导致仿确实不正确,从而使得仿真无法通过,那个时候就需要进行单步调试,有

33、的时候也需要设置断点,或者是执行到光标处,运用这些指令,从而将程序进行进一步的调试。6 总结为期三周的单片机课程设计终止了,令我感到专门快乐,因为我真正的学到了东西,正所谓严师出高徒,在老师的严格要求下,在我看来差不多是完不成的任务,我按时完成了。往常的实训确实不可与课程设计同日而语,课程设计不仅锤炼我们的动手能力,而且还有自主学习的能力以及团队协作的能力,实训时老师要从旁指导,全程监督,而课程设计完全交给了我们自己去完成,交给了我们自己的团队。人们都说看花容易绣花难,通过这此课程设计我深刻的明白得了那个道理。这次课程设计,遇到了专门多的困难,编写程序我们就研究了好久,有时做梦都能梦见写程序,

34、达到了日有所思夜有所梦的地步。只是在我和我们组长和组员细心地研究,终于写出来了、去实验室去验证也和我们所想的一样。我们实验不只一次,有时我还要在晚上去实验室,去验证我的程序。功夫不负有心人,我们达到了我们想要的成效。我深深地明白这是老师在培养我们自学习的能力,在学校有专门好的老师告诉你,他们情愿倾囊相授,然而不是那种你问什么老师就回答你,因为如此做会导致我们毕业之后什么也可不能。遇到新的事物就可不能去认识它,因为我们在大学没有学到认识新事物的本领。后来我试着编写,终于实现了我想要的功能,我专门有成就感。通过了这次课程设计,我不仅大大提高了系统设计和软件编程的能力,自身的各方面的素养也得到了提高

35、。同时也培养了我的团队协作精神。一个人专门难完成的任务,通过团队便能够在最短的时刻和最高的质量完成,只是前提是要明白如何运用团队里的成员,要明白他们各自的长处,好好利用,才能得到事半功倍的成效,否则适得其反。这次课程设计不仅充实了我的自动化专业知识,扩大了知识面,增强分析问题和解决问题的能力,也提高自学的能力与软件开发能力,为今后的工作打下了坚实的基础。感谢老师们辛劳的带着我们学习新的东西!7 参考文献1谷树忠,刘文洲,姜航Altium Designer 教程电子工业出版社,20182 周航慈. 单片机应用程序设计技术M.北京航空航天大学出版社,2018.23 李光才单片机课程设计实例指导M北

36、京:北京航空航天大学出版社 20044 赵文博单片机语言C51程序设计M北京:人民邮电出版社,2005,105 徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计M.北京航空航天大学出版社,20066于殿泓,王新年单片机原理与程序设计实验教程M西安电子科技大学出版社,2007.8附录附录一:程序清单; AT89S52时钟程序 ;*;定时器T0、T1溢出周期为50MS,T0为秒计数用, T1为调整时闪耀及秒表定时用,;P1.1、P1.2、P1.3为调整按钮,P0口为字符输出口,P2为扫描口,P1.2为蜂呜器口,采;用共阳显示管。;50H-55H为闹钟定时单元,60H-65H为秒表计时单元,72

37、H-75H为显示时刻单元,76H-79H;为分时计时单元。;03H标志=0时钟闪耀,=1秒表, 05H=0,不闹铃,=1要闹铃. 07H每秒改变一次,;用作间隔呜叫.;* DISPFIRST EQU 30H ;显示首址存放单元 BELL EQU P1.7 CONBS EQU 2FH ;存放报时次数;*; 中断入口程序 ;*; ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ;ORG 0003H ;外中断0中断程序入口 ; LJMP INT00 ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 O

38、RG 0013H ;外中断1中断程序入口 LJMP INT01 ;外中断1中断返回 ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ;跳至INTT1执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回;*; 以下程序开始 ;*;整点报时用 QQQQ: MOV A,#10 MOV B,79H MUL AB ADD A,78H MOV CONBS,A CJNE A,#00H,BSLOOP MOV CONBS,#24H BSLOOP: JNB P1.0,INT_00 LCALL DS21MS LCALL DL1S LCALL DL1S ;LCALL DL

39、1S DJNZ CONBS,BSLOOP S1: CLR 08H ;清整点报时标志 AJMP START1 INT_00:LCALL DS20MS ;消抖 JB P1.0,BSLOOP WALL1 : LCALL DISPLAY ;等键 开释 JNB P1.0, WALL1 AJMP S1;*; 主程序开始 ;*; START: MOV R0,#00H ;清00H-7FH内存单元 MOV R7,#80H ; CLEARDISP: MOV R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,#00H ;清20H(标志用) MOV 55H,#1 MOV 5

40、4H,#2 MOV 7AH,#0AH ;放入熄灭符数据 MOV TMOD,#11H ;设T0、T1为16位定时器 MOV TL0,#00H ;50MS定时初值(T0计时用) MOV TH0,#4CH ;50MS定时初值 MOV TL1,#00H ;50MS定时初值(T1闪耀定时用) MOV TH1,#4CH ;50MS定时初值 SETB EA ;总中断开放 SETB ET0 ;承诺T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1秒定时用计数值(50MS20) MOV DISPFIRST,#70H ;显示单元为70-75H;以下主程序循环 START1: LCALL DISPLAY ;调用显示子程序 JB 08H, QQQQ INT01: JNB P1.1,SETMM1 ;P1.1口为0时转时刻调整程序 JNB P1.2,TSFUN ;定时闹铃设定 JNB P1.3,FUNPT ;秒表功能(STOP,RUN,CLR AJMP START1 ;P1.1口为1时跳回START1 FUNPT: LJMP FUNPTT START12: LJMP START1;以下闹铃时刻设定程序,按P1.2进入设定

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号