2. 1. 课程设计目的和任务 1.1 单片机秒表课程设计概述 1. 课程设计主题 秒表系统设计采用 STC89C52R 段表显示一个 4 位 LED 数码管显示“秒表”,显示时间为 00.0099.99 秒,每 10 毫秒 每 1000 毫秒自动增加一秒。 2.添加功能:添加一个“重置”按钮(即清除)、一个“暂停”和一个“开始”按钮。 3、课程设计难点 单片机电子秒表主要需要解决三个问题。 首先是关于单片机定时器的使用; 二是如何实现LED的动态扫描显示; 第三是如何对键盘输入进行编程。 4.课程设计内容总结本课程利用单片机定时器/计数器的定时和计数原理,结合集成电路芯片8051、LED数码管和课程盒上的按钮来设计定时器。
3、硬件有机结合,系统能正确计时,数码管能正确显示时间。 本课程设计了两个开关按钮:当按下key1按钮时,计时开始,即秒表开始按钮(也用作暂停按钮)。 当按下key2按钮时,数码管清零并复位为“00.00”。 5、课程设计的意义: 1)通过本次课程设计,可以加深对单片机课程的全面理解、复习和掌握,进一步了解单片机课程的应用。 2)掌握定时器和外部中断的设置和编程原理。 3)通过本课程设计,您可以结合单片机软件和硬件来编辑和验证程序。 4)本课程利用单片机的定时器/计数器定时和计数原理,设计一个简单的定时器系统,能正确定时、暂停、清零,还可以用数码管显示
4、在现实生活中应用广泛,具有实际意义。 6、课程设计仪器 a) 集成电路芯片8051、七段数码管、89C51单片机开发板 b) MCS-51系列单片机微机仿真课程系统软件(Keiluvision2)。 1.2 课程设计思路及描述 课程设计要求计时并在数码管上显示时间。 MCS-51系列单片机芯片AT89C52的P32P3.5可以作为按钮的入口; 定时器T1用作密钥,每0.01秒加1。 定时器。 当开关由上转至下时,“开始”按钮将开始计时。 如果此时再次按下“开始”按钮,数码管将暂停; 当开关由上转至下时,“清除”按钮将被清除。 此时,如果再次按下“开始”按钮,则可以重新开始计时。框图如下所示
5. 1:图1 数字秒表设计指南 1.3 课程设计任务及要求 1.3.1 设计指标。 了解8051芯片的工作原理和模式,利用该芯片控制LED数码管的显示,利用单片机的端口控制数码管,显示分秒,利用按钮启动、停止、99秒,并清除秒表。 调零功能,精确到0.01秒。 需要选择定时器的工作模式,画出用单片机控制LED数码管显示的电路图,实现硬件电路,通过编程完成软件部分,最后调试秒表的启动、停止、清零和其他功能。 1.3.2 设计要求 绘制电路原理图(或仿真电路图); 软件编程与调试; 电路仿真与调试; 2 软硬件设计 2.1 系统硬件方案设计 单片机应用系统由硬件系统和软件系统两部分组成
6. 组成。 硬件系统是指单片机及扩展存储器、IO接口、外围扩展功能芯片和接口电路。 软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,控制着整个系统的信息输入、处理和信息输出。 与单片机相匹配的是相应的复位电路、时钟电路以及扩展的存储器和IO接口,使单片机应用系统能够运行。 在单片机应用系统中,经常需要进行信息的输入和显示,其中涉及到键盘和显示器。 在单片机应用系统中,一般根据系统要求配置相应的键盘和显示器。键盘和显示器的配置一般没有统一的规定。 有些系统功能复杂,需要输入和显示大量信息。 配置的键盘和显示器功能比较强大,同时有一些LED系统输入/输出信息。
7.兴趣不大。 这时候就可以用几个按钮和几个指示灯来处理了。 单片机应用系统中配置的键盘可以是独立键盘,也可以是矩阵键盘。 图2 系统硬件结构框图 4个数码管显示 11.0592MHz晶振 电源开关 STC89C52RC 2个独立电源指示灯 第2部分:51 单片机电子时钟课程设计 实验报告 单片机原理与应用课程设计总结 报告题目:单片机单片机电子钟(带秒表) 设计目录 1、标题及主要功能要求 22、总体设计框图及整机概述 33、各硬件单元电路的设计、参数分析及原理说明 4、软件流程图及流程说明 45. 设计与调试经验总结 10 附录 1. 图 1:系统电路原理图 112. 图 2:系统电路 P
8. CB 123. 表1:组件列表 134. 时钟程序源代码 14 题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的和意义是让我们理论联系实际。 培养我们综合运用电子课程理论知识解决实际问题的能力。 让我们进一步加深对电子电路、电子元件、印刷电路板等知识的了解,同时在软件编程、故障排除、焊接技术以及相关仪器设备的使用等方面得到更全面的培训和提高。 这将为今后能够独立完成某些单片机应用系统的开发和设计打下坚实的基础。课程设计的基本任务是使用89C51单片机最小系统,综合应用单片机定时器、中断等知识、数字显示、键盘输入等,设计一个由单片机和简单外设控制的电子时钟。
9、. 主要功能要求 最基本的要求 1)使用MCS-51单片机设计时钟。 需要 6 位 LED 显示屏和 3 个按键输入。 2)完成硬件的物理制作或者使用Pruteus仿真(注意位驱动器要能够提供足够的电流)。 3)6位LED数码管从左到右显示时、分、秒(各占2位),采用24小时标准计时系统。 开始计时时为000000,达到235959后变为0000004)使用3个按键分别作为时、分、秒的调节键。 每按一个键,对应的显示值加1。分、秒加到59,再按一下按键,变为00; 将小时添加到 23,然后按按钮更改为 00。调整期间不会向上舍入到上一个单位(例如,将分钟添加到 59 并变为 00,但不会出现小时。
10.更改) 5)软件设计必须使用MCS-51片内定时器并采用定时中断结构。 不得采用软件延迟方式,不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试字符分割程序和数码显示程序。 7)掌握软硬件联合调试的方法。 8) 完成系统硬件电路的设计和制作。 9) 完成系统程序的设计。 10) 完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1) 执行第 110 部分的最基本要求。 2)键盘输入可以控制电子钟的走时/调试。 3) 设计键盘输入电路并编程和调试。 4)掌握键盘与显示器配合使用的方法和技巧。 改进性能部分 1) 设置三个附加按键,分别将时、分、秒调整为负1。 2)基于上述设计
11、修改程序,制作电子秒表。 分钟和秒各占2位显示,1/10秒和1/100秒各占1位显示。 设置两个按键分别为启动、停止、清除(停止后清除才有效)。 3)完成(2)后,时钟和秒表合二为一,同时使用时不会互相影响。 您可以随意切换时钟和秒表,而不影响走时和秒数。 总体设计框图及整机概述 总体设计框图及整机概述 1) 在走时模式下开机,正常显示时间。 在此模式下,时钟是可调的。 2)共设置7个按钮,分别是模式按钮、功能按钮、加一按钮、减一按钮、复位按钮、秒表启动按钮和秒表复位按钮。 按模式按钮,模式将在走时/时间调整/显示和秒表显示与调整模式之间切换。 3)时钟模式下,功能键选择正常
12、走时时仍进入调试(时、分、秒)模式。 4) 按加一按钮将值(小时、分钟、秒)加一。 5) 按减一按钮将值(时、分、秒)减一。 6) 按秒表上的开始/暂停按钮可随时启动和停止秒表。 7) 当按下秒表中的复位按钮时,秒表计数将被清除(仅在秒表停止后)。 8) 按复位按钮后,无论状态如何,都会重新开始。 9) 开机时钟和闹钟均为00:00:00。 各硬件单元电路的设计、参数分析及原理说明。 电源电路元件有限,不生产电源电路部分。 采用9V电池经7805稳压后供电。按键可参考本书P232上的键盘接口电路原理图。 P3 端口(不包括 P3.6)连接键盘按键。 当按下按钮时,P3
13、端口拉至低电平,给单片机一个信号,使单片机产生中断。 然后单片机指令对应的P0口,P2口发生变化。 单片机最小系统参考实验指南、教材和网络资料设计按钮级复位。 LED数码管首先使用P0口作为段码输出。 由于P0口输出级没有上拉电阻,所以需要增加一排电阻作为其上拉电阻。 其次,采用共阳极数码管。 当段码端为低电平时,LED点亮。 此时数码管向89S51芯片的P0口注入电流。 为了防止芯片烧坏,需要加1KQ的限流电阻。 考虑到数码管的亮度,采用PNP晶体管作为驱动电路。 基极接1KQ电阻,然后接P2口(P2.0P2.5)进行位选择。 发射极接5V电源,集电极接数码管位选择。软件流程图
14、软件流程图及过程说明 1)主程序流程图 流程图说明 初始化:包括给定时器赋初值和初始化各个内存单元。 启用定时器中断并启用CPU 中断。 第三章:51微控制器万年历课程设计报告 1.设计任务: 1.设计任务:设计并制作一个数字时钟。 2、设计要求:? 显示年、月、日、时、分、秒、周信息? 有可调日期和时间功能吗? 添加闰年计算功能? 显示部分由LCD1602完成。 二、方案演示: 1、显示部分:显示部分是这个设计的重要部分,一般有两种选择: 方案一:采用LED显示屏,分为静态显示和动态显示。 对于静态显示方式,需要大量的解码驱动器件,引线多且复杂,可靠性也较低。对于动态显示方式,虽然可以避免静态显示的问题,但如果设计得好的话,没有妥善处理
15、容易造成亮度低、闪烁等问题。 选项 2:使用 LCD 显示屏。 LCD液晶显示器具有多样性丰富、灵活、电路简单、易于控制、功耗低等优点。 比较适合信息量大的系统。 鉴于上述原因,我们采用方案二。 2.数字时钟:数字时钟是本设计的核心部分。 根据需要可以采用以下两种方案: 方案一:该方案完全采用软件实现数字时钟。 其原理是:在单片机内部存储器中设置三个字节,分别存储时钟的时、分、秒信息。利用定时器和软件实现1秒定时中断。 每产生一个中断,内存中对应的第二个值就加1; 如果秒值达到60则清零,对应的分钟字节值加1; if 分钟值达到 60 时,分钟字节被清零,小时字节值加 1; 如果小时值达到24,则清除小时字节值。
16. 清除。 该方案具有硬件电路简单的特点,但当单片机未上电时,程序不会被执行。 并且由于每次执行程序时都要重新初始化定时器,因此时钟的精度不高。 方案二:该方案采用Dallas公司的专用时钟芯片DS1302。 该芯片内部采用石英晶体振荡器,其芯片精度不超过10ms/年,并具有完整的时钟和闹钟功能。 因此,可以直接用于显示或设置,使得软件编程相对简单。 为了保证时钟在电网电压不足或突然断电等意外情况下仍能正常工作,芯片内含有锂电池。 当电网电压不足或突然停电时,系统可自动切换至内部锂电池供电系统。 而且即使系统未上电、程序未执行,锂电池也能保证芯片正常工作,随时提供正确的时间。以上优势基于时钟芯片
17、本设计采用方案2来完成数字时钟的功能。 3、总体方案:本设计采用STC89C52RCI单片机作为本系统的控制模块。 单片机可以利用软件对DS1302和LCD液晶显示模块中的数据进行处理,从而将数据传输到显示模块,实现日历和修改显示。 采用LCD作为显示模块,显示来自单片机的数据,显示方式多样化。 在显示电路中,日期的修改和选择主要通过按键来实现。 四、系统硬件设计: 1、STC89C52RC 单片机最小系统:最小系统包括晶振电路、复位开关和电源部分。 图1所示为STC89C52RO芯片计算机的最终系统。 1 最小单片机系统 2.时钟模块:时钟模块采用DS1302芯片,DS1302为DALLA
18. Roisitui 的涓流充电时钟芯片包含实时时钟/日历和 31 字节静态 RAM。 它通过简单的串行接口与微控制器通信。 实时时钟/日历电路提供秒、分、时、日、日、月和年的信息。 每月的天数和闰年数可以自动调整。 时钟操作可以由 AM/PM 指令决定使用 24 小时或 12 小时格式。 DS1302与微控制器之间的通信可以简单地以同步串行方式进行。 只需要三根接口线。 :RST 复位、I/O 数据线、SCLK 串行时钟。 时钟/RAM 读/写数据以字节或最多 31 字节的突发形式进行通信。 DS1302工作时功耗非常低。 维护数据和时钟信息时,功耗小于1mW。 其接线电路如图2所示: 图2 时钟模块 3. LCD液晶显示模块:LCD夜晶显示模块采用LCD160号,具有很低的功耗,正常工作时电流仅为2.0mA/5.0V。 通过编程自动关闭屏幕可以更有效地降低功耗。 LCD1602分两行显示,每行最多可显示16个字符。 LCD1602液晶模块内部的字符生成存储器(CGROM)已存储了160个不同的点阵字符图形。 其显示的各种控制可以通过内部指令实现,并且空闲空间还可以用于自定义字符。 其接线如图3所示: 图3 LCD液晶显示器 五、总体电路: 1、电路如下图: 图4 总体电路 2、Altium Designer接线图 图5 Altium Designer接线图 3、手动接线PCB图表