单片机数字电子钟课程设计实训报告
数字电子时钟实习报告
一、实习目的本次实习旨在通过设计和制作数字电子时钟,加深对数字电路基本原理、电子元器件性能及电路设计方法的理解。
通过实际操作,掌握数字电子钟的设计、制作、调试和故障排除等技能,提高动手能力和创新意识。
二、实习内容1. 数字电子钟电路设计(1)电路组成:数字电子钟主要由振荡器、分频器、计数器、译码显示、报时电路和校时电路等部分组成。
(2)电路设计:采用555定时器构成振荡器产生1Hz的脉冲信号,通过分频器得到1Hz的秒脉冲信号。
计数器采用异步十进制计数器74LS90,实现秒、分、时的计数。
译码显示采用共阳极LED数码管,显示当前时间。
报时电路由门电路和蜂鸣器构成,实现整点报时功能。
校时电路由按键和计数器构成,实现手动校时功能。
2. 元器件选型(1)振荡器:选用555定时器,其频率稳定,易于调整。
(2)分频器:选用CD4060,具有分频功能,可方便地实现秒、分、时的计数。
(3)计数器:选用74LS90,具有异步计数功能,可方便地实现秒、分、时的计数。
(4)译码显示:选用共阳极LED数码管,显示清晰,功耗低。
(5)报时电路:选用门电路和蜂鸣器,实现整点报时功能。
(6)校时电路:选用按键和计数器,实现手动校时功能。
3. 电路制作与调试(1)电路制作:根据电路原理图,焊接电路板,连接元器件。
(2)电路调试:首先检查电路连接是否正确,然后逐个模块进行调试。
调试过程中,注意观察数码管显示是否正常,报时是否准确,校时是否方便。
三、实习过程1. 设计电路原理图:根据数字电子钟的功能和性能要求,设计电路原理图。
2. 选择元器件:根据电路原理图,选择合适的元器件。
3. 制作电路板:根据电路原理图,制作电路板。
4. 焊接元器件:将元器件焊接在电路板上。
5. 电路调试:逐个模块进行调试,确保电路功能正常。
6. 故障排除:在调试过程中,若出现故障,分析原因,进行修复。
四、实习结果1. 成功设计并制作了数字电子钟,实现了秒、分、时的计数,整点报时和手动校时等功能。
多功能电子时钟实训报告
一、实训目的本次实训旨在通过学习单片机技术,设计并实现一个基于单片机的多功能电子时钟系统。
通过实训,使学生掌握以下知识和技能:1. 熟悉单片机的基本原理和编程方法;2. 掌握电子时钟系统的硬件设计、软件编程和调试方法;3. 提高动手能力和实际应用能力。
二、实训内容1. 系统硬件设计(1)核心控制器:选用AT89C51单片机作为系统的核心控制器。
(2)时钟芯片:使用DS1302实时时钟芯片,提供精确的时间信号。
(3)液晶显示屏:选用1602液晶显示屏,用于显示时间、日期、温度等信息。
(4)按键模块:设计包含时间设置键、日期设置键、闹钟设置键等的按键模块。
(5)温度传感器:使用DS18B20温度传感器,用于检测环境温度。
(6)电源模块:为整个系统提供稳定的工作电压。
2. 系统软件设计(1)主程序:负责系统初始化、时钟显示、闹钟提醒、温度检测等功能。
(2)中断程序:负责时钟中断、闹钟中断、温度中断等。
(3)显示程序:负责液晶显示屏的显示内容更新。
(4)按键处理程序:负责按键扫描、按键消抖、按键功能处理等。
三、实训过程1. 硬件搭建(1)根据设计图纸,焊接电路板。
(2)连接单片机、时钟芯片、液晶显示屏、按键模块、温度传感器和电源模块。
(3)检查电路连接是否正确,确保系统硬件正常工作。
2. 软件编程(1)编写主程序、中断程序、显示程序和按键处理程序。
(2)使用C语言进行编程,并利用Keil软件进行编译。
(3)将编译好的程序烧录到单片机中。
3. 调试与优化(1)在Proteus仿真软件中,对系统进行仿真调试。
(2)检查程序运行是否正常,优化程序代码。
(3)对硬件电路进行调整,确保系统稳定运行。
四、实训结果1. 系统功能实现(1)显示当前时间、日期和温度。
(2)设置闹钟时间,并在设定时间响起。
(3)计时器功能,可以记录时间。
(4)温度检测功能,实时显示环境温度。
2. 系统稳定性通过仿真和实际测试,系统稳定运行,满足设计要求。
数字电子钟制作实训报告
一、实训目的本次实训旨在通过制作数字电子钟,使学生深入了解数字电子技术的基本原理和实际应用,提高学生的动手能力、创新能力和团队协作能力。
通过本次实训,学生应掌握以下内容:1. 数字电子钟的基本组成和原理;2. 数字电路的基本元件和连接方法;3. 555定时器、计数器、译码器等集成电路的应用;4. 电路焊接、调试和故障排除的方法;5. 实验报告的撰写规范。
二、实训内容1. 数字电子钟的原理数字电子钟是一种利用数字电路实现计时功能的装置,主要由多谐振荡器、计数器、译码器和显示器等组成。
多谐振荡器产生周期性的脉冲信号,作为计数器的时钟信号。
计数器对脉冲信号进行计数,并通过译码器将计数结果转换为相应的数字信号,最后由显示器显示时间。
2. 电路设计本次实训的数字电子钟采用以下电路设计:(1)多谐振荡器:采用555定时器构成1kHz多谐振荡器,输出矩形波脉冲信号。
(2)计数器:采用十进制计数器CD4518,对多谐振荡器输出的脉冲信号进行计数。
(3)译码器:采用七段译码器CD4511,将计数器的输出信号转换为相应的数字信号。
(4)显示器:采用七段数码管,显示时、分、秒。
3. 电路焊接与调试根据电路原理图,将各个元件焊接在电路板上。
焊接过程中注意以下事项:(1)元件焊接顺序:先焊接电源和地线,再焊接信号线,最后焊接元件引脚。
(2)焊接质量:焊接点应饱满、无虚焊,焊点之间不应短路。
焊接完成后,进行电路调试。
调试步骤如下:(1)检查电源电压是否正常。
(2)检查各个元件的焊接质量。
(3)检查计数器和译码器是否正常工作。
(4)观察显示器是否显示正确的时间。
三、实训结果与分析1. 实训结果通过本次实训,成功制作了一台数字电子钟,能够实现时、分、秒的计时功能,显示时间准确。
2. 实训分析(1)多谐振荡器是数字电子钟的核心部分,其频率稳定性直接影响到计时精度。
本次实训采用555定时器构成的多谐振荡器,能够产生稳定的1kHz脉冲信号,满足计时需求。
单片机实训报告(电子时钟)
单片机实训报告课程名称:单片微型计算机原理与接口技术实验项目:电子时钟实验班级:09电本一设计人:于润婷学号:2009104143004指导老师:祁伟实验时间:2011.9.28~2011.9.12学校:广东技术师范学院目录第一章绪论 (2)1.1 电子时钟的概述 (2)1.2 电子时钟的发展现状及前景 (2)第二章控制系统的硬件设计 (3)2.1 电源模块 (3)2.2 处理器模块 (5)2.3 显示模块 (6)2.4 按键模块 (9)2.5 蜂鸣器模块 (10)第三章系统的的软件实现 (11)3.1 主程序流程图 (11)3.2 按键流程图 (13)3.3 时钟中断流程图 (15)3.4 显示流程图 (15)第四章系统的功能及性能测试 (19)心得体会 (21)参考文献 (22)附件:程序清单第一章:绪论1.1 电子时钟的概述1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。
现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。
从而达到计时的功能,基于单片机设计的电子时钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。
从而,使电子时钟的精度仅仅取决于单片机的产生机器周期电路和定时器硬件电路的精确度。
另外,程序较为简洁,具有可靠性和较好的可读性。
如果我们想将它应用于实时控制之中,只要对上述程序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。
该电子时钟由AT89C51,SN74LS04N ,按键,数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天,满三十一天为一个月,满十二个月为一年。
单片机数字钟实习报告
一、实习目的随着电子技术的飞速发展,单片机作为一种重要的电子元件,在工业、医疗、通讯等领域得到了广泛的应用。
为了更好地掌握单片机的原理和应用,提高动手能力,我们选择了单片机数字钟作为实习项目。
通过本次实习,我们旨在掌握单片机的编程、调试、硬件连接等方面的知识,实现数字时钟的显示与控制。
二、实习内容1. 单片机数字钟硬件设计(1)选用AT89C51单片机作为核心控制单元,具有丰富的片上资源,方便编程和调试。
(2)采用LCD1602液晶显示屏,显示时间、日期等信息。
(3)使用DS1302实时时钟芯片,实现时间的存储和更新。
(4)选用按键作为输入设备,实现时间的调整和设置。
(5)选用蜂鸣器作为报警设备,实现定时报警功能。
2. 单片机数字钟软件设计(1)编写主程序,实现系统初始化、时间显示、按键扫描、时间调整等功能。
(2)编写中断服务程序,实现DS1302时钟芯片的读写、按键消抖等功能。
(3)编写子程序,实现时间的计算、格式化、显示等功能。
3. 单片机数字钟调试与测试(1)连接电路,检查各个模块的连接是否正确。
(2)编写程序,将程序烧录到单片机中。
(3)调试程序,确保程序运行正常。
(4)测试各个功能模块,如时间显示、按键调整、定时报警等。
三、实习过程1. 硬件设计(1)根据设计要求,绘制电路原理图。
(2)购买所需元器件,进行焊接。
(3)组装电路板,连接各个模块。
2. 软件设计(1)编写程序,采用C语言进行编程。
(2)使用Keil软件进行编译、烧录。
(3)在仿真软件Proteus中进行仿真,验证程序的正确性。
3. 调试与测试(1)连接电路,检查各个模块的连接是否正确。
(2)编写程序,将程序烧录到单片机中。
(3)调试程序,确保程序运行正常。
(4)测试各个功能模块,如时间显示、按键调整、定时报警等。
四、实习总结1. 通过本次实习,我们掌握了单片机的编程、调试、硬件连接等方面的知识。
2. 学会了使用LCD1602液晶显示屏、DS1302实时时钟芯片、按键等元器件。
单片机实验报告数字时钟设计报告
单片机实验报告数字时钟设计报告一、实验目的本次单片机实验的目的是设计并实现一个基于单片机的数字时钟。
通过该实验,深入了解单片机的工作原理和编程方法,掌握定时器、中断、数码管显示等功能的应用,提高综合运用知识解决实际问题的能力。
二、实验原理1、单片机选择本次实验选用了常见的 51 系列单片机,如 STC89C52。
它具有丰富的资源和易于编程的特点,能够满足数字时钟的设计需求。
2、时钟计时原理数字时钟的核心是准确的计时功能。
通过单片机内部的定时器,设定合适的定时时间间隔,不断累加计时变量,实现秒、分、时的计时。
3、数码管显示原理采用共阳或共阴数码管来显示时间数字。
通过单片机的 I/O 口控制数码管的段选和位选信号,使数码管显示相应的数字。
4、按键控制原理设置按键用于调整时间。
通过检测按键的按下状态,进入相应的时间调整模式。
三、实验设备与材料1、单片机开发板2、数码管3、按键4、杜邦线若干5、电脑及编程软件(如 Keil)四、实验步骤1、硬件连接将数码管、按键与单片机开发板的相应引脚通过杜邦线连接起来。
确保连接正确可靠,避免短路或断路。
2、软件编程(1)初始化单片机的定时器、中断、I/O 口等。
(2)编写定时器中断服务程序,实现秒的计时。
(3)设计计时算法,将秒转换为分、时,并进行进位处理。
(4)编写数码管显示程序,将时间数据转换为数码管的段选和位选信号进行显示。
(5)添加按键检测程序,实现时间的调整功能。
3、编译与下载使用编程软件将编写好的程序编译生成可执行文件,并下载到单片机中进行运行测试。
五、程序设计以下是本次数字时钟设计的主要程序代码片段:```cinclude <reg52h>//定义数码管段选码unsigned char code SEG_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//定义数码管位选码unsigned char code BIT_CODE ={0x01, 0x02, 0x04, 0x08, 0x10,0x20, 0x40, 0x80};//定义时间变量unsigned int second = 0, minute = 0, hour = 0;//定时器初始化函数void Timer_Init(){TMOD = 0x01; //定时器 0 工作在方式 1 TH0 =(65536 50000) / 256; //定时 50ms TL0 =(65536 50000) % 256;EA = 1; //开总中断ET0 = 1; //开定时器 0 中断TR0 = 1; //启动定时器 0}//定时器 0 中断服务函数void Timer0_ISR() interrupt 1{TH0 =(65536 50000) / 256;TL0 =(65536 50000) % 256;second++;if (second == 60){second = 0;minute++;if (minute == 60){minute = 0;hour++;if (hour == 24){hour = 0;}}}}//数码管显示函数void Display(){unsigned char i;for (i = 0; i < 8; i++)P2 = BIT_CODEi;if (i == 0){P0 = SEG_CODEhour / 10;}else if (i == 1){P0 = SEG_CODEhour % 10;}else if (i == 2){P0 = 0xBF; //显示“”}else if (i == 3){P0 = SEG_CODEminute / 10;else if (i == 4){P0 = SEG_CODEminute % 10;}else if (i == 5){P0 = 0xBF; //显示“”}else if (i == 6){P0 = SEG_CODEsecond / 10;}else if (i == 7){P0 = SEG_CODEsecond % 10;}delay_ms(1);//适当延时,防止闪烁}}//主函数void main(){Timer_Init();while (1){Display();}}```六、实验结果与分析1、实验结果将程序下载到单片机后,数字时钟能够正常运行,准确显示时、分、秒,并且通过按键可以进行时间的调整。
单片机数字钟实习报告
单片机数字钟实习报告一、实习目的和意义随着计算机科学与技术的飞速发展,计算机的应用已经渗透到国民经济与人们生活的各个角落,而单片机技术作为计算机技术中的一个独立分支,具有性价比高、集成度高、体积小、可靠性高、控制功能强大、低功耗、低电压等特点,因此在各个领域得到了广泛的应用。
本次实习旨在通过设计一款数字钟,使学生掌握单片机的原理及其应用,提高实际动手能力和创新能力。
数字钟作为一种典型的数字电路,包括组合逻辑电路和时序电路。
通过设计制作数字钟,可以让学生了解数字钟的原理,学会制作数字钟,并进一步了解各种中小规模集成电路的作用及实用方法。
同时,通过数字钟的制作,可以让学生进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。
二、实习内容和要求1. 设计一款基于单片机的数字钟,能显示时、分、秒。
2. 数字钟具有校时功能,能以24小时为一个周期循环显示时间。
3. 掌握单片机的原理及其编程方法,熟悉LCD1602液晶显示屏的使用。
4. 了解数字钟的原理,学会制作数字钟,并掌握各种组合逻辑电路与时序电路的原理与使用方法。
三、实习过程1. 首先,我们对单片机的原理进行了学习,了解了单片机的内部结构、工作原理及其编程方法。
同时,我们还学习了LCD1602液晶显示屏的使用,掌握了如何将单片机与LCD1602液晶显示屏进行连接。
2. 接下来,我们开始了数字钟的设计。
首先,我们设计了数字钟的电路原理图,包括了单片机、LCD1602液晶显示屏、按键、时钟芯片等元件。
然后,我们进行了电路板的焊接,焊接过程中,我们严格遵循电路焊接规范,确保了电路板的质量和稳定性。
3. 焊接完成后,我们开始了数字钟的程序编写。
我们编写了相应的程序,实现了数字钟的时、分、秒显示功能以及校时功能。
在编程过程中,我们深入理解了单片机的编程原理,掌握了Keil编程软件的使用。
4. 最后,我们对数字钟进行了调试和测试。
我们通过观察数字钟的显示效果,分析了可能存在的问题,并针对问题进行了改进。
单片机多功能电子数字钟课程设计报告
多功能电子数字钟设计数字钟在日常生活中最常见, 应用也最广泛。
本文主要就是设计一款数字钟, 以89C52单片机为核心, 配备液晶显示模块、时钟芯片、等功能模块。
数字钟采用24小时制方式显示时间, 定时信息以及年月日显示等功能。
文章的核心主要从硬件设计和软件编程两个大的方面。
硬件电路设计主要包括中央处理单元电路、时钟电路、人机接口电路、信号处理电路、执行电路等几部分组成。
软件用C语言来实现, 主要包括主程序、键盘扫描子程序、时间设置子程序等软件模块。
关键词单片机液晶显示器模块数字钟一硬件电路设计及描述;1.MCS-51单片机单片机是在一块硅片上集成了各种部件的微型计算机。
这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
8051单片机的结构特点有以下几点: 8位CPU;片内振荡器及时钟电路; 32根I/O线;外部存储器ROM和RAM;寻址范围各64KB;两个16位的定时器/计数器; 5个中断源, 2个中断优先级;全双工串行口。
定时器/计数器8051内部有两个16位可编程定时器/计数器, 记为T0和T1。
16位是指他们都是由16个触发器构成, 故最大计数模值为2 -1。
可编程是指他们的工作方式由指令来设定, 或者当计数器来用, 或者当定时起来用, 并且计数(定时)的范围也可以由指令来设置。
这种控制功能是通过定时器方式控制寄存器TMOD来完成的。
在定时工作时, 时钟由单片机内部提供, 即系统时钟经过12分频后作为定时器的时钟。
技术工作时, 时钟脉冲由TO和T1输入。
中断系统8051的中断系统允许接受五个独立的中断源, 即两个外部中断申请, 两个定时器/计数器中断以及一个串行口中断。
外部中断申请通过INTO和INT1(即P3.2和P3.3)输入, 输入方式可以使电平触发(低电平有效), 也可以使边沿触发(下降沿有效)。
2.8051的芯片引脚如图1-2所示VCC: 供电电压。
单片机电子时钟课程设计实验报告(1)
单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
单片机设计时钟实训报告
一、引言随着科技的不断发展,单片机技术在电子领域得到了广泛的应用。
为了提高学生的实践能力,培养实际工程应用能力,我们进行了单片机设计时钟实训。
本实训以AT89C51单片机为核心,通过学习时钟电路的设计、编程和调试,使学生掌握单片机在时钟设计中的应用,提高学生的动手能力和创新思维。
二、实训目的1. 掌握单片机的基本原理和编程方法;2. 熟悉时钟电路的设计和调试;3. 培养学生的实际工程应用能力和创新思维;4. 提高学生的团队协作能力和沟通能力。
三、实训内容1. 硬件设计(1)单片机选型:选用AT89C51单片机作为核心控制单元;(2)时钟电路:采用晶振电路作为时钟源,实现1Hz的基准时钟;(3)显示电路:采用LCD1602液晶显示屏,实现时间、日期和星期等信息显示;(4)按键电路:设计4个按键,分别用于设置时间、日期、星期和闹钟功能;(5)复位电路:采用上电复位和按键复位两种方式,保证系统稳定运行。
2. 软件设计(1)系统初始化:初始化单片机,设置波特率、定时器等;(2)时间显示:通过读取实时时钟芯片(如DS1302)的数据,显示时间、日期和星期;(3)按键处理:根据按键输入,实现时间、日期、星期和闹钟的设置与修改;(4)闹钟功能:当设定的时间到达时,通过蜂鸣器发出提示音。
3. 调试与优化(1)调试方法:使用Proteus软件进行仿真调试,观察程序运行状态,分析故障原因;(2)优化方法:针对仿真过程中出现的问题,优化程序代码,提高程序运行效率。
四、实训过程1. 硬件制作(1)按照设计图纸,焊接电路板;(2)连接晶振、LCD显示屏、按键和蜂鸣器等元器件;(3)调试电路,确保各元器件正常工作。
2. 软件编写(1)使用Keil C51软件编写程序,实现时钟显示、按键处理和闹钟功能;(2)编译程序,生成HEX文件。
3. 调试与优化(1)使用Proteus软件进行仿真调试,观察程序运行状态;(2)针对仿真过程中出现的问题,优化程序代码,提高程序运行效率;(3)将优化后的程序烧录到单片机中,进行实际运行测试。
单片机数码时钟实训报告
一、实训目的本次单片机数码时钟实训旨在通过实际操作,让学生了解单片机的应用,掌握单片机数码时钟的设计与实现方法,提高学生的实践操作能力和创新思维。
二、实训内容1. 硬件设计(1)单片机:选用AT89C51单片机作为核心控制器。
(2)显示模块:采用4位数码管,实现时分秒的显示。
(3)时钟模块:采用12MHz晶振作为时钟源,通过单片机的定时器/计数器实现秒、分、时的计时。
(4)按键模块:设计启动/停止按钮、设置按钮、清零按钮等,实现对时钟的控制和设置。
(5)电源模块:采用5V电源适配器为系统供电。
2. 软件设计(1)主程序:初始化单片机,设置定时器/计数器,实现时分秒的计时。
(2)中断服务程序:实现按键控制、时间设置、清零等功能。
(3)显示程序:将计时的时分秒数据转换为数码管显示的格式。
三、实训过程1. 硬件搭建(1)按照电路图连接AT89C51单片机、数码管、晶振、按键等元件。
(2)检查电路连接是否正确,确保无短路、断路等现象。
2. 软件编写(1)编写主程序,初始化单片机,设置定时器/计数器,实现时分秒的计时。
(2)编写中断服务程序,实现按键控制、时间设置、清零等功能。
(3)编写显示程序,将计时的时分秒数据转换为数码管显示的格式。
3. 调试与测试(1)将编写好的程序烧录到单片机中。
(2)打开电源,观察数码管显示的时分秒是否正确。
(3)测试按键控制功能,包括启动/停止、设置、清零等。
(4)测试时间设置功能,包括小时、分钟、秒的设置。
四、实训结果1. 硬件方面:成功搭建了单片机数码时钟的硬件电路,包括单片机、数码管、晶振、按键等元件。
2. 软件方面:成功编写了单片机数码时钟的程序,实现了时分秒的计时、按键控制、时间设置等功能。
3. 功能实现:数码时钟能够正常显示时分秒,并通过按键控制实现启动/停止、设置、清零等功能。
五、实训总结1. 通过本次实训,使学生掌握了单片机数码时钟的设计与实现方法,提高了学生的实践操作能力和创新思维。
单片机电子时钟课程设计报告
单片机电子时钟课程设计报告一、设计目的。
本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。
通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。
二、设计原理。
本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。
利用数码管来显示小时和分钟,通过按键来调整时间。
同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。
三、设计方案。
1. 硬件设计。
(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。
(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。
(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。
(4)按键输入,设计按键来调整时间,包括调整小时和分钟。
(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。
2. 软件设计。
(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。
(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。
(3)按键处理,设计按键扫描程序,实现对时间的调整。
(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。
四、设计实现。
1. 硬件实现。
根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。
2. 软件实现。
编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。
五、实验结果。
经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。
六、总结与展望。
通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。
在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。
同时,也为学生今后的科研和创新工作奠定了良好的基础。
单片机电子钟实训报告
一、引言随着电子技术的不断发展,单片机在各个领域得到了广泛的应用。
电子钟作为单片机应用的一个重要实例,具有很高的实用价值。
本实训报告主要介绍了单片机电子钟的设计与实现过程,包括硬件电路设计、软件编程以及调试过程。
二、硬件电路设计1. 单片机选择本实训选用AT89C51单片机作为核心控制器,该单片机具有丰富的I/O端口、较强的计算能力和较大的存储空间,能够满足电子钟的设计需求。
2. 时钟芯片本实训采用DS1302时钟芯片作为时间源,该芯片具有年、月、日、周、时、分、秒的精确计时功能,并具备闰年补偿等功能。
3. 液晶显示屏本实训选用1602液晶显示屏用于显示时间、日期等信息。
1602液晶显示屏具有清晰显示多个字符和符号的特点,方便用户查看时间和其他信息。
4. 按键模块本实训设计按键模块用于用户输入和设置。
按键包括时间设置键、日期设置键、闹钟设置键等,方便用户进行各项操作。
5. 电源模块本实训采用DC5V电源模块,为整个电子钟提供稳定的电源供应。
三、软件编程1. 主程序主程序负责初始化单片机、时钟芯片、液晶显示屏等硬件设备,并进入主循环。
主循环中,程序会不断检测按键状态,根据按键输入调整时间、日期和闹钟设置。
2. 时钟控制程序时钟控制程序负责实现时钟的基本功能,包括计时、闰年补偿等。
程序通过定时器中断,每秒更新一次时间。
3. 显示程序显示程序负责将时间、日期等信息显示在液晶显示屏上。
程序使用1602液晶显示屏的指令集,动态显示时、分、秒和日期。
4. 按键扫描程序按键扫描程序负责检测按键状态,并根据按键输入调整时间、日期和闹钟设置。
程序采用轮询方式检测按键状态,以提高按键响应速度。
5. 闹钟程序闹钟程序负责实现闹钟功能,当时间达到设定的闹钟时间时,电子钟会发出蜂鸣声提示用户。
四、调试过程1. 硬件调试首先,对硬件电路进行调试,检查各元器件是否安装正确,连接是否牢固。
然后,使用万用表检测电源电压、单片机各引脚电压是否正常。
数字电子钟设计实训报告
数字电子钟的设计【摘要】本系统由晶体振荡器、分频器、计数器、译码器、七段译码显示器和校准、报时电路组成,采用了CMOS或TTL系列(双列直插式)中小规模集成芯片。
总体方案设计由主体电路和扩展电路两大部分组成。
其中主体电路完成数字钟的基本功能,扩展电路完成数字钟的扩展功能,进行了各单元电路设计,总体安装、制作及调试。
数字钟是一种计时装置,不仅能替代指针式钟表,还可以运用到定时控制、自动计时及时间程序控制等方面,应用广泛。
【关键词】石英晶振、分频器、计数器、译码器、七段译码显示器、校准、整点报时。
第一章数字电子钟总体方案1.1数字电子钟总体方案的确定数字电子钟组成一般由振荡器、分频器、计数器、译码器及显示器等几部分组成。
石英振荡器产生的时标信号送到分频器,分频电路将时标信号分成秒脉冲,秒脉冲送入计数器进行计数,并把累计结果以“时”、“分”、“秒”的数字显示出来。
“秒”的显示由两级计数器和译码器组成的六十进制计数器电路实现,“分“的显示电路与“秒”相同。
“时”的显示由两极计数器和译码器组成的二十四进制计数器电路实现。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态0进行七段显示译码器译码,通过六位七段译码显示器显示出来。
整点报时电路根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对“时”、“分”显示数字进行校对调整的。
数字电子钟总体方案框图图1.1.1 数字电子钟组成框图1.2数字电子钟电路组成数字电子钟组成一般由振荡器、分频器、计数器、译码器及七段译码显示器等几部分组成(如图1.2.1所示)。
单片机数字时钟实训报告
一、实训目的本次实训旨在通过设计和实现单片机数字时钟,使学生掌握单片机的基本原理和应用技术,提高学生的动手能力和实践技能。
通过实训,使学生熟悉单片机的硬件结构、编程方法和调试技巧,了解数字时钟的设计原理和实现方法,培养学生的创新意识和团队协作能力。
二、实训内容1. 硬件设计(1)单片机选型:MSP430F5529(2)显示模块:OLED显示屏(3)按键模块:4个按键(4)蜂鸣器模块:蜂鸣器(5)电源模块:电源电路2. 软件设计(1)系统初始化:设置系统时钟、初始化OLED显示屏、按键扫描、蜂鸣器控制等(2)实时时钟(RTC)实现:通过MSP430F5529的RTC模块获取当前时间(3)时间显示:在OLED显示屏上显示年、月、日、时、分、秒等信息(4)整点报时:在整点时刻通过蜂鸣器播放音乐进行报时(5)按键控制:通过按键实现时间的设置、闹钟的设定等功能三、实训过程1. 硬件搭建(1)根据设计图纸,连接MSP430F5529单片机、OLED显示屏、按键、蜂鸣器等元器件(2)搭建电源电路,为单片机和显示屏提供稳定的电源(3)检查连接是否正确,确保电路安全可靠2. 软件编写(1)使用C语言编写程序,实现系统初始化、实时时钟获取、时间显示、整点报时、按键控制等功能(2)编写程序代码,实现各个功能模块的代码(3)调试程序,确保程序运行正确3. 系统调试(1)将程序烧录到MSP430F5529单片机中(2)连接OLED显示屏、按键、蜂鸣器等模块(3)检查系统运行情况,确保各个功能正常(4)调整程序参数,优化系统性能四、实训结果与分析1. 系统功能实现本次实训成功实现了单片机数字时钟的功能,包括时间显示、整点报时、按键控制等。
系统运行稳定,各项功能正常。
2. 系统性能分析(1)实时时钟获取:通过MSP430F5529的RTC模块获取当前时间,精度较高(2)时间显示:OLED显示屏显示清晰,信息完整(3)整点报时:在整点时刻通过蜂鸣器播放音乐进行报时,声音清晰(4)按键控制:通过按键实现时间的设置、闹钟的设定等功能,操作方便3. 系统优化(1)优化程序代码,提高程序运行效率(2)改进显示效果,提高用户体验(3)增加闹钟功能,实现定时提醒五、实训总结1. 通过本次实训,使学生掌握了单片机的基本原理和应用技术,提高了学生的动手能力和实践技能2. 学生学会了如何使用MSP430F5529单片机设计数字时钟,了解了数字时钟的设计原理和实现方法3. 学生培养了创新意识和团队协作能力,为今后的学习和工作打下了良好的基础4. 实训过程中,学生遇到了各种问题,通过查阅资料、讨论和请教老师,最终解决问题,提高了学生的解决问题的能力5. 本次实训使学生认识到理论知识与实践相结合的重要性,激发了学生的学习兴趣,为今后的学习和工作奠定了基础。
单片机数字电子钟课程设计实训报告
第一章设计概要设计要求:1、用单片机及6位LED数码管显示时、分、秒00时00分00秒——23时59分59秒循环运行2、整点提醒0,1…23时短蜂鸣3、用按键实现时、分、秒调整*4、省电功能(关闭显示)*5、定时设定提醒如设定08时15分00秒长蜂鸣*6、秒表功能显示××分××秒. ××健复位从00分00秒00开始计时启动从00分00秒00开始计时停止显示实际计时××分××秒××第二章硬件设计方案2.1设计框架图2.2总体设计方案说明设计框架图如图2.1所示总共分为5小部分:时间显示部分,键盘控制部分,单片机部分,闹钟部分,电源部分。
本设计各部分由统一电源集中供电,外加被用电源确保主电源断电时备用电源及时供电避免时间的丢失.采用12MHZ晶振为单片机提供时钟。
显示部分采用容易购买的LED八段数码显示管,利用单片机输出高低电平实现数码管的刷新显示。
LED具有显示明亮,容易识别,价格便宜等优点,特别适合时间的显示。
按键部分采用普通的按建开关,使用查询方式从而节约元件。
12.3数码显示管设计部分.图3.1-1数码显示部分采用八块共阳极八段数码显示管分别对时,分,秒进行显示。
将第三块和第六块显示横杠,可以使时间显示更美观.显示部分采用刷新显示方案.具体如下:当p2口输出第一块的三极管导通,u1数码管被选中,然后p0口输出数字的数码管编码。
如p0口输出时u1数码管就输出数字0。
当循环右移一位是u2被选通显示。
依次类推u1-u8数码管显示完成,再循环显示。
由于单片机的刷新速度很快所以8个数码管看起来就像同时显示的一样。
2.4 键盘控制电路键盘部分采用普通的按键进行设计,使用软件延时消除开关抖动.2.5 闹铃电路闹铃电路通过p1.7口输出1HZ脉冲使蜂鸣器发出间隔为一秒的蜂鸣声.32.6电源电路2.7 总体电路图设计图3.4-15第三章软件设计方案3.1 程序流程图3.2 总体程序设计//主程序ORG 0000HAJMP MAINORG 000BHAJMP TZPORG 0030HMAIN: MOV SP,#60HMOV R4,#00HMOV TMOD,#02hMOV TH0,#06HMOV TL0,#06HSETB EASETB ET0SETB TR0//初始化MOV R2,#3MOV R1,#30HLOOP: MOV @R1,#00HINC R1DJNZ R2,LOOPLCALL RINGPI//7LOOP2: MOV R2,#6MOV R1,#30HLCALL DPZP// 开启节能功能JB P1.0,XWJNJB P1.0,$//// 闹钟设置入口ZWJN: JB P1.1,XPP1LCALL RINGPLCALL RELAY////调时入口XPP1: JB P1.3,XPP2LCALL ZPP1XPP2: JB P1.2,ZPPLCALL ZPP2ZPP: AJMP LOOP2////定时器0中断TZP: PUSH 00HPUSH 03HINC R4 // 软件-硬件延时1秒CJNE R4,#40,ENDIMOV R4,#0INC R5CJNE R5,#100,ENDI //结束MOV R5,#0ZP: MOV R0,#30HMOV R3,#3MOV DPTR,#TCOUNTLCALL TTZPLCALL RINGENDI: POP 03HPOP 00HRETI//定时器0中断返回//软中断1ZPP1: MOV A,31HADD A,#1DA AMOV 31H,ACJNE A,#60H,END1MOV 31H,#00HEND1: LCALL RELAYRET////软中断2ZPP2: MOV A,32H9ADD A,#1DA AMOV 32H,ACJNE A,#24H,END2MOV 32H,#00HEND2: LCALL RELAYRET////延时显示程序RELAY: MOV R6,#255REP: MOV R7,#4REEE: MOV R2,#6MOV R1,#30HLCALL DPZPDJNZ R7,REEEDJNZ R6,REPRET//延时显示程序结束//显示子程序DPZP: MOV P0,#0FFH // 显示横杠MOV P2,#0DBHMOV P0,#0BFH // END DPZP1: MOV P0,#0FFHMOV DPTR,#CHART //P3partMOV A,R2MOVC A,@A+DPTRMOV P2,A //MOV DPTR,#LEDMOV A,@R1JNB F0,DPZPSINC R1SWAP ADPZPS: ANL A,#0FHMOVC A,@A+DPTRMOV P0,ACPL F0DJNZ R2,DPZP1RET//显示子程序结束//不规则循环加一子程序TTZP: MOV A,@R0ADD A,#1DA AMOV @R0,AMOV A,R3MOVC A,@A+DPTRCLR CSUBB A,@R011JNC RTTZPMOV @R0,#0INC R0DJNZ R3,TTZP RTTZP: RET// 响铃程序RING: MOV R0,#34HMOV 24H,#6 RRING: MOV A,31HSUBB A,@R0JNZ ERINGINC R0MOV A,32HSUBB A,@R0DEC R0JNZ ERINGCPL P1.7RETERING: MOV A,R0ADD A,#3MOV R0,ADJNZ 24H,RRINGSETB P2.1RET//// 闹钟调整程序RINGP: MOV 20H,#33HMOV 21H,#6MOV R3,#20MOV 22H,#5LPRP: LCALL RELAY1JB P1.1,LPRP1MOV R3,#20MOV A,20HADD A,#3MOV 20H,ADJNZ 22H,LPRPRETLPRP1: JB P1.3,LPRP2MOV R3,#20HMOV A,20HADD A,#1MOV R0,AMOV A,@R0ADD A,#1MOV @R0,ADA ACJNE A,#60H,LPRP21MOV @R0,#00H13LPRP21: LCALL RELAY1 LPRP2: JB P1.2,LPRP3MOV R3,#20HMOV A,20HADD A,#2MOV R0,AMOV A,@R0ADD A,#1DA AMOV @R0,ACJNE A,#24H,LPRP31MOV @R0,#00H LPRP31: LCALL RELAY1 LPRP3: DJNZ R3,LPRP LPRPEND: RET////闹钟组初始化程序(共5组) RINGPI: MOV R2,#5MOV R1,#41H LPRPI: MOV @R1,#00HDEC R1MOV @R1,#00HDEC R1MOV A,#00HORL A,#0A0HADD A,R2MOV @R1,ADEC R1DJNZ R2,LPRPIRET////延时显示程序1RELAY1: MOV R6,#255REP1: MOV R7,#4REEE1: MOV R2,21HMOV R1,20HLCALL DPZPDJNZ R7,REEE1DJNZ R6,REP1RET//延时显示程序结束//数据表LED: DB0c0H,0f9H,0a4H,0b0H,099H,092H,82H,0f8H,80H,90H,8EH,0A8H//0,1,2,3,4,5,6,7,8,9,F,n CHART: DB 0FEH,0FEH,0FDH,0F7H,0EFH,0BFH,7FHTCOUNT: DB 0,23H,59H,59HEND15第四章心得体会4.1心得体会在整个课程设计完后,总的感觉是:有收获。
单片机电子钟实习实训报告
单片机电子钟实习实训报告一、前言随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。
为了更好地了解和掌握单片机原理及应用,提高我们的动手能力,学校组织了一次单片机电子钟实习实训。
本次实习实训的目标是设计并制作一个基于单片机的电子钟,实现小时、分钟和秒的显示,同时具备校时功能。
二、实习实训内容1. 了解单片机的基本原理和工作原理,熟悉单片机的编程环境和编程语言。
2. 学习电子钟的设计原理,掌握电子钟的显示方式、时间计算方法和校时功能实现方法。
3. 设计并制作电子钟的硬件电路,包括单片机、显示模块、按键模块等。
4. 编写电子钟的程序代码,实现小时、分钟和秒的显示,以及校时功能。
5. 进行电路仿真和实际制作,调试并优化电路性能。
三、实习实训过程1. 理论学习和准备:在实习实训开始前,我们学习了单片机的基本原理、编程环境和编程语言,了解了电子钟的设计原理和实现方法。
2. 硬件设计:根据设计要求,我们设计了一个简单的电子钟硬件电路,包括单片机、LCD显示模块、按键模块等。
其中,单片机作为核心控制器,负责时间计算和显示控制;LCD显示模块用于显示时间;按键模块用于实现校时功能。
3. 程序编写:根据硬件设计,我们编写了一个简单的电子钟程序,实现了小时、分钟和秒的显示,以及校时功能。
程序采用C语言编写,利用单片机的定时器进行时间计算,通过I/O口控制LCD显示模块和按键模块。
4. 电路仿真和实际制作:在完成程序编写后,我们使用Proteus软件对电路进行了仿真,验证了电路设计的正确性和可靠性。
随后,我们根据仿真结果实际制作了电子钟电路,并进行了调试和优化。
四、实习实训成果通过本次实习实训,我们成功地设计并制作了一个基于单片机的电子钟,实现了小时、分钟和秒的显示,以及校时功能。
在实习过程中,我们不仅学习了单片机原理和电子钟设计方法,还提高了动手实践能力,为以后的学习和工作打下了坚实的基础。
五、总结本次单片机电子钟实习实训让我们深刻体会到了理论与实践相结合的重要性。
单片机数字钟实训报告
单片机数字钟实训报告摘要:本实训项目旨在设计并实现一个基于单片机的数字钟。
通过对单片机的学习和应用,我们成功地完成了数字钟的设计与制作。
本报告将从设计目标、硬件电路、软件程序以及实际操作等方面进行详细介绍和分析,以期对读者有所启发和帮助。
一、设计目标数字钟是一款常见而实用的电子设备,它能够精准地显示当前的时间,并具备闹钟和定时器等功能。
我们的设计目标是实现一个简洁、易用且功能齐全的数字钟,具备时钟、闹钟和定时器三种模式,并能够通过按键进行切换和设置。
二、硬件电路我们采用了8051系列单片机作为核心控制器,并搭配数码管、按键和蜂鸣器等外围电路。
其中,数码管用于显示时间和设置参数,按键用于切换模式和设置时间,蜂鸣器用于报警。
通过合理的连接和布局,我们成功地搭建了数字钟的硬件电路。
三、软件程序为了实现数字钟的各项功能,我们根据设计目标编写了相应的软件程序。
程序主要包括时钟模式、闹钟模式和定时器模式的切换与设置,时间的显示和更新等功能。
通过对按键的扫描和状态判断,我们能够根据用户的操作进行相应的响应和处理。
在程序的编写过程中,我们注重代码的可读性和可维护性,使其具备良好的扩展性和稳定性。
四、实际操作在完成硬件电路和软件程序的设计后,我们进行了实际的操作测试。
首先,我们通过按键进行模式的切换和时间的设置,验证了数字钟的基本功能。
其次,我们通过调整定时器的参数,测试了数字钟的定时器功能。
最后,我们设置了闹钟并验证了其报警功能。
实际操作的结果表明,我们的数字钟设计达到了预期的效果,并且具备了稳定可靠的性能。
五、总结与展望通过本次实训项目,我们深入学习了单片机的原理和应用,并成功地设计和制作了一个数字钟。
通过实际操作的过程,我们对数字钟的功能和性能有了更深入的了解。
然而,我们也意识到数字钟仍有一些不足之处,比如显示方式的改进和功能的扩展等。
因此,我们对未来的工作进行了展望,并提出了一些改进的建议,以期进一步完善和优化数字钟的设计。
单片机制作时钟实训报告
随着科技的不断发展,单片机作为一种集计算机技术、微电子技术和自动控制技术于一体的综合性技术,已经在各个领域得到了广泛的应用。
为了提高我们的实践能力和创新意识,我们选择了单片机制作时钟这一实训项目,通过实际操作来深入了解单片机的应用和编程技巧。
二、实训目的1. 熟悉单片机的基本原理和结构。
2. 掌握单片机的编程方法和技巧。
3. 学会使用常用电子元器件,如数码管、按键等。
4. 培养团队合作精神和动手能力。
三、实训内容1. 硬件设计(1)选用MCS-51单片机作为核心控制器;(2)使用8位LED数码管显示时间,包括时、分、秒;(3)设计按键模块,实现时间设置、闹钟设定等功能;(4)设计电源模块,保证系统稳定运行。
2. 软件设计(1)编写时钟计数程序,实现时间的精确计数;(2)编写按键扫描程序,实现时间设置、闹钟设定等功能;(3)编写显示控制程序,实现时间信息的实时显示。
3. 系统调试(1)对硬件电路进行连接和调试,确保电路正常运行;(2)对软件程序进行调试,修正错误,优化性能;(3)进行功能测试,验证系统功能的正确性和稳定性。
1. 需求分析根据实训要求,分析时钟功能,确定硬件和软件设计方案。
2. 硬件选型与电路设计根据需求分析,选择合适的单片机、数码管、按键等元器件,并设计电路图。
3. 软件编程使用C语言编写时钟计数、按键扫描、显示控制等程序。
4. 实物制作与调试按照电路图焊接电路板,组装元器件,进行实物制作。
然后对硬件电路和软件程序进行调试,确保系统正常运行。
5. 功能测试与优化对系统进行功能测试,验证时钟的准确性、按键功能的可靠性、显示的清晰度等。
根据测试结果对系统进行优化,提高性能。
五、实训成果1. 成功制作了一款基于单片机的电子时钟,具有实时显示、时间设置、闹钟设定等功能;2. 掌握了单片机的基本原理和编程方法,提高了实践能力;3. 学会了使用常用电子元器件,为以后的学习和工作打下了基础。
六、实训总结通过本次单片机制作时钟实训,我们深入了解了单片机的应用和编程技巧,提高了实践能力和创新意识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
停止 显示实际计时 ××分××秒××
第二章
2.1
2.2
设计框架图如图2.1所示总共分为5小部分:时间显示部分,键盘控制部分,单片机部分,闹钟部分,电源部分。本设计各部分由统一电源集中供电,外加被用电源确保主电源断电时备用电源及时供电避免时间的丢失.采用12MHZ晶振为单片机提供时钟。显示部分采用容易购买的LED八段数码显示管,利用单片机输出高低电平实现数码管的刷新显示。LED具有显示明亮,容易识别,价格便宜等优点,特别适合时间的显示。按键部分采用普通的按建开关,使用查询方式从而节约元件。
TZP:PUSH00H
PUSH03H
INC R4//软件-硬件延时1秒
CJNER4,#40,ENDI
MOVR4,#0
INCR5
CJNER5,#100,ENDI //结束
MOVR5,#0
ZP:MOVR0,#30H
MOVR3,#3
MOVDPTR,#TCOUNT
LCALLTTZP
LCALLRING
ENDI:POP03H
2.3
.
图3.1-1
数码显示部分采用八块共阳极八段数码显示管分别对时,分,秒进行显示。将第三块和第六块显示横杠,可以使时间显示更美观.显示部分采用刷新显示方案.具体如下:
当p2口输出11111110第一块的三极管导通,u1数码管被选中,然后p0口输出数字的数码管编码。如p0口输出00111111时u1数码管就输出数字0。当11111110循环右移一位是u2被选通显示。依次类推u1-u8数码管显示完成,再循环显示。由于单片机的刷新速度很快所以8个数码管看起来就像同时显示的一样。
MOVP2,#0DBH
MOVP0,#0BFH //END
DPZP1:MOVP0,#0FFH
MOVDPTR,#CHART//P3part
MOVA,R2
MOVCA,@A+DPTR
MOVP2,A //
MOVDPTR,#LED
MOVA,@R1
JNBF0,DPZPS
INCR1
SWAPA
DPZPS:ANLA,#0FH
第一章
设计要求:1、用单片机及6位LED数码管显示时、分、秒
00时00分00秒——23时59分59秒循环运行
2、整点提醒0,1…23时 短蜂鸣
3、用按键实现 时、分、秒 调整
*4、省电功能(关闭显示)
*5、定时设定提醒 如设定08时15分00秒长蜂鸣
*6、秒表功能 显示 ××分××秒. ××
健 复位 从00分00秒00开始计时
POP00H
RETI
//定时器0中断返回
//软中断1
ZPP1:MOVA,31H
ADDA,#1
DAA
MOV31H,A
CJNEA,#60H,END1
MOV31H,#00H
END1:LCALLRELAY
RET
//
//软中断2
ZPP2:MOVA,32H
ADDA,#1
DAA
MOV32H,A
CJNEA,#24H,END2
MOVCA,@A+DPTR
MOVP0,A
CPLF0
DJNZR2,DPZP1
RET
//显示子程序结束
//不规则循环加一子程序
TTZP:MOVA,@R0
ADDA,#1
DAA
MOV@R0,A
MOVA,R3
MOVCA,@A+DPTR
CLRC
SUBBA,@R0
JNCRTTZP
MOV@R0,#0
INCR0
DJNZR3,TTZP
MOV32H,#00H
END2:LCALLRELAY
RET
//
//延时显示程序
RELAY:MOVR6,#255
REP:MOVR7,#4
REEE:MOVR2,#6
MOVR1,#30H
LCALLDPZP
DJNZR7,REEE
DJNZR6,REP
RET
//延时显示程序结束
//显示子程序
DPZP:MOVP0,#0FFH //显示横杠
RTTZP:RET
//响铃程序
RING:MOVR0,#34H
MOV24H,#6
RRING:MOVA,31H
SUBBA,@R0
JNZERING
INCR0
MOVA,32H
SUBBA,@R0
DECR0
JNZERING
CPLP1.7
RET
ERING:MOVA,R0
ADDA,#3
MOVR0,A
DJNZ24H,RRING
DJNZR6,REP1
RET
//延时显示程序结束
//数据表
LED:DB0c0H,0f9H,0a4H,0b0H,099H,092H,82H,0f8H,80H,90H,8EH,0A8H//0,1,2,3,4,5,6,7,8,9,F,n
CHART:DB0FEH,0FEH,0FDH,0F7H,0EFH,0BFH,7FH
TCOUNT:DB0,23H,59H,59H
END
第四章
在整个课程设计完后,总的感觉是:有收获。以前上课都是上一些最基本的东西,而现在却可以将以前学的东西作出有实际价值的东西。在这个过程中,我的确学得到很多在书本上学不到的东西,如:如何利用现有的元件组装得到设计要求,如何找到错误的原因,如何利用计算机来画图等等。但也遇到了不少的挫折,有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是芯片的管脚接错了,有时更是忘接电源了。在学习中的小问题在课堂上不可能犯,在动手的过程中却很有可能犯。特别是在接电路时,一不小心就会犯错,而且很不容易检查出来。但现在回过头来看,还是挺有成就感的。
//开启节能功能
JBP1.0,XWJN
JBP1.0,$
//
//闹钟设置入口
ZWJN:JBP1.1,XPP1
LCALLRINGP
LCALLRELAY
//
//调时入口
XPP1:JBP1.3,XPP2
LCALLZPP1
XPP2:JBP1.2,ZPP
LCALLZPP2
ZPP:AJMPLOOP2//
//定时器0中断
MOVA,@R0
ADDA,#1
DAA
MOV@R0,A
CJNEA,#24H,LPRP31
MOV@R0,#00H
LPRP31:LCALLRELAY1
LPRP3:DJNZR3,LPRP
LPRPEND:RET
//
//闹钟组初始化程序(共5组)
RINGPI:MOVR2,#5
MOVR1,#41H
LPRPI:MOV@R1,#00H
MOVTMOD,#02h
MOVTH0,#06H
MOVTL0,#06H
SETBEA
SETBET0
SETBTR0
//初始化
MOVR2,#3
MOVR1,#30H
LOOP:MOV@R1,#00H
INCR1
DJNZR2,LOOP
LCALLRINGPI
//
LOOP2:MOVR2,#6
MOVR1,#30H
LCALLDPZP
MOVR3,#20H
MOVA,20H
ADDA,#1
MOVR0,A
MOVA,@R0
ADDA,#1
MOV@R0,A
DAA
CJNEA,#60H,LPRP21
MOV@R0,#00H
LPRP21:LCALLRELAY1
LPRP2:JBP1.2,LPRP3
MOVR3,#20H
MOVA,20H
ADDA,#2
MOVR0,A
DECR1
MOV@R1,#00H
DECR1
MOVA,#00H
ORLA,#0A0H
ADDA,R2
MOV@R1,A
DECR1
DJNZR2,LPRPI
RET
//
//延时显示程序1
RELAY1:MOVR6,#255
REP1:MOVR7,#4
REEE1:MOVR2,21H
MOVR1,20H
LCALLDPZP
DJNZR7,REEE1
2.4
键盘部分采用普通的按键进行设计,使用软件延时消除开关抖动.
2.5
闹铃电路通过p1.7口输出1HZ脉冲使蜂鸣器发出间隔为一秒的蜂鸣声.
2.6
2.7
图3.4-1
第三章
3.1
3.2//主程序OR Nhomakorabea0000H
AJMPMAIN
ORG000BH
AJMPTZP
ORG0030H
MAIN:MOVSP,#60H
MOVR4,#00H
参考文献
[1]
[2]
[3]
[4]
[5]
辞谢
在本次数字电路课程设计完成之际,谨向我的指导老师**老师致予衷心的谢意。
此次课程设计得到了**老师细心指导,给我很大的支持。这设计过程中遇到了很多困难,诸如怎样不熟悉的集成块的使用,数字电路的编码等问题。在解决这些问题的过程中多得到了**老师的大力支持,在此再次衷心的感谢**老师。
SETBP2.1
RET
//
//闹钟调整程序
RINGP:MOV20H,#33H
MOV21H,#6
MOVR3,#20
MOV22H,#5
LPRP:LCALLRELAY1
JBP1.1,LPRP1
MOVR3,#20
MOVA,20H
ADDA,#3
MOV20H,A
DJNZ22H,LPRP
RET
LPRP1:JBP1.3,LPRP2