单片机电子闹钟课程设计_第1页
单片机电子闹钟课程设计_第2页
单片机电子闹钟课程设计_第3页
单片机电子闹钟课程设计_第4页
单片机电子闹钟课程设计_第5页
免费预览已结束,剩余57页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机应用实践学 号:式糕理7次浮课程设计题目电子闹钟的设计与制作学院信息工程学院专业电子信息工程班级姓名指导教师2016年1月9日单片机应用实践课程设计任务书学生姓名: 专业班级:指导教师: 工作单位:信息工程学院题 目:电子闹钟的设计仿真与制作初始条件:(1) PROTEUS、KEIL、WAVE 等软件;(2)课程设计辅导书:单片微型计算机与接口技术要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具 体要求)(1)课程设计时间:1周;(2)课程设计题目:电子闹钟的设计仿真与制作;(3)本课程设计统一技术要求:本系统采用单片机AT89C52作为本设计的核心 元件,利用7

2、段LED作为显示器件。接入LED显示器,可显示时、分钟、秒、 单片机外围接有定时报警系统,定时时间到,扬声器发出报警声。电路由下列部 分组成:时钟电路、复位电路、LED显示,报警电路,芯片选用 AT89C52单片 机。(4)课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写, 并标明参考文献。(5)写出本次课程设计的心得体会。时间安排:第18周指导教师签名:年月日系主任(或责任教师)签名:年月日单片机应用实践目录摘要1Abstract2.1软件介绍3.1.1 Proteus3.1.2 Kell4.1.3 Wave6000 4.2设计方案5.3硬件设计6.3.1 芯片 AT89C5

3、26.3.2 喇叭 SPEAKER8 .3.3 时钟电路8.3.4 显示器模块的设计 9.4软件设计114.1 划分模块114.2 程序流程图114.3 模块程序1.54.3.1 时间的设置程序154.3.2 闹钟时间的设置程序1.74.3.3 喇叭响应程序 194.4数码显示205系统仿真216课设过程中的体会257心得体会26参考文献27附录A源程序代码 28附录B系统原理图39附录C实物图4.0本科生课程设计成绩评定表4.1单片机应用实践摘要本课程设计主要是通过单片机 AT89C52,综合运用定时器、中断、数码显 示等知识设计一个可定时的电子钟。它包括系统总体方案及硬件设计,软件设计,

4、Proteus软件仿真等部分。硬件设计的主要任务是根据总体设计要求,以及在所 选机型的基础上,确定系统扩展所要用的存储器,I/O电路及有关外围电路等然 后设计出系统的电路原理图。合理的软件结构是设计出一个性能优良的单片机应 用性系统软件的基础,因此必须充分重视。编写完程序后在用Proteus软件仿真检查设计是否合理。关键词:可定时电子钟,软件,硬件, AT89C5219AbstractThis course design mainly by single chip microcomputer system, the integrated use of the timer, interrupt,

5、 digital display, such as knowledge to design a can timing electronic clock. It including the system overall scheme and hardware design, software design, and Proteus simulation software.Is the main task of the hardware design based on the general design requirements, and on the basis of the selected

6、 type, determine the system extensions to use memory, I/O circuit and related peripheral circuit, and then design the circuit principle diagram of the system.The reasonable structure of software is to design a good performance of the basis of single chip microcomputer application system software, so

7、 must full attention. After writing the program in use Proteus software simulation check whether the design is reasonable.Keywords:timing electronic clock software, hardware, AT89C521软件介绍1.1 ProteusProteus软件是英国Lab Center曰ectronics公司出版的EDA工具软件。它不 仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前 比较好的仿真单片机及外围器件的工具。

8、虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青 睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到 单片机与外围电路协同仿真,一键切换到 PCB设计,真正实现了从概念到产品 的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,具处理器模型支持 8051、HC11、 PIC10/12/16/18/24/30/DsPIC33 AVR、ARM、8086 和 MSP430 等,2010 年又增 加了 Cortex和DSP系列处理器,并持续增加其他系列处理器模型。 在编译方面

9、, 它也支持IAR、Keil和MATLAB等多种编译器。课程设计、毕业设计是学生走向就业的重要实践环节。由于 PROTEUS提供 了实验室无法相比的大量的元器件库, 提供了修改电路设计的灵活性、提供了实 验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精 神、创造精神的平台随着科技的发展,-计算机仿真技术旧成为许多设计部门重要的前期设计手 段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资 大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能 扶得愈来愈广泛的应用。使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机

10、多媒 体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能 力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学 习比单纯学习书本知识更容易接受, 更容易提高。实践证明,在使用Proteus进 行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因 此,Proteus有较高的推广利用价值。1.2 KellkeilKeil C51是美国Keil Software公司出品的51系列兼容单片机C语言软 件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明

11、显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管 理和一个功能强大的 仿真调试器等在内的完整开发 方案,通过一个集成开发环境 (uVision)将这些部分组合在一起。运行Keil软件需要 WIN98、NT、WIN2000、 WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选, 即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件 仿真调试工具也会令你事半功倍。1.3 Wave6000wave600Q这个软件是南京伟福公司的单片机开发软件,一般就是用在C51 单片机。不需要购买仿真器,使用软件模拟器就可以了,使用很方便的。也支持K

12、EILC,但最好不要在 WAVE内使用C,如果想用C编写,还是用KEIL C 方便。WAVE6000编译软件,采用中文界面。用户源程序大小不受限制,有丰富 的窗口显示方式,能够多方位、动态地展示程序的执行过程。其项目管理功能强 大,可使单片机程序化大为小,化繁为简,便于管理。另外,其书签、断点管理 功能以及外设管理功能等为51单片机的仿真带来极大的便利。2设计方案本课程设计的定时闹钟采用单片机 AT89C52芯片作为核心芯片,用汇编语 言进行编程,时、分、秒用6位LED数码管显示。在电路中通过四个按键 S1、 S2、S3和S4来进行定时和调时,定时时间到通过喇叭发出报警声。电路由下列部分组成:

13、时钟电路、复位电路、控制电路、LED显示,报警电路,芯片选用AT89C52单片机。系统框图:图2.1系统框图nnrlnnnnnn 二 nrmnn VCCP0.0(ADO)p。J(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)F0.5(AD5)P0.6(AD6)P0;(AD7)E/VPPALE/PROGPSEhqP2.7(A1 5)F2.5(A14)P2.5(Al 3)P2.4(A1 2)P2.3(A1 1)P2.2(A 10)P2.1(A9)P2,0(AS)3硬件设计3.1 芯片 AT89C52AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh P

14、rogrammable and Erasable Read Only Memory的低电压,可 稳定地工作于5V的电源下。该器件采用ATMEL高密度非易失存储器制造技术 制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中, ATMEL的AT89C52是一种高效微控制器。(T2) P1.0 (T2 EX) P1.1P1.2P 1.3 P1.4 P 1.5 P1.6 P1.7RST (RXD) P3.0 TXD) P3.1 (FRTT ) P3.2 (TTTn)P3.3 (TO) P3.4 T1 ) P3-5 (WR) P3.6 (RD) P

15、3.7 XTAL2 XTAL1 GND图3.1 AT89C52弓唧图AT89C52管脚说明:VCC:供电电压。GND:接地。P0口 : P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口, 当FIASH进行校验时,P0输出原码,此时P的卜部必须被拉高。P1 口: P1 是一个内部提供上拉电阻的8位双向I/O 口,P1 口缓冲器能接收 输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外 部下拉为

16、低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和 校验时,P1 口作为第八位地址接收。止匕外,与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外 部计数输入(P1.0/T2)和输出(P1.1/T2EX)P2口 : P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收,输出 4个TTL门电流,当P2口被写一田上 其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的 缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址 一1的,它

17、利用内部上拉优势,当对外部八位 地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH 编程和校验时接收高八位地址信号和控制信号。P3口 : P3口是一个具有内部上拉电阻的8位双向I/O 口,P编出缓冲级可驱动 (吸收或输出电流)4个TTL逻辑电平。对P3口写一1附,内部上拉电阻把端口拉 高,此时可以作为输入端口使用。作为输入使用时,被外部拉低的引脚由于内部 电阻的原因,将输出电流ILL 0 P3口除了作为一般、的I/O 口线外,更重要的是它 的第二功能,如表3.1所示表3.1P3口引脚第二功能引脚号第二功能P3.0RXD (串行输入口)P3.1TXD (用行输出口

18、)P3.2/INT0 (外部中断0)P3.3/INT1 (外部中断1)P3.4T0 (记时器0外部输入)P3.5T1 (记时器1外部输入)P3.6/WR (外部数据存储器写选通)P3.7/RD (外部数据存储器读选通)在Flash®程和校验时,P3 口也接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或

19、用于定时目的。 然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX , MOVC指令是ALE才起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH), 不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET

20、;当/EA 端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2 喇叭 SPEAKER由P3.7 口控制喇叭,使其定时时间到能发出报警声。3.3 时钟电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中AT 89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容 组成的并联谐振回路。振荡晶体可在1.2MHz12MHz之间。电容值无严格要求, 但电容取值对振荡频率输出的稳定性、 大小和振荡电路起振速度有少许影响,

21、一 般可在20pF100pF之间取值。AT98C52单片机的时钟电路。如图3.2所示。XTAL22C130PFC230PFJZ I_I T 12MAT89C52AT89C51XTAL1XTAL1图3.2 AT98C52单片机的时钟电路上拉电阻:RESPACK 8控制按键:BUTTON ACTIVE SPST PushButton本系统要进行时间的调整和定时,因此用 4个手动按键对其进行控制。3.4 显示器模块的设计禾I用7SEG-MPX6-CC-BLUE数字显示器的1-6弓I脚连接AT89C51单片机P2.0 P2.5接口,其他8个引脚分别与 AT89C51单片机的P0.0 - P0.7和共阳

22、 极管 RESPACK-8排阻的2 - 9弓I脚分另连接。数码管:7SEG-MPX6-CC-BLUE单片机中通常使用7段LED, LED是发光二极管显示器的缩写。LED显示 器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响 应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。 LED显示器有多种形式,如:冰 窿型显示器,点阵显示器和七段数码显示器等, 在单片机系统中使用最多的是七段数码显示器。因为共阴极的LED数码

23、管它的驱动电流是分开的,在单片机进行动态扫描的 时候不会影响彼此的电流,故该系统中的6位LED数码管均用共阴极的数码管。 如图3.3所示图3.3六位七段数码管4软件设计4.1 划分模块根据设计要求,定时闹钟程序可分为以下几个模块:1)显示时间的设置;2)闹钟时间的设置:3)定时时间的响应。4.2 程序流程图图4.2设置显示时间的流程图;P1.2=1时转移诞时;P1.2为0时转移;延时;小时自加一;小时计数循环;复位;P1.1=1时转移诞时;P1.1=0时转移4.3 模块程序4.3.1 时间的设置程序如下:SETTIME:L0:LCALL DISPLAY1MM1: JB P1.2,L1MOV C

24、,P1.2JC MM1LCALL DELAY1JC MM1MSTOP1: MOV C,P1.2JNC MSTOP1LCALL DELAY1MOV C,P1.2JNC MSTOP1INC 22HMOV A,22HCJNE A,#18H,GO12MOV 22H,#00HMOV 34H,#00HMOV 35H,#00HLJMP L0L1:JB P1.1,L2MOV C,P1.1JC L1LCALL DELAY1JC L1MSTOP2: MOV C,P1.1JNC MSTOP2LCALL DELAY1MOV C,P1.1JNC MSTOP2INC 21HMOV A,21HCJNE A,#3CH,GO1

25、1MOV 21H,#00HMOV 32H,#00HMOV 33H,#00HLJMP L0GO11:MOV B,#0AHDIV ABMOV 32H,BMOV 33H,ALJMP L0GO12:MOV B,#0AHDIV ABMOV 34H,BMOV 35H,ALJMP L0L2:JB P1.0,L0MOV C,P1.0JC L2LCALL DELAY1MOV C,P1.0JC L2STOP1:MOV C,P1.0JNC STOP1LCALL DELAY1;延时;分钟加一;分钟计数循环;复位将A的高4位存入32单元将A的低4位存入33单元;将人的高4位存入34单元;将人的低4位存入35单元;P1.

26、0= 1时转移;延时;P1.0=0时转移;延时;调用 DISPLAY2;P1.1=1时转移;延时;P1.1 = 0时转移;延时;小时加一;小时计数循环;复位;P1.3= 1时转移;延时MOV C,P1.0JNC STOP1LJMP LOOP4.3.2 闹钟时间的设置程序SETATIME:LCALL DISPLAY2N0:LCALL DISPLAY2MM2: JB P1.1,N1MOV C,P1.1JC MM2LCALL DELAY1JC MM2MSTOP3:MOV C,P1.1JNC MSTOP3LCALL DELAY1MOV C,P1.1JNC MSTOP3INC 24HMOV A,24HC

27、JNE A,#24,GO22MOV 24H,#00HMOV 38H,#00HMOV 39H,#00HLJMP N0N1:JB P1.3,N2MOV C,P1.3JC N1LCALL DELAY1JC N1MSTOP4: MOV C,P1.3单片机应用实践JNC STOP221JNC MSTOP4LCALL DELAY1MOV C,P1.3JNC MSTOP4INC 23HMOV A,23HCJNE A,#60,GO21MOV 23H,#00HMOV 36H,#00HMOV 37H,#00HLJMP N0GO21:MOV B,#0AHDIV ABMOV 36H,BMOV 37H,ALJMP N0

28、GO22:MOV B,#0AHDIV ABMOV 38H,BMOV 39H,ALJMP N0N2:JB P1.0 ,N0MOV C,P1.0JC N2LCALL DELAY1MOV C,P1.0JC N2STOP2: MOV C,P1.0;P1.3= 0时转移;延时;分钟加一;分钟计数循环;复位;将人的高4位存入36单元;将人的低4位存入37单元;将人的高4位存入38单元;将人的低4位存入39单元;P1.0=1时转移;延时单片机应用实践;判断定时闹钟的分钟;判断定时闹钟的小时;调用 TIMEOUT;用喇叭响应程序;延时;调用喇叭响应程序结束;P1.0=1时转移;延时;喇叭响应时间LCALL D

29、ELAY1MOV C,P1.0JNC STOP2LJMP LOOP4.3.3 喇叭响应程序TIMEPRO:MOV A,21HMOV B,23HCJNE A,B,BKMOV A,22HMOV B,24HCJNE A,B,BKSETB 25H.0MOV C,25H.0JC XXXX: LCALL TIMEOUTBK:RETTIMEOUT:X1:LCALL BZLCALL DISPLAY2CLR 25H.0JB P1.0, X1 LCALL DELAYCLR 25H.0LJMP DISPLAY1BZ:CLR P3.7MOV R7,#250T2: MOV R6,#124T3: DJNZ R6,T3DJ

30、NZ R7,T2SETB P3.7RET4.4数码显示将所编程序在 WAVE里进行编译,编译正确后生成HEX文件。在AT89C51 芯片中加载此文件后,进行仿真。系统运行后,能准确的显示时间。通过 S1、 S2、S3和S4四个按键,能够对时间进行修改和闹钟的设置。定时时间到能发出报警声。如图4.2所示。“由M rT&flt-n n n n n n u u u u u KfAlZim4-i *DjKE rnjrwid"JViMC *DA.H #n.art#r-yj3P2JXWP32M.-D FZJM.I1 ”"口 pzs-a PSfiiWh FZJrtB等善哥RS备落

31、S帮哥事事gnfg F3.in>r 叮ms fuF7ri.tiiuf i-.nr F3-!IF25图4.25系统仿真通过S1、S2、S3和S4四个按键,对时间进行修改和闹钟的设置。定时时间 到能发出报警声,使用伟福软件编辑程序,在仿真设置中选择E6000"仿真器,选才? POD-51仿真头,选择8031CPU!行汇编程序编辑,然后进行 proteus进行 仿真,其仿真图如下:系统初始状态如图5.1所示。F皿如 ,口廿HI FDAOG! FQJAQ ,口片必 Fn.w ,口, 陌)?FZDVCfzh FZAti ,之*督 F*M3工 他,III-立,sJEkk»zl.i

32、rro: 2F3.VTO r115rlrrn fijuti 门屿皿 F3ST1F3*K HJffiT图5.1初始状态单片机应用实践按下S1键后数值不变,秒指示仍然自动跳跃。当按下 S3后定时,此时显 示的是程序中设定的闹钟响应的时间,如图 5.2所示。 B-5fl=LK#图5.2按S2键可以对时指示进行修改,如图 5.3所示。EP1.:,:F_".FUMa"E 川 fojaw rn.tfAM. QiwrPZOMIFZJrta PX3*W3 . E*"FZmil ,工#H, FZTMU,3W4 M iiTe- piilrraP1»HT MPT.raj/IF

33、TM-IDE 哥哥奇图5.3单片机应用实践按S4键可以对分指示进行修改,如图 5.4所示030H1E3+3Emihxm Mlg»lriEF.u 汉窜足工具旧 IJA! ii 士也mH 工鹏也 92OAi h3*勺 MLwAtrirojaM 出回佗力P*E|I3«ITHF1.1Mhe31图5.4按下S1键后数值不变,秒指示仍然自动跳跃。此时显示的是电子表的时间, 如图5.5所示。8三黑N0 10338ABEEFG QF8TR+ERfflra- rZJM 田附1 rzjncF5ETF2nmlI1ALB用电ECrijmniF2El”pinm1ror 心声fi.ifflfr*.打咕

34、,iMP3JFW1B1,urjfWT1理阳*”,总”第mPMWE图5.5当按下S3键可以对时指示进行修改,如图 5.6所示卫一 JALZ030 IfiBCDEFG DPBllq u mhssrzrzrzrzHbFQfflE 即乜即 口才鼻工 2*用3 西E*PTiarF3U£*a FZ.ICW再按S2键可以对分指示进行修改图5.6,如图5.7所示0303 IS - LUJ777KT7EKrnaAtn PD.1LAI>9 ,口皿1工 PD 皿皿1耳 PQJQAkC 州修*发 PDJLMTF3 insi rdJiirFfl njffrrr rim FMTI pajrfW"

35、HFHAE rzvw RZaAID FZJfAIIP3TW图5.76课设过程中的体会(1)由于电路用Proteus仿真是正确的,但是在实物操作过程中,单片机开发板 的八段数码管的显示一直是乱码的。 经过我们的反复排查,发现由于我们的片选 只需要6根,但是我们用了有八根孔的排插,将所有的片选端口P2与数码管连接了起来。最后,我们一根一根地连接 P2端口与六位七段数码片选端口起来。 终于,数码管的显示是正确的了。(2)由于我们的电子闹钟的要求是可定时,可更改显示时间与到时间要求蜂鸣 器报警,功能较多。所以,我们划分了三大模块来编写代码,然后分别用Wave来调试。这样就大大减小了我们的负担。(3)在

36、用STC软件烧程序进入集成板的过程中,我们选错了芯片,造成结果是 错误的。这教会了我做课设的时要细心,遇到问题要有耐心。7心得体会课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题, 锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。 随着 科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在,作为二十一世纪的大学生来说掌握单片机的开发 技术是十分重要的。通过本次单片机原理及应用课程设计使我充分认认到了课程设计的理要性 和必要性,本次设计使我对已学过的基础知识有了更深入的理解, 学会了独立思 考、独立工作以及对应用所

37、学基本理论分析和解决实际问题的能力有了很大的提 高。另外,本次设计使我的实际操作技能得到了训练,同时也进一步培养了我严谨的科学作风。回顾起此次单片机课程设计,从选题到定稿,从理论到实践,在整整一星期 的日子里,可以说得是苦多于甜,但是从中却学到很多很多的的东西, 不但巩固 了以前所学过的知识,而且对单片机原理课外知识也的到了拓展。做的过程中, 开始的确遇到了不少困难的问题,比如说芯片管脚不熟悉怎么放置,对单片机汇 编语言掌握得不好等等,同时在这过程中也发现了自己的许多不足之处, 对以前 所学过的知识理解得不够深刻,掌握得不够牢固。通过单片机课程设计之后,我不仅加深了对单片机理论的理解, 将理论

38、很好 地应用到实际当中去,而且我们还学会了如何去培养创新精神和严谨的科学作 风,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会 了坚持不懈,不轻易言弃。参考文献1 .李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,19982 .何立民.单片机应用技术大全.北京:北京航空航天大学出版社,19943 .张毅刚.单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,19904李群芳.单片微型计算机与接口技术.北京:电子工业出版社,20125 . Mak.S, Radford. D, ?Design considerations for implementati

39、on of large scale automatic meter reading systems Power Delivery, IEEE Transactions on , Volume 10, Issue 1, Jan. 19956 .余发山主编,单片机原理及应用技术,中国矿业大学出版社 2003.12单片机应用实践附录A源程序代码ORG 0000HLJMP MAINORG 000BHLJMP TIMESETB TR033*MAIN PROGRAM*MOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVORG 0100HMAIN:MOV SP,#50HMOV

40、 20H,#00HMOV 21H,#00H 22H,#00H23H,#01H24H,#01H25H,#00H30H,#00H31H,#00H32H,#00H33H,#00H34H,#00H35H,#00H36H,#01H37H,#00H38H,#01H39H,#00H;BIN SECOND;BIN MINUTE;BIN HOUR;BCD SECOND;BCD MINUTE;BCD HOURMOV TMOD,#01HMOV TH0,#03CHMOV TL0,#0B0H;16位计数器;赋初值;中断允许;启动T0MOV IE,#10000111单片机应用实践39MOV R2,#14HMOV P2,#

41、0FFHLOOP:LCALL TIMEPROLCALL DISPLAY1JB P1.3,M1LCALL SETTIMELJMP LOOPM1:JB P1.2,M2LCALL SETATIMELJMP LOOPM2:JB P1.0,M4LCALL LOOKATIMEM4:LJMP LOOPDELAY:MOV R4,#030HDL00:MOV R5,#0FFHDL11:MOV R6,#9HDL12:DJNZ R6,DL12DJNZ R5,DL11DJNZ R4,DL00RETSETTIME:L0:LCALL DISPLAY1MM1: JB P1.2,L1MOV C,P1.2JC MM1LCALL

42、DELAY1JC MM1;P1.3= 1时转移;调用SETTIME子程序;P1.2=1时转移;调用SETTIME子程序;P1.0=1时转移;调用LOOKATIME子程序;延时;P1.2=1时转移;延时MSTOP1: MOV C,P1.2JNC MSTOP1;P1.2为0时转移;延时;小时自加一;小时计数循环;复位;P1.1=1时转移诞时;P1.1 = 0时转移;延时;分钟加一;分钟计数循环;复位LCALL DELAY1MOV C,P1.2JNC MSTOP1INC 22HMOV A,22HCJNE A,#18H,GO12MOV 22H,#00HMOV 34H,#00HMOV 35H,#00HL

43、JMP L0L1:JB P1.1,L2MOV C,P1.1JC L1LCALL DELAY1JC L1MSTOP2: MOV C,P1.1JNC MSTOP2LCALL DELAY1MOV C,P1.1JNC MSTOP2INC 21HMOV A,21HCJNE A,#3CH,GO11MOV 21H,#00HMOV 32H,#00HMOV 33H,#00HLJMP L0MOV 32H,BMOV 33H,ALJMP L0GO12:MOV B,#0AHDIV ABMOV 34H,BMOV 35H,ALJMP L0L2:JB P1.0,L0MOV C,P1.0JC L2LCALL DELAY1MOV

44、 C,P1.0JC L2STOP1: MOV C,P1.0JNC STOP1LCALL DELAY1MOV C,P1.0JNC STOP1LJMP LOOPSETATIME:LCALL DISPLAY2N0:LCALL DISPLAY2MM2: JB P1.1,N1MOV C,P1.1JC MM2LCALL DELAY1JC MM2MSTOP3: MOV C,P1.1JNC MSTOP3将A的低4位存入32单元将A的高4位存入33单元;将人的低4位存入34单元;将A的高4位存入35单元;P1.0=1时转移;延时;P1.0= 0时转移;延时;调用 DISPLAY2;P1.1=1时转移;延时;P1

45、.1=0时转移单片机应用实践;延时;小时加一;小时计数循环;复位;P1.3= 1时转移;延时;P1.3= 0时转移;延时;分钟加一;分钟计数循环;复位LCALL DELAY1MOV C,P1.1JNC MSTOP3INC 24HMOV A,24HCJNE A,#24,GO22MOV 24H,#00HMOV 38H,#00HMOV 39H,#00HLJMP N0N1:JB P1.3,N2MOV C,P1.3JC N1LCALL DELAY1JC N1MSTOP4:MOV C,P1.3JNC MSTOP4LCALL DELAY1MOV C,P1.3JNC MSTOP4INC 23HMOV A,23

46、HCJNE A,#60,GO21MOV 23H,#00HMOV 36H,#00HMOV 37H,#00HLJMP N0GO21:MOV B,#0AHDIV AB41单片机应用实践JC XX43MOV 36H,BMOV 37H,ALJMP N0GO22:MOV B,#0AHDIV ABMOV 38H,BMOV 39H,ALJMP N0N2:JB P1.0 ,N0MOV C,P1.0JC N2LCALL DELAY1MOV C,P1.0JC N2STOP2: MOV C,P1.0JNC STOP2LCALL DELAY1MOV C,P1.0JNC STOP2LJMP LOOPTIMEPRO:MOV

47、 A,21HMOV B,23HCJNE A,B,BKMOV A,22HMOV B,24H CJNE A,B,BKSETB 25H.0MOV C,25H.0;将人的高4位存入36单元;将人的低4位存入37单元;将A的高4位存入38单元;将A的低4位存入39单元;P1.0=1时转移;延时;判断定时闹钟的分钟;判断定时闹钟的小时单片机应用实践;调用 TIMEOUT;调用喇叭响应程序 ;延时;调用喇叭响应程序结束;P1.3=1时转移;延时;喇叭响应时间XX: LCALL TIMEOUTBK:RETTIMEOUT:X1:LCALL BZLCALL DISPLAY2CLR 25H.0JB P1.0, X1

48、LCALL DELAYCLR 25H.0LJMP DISPLAY1BZ:CLR P3.7MOV R7,#250T2: MOV R6,#124T3: DJNZ R6,T3DJNZ R7,T2SETB P3.7RETLOOKATIME:LCALL DISPLAY2MM:JB P1.0,LOOKATIMEMOV C,P1.0JC MMLCALL DELAY1MOV C,P1.0JC MMSTOP3: MOV C,P1.0JNC STOP3LCALL DELAY1MOV C,P1.047JNC STOP3LJMP LOOPDELAY1:MOV R4,#14HDL001:MOV R5,#0FFHDL111: DJNZ R5,DL111DJNZ R4,DL001RET;时间延时*TIME PROCESS *TIME: PUSH ACCPUSH PSWMOV TH0,#03CHMOV TL0,#0B0HDJNZ R2,RET0MOV R2,#14HMOV A,20HCLR CINC ACJNE A,#3CH,GO1MOV 20H,#0MOV 30H,#0MOV 31H,#0MOV A,21HINC ACJNE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论