logo资料库

单片机-数字时钟课程设计报告.doc

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
基于单片机的数字钟设计
1.设计目的与要求
2.系统原理分析
3.硬件介绍
4.软件实现与流程
4.1 主程序
4.2 数据的显示程序
4.3 键盘响应程序
5 收获、小结和体会
6 参考文献
附录一 程序代码
附录二 程序仿真图
本科生课程设计成绩评定表
武汉理工大学《单片机原理及应用》课程设计报告书 基于单片机的数字钟设计 1.设计目的与要求 进行电路硬件设计和系统软件编程,以及仿真调试或制作。一般 1~2 人一组, 每组完成的内容不能雷同。 选择设计基于单片机的时钟显示器,数字钟是一个将“时”、“分”、“秒”显 示计时装置。它的计时周期为 24 小时,显示满刻度为 23 时 59 分 59 秒 99 毫秒, 另外应有校时功能。 实现的功能:在数字钟正常进行显示时,其显示周期为 00:00:00 至 23:59:59, 其中有五个按键,按下“暂停”键时钟停止走动,按下“开始”键时钟开始走动, 按下“秒设置”时钟秒位自加 1,加至 60 时向分位进 1,按下“分设置”时钟分 位自加 1,加至 60 时向时位进 1,按下“时设置”时钟秒位自加 1,加至 24 时 显示 00。 2.系统原理分析 系统设计中用到 89 C51 单片机的部分功能:包括内部定时器,键盘扩展, 程序中断, 串口通信等。用一个六位的共阴极七段显示器,可通过一个输入/输 出口作为显示器数据发送端;另一个输入/输出口的六位作为显示器各位的片选 信号,另一个输入/输出口作为键盘扩展口使用。系统原理图如图 1 所示。 P2.0-7 数码显示器 单 片 机 P3.0-5 按键 P1.0-4 图 1 系统原理图 1
武汉理工大学《单片机原理及应用》课程设计报告书 图 2 数字钟仿真图 3.硬件介绍 AT89C51:芯片共有 40 个引脚,引脚的排列顺序为从靠芯片的缺口左边 那列逆时针数起,依次为 1,2,3,4。。。40,其中芯片的 1 脚顶上有一个凹点。 在单片机的 40 个引脚中,电源引脚 2 根,外接晶体振荡器引脚 2 根,控制引脚 4 根以及 4 组 8 为可编程 I/O 引脚 32 根。 主要特性:与 MCS-51 兼容;4K 字节可编程闪烁存储器;寿命:1000 写/擦 循环;数据保留时间;10 年;·全静态工作:0Hz-24Hz;·三级程序存储器锁 定;·128*8 位内部 RAM;·32 可编程 I/O 线;·两个 16 位定时器/计数器;·5 个中断源;可编程串行通道;·低功耗的闲置和掉电模式;·片内振荡器和时钟 电路。 主要管脚说明: P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外 部程序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口 作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 2
武汉理工大学《单片机原理及应用》课程设计报告书 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行 存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 六位共阴级数码管:cc 表示共阴极的 ac 是共阳极的设计中所用的是 7 段六位共阴级数码管,如果要实现动态显示必须位码(1-6)轮流通低电位,也就是 片选,段码控制数码管的显示. 0-b,1-g,2-a,3-f,4-c,5-e,6-h,7-d。 +5V g f GND a b f e a g b c dp d · de c GND (a) dp a b c d e f g dp a b c d e f g dp (b) 图 3 数码管显示原理图 如图 3 数码管显示原理图所示,使用 LED 显示器时,要注意是共阴还是共阳, 要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编 3
武汉理工大学《单片机原理及应用》课程设计报告书 码。七段数码管加上一个小数点,共计 8 段。因此为 LED 显示器提供的编码正好 是一个字节。我们用的是共阴 LED 显示器,根据电路连接图显示 16 进制数的编 码已列在下表。 0x3f 0 , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , 5 1 2 3 4 7 8 9 6 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , B A 0x39 , 0x5e , 0x79 , 0x71 , 0x00 C F 无显示 D E 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪 一位数码管有效,由另一位控制显示码值。选亮数码管采用动态扫描显示。所谓 动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉 和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮 度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。我 们这里正是利用的数码管动态显示来完成显示功能。 4.软件实现与流程 4.1 主程序 由于系统的主要功能都是由子程序来完成的,主程序基本上没什么事可做, 只是利用调用子程序的方式实现的,主程序流程图如图 3 所示。 4
武汉理工大学《单片机原理及应用》课程设计报告书 开始 初始化 调用显示子程序 调用按键操作子程序 Y 1? 结束 N 图 3 主程序流程图 4.2 数据的显示程序 时钟数字显示涉及到两个操作:发数据和改片选信号。先发片选,再发数据。 用延时程序进行一个消影操作,这样就很好地解决了重影问题。这样做的关键在 于,在极短的一段时间内让显示器都不亮,等一切准备工作都做好了以后再发数 据,只要显示频率足够快,是看不出显示器有闪烁的。代码如下: shi=hour/10; ge=hour%10; P3=0xfe; P2=table1[shi]; delay(5); P3=0xfd; P2=table1[ge]; dp=1; 5
武汉理工大学《单片机原理及应用》课程设计报告书 delay(5); 这段显示程序流程图如图 4: 开始 求时/分/秒的个位、十位 显示时/分/秒个位 片选 显示时/分/秒十位 延时消影 县市小数点 结束 图 4 数据显示流程图 4.3 键盘响应程序 键盘分编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件编码器实现,并产生 按键编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程来识别的称为非编码键盘, 在单片机组成的各种系统中,用的最多的是非编码键盘,也有用到编码键盘的,我们这里用 的就是非编码键盘。如图 4 键盘图所示,当按钮按下时;端口会变成低电平,我们设计一段 扫描程序来判断那个端口是低电平来判断是否有按键按下。 键盘处理程序流程相对简单,只是简单的判键与处理。当设置按键按下为低 电平时,对应位数加 1 至满进制。 6
武汉理工大学《单片机原理及应用》课程设计报告书 开始 检测“暂停”按键 Set1=0? Y 标记为 1 按键按下? 秒/分/时自增 1 至满进制 向高位增 1 结束 N N N 图 5 按键响应程序流程图 7
武汉理工大学《单片机原理及应用》课程设计报告书 5 收获、小结和体会 通过这次单片机设计,我加深了对课本专业知识的理解,平常都是理论知识 的学习,在此次课程设计中,真正做到了自己查阅资料、完成一个基本电路的设 计。在此次的数字钟设计过程中,我更进一步地熟悉了芯片的结构及掌握了各芯 片的工作原理和其具体的使用方法。当然,在这个过程中我也遇到了困难,通过 查阅资料,相互讨论,我准确地找出错误所在并及时纠正了,这也是我最大的收 获,使自己的实验动手能力有了进一步的提高,让我对以后的工作学习有了更大 的信心。 回顾起此次设计,感慨颇多,从理论到实践,我学到很多很多的东西,不仅 巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的内容。通过这 次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够 的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才是真正的 知识,才能提高自己的实际动手能力和独立思考的能力。在设计的过程遇到了各 种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知 识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识 重新温故,巩固了所学的知识。 此次的课程设计,还让我知道了最重要的是心态,在你拿到题目时会觉得困 难,但是只要充满信心,脚踏实地,就肯定会完成的。 8
分享到:
收藏