




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计报告单片机课程设计报告 定时闹钟定时闹钟 姓 名 学 号 专业班级 电气工程 04 4 指导老师 杨凌霄 所在学院 电气工程与自动化学院 1 摘要摘要 本设计是用单片机原理及其相关硬件的运用实现的定时闹钟 数字电子钟 设计与制作可采用数字电路实现 也可以采用单片机来完成 若用数字电路完成 所设计的电路相当复杂 大概需要十几片数字集成块 其功能也主要依赖于数字电 路的各功能模块的组合来实现 焊接的过程比较复杂 成本也非常高 若用单片机 来设计制作完成 由于其功能的实现主要通过软件编程来完成 那么就降低了硬件 电路的复杂性 而且其成本也有所降低 所以在该设计与制作中采用单片机 AT89C51 它是低功耗 高性能的 CMOS 型 8 位单片机 片内带有 4KB 的 Flash 存储器 且允许在系统内改写或用编程器编程 另外 AT89C51 的指令系统和引 脚与 8051 完全兼容 片内有 128B 的 RAM 32 条 I O 口线 2 个 16 位定时计数 器 5 个中断源 一个全双工串行口等 显示部分采用六位一体的共阳极数码 管 运用同相三态双向总线收发器 74LS245 作为输出驱动显示部件的元件 在编写程序的过程采用了定时程序和时间调整程序对称的编写方法 并且 在时间的调整或设置过程中本设计采用了长按进行调时或调分的选择 短按是 进行在选择后进行加 1 每短按一次 该单位加 1 调整完毕以后再次长按原设 置键即可跳出设置循环 显示部分 共阳极数码管显示正常走时的时间 但 是该程序在硬件的仿真过程中有点瑕疵 在仿真开始时警示灯直接亮 必须通 过闹钟定时键 K2 的闹钟设置以后时间才可以正常走时 之后可以进行时间的 调整或闹钟的重新调整 2 目录目录 1 1 概述概述 3 3 1 1 设计任务 3 1 2 设计要求 3 1 3 设计意义 3 2 2 系统总体方案与硬件选择设计系统总体方案与硬件选择设计 4 4 2 1 系统总体方案 4 2 2 硬件选择设计 4 3 3 软件设计软件设计 9 9 3 1 程序流程图 9 3 2 程序模块 10 4 4 PROTEUSPROTEUS 软件仿真软件仿真 1717 5 5 课程设计体会课程设计体会 1919 参考文献参考文献 1919 附附 1 1 源程序代码 源程序代码 2121 附附 2 2 系统原理图 系统原理图 3333 3 1 1 概述概述 1 1 设计任务 在熟练掌握单片机及其仿真系统的使用方法的基础上 综合应用单片机 原理 微机原理 微机接口技术等专业知识 设计采用一个 AT89C51 单片机控 制的定时闹钟 1 2 设计要求 1 能够显示 时时 分分 秒秒 2 设定定时时间 修改定时时间 3 定时时间到能发出报警声或者启动继电器 从而控制电器的启停 在此设计中该定时闹钟的报警启动继电器的动作用 LED 灯的变化来显示 1 3 设计意义 通过利用 MCS 51 单片机制作定时闹钟 可以更加深刻的理解单片机在自动 化仪表中的作用以及掌握单片机的编程方法 从而进一步熟悉和掌握单片机的 内部结构和工作原理 了解单片机应用系统设计的基本方法和步骤 通过设计 定时数字闹钟数字输出输入及扫描显示模拟系统 熟练掌握单片机仿真软件 Proteus 的使用方法 4 2 2 系统总体方案与硬件选择设计系统总体方案与硬件选择设计 2 1 系统总体方案 定时闹钟的系统可分为四个环节 分别是单片机控制系统 时间显示模块 控制键模块和闹铃模块 通过若干模块的协调工作就可以完成相应的时间调整 和定时闹钟的相应功能以及显示功能 模块的相互连接如下图 图 1 所示 单片机控制系统模块 图 1 2 2 硬件选择设计 1 单片机控制系统与相关附件 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 可编程可擦除只读存储器 AT89C51 如图 2 图 2 1 简介 该元件由 CPU 振荡器与时序电路 4KB 的 ROM 256B 的 RAM 两 个 16 位的定时器 计数器 T0 和 T1 4 个 8 位的 I O 端口 闹铃模块 时间显示 模块 控制键模 块 5 P0 P1 P2 P3 串行口等组成 其中振荡器时序电路与外时钟组成 了定时控制部件 2 CPU 的主要功能是产生各种控制信号 控制存储器 输入 输出接口 的数据传送 数据的算术运算 逻辑运算以及位操作处理等 它是单片 机的头脑 3 CPU 从功能上可以分为运算器和控制器两部分 其中运算器由算术 逻辑运算部件 ALU 累加器 暂存器 程序状态字寄存器 BCD 码运算调 整电路等组成 为了提高数据处理和位操作能力 片内增加了一个通用 寄存器 B 和一些专用寄存器 还增加了位处理逻辑电路的功能 主要完 成对数据进行算术四则运算和逻辑运算 移位操作 位操作等 控制器由程序计数器 指令寄存器 指令译码器 定时控制与条件 转移逻辑电路等组成 主要功能是对来自存储器中的指令进行译码 通 过定时控制电路 在规定的时刻发出各种操作所需的全部内部和外部控 制信号 协调各功能元件的工作 完成指令所规定的功能 而控制器中 的定时控制部件与时序是在规定时刻发出各种操作所需的全部内部和外 部控制信号 使各功能元件能够协调工作 完成指令所规定动作的功能 主要任务是产生一个工作时序 其工作需要时钟电路提供一个工作频率 4 管脚说明 VCC 供电电压 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高祖输入 P0 能够用于外部程序数据 存储器 它可以被定义为数据 地址的第八位 在 FLASH 编程时 P0 口作为原 码输入口 当 FLASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能 接受输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用做输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作为第八位地址接收 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 缓冲器可接收输 出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作为输 6 入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内部 上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行 存取时 P2 口作为地址的高 8 位 在给出地址 1 时 它利用内部上拉优势 当 对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输 入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 2 系统时钟电路 如图 3 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 C2 10u X1 CRYSTAL C1 10u R1 10k R2 10k R3 10k 图 3 MCS 51 内部有一个用于构成振荡器的高增益反相放大器 此放大器的输 入和输出端分别是引脚 XTAL1 和 XTAL2 在 XTAL1 和 XTAL2 上外接时钟源即可 构成时钟电路 单片机的生产工艺不同 时钟的产生方式也不同 有内部和外 部两种时钟产生方式 根据该设计的需要 采取了内部方式 1 HMOS 型 MCS 51 外部时钟源的接法 内部时钟产生方式 XTAL1 和 XTAL2 两端跨接晶体或陶瓷振谐器 与内部反相器构成稳定的自激 振荡器 其发出的时钟脉冲直接送入片内定时控制部件 C1 C2 对 频率有微调作用 2 CHMOS 型的外部时钟源的接法与 HMOS 型的单片机内部时钟电路不同 2 1 内部时钟信号取自反相放大器的输入端 2 2 振荡器的工作可编程控制 即当相应的部件进入掉电保护 系统进入低功耗运行 因内部时钟发生器的信号取自放大器的输 入端 故采用外部时钟源时 接线方法与 HMOS 型的单片机有所不 同 7 3 同相三态双向总线收发器 74LS245 如图 4 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 C2 10u X1 CRYSTAL C1 10u R1 10k R2 10k R3 10k A0 2 B0 18 A1 3 B1 17 A2 4 B2 16 A3 5 B3 15 A4 6 B4 14 A5 7 B5 13 A6 8 B6 12 A7 9 B7 11 CE 19 AB BA 1 U2 74LS245 D1 LED GREEN 图 4 用来驱动 LED 或其他的设备 可双向传输数据 还具有三态功能 既可以输出 也 可以输入数据 当 8051 单片机的 P0 口总线负载达到或超过 P0 口负载能力时 必须接入 74LS245 等总线驱动器 2 控制键模块 如图 5 R1 10k R2 10k D1 LED YELLOW K1 K2 图 5 K1 键为时间设置和正常走时的设置键 第一次长按该键即可进行分钟的设 置状态 调整的部分为闪烁状态 之后短按该键每按下一次即可在要设置的分 钟上加 1 设置完成以后再次长按该键即可进入小时的设置 分钟的显示位置 8 不再闪烁 而小时的显示位置为闪烁状态 之后短按该键每按下一次即可在要 设置的小时上加 1 设置完成之后再次长按该键 显示部分无闪烁状态 即可 显示设置时间后的正常走时 K2 键为闹钟设置键和正常走时的调整键 调整的过程与时间的设置过程类 似 第一次长按该键即可进行分钟的调整状态 调整的部分为闪烁状态 之后 短按该键每按下一次即可在要设置的分钟上加 1 设置完成以后再次长按该键 即可进入小时的设置 分钟的显示位置不再闪烁 而小时的显示位置为闪烁状 态 之后短按该键每按下一次即可在要调整的小时上加 1 调整完成以后长按 该键 显示部分无闪烁状态 即可显示正常走时 须注意 该定时闹钟在定时之后才可以正常走时 3 时间显示模块显示部分 如图 6 图 6 显示部分采用六位一体共阳数码管 自左到右分别显示时时 分分 秒秒 在进行时间的闹钟设置和时间的调整过程中相应的设置或调整的单元部分为闪 烁状态 4 闹铃模块 如图 7 D1 LED GREEN 图 7 警示灯 定时时间输出低电平 LED 灯两端存在电位差即灯亮 9 3 3 软件设计软件设计 3 1 程序流程图 10 初次设置闹铃 间 CPU 等初始化 设定闹铃时间 启动走时 有关量的初始化 启动闹铃 定时设置程序 判断分时变化 调时调分 判断 1S 到否 再次设置闹铃否 闹铃时间到否 显示刷新 3 2 程序模块 11 主 程 序 START MOV R0 70H MOV R7 0BH MOV 20H 00H CLEARDISP MOV R0 00H INC R0 DJNZ R7 CLEARDISP 给显示缓冲单元 70 75H 赋初值 MOV 7AH 0AH MOV 3AH 0AH MOV R0 30H MOV R7 0BH MOV 20H 00H CLEARdDISP MOV R0 00H INC R0 DJNZ R7 CLEARdDISP MOV 3AH 0AH MOV TMOD 11H 定时器等状态初始化 MOV TL0 0B0H MOV TH0 3CH MOV TL1 0B0H MOV TH1 3CH SETB EA 开中断 SETB ET0 SETB TR0 T0 开始工作 MOV R4 14H start1 LCALL DISPLAY JNB P3 2 SETMM1 JNB P3 3 DSETMM1 SJMP Start1 SETMM1 LJMP SETMM DSETMM1 LJMP DSETMM 程序开始先调用调整与正常走时显示程序 判断 K1 键是否按下 若按下择调用时钟 调整程序 若无按下则判断 K2 是否按下 若按下则调用闹钟设置程序 若无键按下则返 回主程序继续循环 当定时器计数满溢出时 调用计时秒进位程序 时钟每增加一秒 通过以下语句 CJNE a 70H yyy 12 MOV a 31H CJNE a 71H yyy MOV a 32H CJNE a 72H yyy MOV a 33H CJNE a 73H yyy MOV A 34H CJNE A 74H yyy MOV A 35H CJNE A 75H yyy 判断定时时间是否到 若没有则返回主程序 若有则调用闹钟服务子程序 由于定时设置时的初值和正常走时的初值全部为 00H 所以在刚开始运行时灯直接亮 之后可以通过长按 k2 键设置定时闹钟的时间进而实现该闹钟的正常走时 计时秒进位程序 INTT0 PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A 0B7H 中断同步修正 ADD A TL0 MOV TL0 A MOV A 3CH ADD A TH0 MOV TH0 A SETB TR0 DJNZ R4 OUTT0 ADDSS MOV R4 14H MOV R0 71H ACALL ADD1 加 1 程序 MOV A R3 CLR C CJNE A 60H ADDMM ADDMM JC OUTT0 ACALL CLR0 MOV R0 77H ACALL ADD1 13 MOV A R3 CLR C CJNE A 60H ADDHH ADDHH JC OUTT0 ACALL CLR0 MOV R0 79H ACALL ADD1 MOV A R3 CLR C CJNE A 24H HOUR HOUR JC OUTT0 ACALL CLR0 OUTT0 MOV 72H 76H MOV 73H 77H MOV 74H 78H MOV 75H 79H MOV A 30H CJNE A 70Hyyy MOV A 31H CJNE A 71H yyy MOV A 32H CJNE A 72H yyy MOV A 33H CJNE A 73H yyy MOV A 34H CJNE A 74H yyy MOV A 35H CJNE A 75H yyy CLR p1 0 LCALL ALARMPROCESS yyy POP PSW POP ACC SETB ET0 RETI 时钟调整程序 14 SETMM cLR ET0 CLR TR0 LCALL DL1S JB P3 2 CLOSEDIS MOV R2 06H SETB ET1 SETB TR1 SET2 JNB P3 2 SET1 SETB 00H SET4 JB P3 2 SET3 LCALL DL05S JNB P3 2 SETHH MOV R0 77H 加 1 分程序 LCALL ADD1 MOV A R3 CLR C CJNE A 60H HHH HHH JC SET4 LCALL CLR0 CLR C AJMP SET4 CLOSEDIS SETB ET0 SETB TR0 CLOSE JB P3 2 CLOSE LCALL DISPLAY JB P3 2 CLOSE WAITH JNB P3 2 WAITH LJMP START1 SETHH CLR 00H SETHH1 JNB P3 2 SET5 SETB 01H SET6 JB P3 2 SET7 LCALL DL05S JNB P3 2 SETOUT MOV R0 79H LCALL ADD1 MOV A R3 15 CLR C CJNE A 24H HOUU HOUU JC SET6 LCALL CLR0 AJMP SET6 SETOUT JNB P3 2 SETOUT1 LCALL DISPLAY JNB P3 2 SETOUT CLR 01H CLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP START1 SET1 LCALL DISPLAY AJMP SET2 SET3 LCALL DISPLAY AJMP SET4 SET5 LCALL DISPLAY AJMP SETHH1 SET7 LCALL DISPLAY AJMP SET6 SETOUT1 LCALL DISPLAY AJMP SETOUT 调整通过判断按键按下时间的长短来判断是调小时还是调分 通过调用闪烁程序可以判断 当前状态是调整小时或是调整分钟 闹铃时钟调整程序 DSETMM CLR ET0 CLR TR0 SETB 04H LCALL DDL1S JB P3 3 DCLOSEDIS MOV R2 06H 16 SETB ET1 SETB TR1 DSET2 JNB P3 3 DSET1 SETB 03H DSET4 JB P3 3 DSET3 LCALL DDL05S JNB P3 3 DSETHH MOV R0 37H 加 1 分程序 LCALL ADD1 MOV A R3 CLR C CJNE A 60H DHHH DHHH JC DSET4 LCALL CLR0 CLR C AJMP DSET4 DCLOSEDIS SETB ET0 SETB TR0 DCLOSE JB P3 3 DCLOSE LCALL DISPLAY2 JB P3 3 DCLOSE DWAITH JNB P3 3 DWAITH LJMP START1 DSETHH CLR 03H DSETHH1 JNB P3 3 DSET5 SETB 06H DSET6 JB P3 3 DSET7 LCALL DDL05S JNB P3 3 DSETOUT MOV R0 39H LCALL ADD1 MOV A R3 CLR C CJNE A 24H DHOUU DHOUU JC DSET6 LCALL CLR0 AJMP DSET6 DSETOUT JNB P3 3 DSETOUT1 17 LCALL DISPLAY2 JNB P3 3 DSETOUT CLR 06H CLR 03H CLR 05H CLR 04H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP START1 DSET1 LCALL DISPLAY2 AJMP DSET2 DSET3 LCALL DISPLAY2 AJMP DSET4 DSET5 LCALL DISPLAY2 AJMP DSETHH1 DSET7 LCALL DISPLAY2 AJMP DSET6 DSETOUT1 LCALL DISPLAY2 AJMP DSETOUT 设置通过判断按键按下时间的长短来判断是设置小时还是设置分钟 通过调用闪烁程序可 以判断当前状态是设置小时或是设置分钟 4 4 ProteusProteus 软件仿真软件仿真 正常走时的仿真图 如图 8 18 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 AT89C51 C1 10u C2 10u R1 10k X1 CRYSTAL A0 2 B0 18 A1 3 B1 17 A2 4 B2 16 A3 5 B3 15 A4 6 B4 14 A5 7 B5 13 A6 8 B6 12 A7 9 B7 11 CE 19 AB BA 1 U3 74LS245 R2 10k D1 LED YELLOW 图 8 定时时间到灯亮时的仿真图 如图 9 图 10 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 AT89C51 C1 10u C2 10u R1 10k X1 CRYSTAL A0 2 B0 18 A1 3 B1 17 A2 4 B2 16 A3 5 B3 15 A4 6 B4 14 A5 7 B5 13 A6 8 B6 12 A7 9 B7 11 CE 19 AB BA 1 U3 74LS245 R2 10k D1 LED YELLOW 图 9 19 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 AT89C51 C1 10u C2 10u R1 10k X1 CRYSTAL A0 2 B0 18 A1 3 B1 17 A2 4 B2 16 A3 5 B3 15 A4 6 B4 14 A5 7 B5 13 A6 8 B6 12 A7 9 B7 11 CE 19 AB BA 1 U3 74LS245 R2 10k D1 LED YELLOW 图 10 20 5 5 课程设计体会课程设计体会 当今时代是一个新技术层出不穷的时代 在电子领域尤其是自动化智能控 制领域 传统的分立元件或数字逻辑电路构成的控制系统 正以前所未见的速 度被单片机智能控制系统所取代 单片机具有体积小 功能强 成本低 应用 面广等优点 可以说 智能控制与自动控制的核心就是单片机 它在科学技术 的发展与生活中的重要性随着时间的发展越来越显著 通过这次单片机课程设 计我对常用的单片机的工作原理与设置应用有了具体的操作上的认识 对于程 序中编程过程掌握欠缺的地方在此次单片机的课程设计中得到很大的提高 对 于指令的认识与运用在这次课程设计中有了更多的认识 并且对 PROTEUS 软件 与 WAVE 软件的应用得到了掌握 并且通过这次单片机课程设计我深刻的感受到自己在编程以及硬件上的差 距 虽然实现了老师对这个课程设计的基本要求 但是对于编程过程中的许多 细节上的东西处理的不好 以致在数码管的刚开始的显示中显示有点混乱 只 有在若干次的按键才能正常显示 并且开始的正常走时必须在定时的前提下才 能正常走时 我的这次课设存在瑕疵 通过这次课设让我更深刻的感受到单片 机是与实践是紧密联系在一起的 因此我更要在以后的学习中注重对这方面能力 的培养 为走向工作岗位增加自己的竞争力 也为更好的适应社会与时代的发 展做准备 参考文献参考文献 期刊论文期刊论文 1 金素华 张尉 单片机调试方法的讨论 电子世界 2004 25 4 34 65 2 宋凤娟 廉文利 付云强 单片机 89C51 在调速系统中的应用 微计算机信息 2007 12 6 113 114 书 专著 书 专著 1 余发山 单片机原理及应用技术 中国矿业大学出版社 2003 21 30 2 何立民编著 单片机中级教程 原理与应用 北京 北京航天大学出版社 2000 78 100 3 张迎新编著 单片微型计算机原理应用及接口技术 北京 国防工业出版社 1993 67 89 电子文献 电子文献 1 步步鱼 单片机 AT89C51 介绍 21 2007 05 20 2007 08 06 2 海子 同相三态双向总线收发器 74LS245 简介 2007 04 12 2007 08 06 22 附 1 源程序代码 显示缓冲单元在 70H 75H 70H 71H 显示秒 72H 73H 显示分 74H 75H 显示时 定时缓冲单元在 30H 35H 30H 31H 显示秒 32H 33H 显示分 34H 35H 显示小时 时间计数单元在 70H 71H 秒 76H 77H 分 78H 79H 时 7AH 单元放熄 灭符 0AH 计数单元采用 BCD 码计数 定时器 T0 设置为 50MS 溢出中断 为秒计数用 定时器 T1 为调整时闪烁用 P3 2 为调整按钮 P1 口为字符输出口 采用共阳显示管 中断入口程序 ORG 0000H LJMP START ORG 0003H RETI ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI 主 程 序 START MOV R0 70H MOV R7 0BH MOV 20H 00H CLEARDISP MOV R0 00H INC R0 DJNZ R7 CLEARDISP MOV 7AH 0AH MOV 3AH 0AH MOV TMOD 11H 23 MOV TL0 0B0H MOV TH0 3CH MOV TL1 0B0H MOV TH1 3CH SETB EA SETB ET0 SETB TR0 MOV R4 14H start1 LCALL DISPLAY JNB P3 2 SETMM1 JNB P3 3 DSETMM1 SJMP Start1 SETMM1 LJMP SETMM DSETMM1 LJMP DSETMM 计时秒进位程序 INTT0 PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A 0B7H 中断同步修正 ADD A TL0 MOV TL0 A MOV A 3CH ADD A TH0 MOV TH0 A SETB TR0 DJNZ R4 OUTT0 ADDSS MOV R4 14H MOV R0 71H ACALL ADD1 加 1 程序 MOV A R3 CLR C CJNE A 60H ADDMM ADDMM JC OUTT0 ACALL CLR0 24 MOV R0 77H ACALL ADD1 MOV A R3 CLR C CJNE A 60H ADDHH ADDHH JC OUTT0 ACALL CLR0 MOV R0 79H ACALL ADD1 MOV A R3 CLR C CJNE A 24H HOUR HOUR JC OUTT0 ACALL CLR0 OUTT0 MOV 72H 76H MOV 73H 77H MOV 74H 78H MOV 75H 79H MOV A 30H CJNE A 70H yyy MOV A 31H CJNE A 71H yyy MOV A 32H CJNE A 72H yyy MOV A 33H CJNE A 73H yyy MOV A 34H CJNE A 74H yyy MOV A 35H CJNE A 75H yyy CLR p1 0 LCALL ALARMPROCESS yyy POP PSW POP ACC SETB ET0 RETI 25 闹时服务子程序 ALARMPROCESS clr p1 0 jb p3 3 setb p1 0 ALARMRETURN RET 闪动调时程 序 INTT1 PUSH ACC PUSH PSW MOV TL1 0B0H MOV TH1 3CH DJNZ R2 INTT1OUT MOV R2 06H JB 04H DFLASH CPL 02H JB 02H FLASH1 MOV 72H 76H MOV 73H 77H MOV 74H 78H MOV 75H 79H INTT1OUT POP PSW POP ACC RETI FLASH1 JB 01H FLASH2 MOV 72H 7AH MOV 73H 7AH MOV 74H 78H MOV 75H 79H AJMP INTT1OUT FLASH2 MOV 72H 76H MOV 73H 77H MOV 74H 7AH MOV 75H 7AH 26 AJMP INTT1OUT 定时闪动调时程序 DFLASH CPL 05H JB 05H FLASH3 MOV 32H 36H MOV 33H 37H MOV 34H 38H MOV 35H 39H AJMP INTT1OUT FLASH3 JB 06H FLASH4 MOV 32H 3AH MOV 33H 3AH MOV 34H 38H MOV 35H 39H AJMP INTT1OUT FLASH4 MOV 32H 36H MOV 33H 37H MOV 34H 3AH MOV 35H 3AH AJMP INTT1OUT 加 1 程序 ADD1 MOV A R0 DEC R0 SWAP A ORL A R0 ADD A 01H DA A MOV R3 A ANL A 0FH MOV R0 A MOV A R3 INC R0 SWAP A 27 ANL A 0FH MOV R0 A RET 清零程序 CLR0 CLR A MOV R0 A DEC R0 MOV R0 A RET 时钟调整程序 SETMM cLR ET0 CLR TR0 LCALL DL1S JB P3 2 CLOSEDIS MOV R2 06H SETB ET1 SETB TR1 SET2 JNB P3 2 SET1 SETB 00H SET4 JB P3 2 SET3 LCALL DL05S JNB P3 2 SETHH MOV R0 77H 加 1 分程序 LCALL ADD1 MOV A R3 CLR C CJNE A 60H HHH HHH JC SET4 LCALL CLR0 CLR C AJMP SET4 CLOSEDIS SETB ET0 SETB TR0 CLOSE JB P3 2 CLOSE 28 LCALL DISPLAY JB P3 2 CLOSE WAITH JNB P3 2 WAITH LJMP START1 SETHH CLR 00H SETHH1 JNB P3 2 SET5 SETB 01H SET6 JB P3 2 SET7 LCALL DL05S JNB P3 2 SETOUT MOV R0 79H LCALL ADD1 MOV A R3 CLR C CJNE A 24H HOUU HOUU JC SET6 LCALL CLR0 AJMP SET6 SETOUT JNB P3 2 SETOUT1 LCALL DISPLAY JNB P3 2 SETOUT CLR 01H CLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP START1 SET1 LCALL DISPLAY AJMP SET2 SET3 LCALL DISPLAY AJMP SET4 SET5 LCALL DISPLAY AJMP SETHH1 SET7 LCALL DISPLAY AJMP SET6 SETOUT1 LCALL DISPLAY 29 AJMP SETOUT 闹铃时钟调整程序 DSETMM CLR ET0 CLR TR0 SETB 04H LCALL DDL1S JB P3 3 DCLOSEDIS MOV R2 06H SETB ET1 SETB TR1 DSET2 JNB P3 3 DSET1 SETB 03H DSET4 JB P3 3 DSET3 LCALL DDL05S JNB P3 3 DSETHH MOV R0 37H 加 1 分程序 LCALL ADD1 MOV A R3 CLR C CJNE A 60H DHHH DHHH JC DSET4 LCALL CLR0 CLR C AJMP DSET4 DCLOSEDIS SETB ET0 SETB TR0 DCLOSE JB P3 3 DCLOSE LCALL DISPLAY2 JB P3 3 DCLOSE DWAITH JNB P3 3 DWAITH LJMP START1 DSETHH CLR 03H DSETHH1 JNB P3 3 DSET5 SETB 06H DSET6 JB P3 3 DSET7 LCALL DDL05S 30 JNB P3 3 DSETOUT MOV R0 39H LCALL ADD1 MOV A R3 CLR C CJNE A 24H DHOUU DHOUU JC DSET6 LCALL CLR0 AJMP DSET6 DSETOUT JNB P3 3 DSETOUT1 LCALL DISPLAY2 JNB P3 3 DSETOUT CLR 06H CLR 03H CLR 05H CLR 04H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP START
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《施工组织设计专项施工方案资料》水利水电土建工程施工合同条件
- 互联网医疗平台服务创新与用户健康数据隐私保护报告
- 锦州辅警面试题库及答案
- 血小板减少性紫癜合并消化道出血护理查房
- 法制考试专项测试题附答案
- 2025年教育行业互联网+教育模式创新报告
- 2025安置房买卖合同
- 班级考核奖励管理办法
- 智能制造市场潜力论2025年工业机器人应用场景分析方案
- 2025绿化苗木采购合同协议书模板
- 亚麻籽油在化妆品配方的应用研究
- 管线物探基本知识培训课件
- 企业负责人施工现场带班检查记录
- 财务岗招聘笔试题目及答案
- 《携手语文共赴美好开学第一课》课件统编版语文七年级上册
- (2025年标准)自愿交社保协议书
- 2025年空分设备行业研究报告及未来发展趋势预测
- 2025上教师资格笔试考试试题与答案(初中化学考生回忆版)
- 企业营销自动化平台开发及应用研究
- 《中国名菜》课程标准
- 2025年中级银行从业资格之中级风险管理真题(全优)附答案详解
评论
0/150
提交评论