单片机数字电子钟课程设计实训报告

合集下载

数字电子时钟实习报告

数字电子时钟实习报告

一、实习目的本次实习旨在通过设计和制作数字电子时钟,加深对数字电路基本原理、电子元器件性能及电路设计方法的理解。

通过实际操作,掌握数字电子钟的设计、制作、调试和故障排除等技能,提高动手能力和创新意识。

二、实习内容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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
启动 从00分00秒00开始计时
停止 显示实际计时 ××分××秒××
第二章
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
相关文档
最新文档