文档库 最新最全的文档下载
当前位置:文档库 › 可调电子钟

可调电子钟

可调电子钟
可调电子钟

// 说明: 利用89C51实现可调时电子钟功能

// 硬件连接:SEG:P0.0~P0.7; BIT:P1.0~P1.5

// 功能:时钟计时器要求用6位LED数码管显示时、分、秒、以24小时

// 计时方式运行,使用按键开关可实现时、分、秒的调整功能

// 编写:

// 日期:

#include

#define uint unsigned int

#define uchar unsigned char

#define N 6 //数码管个数定义

#define OFF 10 //关闭灯

code uchar LEDMAP[] =

{

0x3f, 0x06, 0x5b, 0x4f, 0x66,

0x6d, 0x7d, 0x07, 0x7f, 0x6f,0x00

};

uchar state = 0;//状态标志

uchar LEDBuf[6]; //显示缓冲

uchar sec;//秒

uchar min; //分

uchar hour; //时

uchar num;

void delayms(uint xms);

void display();

//中断初始化定时器中断外部中断

void Init_sys()

{

TMOD = 0x01; //定时计数器0工作方式设定

TH0 = (65536 - 50000) / 256; //12M晶振,50ms定时11.0592M时,0x4c00 TL0 = (65536 - 50000) % 256;

EA = 1; //中断总开关

ET0 = 1; //定时计数器0 中断开关打开

IT0 = 1; //外部中断0 触发方式选择下降沿触发

IT1 = 1; //外部中断1 触发方式选择下降沿触发

EX0 = 1; //外部中断0,1中断开关打开

EX1 = 1;

}

/*

函数功能:外部中断0实现显示状态切换

入口:

出口:

*/

void Ext0_Key_State() interrupt 0

{

TR0 = 0; //首先关闭定时计数器

state++; //状态加1,每按下一次按键,状态加1 if(state == 4) //state == 4时,返回初识状态

state = 0;

}

/*

函数功能:外部中断1 实现调时功能

入口:

出口:

*/

void Ext1_Key_Adjust() interrupt 2

{

switch(state) //判断状态标志,

{

case 1: //状态1时调秒

sec++;

if(60 == sec)

sec = 0; break;

case 2: //状态2时调分

min++;

if(60 == min)

min = 0;break;

case 3: //状态3时调时

hour++;

if(60 == hour)

hour = 0;break;

default:break;

}

}

/*

函数功能:定时计数器0中断产生时间基准

入口:

出口:

*/

void Timer0() interrupt 1

{

TH0 = (65536 - 50000) / 256;

TL0 = (65536 - 50000) % 256;

num++;

}

/*

函数功能:平常状态显示缓冲入口:sec,min,hour,

出口:无

*/

void ShowNormal()

{

LEDBuf[0] = sec % 10;

LEDBuf[1] = sec / 10;

LEDBuf[2] = min % 10;

LEDBuf[3] = min / 10;

LEDBuf[4] = hour % 10;

LEDBuf[5] = hour / 10;

}

/*

函数功能:调秒状态时显示缓冲入口:sec

出口:无

*/

void ShowAdjustSec()

{

LEDBuf[0] = sec % 10;

LEDBuf[1] = sec / 10;

LEDBuf[2] = OFF;

LEDBuf[3] = OFF;

LEDBuf[4] = OFF;

LEDBuf[5] = OFF;

}

/*

函数功能:调分状态时显示缓冲入口:min

出口:无

*/

void ShowAdjustMin()

{

LEDBuf[0] = OFF;

LEDBuf[1] = OFF;

LEDBuf[2] = min % 10;

LEDBuf[3] = min / 10;

LEDBuf[4] = OFF;

LEDBuf[5] = OFF;

}

/*

函数功能:调时状态时显示缓冲入口:时

出口:无

*/

void ShowAdjustHour()

{

LEDBuf[0] = OFF;

LEDBuf[1] = OFF;

LEDBuf[2] = OFF;

LEDBuf[3] = OFF;

LEDBuf[4] = hour % 10;

LEDBuf[5] = hour / 10;

}

//主函数

void main()

{

Init_sys(); //系统初始化

while(1)

{

if(num == 20) //num = 20,定时1秒时间到,sec秒加1

{

num = 0; //num = 0,定时1秒时间到,num清零,以便产生下一次1秒定时

sec++;

if(60 == sec)//1分时间到,min分钟加1

{

sec = 0;

min++;

if(60 == min)//60分钟到即1小时时间到,hour加1

{

min = 0;

hour++;

if(hour == 24) //24小时到,清零

{

hour = 0;

}

}

}

}

switch(state) //判断状态

{

case 0:TR0 = 1;ShowNormal(); break; //状态0时,正常显示

case 1: ShowAdjustSec();break; //状态1,显示调秒

case 2: ShowAdjustMin();break; //状态2,显示调分

case 3: ShowAdjustHour();break; //状态3,显示调时

default:break;

}

display();//显示函数调用

}

}

/*

函数功能:ms级延时函数

入口:xms 延时时间参数

出口:无

*/

void delayms(uint xms)

{

uint i,j;

for(i = xms; i > 0; i--);

for(j = 124; j > 0; j--);

}

/*

函数功能:显示函数,6位数码管动态显示入口:

出口:

*/

void display()

{

uchar i;

uchar temp = 0x20;

for(i = 0;i < N;i++)

{

P1 = ~(temp >> i);

P0 = LEDMAP[LEDBuf[i]];

delayms(2);

}

}

利用CPLD设计可调时数字钟

利用C P L D设计可调时 数字钟 The Standardization Office was revised on the afternoon of December 13, 2020

数字电路课程设计 题目:利用CPLD 设计可调时数字钟 学院电子信息工程学院 专业 学号 姓名 教师 装 订 线

基于CPLD数字时钟设计 摘要 本次课程设计是用数字电路知识以及MaxplusⅡ软件进行的制作,首先理解电路原理图,然后进行了焊接,本次焊接增加自己的动手能力。然后对数字电路书又进行了复习,最后应用MaxplusⅡ软件进行了编程。 电路通过使用数字元件,来构成完成二十四小时的数字钟设计,并且将译码器和数据选择器配合使用来完成动态的显示输出。此外,外部控制开关用来控制电路,使得该电路可以完成保持、清零、快速校对时间等一系列的功能。本系统的难点在于EDA系统作图及最后系统优化的应用。尤其是小数点的显示控制,用一个或门,通过1Hz来控制第三个数码管的点显示,再通过一个与非门来控制第五个数码管的点显示,第五个数码管的点在整个脉冲阶段显示,而第三个数码管的点只有在低电平时显示,以达到结果是第五个数码显示管的点常亮,而第三个数码管的点以1Hz的频率闪烁。 制作中经常遇到各种问题,如第一次用的七段译码器显示六和九时,显示的不是很好,就重新自己做的译码器,让其显示的比较完美,而且也出现了制作的程序太大问题,最后不断的修改终于成功了。 关键词:数字电路MaxplusⅡ七段译码器

目录 设计要求.............................................. 设计原理.............................................. 电源电路........................................... 显示电路........................................... 二各模块说明........................................ 设计思路及步骤........................................ 总体框图.............................................. 各模块说明............................................ 段译码显示电路..................................... 时间计数器电路..................................... 数据选择器电路..................................... 译码器电路......................................... 比较器电路......................................... 按键消抖电路....................................... 数字钟电路总图........................................ 三课程总结............................................ 遇到的问题及其解决办法................................ 收获与体会............................................

单片机电子时钟程序

程序开始 ORG 0000H AJMP MAIN ORG 000BH AJMP CLOCK ORG 0100H 主程序开始: MAIN: MOV SP,#70H MOV 6EH,#00H ;显示缓存器初始值设定 MOV 6DH,#00H MOV 6CH,#00H MOV 6BH,#00H MOV 6AH,#00H MOV 69H,#00H MOV 50H,#00H ;秒,分,小时初始值设定 MOV 51H,#00H MOV 52H,#00H MOV DPTR,#0F003H ;8255端口定义,PA,PB为输出 MOV A,#80H MOVX @DPTR,A MOV 4FH,#00H MOV TMOD,#01H ;定时器T0及TL0,TH0初始值设定 MOV TH0,#3CH MOV TL0,#0B0H SETB EA ;开总中断 SETB ET0 ;开定时器中断 SETB TR0 循环程序开始,并显示时间: START: MOV A,50H LCALL BCD MOV 6AH,A ;显示秒十位 MOV 69H,B ;显示秒个位 MOV A,51H LCALL BCD MOV 6CH,A ;显示分十位 MOV 6BH,B ;显示分个位 MOV A,52H LCALL BCD ;调用十六进制至BCD码转换子程序 MOV 6EH,A MOV 6DH,B LCALL DIS ;调用显示子程序 LCALL KEY ;调用键盘子程序 AJMP START ;主程序结束

BCD: MOV B,#0AH ;BCD码转换子程序 DIV AB RET CLOCK: PUSH ACC ;保护现场 PUSH PSW CLR TR0 MOV TH0,#3CH ;定时参数重新设置 MOV TL0,#0B0H SETB TR0 INC 4FH ;100ms单元加1 MOV A,4FH CJNE A,#0AH,D0 ;100ms单元=10,就秒单元加1 MOV 4FH,#00H ;100ms单元内容清0 MOV A,50H ADD A,#01H ;秒单元加1 MOV 50H,A CJNE A,#3CH,D0 ;秒单元内容=60,则秒单元清0 MOV 50H,#00H MOV A,51H ;分,时单元代码 ADD A,#01H MOV 51H,A CJNE A,#3CH,D0 MOV 51H,#00H MOV A,52H ADD A,#01H LCALL RING ;报警子程序 MOV 52H,A CJNE A,#18H,D0 MOV 52H,#00H D0: POP PSW ;出栈,退出中断子程序 POP ACC RETI RING: MOV R3,A CLR P1.0 LCALL DELL50 SETB P1.0 LCALL DELL50 DJNZ R3,RING RET 键盘子程序: KEY: JB P1.7,MSET ;秒设定子程序 LCALL DELL ;防抖动延时 JB P1.7,MSET INC 50H

用LCD设计的可调式电子钟

单片机应用 课程设计说明书 用1602LCD设计的可调式电子钟专业自动化 学生姓名 班级自动化142 学号 14100 指导教师蒋 完成日期 20年1 月23 日

目录 1 概述.......................................................................................... 错误!未指定书签。 2 课题研究背景与意义...................................................................... 错误!未指定书签。 2.1 课题研究背景....................................................................... 错误!未指定书签。 2.2 课题研究意义....................................................................... 错误!未指定书签。 3 系统方案设计与主要设计工作 ..................................................... 错误!未指定书签。 3.1 设计任务............................................................................... 错误!未指定书签。 3.2 功能要求说明....................................................................... 错误!未指定书签。4设计课题总体方案........................................................................... 错误!未指定书签。 4.1硬件设计方案........................................................................ 错误!未指定书签。 4.2系统软件设计........................................................................ 错误!未指定书签。 5. 软件仿真及实物设计调试 ........................................................... 错误!未指定书签。 5.1PROTUES仿真软件介绍 ......................................................... 错误!未指定书签。 5.2仿真运行结果说明 ............................................................... 错误!未指定书签。 5.3实物设计结果与调试 ........................................................... 错误!未指定书签。6课程设计实验总结........................................................................... 错误!未指定书签。参考文献.............................................................................................. 错误!未指定书签。附录.............................................................................................. 错误!未指定书签。 附录1:程序清单........................................................................ 错误!未指定书签。 附录2:系统电路原理图 ........................................................... 错误!未指定书签。 附录3:元器件清单.................................................................... 错误!未指定书签。

基于AT89C51单片机的可调式电子时钟设计

摘要 电子时钟主要是利用了电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。对当前的电子时钟开发手段进行了比较和分析,最终确定了采用单片机技术实现的电子时钟。本次课题介绍了以AT89C51单片机为主控芯片的可调式电子时钟,功耗小,能在3V的低压工作。时钟芯片采用美国DALLAS公司提供的具有涓细电流低功耗的DS1302。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。显示部分采用LCD1602液晶显示,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,与普通数码管相比功耗较小,硬件连接简单,较直观。软件使用高级C语言编程,具有灵活的可移植性,同时该时钟具有按键可调的功能,能够对日期时间调整。本设计说明书首先介绍的是总体方案设计,接着是硬件设计,本部分详细的介绍了各模块的工作原理及相互的连接,再接着介绍了软件设计部分,最后是仿真调试。经仿真验证,该设计能满足所有的功能。 关键词:可调式;AT89C51;DS1302;C语言

ABSTRACT Electronic clock basically is to use the electronic technology will clock electronic, digital, has the clock accurate, small volume, friendly interface, can be expanded performance is strong and other characteristics, are widely used in life and work. On the current development of the electronic clock means were compared and analyzed, finally determined by single chip microcomputer technology to the electronic clock. This subject introduces the AT89C51 as the controller chip adjustable electronic clock, power consumption is small, can be in 3 V of low-pressure work. The clock chip adopt American DALLAS company has Juan fine current DS1302 of low power consumption. It can be to year, month, day, Sunday, when, minutes and seconds for the time, also has a leap year compensation and other functions, and the DS1302 long service life and small error. Show LCD1602 part adopts LCD display, LCD screen shows powerful, can show a large text, graphics, show diversity, clearly visible, compared with common digital tube power consumption is small, hardware connect a simple, more intuitive. Senior software use the C programming language, has the flexible portability, and the clock is the key adjustable function to adjust to a time and date. The design manual introduced is first overall design, then the hardware design. This part describes in detail the modules and working principle of the mutual connection, then introduces the design of the software in part, and finally the simulation test. The simulation results, this design can meet all functions. Keywords: adjustable;AT89C51;DS1302;C language

整点报时可调式数字电子时钟的设计

用EDA软件实现整点报时数字式可调电子时钟的设计 一、设计目的 了解常见中规模数字集成电路的使用方法,包括计数器、显示译码器、多谐振荡器的工作原理及使用方法。通过组装具有整点报时数字可调电子时钟,了解这类电路的使用技巧及调整方法。通过对电路板的实际布线焊接检测调试,提高电子技术硬件的基本能力。 二、系统组成 1、先用Multisim实现如下系统: 本组合电路包括时基多谐振荡器、计数器、十进制译码显示器、发光数码管等部分组成。各部分组成框图如下: 系统组成图 2、仿真通过 三、单元电路组成原理与参数选择 1、多谐振荡器:这里采用最常见的时基电路555组成的周期为1秒的振荡器。555集成电路的原理及应用可以参见教材,此不重复。通常选择适当的定时电阻和电容元件使振荡刚好为1秒钟。多谐振荡器的电路图和NE555的芯片引脚图如下:

2、十进制计数器: 本系统采用的是十进制计数器7490。本系统秒钟是用两个7490构成60进制组成。分钟也是用两个7490构成60进制组成时钟采用两个7490构成24进制计数器组成。将三个计数器级连起来就构成了电子时钟。7490的芯片图和真值表如下:(5脚接电源VCC,10脚接地其中1脚和12脚相连)。 X 0 0 X COUNT 下面介绍秒钟和分钟连接方法如下图(如果是秒钟14脚则接多谐振荡器555电路的第3脚,如果是分钟14脚则接秒钟的7408(与门)芯片的第3脚。

下面介绍时钟的接法(14脚接分钟的7408的第3脚): 3、7448实现多位数字码显示译(如果是选用共阳极七段数码管则选择7447) 7448为七段译码显示器,其功能可详细参见数字电路书。它实现的功能是把7490输出 的(QA、QB、QC、QD)实现译码驱动七段共阴极数码显示它的接法如下:

时钟可调时间可报时程序

///////////////////////////////////////////////////////// // 工程名称:可调时报时电子钟 // 使用描述: // K1 按一次进入时间调整模块调完后,再按一次恢复时间 // K2 非时间调整模式下,按键报时时间调整模块下,按键选择调整秒分时 // K3 时间调整模块下,时间值增加 // K4 时间调整模块下,时间值减小 // 硬件连接:IOA0~IOA7接SEG IOA8~IOA15接1*8KEY // IOB0~IOB7接DIG 2*4KEY.D_dp接高电平 // 维护记录:2012-8-15 增加时间调整功能,增加报时功能 // /////////////////////////////////////////////////////////// #include "spce061a.h" #include "Sound.h" #include "Clock_Speech.h" //定义各种宏 #define P_IOA_Data (volatile unsigned int *)0x7000 #define P_IOA_Buffer (volatile unsigned int *)0x7001 #define P_IOA_Dir (volatile unsigned int *)0x7002 #define P_IOA_Attrib (volatile unsigned int *)0x7003 #define P_IOB_Data (volatile unsigned int *)0x7005 #define P_IOB_Buffer (volatile unsigned int *)0x7006 #define P_IOB_Dir (volatile unsigned int *)0x7007 #define P_IOB_Attrib (volatile unsigned int *)0x7008 #define P_Watchdog_Clear (volatile unsigned int *)0x7012 #define P_INT_Ctrl (volatile unsigned int *)0x7010 #define P_INT_Clear (volatile unsigned int *)0x7011 #define uint unsigned int #define KEY_ALL 0xff00 int DispTbl[10] = { 0x003F,0x0006,0x005B,0x004F,0x0066, 0x006D,0x007D,0x0007,0x007F,0x006F}; uint sec=0,min=0,hour=0; uint Start_End_Flag=0; uint Adjust_Wei=4; uint flag=1;

基于单片机的可调电子钟的设计说明

编号: 基础工程设计 题目:基于单片机设计的可调电子时钟院(系):信息与通信学院 专业:微电子科学与工程 学生姓名:卢镜 学号:1300240119 指导教师:宋保林

2016 年 1 月 6 日 摘要 本人设计的是一个以单片机STC89C52为核心部件的电子钟,结合LCD液晶显示屏。可以在液晶屏上显示时间和字符,并可任意调整时间。本来想用数码管来显示,但是想到数码管仅能显示数字,所以采用了液晶显示屏。它不仅能显示数字,还能显示字符。它的计时周期为24小时,显满刻度为“23时59分59秒”。 文中详细论述了可调电子钟设计原理、使用的各芯片的介绍,阐明了本实例所使用的设计方案、详细的电路图以及程序。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。本系统以单片机的C语言进行软件设计,并着重介绍了所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程,并且还进行了软件仿真调试和硬件调试。 关键词:单片机STC89C52 ;可调电子钟;液晶显示;仿真

目录 摘要 (1) 前言 (3) 第一章设计说明 (5) 1.1 设计目的和内容 (5) 1.2 设计方案选择 (5) 1.3 设计总体框图 (7) 第二章系统主要硬件设计 (5) 2.1 单片机主控模块 (7)

2.1.1 STC89C52芯片简介 (7) 2.1.2 封装和引脚说明 (8) 2.2 液晶显示模块 (7) 2.2.1 LCD1602模块简介 (11) 2.2.2 LCD1602的控制指令及操作流程 (12) 2.3时钟电路及按键电路 (9) 2.3.1时钟电路 (9) 2.3.2按键电路 (10) 第三章系统软件设计 (10) 3.1 系统程序流程图 (10) 3.2系统程序设计电子时钟清单 (11) 第四章系统调试 (12) 4.1软件调试 (12) 4.2源代码 (14) 4.3硬件调试 (20) 4.3.1原理图 (20) 4.3.2 PCB图 (20) 4.3.3用跳线修改电路 (21) 结语 (21) 谢辞 (22) 参考文献 (23) 附录Ⅰ (24)

电子时钟单片机【完整版】

烟台南山学院 单片机课程设计题目电子时钟 姓名: 所在学院 所学专业: 班级: 学号: 指导教师: 完成时间:

随时代的发展,生活节奏的加快,人们的时间观念愈来愈强;随自动化、智能化技术的发展,机电产品的智能度愈来愈高,用到时间提示、定时控制的地方也会愈来愈多,因此,设计开发数字时钟具有良好的应用前景。 由于单片机价格的低成本、高性能,在自动控制产品中得到了广泛的应用。本设计利用Atmel公司的AT89S52单片机对电子时钟进行开发,设计了实现所需功能的硬件电路,应用汇编语言进行软件编程,并用实验板进行演示、验证。 在介绍本单片机的发展情况基础上,说明了本设计实现的功能,以及实验板硬件情况,并对各功能电路进行了分析。主要工作放在软件编程上,用实验板实现时间、日期、定时及它们的设定功能,详细对软件编程流程以及调试进行了说明,并对计时误差进行了分析及校正,提出了定时音与显示相冲突问题及解决方案。实验证明效果良好,可以投入使用。 本次仿真设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS—51单片机都种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。在本学期的开始我们进行了计算机工程实践,在实践中我们以微机原理与接口技术课程中所学知识为基础,设计了电子时钟系统。本系统为多功能数字钟的系统。本设计以单片机AT89c51为控制核心,选用DS1302串行时钟芯片,RT1602液晶显示器实现液晶显示当前时间、日期、星期。本电子时钟具有日期、时、分、秒的显示、调整功能,采用的时间制式为24小时制,时间显示格式为时(十位、个位)、分(十位、个位)、秒(十位、个位)。 关键词:单片机 AT89S52 电子时钟汇编语言

数字电子钟设计报告

《电子线路课程设计报告》 系别:自动化 专业班级:自动化0803 学生姓名:冯刚 指导教师:朱定华 (课程设计时间:2010年05月31日——2010年06月12日) 华中科技大学武昌分校

目录 1.课程设计目的 (3) 2.课程设计题目描述和要求 (3) 3.课程设计报告内容.....................................................................3-9 3.1实验名称 (3) 3.2实验目的 (3) 3.3实验器材及主要器件 (3) 3.4数字电子钟基本原理 (4) 3.5数字电子钟单元电路设计、参数计算和器件选择..............................4-8 3.6数字电子钟电路图 (8) 3.7数字电子钟的组装与调试............................................................8-9 4.总结 (9) 参考文献 (10)

1.课程设计目的 ※掌握组合逻辑电路、时序逻辑电路及数字逻辑电路系统的设计、安装、测试方法; ※进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力;※提高电路布局﹑布线及检查和排除故障的能力; ※培养书写综合实验报告的能力。 2.课程设计题目描述和要求 (1)设计一个有“时”、“分”、“秒”(12小时59分59秒)显示,且有校时功能的电子钟; (2)用中小规模集成电路组成电子钟,并在实验箱上进行组装、调试; (3)画出框图和逻辑电路图,写出设计、实验总结报告; (4)选做:整点报时。在59分51秒、53秒、55秒、57秒输出500Hz音频信号,在59分59秒时输出1000Hz信号,音频持续1s,在1000Hz荧屏结束时刻为整点。 3.课程设计报告内容 3.1实验名称 数字电子钟 3.2实验目的 ·掌握数字电子钟的设计、组装与调试方法; ·熟悉集成电路的使用方法。 3.3实验器材及主要器件 (1)74LS48(6片)(2)74LS90(5片)(3)74LS191(1片)(4)74LS00(5片)(5)74LS04(3片)(6)74LS74(1片)(7)74LS2O(2片) (8)555集成芯片(1片) (9)共阴七段显示器(6片)(10)电阻、电容、导线等(若干)

51单片机简易可调的数码管电子钟程序

#include sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳数码管0-9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=30,hour=12,second; //定义并且初始化值12:30:00 void delay(unsigned int cnt)//延时函数 { while(--cnt); } void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示正常时间 StrTab[1]=tab[hour%10]; StrTab[2]=0xBF; StrTab[3]=tab[minute/10]; StrTab[4]=tab[minute%10]; StrTab[5]=0xBF; StrTab[6]=tab[second/10]; StrTab[7]=tab[second%10]; } main()//主函数 { TMOD |=0x01;//定时器0 10ms in 12M crystal 用于计时 TH0=0xd8; TL0=0xf0; ET0=1; TR0=1; TMOD |=0x10; //定时器1用于动态扫描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1; EA =1; Displaypro();

51单片机可调电子时钟

目录 摘要 (2) Abstract (3) 1.设计目的 (4) 2.设计任务 (4) 2.1.任务1:开机界面的设置 (4) 2.2.任务2:LCD-1602显示日期时间 (4) 2.3.任务3:时间与日期的调整 (4) 3.硬件设计 (4) 3.1.STC89C51(51单片机) (4) 3.2.LCD-1602液晶显示屏 (5) 4.软件设计 (7) 4.1.应用软件 (7) 4.2.程序框图 (7) 4.3.使用说明 (7) 4.4.注意事项 (8) 4.5.调试结果 (8) 5.收获 (9) 附录: (10) 附录A.硬件图 (10) 附录B.主要程序 (11)

摘要 电子时钟是单片机系统的一个应用,由硬件和软件相配合使用。本文通过对单片机的控制实现日历功能电子时钟的设计,以达到学习、了解单片机相关指令在各方面的应用。硬件由主控器、显示电路、键盘接口等三个模块组成。该时钟设计以STC-89C51作为主控器,控制显示时钟信息;显示模块用LCD-1602液晶屏;键盘接口电路由普通按键完成。软件利用C语言编程实现单片机的控制功能。 关键词:电子时钟、单片机、LCD-1602液晶显示

Abstract Electronic clock is a single chip microcomputer system application, by the use of hardware and software. In this paper, through the control of single-chip microcomputer to achieve the design of the electronic clock, in order to achieve learning, to understand the microcontroller related instructions in various aspects of the application. The hardware is composed of three modules, such as the main controller, the display circuit, the keyboard interface and so on. The clock is designed with STC-89C51 as the main controller, controlling the display clock information; the display module uses the LCD-1602 LCD screen; the keyboard interface circuit is completed by the ordinary button.Software uses C language programming microcontroller control functions. Key words: electronic clock, single chip microcomputer,LCD-1602 liquidcrystal display

基于proteus的数字电子钟的仿真设计

题目:基于Proteus的数字电子钟的设计 与仿真 课程名称:单片机系统设计与Proteus仿真 学生姓名:马珂 学生学号: 1305010323 系别:电子工程学院 专业:通信工程 年级: 13级 任课教师:徐锋 电子工程学院 2015年5月

目录 一、设计目的与要求 (3) 二、设计内容与方案制定 (3) 三、设计步骤 (3) 1.硬件电路设计 (3) 1.1.硬件电路组成框图 (3) 1.2.各单元电路及工作原理 (4) 1.3.绘制原理图 (5) 1.4.元件清单列表 (6) 2.程序设计 (6) 2.1程序流程 (6) 2.2汇编程序 (7) 四、调试与仿真 (12) 五、心得体会 (14) 六、参考文献: (14)

基于Proteus的数字电子钟的设计与仿真 一、设计目的与要求 设计目的:通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。 设计要求:设计一个时、分可调的数字电子钟、开机显示“9-58-00”。 二、设计内容与方案制定 具有校时功能,按键控制电路其中时键、分键两个键分别控制时、分时间的调整。按分键分加1;按时键时加1。 以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示。 三、设计步骤 1、硬件电路设计 1.1.硬件电路组成框图 1.2.各单元电路及工作原理 (1)晶振电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中

AT89C51单片机采用内部时钟方式。采用外接晶体和电容组成的并联谐振回路。其电路图如下: (2)键盘控制电路 键盘可实现对时间的校对,用两个按键来实现。按时键来调节小时的时间,按分键来调节分针的时间。其电路连接图如下: (3)显示电路 LED显示器是现在最常用的显示器之一发光二极管(LED)分段式显示器由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,采用动态显示方式显示时间,其硬件连接方式如下图所示。

8位数码管显示电子时钟c51单片机程序

8位数码管显示电子时钟c51单片机程序 时间:2012-09-10 13:52:26 来源:作者: /* 8位数码管显示时间格式05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=19,hour=23,second; //定义并初始化为12:30:00 void delay(unsigned intt) { while(--cnt); } /******************************************************************/ /* 显示处理函数 */ /******************************************************************/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0x40; //显示"-" StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0x40; //显示"-" StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } main()

微机原理课程设计——可调电子时钟

《微机原理课程设计》 设计报告 姓名:张经纬 学号: 1345533124 班级: 13 电气 1 班 专业:电气工程及其自动化 学院:电气与工程信息学院 2016年3月

目录 一、设计任务描述 (3) 1.1设计题目 (3) 1.2设计目的 (3) 1.3设计要求 (3) 二、设计方案描述 (3) 2.1设计原理 (3) 2.2设计芯片结构 (4) 三、具体模块设计 (5) 3.1概述 (5) 3.2小键盘模块 (5) 3.3显示模块 (5) 3.4定时模块 (6) 3.5中断处理模块 (6) 3.6硬件接线图 (6) 3.7主程序流程图 (6) 四、可控电子时钟源程序 (9) 五、心得体会 (14)

可调电子时钟 一、设计任务描述 1.1设计题目 可调电子钟设计 1.2设计目的 《微型计算机原理及应用》是一门实践性较强的课程,课堂上的理论学习 不足以让学生熟练掌握这门课程。所以让学生在学完该课程之后,进行一次课 程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用 系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。具体如下: 1、熟悉中断工作原理,定时计数原理,并行通信原理工作原理。 2、掌握8259芯片,8254芯片,8255芯片功能,结构,编程。 3、掌握七段数码管以及小键盘的使用。 4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。 1.3设计要求 1、设计一电子时钟,能计时、在数码管上显示时间并用键盘调节时间。 2、根据所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成 电路的连接和调试通过. 3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。 4、前期完成的实验有:8259A中断控制器实验,8254定时计数器实验,8255并行接口实验。 二、设计方案描述 2.1设计原理 首先利用程序硬性规定分、秒的起始时间为零。利用实验台上提供的定时 器8254和扩展板上提供的8259以及键盘和数码显示电路,设计一个电子时钟,

自制可调式数字时钟完整版

《综合设计实训I》可调式数字时钟 姓名: 学号: 班级: 实训地点: 指导教师: 通信与电子学院编制 年月日

一、设计要求 数字时钟是采用数字电路实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人,家庭,车站,码头,办公室等公共场所,成为人们日常生活中的必需品。 1,、设计时可以利用单片机内部定时器,也可以利用外部实时时钟芯片。(I/O,I2C总线) 2、有年,月,日,时,分,秒功能,而且要能够校正前面五项。 3、显示时可以用8位数码管,也可以用LCD液晶屏。(年只需显示后2位) 4、可选功能:闹钟功能。 二、设计方案 1、芯片分析 AT89C51引脚图 管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输

入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4 个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

相关文档
相关文档 最新文档