数码管对按键次数计数.docVIP

  • 46
  • 0
  • 约7.92千字
  • 约 17页
  • 2015-08-07 发布于安徽
  • 举报
河南理工大学 计算机科学与技术学院 课程设计报告 200 8 — 200 9 学年第 1 学期 课程名称 单片机C语言应用程序设计 设计题目 秒表 学生姓名 郭兴层 学 号 310609010311 专业班级 计算机06级3班 指导教师 2008 年 12 月 29 日 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。LED显示,显示时间为0.0~9.9秒,每100MS自动加1,能正确地进行计时。其中软件系统采用汇编语言编写程序,包括显示程序,加计数程序,中断,延时程序,并在WAVE中调试运行,并利用PROTEUS作出仿真图仿真,简单且易于观察,在仿真中就可以观察到实际的工作状态。 通过这次设计让我更深入了解单片机基本电路、如何控制和定时器和中断编程的基本方法,从而锻炼了我学习、设计和开发软、硬件的能力。………………………………………………………………………3 1.1设计任务………………………………………………………………3 1.2设计要求………………………………………………………………3 2 系统总体方案及硬件设计………………………………………………4 2.1系统总体设计方案……………………………………………………4 2.2硬件设计………………………………………………………………4 3软件设计 …………………………………………………………………8 3.1主程序流程图…………………………………………………………8 3.2子程序流程图…………………………………………………………9 3.3子程序模块设计………………………………………………………11 4.proteus软件仿真 ………………………………………………………14 5课程设计体会 ……………………………………………………………16 参考文献 …………………………………………………………………16 附1:源程序代码 ………………………………………………………17 附2:系统原理图 ………………………………………………………23 1概述 1.1设计任务: 设计一个单片机控制的简单秒表计时系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计计时器。将软、硬件有机地结合起来,使得系统能够用两个数码管来显示秒表数据,一个显示秒,另一个显示十分之一秒。有一个按键来启动秒表的开始和结束。 1.2 设计要求: 基本要求 1.两位LED显示,显示时间为0.0~9.9秒。 2.每十分之一秒自动加1。 3.一个按键能够表示开始和结束。 2 系统总体方案及硬件设计 2.1系统总体设计方案 该简单秒表设计采用AT80C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现两位LED显示,显示时间为0.0~9.9秒,每十分之一秒自动加1,能正确地进行计时。其中软件系统采用汇编语言编写程序,包括显示程序,加减计数程序,快加快减程序,中断,延时程序,按键消抖程序等,并在WAVE中调试运行,并利用PROTEUS作出仿真图仿真,简单且易于观察,在仿真中就可以观察到实际的工作状态 2.2硬件设计: 设计的中心环节:单片机(80C51) 外围电路: 图2.1外围电路 1.晶体振荡电路 图2.2晶体振荡电路 通过XTAL1和XTAL2外接晶体振荡器构成内部振荡 方式。C1、C2对频率有微调作用,当外接晶振时,C1和C2通常选择10到30Pf。选择震荡频率12MHz。在设计印刷电路板时,晶体谐振器和电容应尽可能安装在单片机芯片附近,以减少寄生电容,保证震荡器稳定和可靠工作。 2电源电路:传统的电源 3显示电路: 我们采用的是动态的led数码管显示电路,其电路图如下: 图2.5显示电路 5键盘电路: 3软件设计: 3.1主程序流程图: 图3.1 3.2子程序流程图 加1程序: 图3.2 (3)加1子程序 此程序只为简单的加1,并判断是否到100?到则从0开始,否则继续,另外将显示内存中的数个位十位分开,以便于动态显示。 JIA1: MOV A,20H ; CLR

文档评论(0)

1亿VIP精品文档

相关文档