单片机智能电子数字钟设计说明

合集下载

数字电子钟单片机课程设计

数字电子钟单片机课程设计

数字电子钟单片机课程设计一、课程目标知识目标:1. 学生能理解数字电子钟的基本工作原理,掌握单片机在数字电子钟中的应用。

2. 学生能掌握数字电子钟的各功能模块(如计时、闹钟、显示等)的设计与实现。

3. 学生了解并掌握数字电子钟程序编写的基本方法,学会运用编程语言(如C 语言)进行程序设计。

技能目标:1. 学生能运用所学知识,设计并制作一个简易的数字电子时钟,具备基本的时间显示、闹钟等功能。

2. 学生能够独立完成程序编写,实现数字电子钟的基本功能,并具备一定的调试与优化能力。

3. 学生能够通过团队合作,发挥各自专长,共同完成课程设计任务。

情感态度价值观目标:1. 学生在课程学习中,培养对电子技术的兴趣和爱好,激发创新意识。

2. 学生通过实践活动,培养动手能力、解决问题的能力和团队协作精神。

3. 学生在学习过程中,树立正确的价值观,认识到科技对生活的重要性,增强社会责任感。

本课程针对高年级学生,课程性质为实践性较强的设计与制作类课程。

学生在前期课程中已具备一定的电子技术基础和编程能力,本课程旨在巩固和拓展这些知识。

在教学过程中,要求教师注重引导学生主动探索、实践,鼓励学生发挥创新能力,同时关注学生的个体差异,提供有针对性的指导。

通过课程目标的实现,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续相关课程的学习打下坚实基础。

二、教学内容1. 数字电子钟原理及单片机基础:包括时钟电路、计数器、寄存器等基本原理,以及单片机的内部结构、工作原理和编程接口。

- 教材章节:第一章 电子时钟原理;第二章 单片机基础- 内容列举:时钟电路设计、计数器应用、寄存器配置、单片机内部结构、I/O 口编程。

2. 数字电子钟功能模块设计:讲解并实践计时、闹钟、显示等模块的设计方法。

- 教材章节:第三章 数字电子钟设计;第四章 模块化设计- 内容列举:计时模块、闹钟模块、显示模块设计,模块间通信协议。

3. 程序设计与编写:学习数字电子钟的程序编写方法,运用C语言进行程序设计。

基于单片机电子时钟的设计与实现

基于单片机电子时钟的设计与实现

基于单片机电子时钟的设计与实现一、设计目标设计一个基于单片机的电子时钟,能够准确显示时间并能够进行设置和调整。

二、硬件设计1.时钟部分:采用晶振芯片提供准确的时钟信号2.数码管显示部分:使用共阴数码管进行数字显示3.按键部分:设计几个按键用于设置和调整时间4.电源部分:采用直流电源供电三、软件设计1.功能设计a.时间设置功能:通过按键可以设置当前的时间,包括小时、分钟和秒钟。

b.时间调整功能:通过按键可以调整当前的时间,包括小时、分钟和秒钟。

c.时间显示功能:通过数码管可以实时显示当前的时间。

2.代码实现以C语言为例,以下是一个基于单片机的电子时钟的代码实现示例:```c#include <reg51.h>sbit DS18B20=P1^3; // 定义18B20数据线接口sbit beep=P2^3; // 定义蜂鸣器接口unsigned char hour,min,sec; // 定义小时、分钟、秒钟变量//函数声明void Delay_1ms(unsigned int count);bit Ds18b20Init(;unsigned char Ds18b20ReadByte(;void ReadTime(;void WriteTime(;void DisplayTime(;//主函数void mainP2=0x00;WriteTime(; // 写入时间while(1)ReadTime(; // 读取时间DisplayTime(; // 显示时间Delay_1ms(1000); // 延时1秒}//毫秒延时函数void Delay_1ms(unsigned int count) unsigned int i, j;for(i=0; i<count; i++)for(j=0; j<1275; j++);//18B20初始化函数bit Ds18b20Initbit presence;DS18B20=0;Delay_1ms(100); // 延时450us~1000us DS18B20=1;Delay_1ms(10); // 延时15us~60us presence=DS18B20;Delay_1ms(30); // 延时60us~240us return presence;//18B20读取字节函数unsigned char Ds18b20ReadByte unsigned char i, dat;for(i=0; i<8; i++)DS18B20=0;//主机发起读时序_nop_(; // 延时1us_nop_(; // 延时1us_nop_(; // 延时1usDS18B20=1;//主机释放总线_nop_(; // 延时1us_nop_(; // 延时1us_nop_(; // 延时1usdat,=(DS18B20<<i); // 读取数据位,存放在dat变量中Delay_1ms(3); // 读时序完成后等待48us再接收下一位}return dat;//读取时间函数void ReadTimeunsigned char temp;temp=0x00;while(temp!=0xaa)Ds18b20Init(; // 初始化温度传感器Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0xbe;Delay_1ms(1);temp=Ds18b20ReadByte(; // 读取时间数组的标志位}for(temp=0; temp<7; temp++)//写入时间函数void WriteTimeunsigned char i,j;while(1)Ds18b20Init(;Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0x4e;Delay_1ms(1);for(i=0; i<7; i++)DS18B20=0x55;Delay_1ms(1);DS18B20=0xaa;Delay_1ms(1);Ds18b20Init(;Delay_1ms(1);DS18B20=0xcc;Delay_1ms(1);DS18B20=0x48;Delay_1ms(1);j=Ds18b20ReadByte(; // 判断是否写入成功if(j==0x0a)break;}//显示时间函数void DisplayTimeP1=seg[hour/10]; // 显示十位小时P2=(P2&0xf0),0x08; // 点亮第一个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[hour%10]; // 显示个位小时P2=(P2&0xf0),0x04; // 点亮第二个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[min/10]; // 显示十位分钟P2=(P2&0xf0),0x02; // 点亮第三个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=seg[min%10]; // 显示个位分钟P2=(P2&0xf0),0x01; // 点亮第四个数码管Delay_1ms(5); // 延时一段时间P2=0x0f;//熄灭数码管P1=0x00;//空显示P2=0x00;//熄灭数码管```四、总结通过以上的硬件设计和软件实现,可以实现一个基于单片机的电子时钟。

单片机课程设计报告单片机的电子钟设计

单片机课程设计报告单片机的电子钟设计

单片机课程设计报告---单片机的电子钟设计单片机课程设计报告---单片机的电子钟设计一、设计简介本课程设计是以单片机为核心,设计一个具有显示时间和闹钟功能的电子钟。

电子钟是人们日常生活中必备的计时工具,其精度和稳定性直接影响到人们的时间安排和生活质量。

因此,本设计的目的是通过学习和实践,掌握单片机的应用和电子钟的设计方法,提高我们的实践能力和理论知识水平。

二、硬件设计1.单片机选择本设计选用AT89C51单片机作为主控制器。

AT89C51是一种低功耗、高性能的8位单片机,具有丰富的I/O口和片内资源,适合用于各种嵌入式系统开发。

2.显示模块显示模块采用LED数码管,用于显示时间、日期和闹钟状态。

为了方便调试和编程,我们选用4位一体式数码管。

3.按键模块按键模块包括功能键和调整键,用于设置时间、日期和闹钟。

我们选用4个独立式按键,分别实现上调、下调、设置和闹钟功能。

4.蜂鸣器模块蜂鸣器模块用于发出闹钟声音。

我们选用一款常见的无源蜂鸣器,通过单片机的一个IO口控制其频率,实现声音提示功能。

三、软件设计1.时钟芯片驱动本设计选用DS1302时钟芯片,用于提供实时时间和日期的信息。

DS1302与单片机通过I2C协议进行通信,需要编写相应的驱动程序。

驱动程序包括时钟芯片的初始化、数据读写和中断处理等。

2.显示驱动显示驱动程序负责控制数码管的显示。

驱动程序包括延时函数、位选函数和段选函数等。

通过调用这些函数,我们可以实现时间、日期和闹钟状态的动态显示。

3.按键驱动按键驱动程序负责识别用户的按键操作。

驱动程序通过检测独立式按键的状态变化,识别出不同的按键操作,并执行相应的功能。

例如,当用户按下上调键时,驱动程序将调用时钟芯片的读秒函数,并将时间的小时数加1。

4.蜂鸣器驱动蜂鸣器驱动程序负责控制蜂鸣器的声音频率。

驱动程序通过设置单片机的定时器寄存器,产生一定频率的方波信号,驱动蜂鸣器发声。

为了实现不同的声音效果,我们可以通过改变方波信号的频率和持续时间来实现。

单片机智能电子钟

单片机智能电子钟

目录目录01 设计内容及要求11.1 设计内容11.2 设计要求11.3 设计报告的主要内容1二总体设计方案22.1 设计方案示意图22.1.1 框图22.1.2 电路图32.1.3 方案讨论32.1.4 设计任务的明确性42.2 框图52.3 调试62.3.1 软件调试62.3.2 仿真调试7三项目设计总结或结论7参考文献8附录8一、设计内容及要求1.1 设计内容以AT89C52单片机为核心,外加LCD1602。

制作一个带液晶显示屏的智能电子时钟。

1.2 设计要求(1)计时:秒、分、时、日、周、月、年。

(2) 闰年自动识别。

(3) 随时自动开启/关闭屏幕。

(4) 计时精度:误差≤1秒/月(带微调设置)。

(5) 键盘采用动态扫描方式查询。

所有查询和设置功能均由功能键 K1 和 K2 完成。

1.3 设计报告的主要内容单片机课程设计是以学科或项目设计的方式设置的课程。

具有很强的综合性和实用性。

是工科院校电气工程专业的必修课。

是将单片机原理的理论知识转化为应用技术的重要环节。

这个环节不仅可以加深对单片机原理的深入理解,还可以培养学生的动手能力,培养学生分析和解决问题的能力。

二整体设计2.1 设计方案示意图2.1.1原理图,示意图2.1.2电路原理图XTAL218XTAL119ALE 30EA31PSEN 29RST 9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U0AT89C51D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016L234567891RP110kRV11kLS1SPEAKER12MHz30pF30pF 1uF图2 电路原理图2.1.3节目讨论方案一:使用实时时钟芯片实时时钟芯片具有年、月、日、周、时、分、秒计时功能和多点计时功能。

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告一、实验目的本次单片机实验的目的是设计并实现一个基于单片机的数字时钟。

通过该实验,深入了解单片机的工作原理和编程方法,掌握定时器、中断、数码管显示等功能的应用,提高综合运用知识解决实际问题的能力。

二、实验原理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、实验结果将程序下载到单片机后,数字时钟能够正常运行,准确显示时、分、秒,并且通过按键可以进行时间的调整。

单片机多功能电子数字钟课程设计报告

单片机多功能电子数字钟课程设计报告

多功能电子数字钟设计数字钟在日常生活中最常见, 应用也最广泛。

本文主要就是设计一款数字钟, 以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)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。

(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。

(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。

(4)按键输入,设计按键来调整时间,包括调整小时和分钟。

(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。

2. 软件设计。

(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。

(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。

(3)按键处理,设计按键扫描程序,实现对时间的调整。

(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。

四、设计实现。

1. 硬件实现。

根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。

2. 软件实现。

编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。

五、实验结果。

经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。

六、总结与展望。

通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。

在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。

同时,也为学生今后的科研和创新工作奠定了良好的基础。

单片机数字钟课程设计

单片机数字钟课程设计

单片机数字钟课程设计单片机数字钟课程设计1. 硬件设计:- 使用单片机控制数字钟的显示和时间的设置功能,在电路板上连接LED数码管用于显示时间。

- 使用实时时钟芯片或者外部晶振作为时钟源,确保时间的准确性。

- 设置按键用于调整时间,包括小时、分钟和秒钟。

2. 功能设计:- 初始化功能:启动时将时间设置为00:00:00。

- 显示功能:将当前时间显示在LED数码管上,包括小时、分钟和秒钟。

- 调整时间功能:按下相应的按键,可以调整小时、分钟和秒钟,同时更新LED数码管上的显示。

- 闹钟功能:设置一个闹钟时间,并在闹钟时间到达时发出声音或者闪烁LED灯提示。

3. 软件设计:- 使用C语言编写单片机的程序,通过编程控制数码管的显示和按键的响应。

- 在程序中使用定时器中断来更新时间的显示,确保时间的准确性。

- 使用按键中断来响应按键的操作,包括调整时间和设置闹钟功能。

4. 测试与调试:- 在编写完程序后,进行测试和调试,确保各项功能的正常运行。

- 使用示波器等工具来监测时钟信号和按键信号的波形,确保硬件连接的正确性。

- 运行程序并观察LED数码管的显示,以及按键的响应情况,进行功能的验证。

5. 效果展示:- 在完成测试和调试后,将数字钟的效果展示给他人,包括时间的显示和调整、闹钟的设置和响应等功能。

- 可以将数字钟制作成实物展示,方便他人观看和操作,也可以进行演示和讲解,介绍数字钟的工作原理和设计思路。

整个单片机数字钟的课程设计过程包括硬件设计、功能设计、软件设计、测试与调试以及效果展示。

通过这个设计项目,可以锻炼学生的硬件和软件设计能力,提高他们对单片机原理和应用的理解和掌握程度。

基于MSP430单片机的电子时钟设计说明

基于MSP430单片机的电子时钟设计说明

基于MSP430单片机的电子时钟设计说明
一、需求分析
本设计的目标是基于MSP430单片机来设计一款电子时钟。

电子时钟
可以用来显示当前的时间,比如时、分、秒;同时还具有闹钟功能,即可
以设置每天一些时刻提醒用户,提醒用户做件事情。

设计时,要注意以下
几个方面:
1、时间流逝的准确性:电子时钟的核心功能是准确显示当前的时间,即时针、分针、秒针在正确地流逝;同时也要考虑时间的准确性,用户可
以设置任意时间,时钟计时要按照设置的时间进行计时。

2、系统稳定性:电子时钟的系统稳定性极其重要,不能因为短暂的
停电等扰动,导致系统失去稳定,时间乱跳。

3、外观设计:在外观设计方面,电子时钟要求具有精美、简约的外观,而且要求清晰显示时间内容,用户可以视觉上感受时间的运行,同时
操作简单,操作界面友好;同时,为了满足用户的要求,要能够设置闹钟,并且有红色指示灯和蜂鸣器来提醒。

二、设计要求
1、MSP430单片机:采用MSP430F169作为主控制器,芯片的16位CPU具有较强的数据处理能力,可以有效调整时间性能,满足电子时钟计
时要求。

2、时间及闹钟设置:采用4×4键盘模块作为时间及闹钟设置。

单片机数字电子钟课程设计

单片机数字电子钟课程设计

单片机数字电子钟课程设计一、课程目标知识目标:1. 学生能理解单片机的基础知识,掌握数字电子时钟的原理和工作流程。

2. 学生能描述单片机编程的基本步骤,特别是与计时相关的指令和程序设计方法。

3. 学生能够解释数字电子钟各部分功能,如时钟电路、显示电路等,并了解它们之间的协作关系。

技能目标:1. 学生能够运用所学的单片机知识,设计并实现一个简单的数字电子钟程序。

2. 学生通过动手实践,提高焊接和电路排错的能力,能够组装和调试电子钟电路。

3. 学生能够利用仿真软件对电子钟程序进行测试和优化,培养问题解决和程序调试技巧。

情感态度价值观目标:1. 培养学生对电子制作的兴趣,激发创新意识和探索精神。

2. 通过团队协作完成项目,增强学生的合作意识和沟通能力。

3. 学生在课程学习过程中,能够体验到知识与实践相结合的成就感,培养科学、严谨的学习态度。

分析课程性质、学生特点和教学要求:本课程设计针对高中年级学生,假设他们已具备基础物理知识和一定的编程能力。

课程性质为实践性强的综合设计课,旨在通过单片机数字电子钟的制作,巩固学生的电子技术知识与技能。

课程目标设定时考虑了学生的年龄特点和认知水平,注重理论与实践的结合,鼓励学生动手操作和探究学习,旨在提高学生的综合技术应用能力。

通过具体的学习成果分解,本课程旨在让学生不仅学习到知识,而且能够将知识应用到实际问题的解决中,充分体现课程的实用性和创新性。

二、教学内容1. 单片机基础知识回顾:重点复习单片机的内部结构、工作原理及编程基础,关联教材第二章内容。

2. 数字电子时钟原理:讲解时钟电路、计数器、振荡器等组成部分,对应教材第四章第二节。

- 时钟电路的构成与工作原理- 计数器的作用及其编程方法- 振荡器的种类及其在电子时钟中的应用3. 单片机编程设计:结合教材第三章,介绍编写电子时钟程序所需的指令和编程技巧。

- 基本计时指令的使用- 程序流程图的绘制- 中断处理在电子时钟中的应用4. 电路设计与制作:依据教材第五章,指导学生进行电子时钟的电路设计和组装。

基于单片机的电子时钟的设计与实现

基于单片机的电子时钟的设计与实现

基于单片机的电子时钟的设计与实现电子时钟是一种使用微处理器或单片机作为主控制器的数字时钟。

它不仅能够显示当前时间,还可以具备其他附加功能,如闹钟、日历、温度显示等。

一、设计目标设计一个基于单片机的电子时钟,实现以下功能:1.显示时间:小时、分钟和秒钟的显示,采用7段LED数码管来显示。

2.闹钟功能:设置闹钟时间,到达设定的时间时会发出提示音。

3.日历功能:显示日期、星期和月份。

4.温度显示:通过温度传感器获取当前环境温度,并显示在LED数码管上。

5.键盘输入和控制:通过外部键盘进行时间、日期、闹钟、温度等参数的设置和调整。

二、硬件设计1.单片机选择:选择一款适合的单片机作为主控制器,应具备足够的输入/输出引脚、中断和定时器等功能,如STC89C522.时钟电路:使用晶振为单片机提供稳定的时钟源。

3.7段LED数码管:选择合适的尺寸和颜色的数码管,用于显示小时、分钟和秒钟。

4.温度传感器:选择一款适合的温度传感器,如DS18B20,用于获取环境温度。

5.喇叭:用于发出闹钟提示音。

6.外部键盘:选择一款适合的键盘,用于设置和调整时间、日期、闹钟等参数。

三、软件设计1.初始化:设置单片机定时器、外部中断和其他必要的配置。

2.时间显示:通过定时器中断,更新时间,并将小时、分钟和秒钟分别显示在相应的LED数码管上。

3.闹钟功能:设置闹钟时间,定时器中断检测当前时间是否与闹钟时间一致,若一致则触发警报。

4.日历功能:使用定时器中断,更新日期、星期和月份,并将其显示在LED数码管上。

5.温度显示:通过定时器中断,读取温度传感器的数据,并将温度显示在LED数码管上。

6.键盘输入和控制:通过外部中断,读取键盘输入,并根据输入进行相应的操作,如设置时间、闹钟、日期等。

7.警报控制:根据设置的闹钟时间,触发警报功能,同时根据用户的设置进行控制。

四、测试与调试完成软件设计后,进行系统测试与调试,包括验证显示时间、日期、温度等功能的准确性,以及闹钟和警报功能的触发与控制。

基于单片机的智能电子时钟的设计及应用

基于单片机的智能电子时钟的设计及应用

基于单片机的智能电子时钟的设计及应用一、引言智能电子时钟是一种应用广泛的电子产品,它不仅能够准确显示时间,还具备了一系列智能化的功能,如闹钟、温湿度显示、定时开关等。

基于单片机的智能电子时钟设计是近年来电子技术领域中备受关注的研究方向。

本文将详细介绍基于单片机的智能电子时钟设计及其应用,并对其进行深入研究。

二、基于单片机的智能电子时钟设计原理1. 选取合适的单片机芯片在设计基于单片机的智能电子时钟之前,首先需要选取合适的单片机芯片。

常见选择包括51系列、AVR系列和ARM系列等。

根据具体需求和功能要求进行选择,并考虑到其性价比、易用性和扩展性。

2. 时钟模块设计在整个系统中,准确显示时间是最基本也是最关键的功能之一。

因此,需要设计一个稳定可靠且精度高的时钟模块。

常见选择包括RTC 芯片和GPS模块等。

3. 显示模块选择与驱动为了实现时间的直观显示,需要选择合适的显示模块。

常见选择包括LED数码管、LCD液晶显示屏和OLED显示屏等。

同时,还需要设计合适的驱动电路,以实现对显示模块的控制。

4. 功能模块设计除了基本的时间显示功能外,智能电子时钟还可以具备一系列智能化功能。

常见功能包括闹钟、温湿度显示、定时开关等。

这些功能需要通过相应的传感器和控制电路来实现。

三、基于单片机的智能电子时钟应用1. 家庭生活基于单片机的智能电子时钟在家庭生活中有着广泛应用。

它可以作为家庭闹钟,准确地唤醒人们起床;同时也可以作为温湿度监测器,在家中监测室内温湿度,并提供相应数据。

2. 办公场所在办公场所中,基于单片机的智能电子时钟可以作为时间提醒器,在工作时间结束时提醒人们休息;同时也可以作为定时开关,在指定时间自动打开或关闭相应设备。

3. 公共场所在公共场所中,基于单片机的智能电子时钟具备更多应用场景。

例如,在火车站、机场等候车室中,它可以作为候车时间显示器,为旅客提供准确的候车时间信息。

四、基于单片机的智能电子时钟设计案例以基于51系列单片机的智能电子时钟设计为例,具体设计方案如下:1. 硬件设计选用51系列单片机作为主控芯片,搭配RTC芯片作为时钟模块。

单片机课程设计数字钟的设计

单片机课程设计数字钟的设计

实验任务(1.开机时,显示12:00:00的时间开始计时;(2.P0.0/AD0控制“秒”的调整,每按一次加1秒;(3.P0.1/AD1控制“分”的调整,每按一次加1分;(4.P0.2/AD2控制“时”的调整,每按一次加1个小时;2.电路原理图P0_0~P0_3要加上拉电阻。

图4.20.1 3.系统板上硬件连线(2.把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;(3.把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;4.相关基本知识(1.动态数码显示的方法(2.独立式按键识别过程(3.“时”,“分”,“秒”数据送出显示处理方法5.程序框图6.汇编源程序SECOND EQU 30HMINITE EQU 31HHOUR EQU 32HHOURK BIT P0.2MINITEK BIT P0.1SECONDK BIT P0.0DISPBUF EQU 40HDISPBIT EQU 48HT2SCNTA EQU 49HT2SCNTB EQU 4AHTEMP EQU 4BHORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV SECOND,#00HMOV MINITE,#00HMOV HOUR,#12MOV DISPBIT,#00HMOV T2SCNTA,#00HMOV T2SCNTB,#00HMOV TEMP,#0FEHLCALL DISP ;2KB范围内长调用MOV TMOD,#01HMOV TH0,#(65536-2000) / 256 ;2msMOV TL0,#(65536-2000) MOD 256WT: JB SECONDK,NK1 ;SECONDK是1转NK1,即按键SP1按下时转.LCALL DEL Y10MSJB SECONDK,NK1INC SECONDMOV A,SECONDCJNE A,#60,NS60MOV SECOND,#00HNS60: LCALL DISPJNB SECONDK,$NK1: JB MINITEK,NK2LCALL DEL Y10MSJB MINITEK,NK2INC MINITEMOV A,MINITECJNE A,#60,NM60MOV MINITE,#00HNM60: LCALL DISPJNB MINITEK,$NK2: JB HOURK,NK3LCALL DELY10MSJB HOURK,NK3INC HOURMOV A,HOURCJNE A,#24,NH24MOV HOUR,#00HNH24: LCALL DISPJNB HOURK,$NK3: LJMP WTDEL Y10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETDISP: ;将得出的时间存入40H (DISPBUF)之后的地址MOV A,#DISPBUFADD A,#8DEC AMOV R1,AMOV A,HOURMOV B,#10DIV ABMOV @R1,A ;累加器送内部RAM单元@R1与R1区分?:@R1——R1为地址,@R1指向其内容。

单片机数字电子时钟设计

单片机数字电子时钟设计

单片机数字电子时钟设计随着现代化的发展,数字化已经成为了我们生活的主流。

人们对于时间的计算越来越精确和方便。

那么,小岛科技今天为大家介绍的便是一款采用单片机设计的数字电子时钟。

本文将详细介绍这款时钟的设计思路、实现原理与具体操作步骤,希望能帮助大家了解数字电子时钟的制作方法和应用。

一、设计思路首先,整个时钟的设计主要思路是使用单片机作为主控制芯片,同时配合几个常见的外设(如数码管、按键等)。

单片机有着小巧、易用和效率高等特点,能够帮助我们快速实现各种数字应用。

接下来,我们将对该数字电子时钟的实现原理进行详细介绍。

二、实现原理该时钟的实现原理主要由以下几个方面构成:1.时钟显示时钟显示采用的是LED数码管,也就是七段数码管。

七段数码管是一种采用七个发光二极管组成的数字显示器,它能够显示从0到9的数字。

将数码管的引脚与单片机的端口相连,通过输入端口控制数码管的亮与灭,实现数字时钟的显示。

2.时钟芯片时钟芯片是时钟显示中非常重要的部分,它能够提供固定的时钟信号,同时支持时间和日期的读写操作。

连接时钟芯片的时候,需要按照时钟芯片的规定连接不同的引脚,以确保可以正确地读取时间和日期信息。

3.按键检测按键检测也是数字电子时钟中的一个重要环节。

它能够实现时钟设置和调整等操作。

通常情况下,我们会将按键输出连接到单片机的外部中断端口,当有按键的状态变化时,外部中断会触发检测程序,从而实现时钟的设置和调整。

三、具体操作步骤1.组装电路我们需要按照电路原理图组装电路,连接好各种元器件和芯片,并进行相应的测试调试。

需要注意的是,组装时需要保证连接正确无误,防止出现元器件相互干扰等问题。

2.编写程序完成电路的组装后,我们需要编写相应的程序来实现数字电子时钟的功能。

编写程序时需要注意一些小细节,如时钟芯片与单片机的读写操作、按键的检测与处理、数码管的显示等。

调试程序的过程中,可以根据需要加入调试语句,通过串口调试工具来观察程序执行的过程。

单片机电子时钟课程设计说明书

单片机电子时钟课程设计说明书

单片机电子时钟设计说明书目录一.设计的要求 (2)二.单片机系统原理图及工作原理描述 (2)三.设计过程中碰到的问题及解决方法 (4)四.总结 (6)五.程序模块框图………………………………………………六.程序清单……………………………………………………一.5设计要求实时时钟工作原理:采用单片机内部定时器精密定时,四位数码管显示年、月、日、时、分、秒等,用键盘可以进行时间预置、时间显示内容设置、时间运行方式设置等。

要求:1.用键盘切换的方式,分别显示年月日或者时分秒;2.用键盘预置年、月、日、时、分、秒等;3.可以倒计时,倒计时单位为分;4.每一秒4个小数点闪烁一次;5.定时闹钟功能,蜂鸣器鸣叫提示。

6.时钟误差每日不大于1秒。

二.单片机系统原理图及工作原理描述为满足不同功能的设计要求,一块电路板上设计出多个常用的功能电路,供使用者选用。

印制线路板包含:(1)单片机最小系统;(2)四位LED数码管显示器;(3)4×4共16个键的矩阵键盘(4)RS-232电平转换电路;(5)DC12V稳压电源输入接口;(6)USB电源转换接口(DC5V);(7)ISP编程接口。

(8)8位串行A/D转换接口;(9)8位串行D/A转换接口;(10)四相步进电机驱动接口;(11)EEPROM串行存储电路;1.单片机最小系统AT89S51是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。

AT89S51具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

单片机电子时钟的设计

单片机电子时钟的设计

单片机电子时钟的设计一、设计目标与原理设计原理:1.使用单片机作为主控制器,通过系统时钟控制并计时,从而实现准确的时间显示。

2.利用矩阵键盘作为输入装置,通过按键输入来设置时间、闹钟等参数。

3.通过液晶显示屏显示时间、日期,以及其他相关信息。

4.利用蜂鸣器作为报警器,实现闹钟功能。

二、硬件设计1.单片机选择:选择一款适合的单片机芯片,如8051系列、PIC系列等,具备较强的扩展性和丰富的外设接口。

2.时钟模块:选择一个准确、稳定的时钟模块,如DS1302、DS3231等,可以提供标准的时间信号。

3.矩阵键盘:使用4x4的矩阵键盘,方便操作,实现对时钟的时间设置和闹钟等功能。

4.液晶显示屏:选择适合的液晶显示屏,显示时间、日期以及状态信息。

5.蜂鸣器:使用适当的蜂鸣器实现报警和闹钟功能。

6.电源:提供适当的电源电压和电流,保证设备正常运行。

三、系统架构设计1.硬件连接:将单片机与时钟模块、矩阵键盘、液晶显示屏和蜂鸣器连接起来,保证数据传输的正常进行。

2.时钟控制:通过单片机与时钟模块通信,获取当前的时间信息,并进行计时。

3.键盘输入:通过矩阵键盘检测按键输入,并根据不同的按键操作来实现时间设置、闹钟设置等功能。

4.显示控制:通过单片机控制液晶显示屏,将时间、日期等信息显示出来。

5.报警控制:根据闹钟设置的时间,通过单片机控制蜂鸣器实现报警和闹钟功能。

四、软件设计1.系统初始化:包括各个外设的初始化配置,如时钟模块的初始化、矩阵键盘的初始化等。

2.时钟控制:包括从时钟模块获取当前时间、计时等功能。

3.键盘输入处理:通过检测矩阵键盘的按键输入,实现对时间和闹钟等参数的设置。

4.显示控制:根据当前时间和设置的参数,将相应的信息显示在液晶显示屏上。

5.报警控制:根据闹钟设置的时间,控制蜂鸣器发出声音来实现报警和闹钟功能。

五、系统测试与优化1.硬件测试:对各个硬件模块进行测试,检查其是否正常工作。

2.软件测试:通过对软件功能的逐一测试,检查其是否符合设计要求。

基于单片机的数字时钟设计说明

基于单片机的数字时钟设计说明

目录摘要 (2)ABSTRACT (2)第一章绪论 (3)第二章方案论证与设计 (5)2.1设计要求 (5)2.2方案论证 (5)2.3 系统设计 (6)2.3.1 晶体振荡器电路 (6)2.3.2 分频器电路 (6)2.3.3 时间计数器电路 (6)2.3.4 部时钟电路 (6)2.3.5复位电路 (7)2.2.6 按键部分 (8)2.2.7声光报警电路 (8)2.2.8 根据各模块的功能互相连接成数字时钟的控制电路 (9)第三章设计所用器件及硬件介绍 (10)3.1器件 (10)3.2 硬件介绍 (10)3.2.1 AT89S52 (10)3.2.3 DS1302 (13)3.2.4 DHT21 (14)第四章系统软件总体设计 (15)4.1 主程序流程图 (15)4.2 温湿度传感模块程序设计 (15)4.3 时钟模块程序设计 (17)4.3.1 写单字节数据程序模块 (18)4.3.2 读单字节数据程序模块 (18)4.3.3 初始化设置程序模块 (19)4.4 按键处理 (19)第五章调试与检测安全 (20)参考文献: (21)致 (21)基于单片机的数字时钟设计德春物理与电子信息学院电子信息工程专业2007级指导教师:肖顺文摘要:本设计以数字集成电路技术为基础,单片机技术为核心。

软件设计采用模块化结构,C语言编程。

系统通过LCD显示数据,可以显示温湿度、公历日期(年、月、日、时、分、秒)以及星期,并实现闹钟功能。

在容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的功能;其次,详细的阐述了程序的各个模块和实现过程。

关键词:单片机;万年历;DS1302;LCD12864;DHT21Design of digital clock based on MCUJiang DechunSchool of physics and electronic information Grade 2007 Instructor:Xiao ShunwenAbstract:The design is based on digital integrate circuit, microcontroller technology is the core of the system. The software design uses module structure and adapts microcontroller C language. The system can display temperature,calendar date, including year, month, week, hour, minute, second and week. And it has alarm clock. The work principle of the system is discussed in this paper, hardware interface and module function are reported primarily in the system. Every module of program is described explicitly.Keywords: MCU ; Calendar; DS1302; LCD12864;DHT21第一章绪论20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

单片机数字钟设计说明书

单片机数字钟设计说明书

目录二、课程设计的设计任务及基本要求1三、课程设计方框图1四、主程序流程图 (1)五、部分电路设计及相应的程序 (2)六、附录及参考文献 (12)七、心得体会 (12)二、课程设计的设计任务及基本要求1.设计一个利用C-51单片机编程的数字时钟;2.要求开机运行显示“23.59.58”;3.显示部分用6位8八段共阳极数码管;4.具有显示“时时.分分.秒秒”;5.具有3个调整按键;6.按键功能:秒调整,分调整,时调整;7.调整到哪位那一位具有闪烁;三、课程设计方框图四、主程序流程图本设计中计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。

••定时器T0中断服务程序•定时器T0用于时间计时。

定时溢出中断周期可设为50ms,中断进入后,时钟计时累计20次(即1s)时,对秒计数单元进行加1操作。

时钟计数单元在定义的6个单元70H~75H中, 70H~71H 存放秒数据, 72H~73H 存放分数据, 74H~75H存放时数据。

最大计时值为23小时59分59秒。

在计数单元中采用十进制BCD码计数,秒、分、时之间满60进位。

五、部分电路设计及相应的程序芯片与显示部分电路图:P0口为八段共阳极数码管段驱动八段共阳极数码管段驱动接的限流电阻的阻值510P2口为6为数码管的为驱动6为数码管的为驱动所接的电阻阻值为5K位驱动用了6个74HC04来稳定显示效果显示子程序:数码管显示的数据放在内存单元70H~75H中,其中70H~71H存放秒数据,72H~73H]存放分数据,74H~75H存放时数据,每一单元内均为十进制BCD码。

由于采用软件动态扫描实现数据显示功能,显示用的十进制BCD码数据的对应段码存放在ROM表中,显示时,先取出70H~75H中的某一地址中的数据,然后查表得对应的显示段码从P0口输出,P2口将对应的数码管位选中供电,就能显示该地址单元的数据值。

ORG 0000H ;主程序起始地址LJMP MAIN ;跳转至主程序ORG 000BH ;TIMERO中断起始地址LJMP INTT0 ;跳至中断服务程序ORG 0030H ;定位起始地址MAIN: MOV SP,#75H ;设置堆栈在75HMOV 21H,#0 ;21H为功能状态标志单元,0为时钟运行态,1为秒调节,2为分调节,3为时调节CLR 00H ;按键消抖标志初始化为0CLR 02H ;02H为显示闪烁标志,1为熄灭,0点亮MOV R5,#100 ;中断100次MOV TMOD,#01H ;T0为方式1MOV TH0,#0D8H ;T0赋初值(10ms,fosc=12MHz)MOV TL0,#0F0H ;MOV 6DH,#23 ;“时”寄存器初值为23MOV 6EH,#59 ;“分”寄存器初值为59MOV 6FH,#58 ;“秒”寄存器初值为28SETB EA ;CPU开中断SETB ET0 ;T0开中断SETB TR0 ;T0启动运行HERE: SJMP HERE ;等待中断DISP: MOV DPTR,#TAB ;置共阳字段码首地址MOV A,70H ;读显示数MOVC A,@A+DPTR ;读十位显示符MOV P0,A ;输出至P0CLR P2.0 ;P2.0清零LCALL D1MS ;调用1MS显示子程序SETB P2.0 ;P2.0置1MOV A,71H ;读显示数MOVC A,@A+DPTR ;读十位显示符ANL A,#7FH ;点亮DPMOV P0,A ;输出至P0CLR P2.1 ;P2.1清零LCALL D1MS ;调用1MS显示子程序SETB P2.1 ;P2.0置1MOV A,72H ;读显示数MOVC A,@A+DPTR ;读十位显示符MOV P0,A ;输出至P0CLR P2.2 ;P2.2清零LCALL D1MS ;调用1MS显示子程序SETB P2.2 ;P2.2置1MOV A,73H ;读显示数MOVC A,@A+DPTR ;读十位显示符ANL A,#7FH ;点亮DPMOV P0,A ;输出至P0CLR P2.3 ;P2.3清零LCALL D1MS ;调用1MS显示子程序SETB P2.3 ;P2.0置1MOV A,74H ;读显示数MOVC A,@A+DPTR ;读十位显示符MOV P0,A ;输出至P0CLR P2.4 ;P2.4清零LCALL D1MS ;调用1MS显示子程序SETB P2.4 ;P2.4置1MOV A,75H ;读显示数MOVC A,@A+DPTR ;读十位显示符MOV P0,A ;输出至P0CLR P2.5 ;P2.5清零LCALL D1MS ;调用1MS显示子程序SETB P2.5 ;P2.5置1RET ;推出循环TAB: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H ;表格;fosc=12MHz, 1T=1us,1ms=1000T ;D1MS: MOV R7,#249 ;1TDIMSLP: NOP ;2TX249=498TNOP ;DJNZ R7,DIMSLP ;2TX249=498TNOP ;1TRET ;2TINTT0: MOV TH0,#0D8H ;T0重赋初值MOV TL0,#0F0H ;T0重赋初值DJNZ R5,INTRET ;判断INTRET是不是到了MOV R5,#100 ;到100次CPL 02H ;取反MOV A,21H ;将21H单元数送入累加器CJNE A,#0,INTRET ;判断中断到1000次吗INC 6FH ;6FH单元加1MOV A,6FH ;将6FH数送入累加器ACJNE A,#60,INTRET;判断累加器A中的数等于60MOV 6FH,#0 ;6FH清0INC 6EH ;6EH单元加1MOV A,6EH ;将6EH数送入累加器ACJNE A,#60,INTRET;判断累加器A中的数等于60MOV 6EH,#0 ;6EH清0INC 6DH ;6DH单元加1MOV A,6DH ;将6DH数送入累加器ACJNE A,#24,INTRET;判断累加器A中的数等于23MOV 6DH,#0 ;6DH清0INTRET: LCALL KEYA ;调用按键防抖动LCALL BIN2BCD ;调用2位十进制数显示模块LCALL XS_FL ;调用闪烁模块LCALL DISP ;调用显示模块RETI ;结束中断BIN2BCD: MOV A,6FH ;将秒寄存器的内容存入AMOV B,#10 ;设B累加器的值为10DIV AB ;A/B,商存入A,余数,存入BMOV 74H,A ;将A的内容送入74H单元MOV 75H,B ;将B的内容送入75H单元MOV A,6EH ;将秒寄存器的内容存入AMOV B,#10 ;设B累加器的值为10DIV AB ;A/B,商存入A,余数,存入BMOV 72H,A ;将A的内容送入72H单元MOV 73H,B ;将B的内容送入73H单元MOV A,6DH ;将秒寄存器的内容存入AMOV B,#10 ;设B累加器的值为10DIV AB ;A/B,商存入A,余数,存入BMOV 70H,A ;将A的内容送入70H单元MOV 71H,B ;将B的内容送入71H单元RET ;退出循环END ;结束程序调时功能程序的设计方法是:按下P1.0键,进入调分状态,时钟停止走动;按P1.1或P1.2键可进行加1或减1操作;继续按P1.0键可分别进行分十位、时个位和时十位调整;最后按P1.0键将退出调整状态,时钟开始计时运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

建筑工程学院单片机课程设计报告题目名称:智能电子数字钟设计系:电气工程系专业:电气工程及其自动化班级:XXX学号:XXXXXXXX学生: XXX指导教师:XXX职称:讲师2012年 6 月 28 日目录摘要 (1)一、系统总体方案设计 (2)1、系统结构框图 (2)2、系统的基本原理及设计思想 (2)3、计时方案 (3)二、系统硬件设计 (4)1、电源模块 (4)2、单片机模块 (4)3、晶振电路模块 (5)4、LED显示电路模块 (5)5、独立键盘模块 (6)6、复位电路模块 (7)7、报警电路模块 (7)三、系统软件设计 (8)1、主程序流程图 (8)2、按键检测子程序流程图 (9)3、定时器中断子程序流程图 (9)4、时间显示子程序流程图 (10)结论 (12)参考文献 (13)附录 (14)1、源程序 (14)2、主程序 (14)3、定时器中断子程序 (15)4、LED显示子程序 (15)5、按键控制子程序 (17)6、总电气原理图 (18)摘要近年来,随着电子产品的发展,人们对数字时钟的要求越来越高,本文针对人们的这一需求,设计了一种由单片机控制的智能化数字时钟,功能强大,界面友好,更好的满足了人们对它的智能化要求。

智能电子数字钟是采用AT89C51单片机部定时器来实现定时功能的,并且通过LED驱动器MC14543来实现LED动态扫描驱动。

能通过增量键盘预置和调整时间、星期。

秒计数器满60向分计数器进位,分计数器满60向时计数器进位,时计数器以24为一个周期。

AT89C51单片机部计数器的输出经LED动态扫描驱动器MC14543送到七位共阴显示器,可将星期、时、分、秒在相应位置正确显示,并实现整点报时功能。

关键词:智能数字钟;AT89C51;LED一、系统总体方案设计近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。

多功能数字钟不管在性能还是在样式上都发生了质的变化,有电子时钟、数字时钟等等。

这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,精确度高等特点。

单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。

但是却很少知道它的部结构以及工作原理。

由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行计时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。

通过键盘可以进行定时、校时功能。

输出设备显示器可以用液晶显示技术和数码管显示技术。

单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。

在本次设计中采用单片机技术来实现数字钟的功能。

微处理器的选择,本设计采用AT89C51单片机。

显示电路的选择,本设计采用由LED驱动器MC14543构成的7位LED显示电路。

还有一些其他控制电路,如:晶振电路,复位电路,键盘电路和报警电路。

[1]1、系统结构框图根据系统总体要求,以单片机为核心,共六个模块组成,既:单片机模块、晶振电路模块、复位电路模块、独立键盘模块、显示电路模块和报警电路模块。

按照系统设计功能的要求。

电路系统构成框图如图1所示。

2+5V直流电,供给AT89C51AT89C51单片机图1 系统构成框图的部电路正是在时钟信号的控制下,严格地按时序执行指令进行工作。

在执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。

复位是单片机的初始化操作,只需给AT89C51的复位引脚RESET加上大于2个机器周期的高电平就可使AT89C51复位。

当AT89C51进行复位时,PC初始化为0000H,使AT89C51单片机从程序存储器的0000H单元开始执行程序。

除了进入系统的正常初始化之外,当程序运行出错(如程序“跑飞”)或操作错误使系统处于“死锁”状态时,也需要按复位键即RESET为高电平,使AT89C51摆脱“跑飞”或“死锁”状态而重新启动程序。

键盘的任务有三项:(1)首先判别是否有键按下。

若有,进入下一步工作。

(2)识别哪一个键被按下,并求出相应的键值。

(3)根据键值,找到相应键值的处理程序入口。

在本设计中,键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。

通过键盘,可以预置时间、星期。

常见的LED数码管为“8”字型的,共计8段。

每一个段对应一个发光二极管。

这种数码管显示器有共阳极和共阴极两种,本文采用共阴极接法。

共阴极LED数码管的发光二极管的阴极连接在一起,通常此公共阴极接地。

当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。

采用MC14543作为LED驱动器来实现LED的动态扫描驱动,通过七位共阴LED显示星期、时、分、秒。

通过加入一个使用晶体管驱动的蜂鸣器报警电路,当时间到底整点时,报警电路进行报时。

工作原理为:P1.7接晶体管基极输入端,当P1.7输出高电平时,晶体管导通,压电式蜂鸣器两端获得+5V电压而鸣叫;当P1.7输出低电平时,晶体管截止,蜂鸣器停止发声。

[2]3、计时方案电脑数字钟的秒信号是利用AT89C51单片机部定时器TO产生的。

由于振荡器的晶振频率为6MHz,使得TO的最大定时时间远远小于1秒,因此,在设计时采用了硬件计数与软件计数相结合的方式,即通过TO产生0.1S的时基信号,然后再利用软件进行计数,从而产生1秒钟的时间信号。

在设计中,定时器TO采用了中断方式。

当定时时间到时,定时器向CPU申请一次中断,CPU响应中断后转入中断服务程序,在TO的中断服务程序中实现时、分、秒的累加,即每产生一次中断,0.1S时基单元的容加1,当0.1S时基单元的容等于10时,便产生1S信号,使秒计数单元的容加1,并将0.1S时基单元的容清0;当秒计数单元计满60后,向分计数单元进位,使分计数单元的容加1,并将秒计数单元的容清0;当分计数单元计满60后,向时计数单元进位,使时计数单元的容加1,并将分计数单元的容清0;时计数单元计满24后清O。

[3]二、系统硬件设计硬件电路是一个系统的重要部分,在本次设计中主要是以AT89C52为核心控制器,外加一些控制电路来实现数字钟的基本功能。

下面分别介绍各个控制电路模块的功能及其工作原理。

1、电源模块电源模块如图2 电源电路,考虑到测量仪器的应用方便,本设计采用9V干电池经LM7805稳压,再经稳压管D1稳压后输出+5V直流电,供给AT89C51单片机模块、晶振电路模块、复位电路模块、独立键盘模块、显示电路模块和报警电路模块所需的工作电源,电源正常工作由LED指示灯指示。

图2 电源模块2、单片机模块本设计采用AT89C51单片机。

AT89C51单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在线可编程存储器。

AT89C51有5个中断源,2个可编程的16位定时器/计数器。

低功耗节电模式有空闲模式和掉电模式。

AT89C51的引脚图如下图所示:(1)RESET:复位信号输入端,高电平有效。

(2)/VP:是外部程序存储器访问允许控制端。

(3)XTAL1/XTAL2:片振荡器反向放大器和时钟发生器电路的输入/输出端。

(4):片外程序存储器的读选通信号,低电平有效。

(5)ALE/:ALE为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号,将低8位地址锁存在片外的地址锁存器中。

[4](6)P0口:8位,漏极开路的双向I/O口。

(7)P1口:8位,准双向I/O口,具有部上拉电阻。

(8)P2口:8位,准双向I/O口,具有部上拉电阻。

(9)P3口:8位,准双向I/O口,具有部上拉电阻。

还可提供第二功能。

3、晶振电路模块晶体振荡器电路给数字钟提供一个频率稳定准确的12MHz 的方波信号,可保证数字钟的走时准确及稳定。

AT89C51部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

这两个引脚跨接石英晶体和微调电容,构成一个稳定 的自激振荡器,图4为AT89C51部时钟方式的电路。

电路中的两个电容典型值通常选择为30pF ,该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。

晶体振荡的围通常是在1.212MHZ 。

晶体的频率越高,系统的时钟频率越高,单片机的运行速度也就越快。

[5]4、LED 显示电路模块系统采用动态显示方式,用P0口来控制LED 数码管的段控线,而用P2口来控制其位控线。

动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。

图中的MC14543作为LED 驱动器来实现LED 的动态扫描驱动,而7个4.7千欧姆电阻则起限流作用。

由LED 驱动器MC14543构成的7位LED 显示电路如图5所示。

图3 单片机模块图4 晶振电路模块要想让数码管那一段亮,在该数码管位控段为高电平的情况下给这段送高电平就可以了。

显示电路结构采用动态扫描的方式,所有数码管的段控端公用LED驱动器MC14543的7根输出线,数码管的段控端a、b、c、d、e、f、g分别通过一个510欧姆的电阻接到MC14543输出口的a、b、c、d、e、f、g口线上,每个数码管的位控线单独占用单片机P2口一根输出口线,7位数码管从高位到低位分别接P2.0~P2.6引脚。

段控码(高电平有效)由P0口输出经上拉电阻上拉电压后通过驱动器MC14543送到数码管的段控端,位控码由P2口输出经三极管S9012驱动后送到数码管的位控端。

[6]5、独立键盘模块独立式键盘的特点是:一键一线,各键相互独立,每个按键各接一条I/O口线,通过检测I/O输入线的电平状态,可以很容易地判断哪个按键被按下。

图6中的上拉电阻保证按键释放时,输入检测线上有稳定的高电平,当某一按键按下时,对应图6 键盘电路模块的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,就很容易识别出哪个按键被按下。

在本设计中,用四个键来实现对星期和时间的校对,按Kweek来调节星期,按Khour来调节小时的时间,按Kmin来调节分针的时间,按Ksec来调节秒的时间。

6、复位电路模块图7所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是把PC 初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。

按键手动复位有电平和脉冲两种方式,本设计采用按键电平复位电路,它是通过复位端RESET经电阻与Vcc电源接通而实现的,它兼具上电复位功能。

相关文档
最新文档