搜档网
当前位置:搜档网 › 数字钟实习报告

数字钟实习报告

数字钟实习报告
数字钟实习报告

数字电路课程设计

题目: 利用CPLD 设计可调时数字钟

学 院 电子信息工程学院 专 业 自动化 学 号 姓 名

教 师 刘鑫

2014年 6 月

9 日

利用CPLD 设计可调时数字钟

装 订 线

摘要

本数字钟采用动态显示数字的方法,输入512Hz的时钟信号,驱动显示位选信号产生,位选信号以85Hz从0到6不断地扫描数码管。

输入2Hz信号通过2分频变成秒信号,秒信号驱动时钟计数模块计数,完成时钟计数的功能,在位选信号扫描到相应的数码管时,计数器将计数的结果显示在数码管上,由于

视觉残留的关系,人眼会感觉到数字一直在显示,从而实现计时功能。

在手动调节时钟时,有三个按键,一个实现清零,一个作为分调整按键,最后一个作为时调整按键。调整时间键在对应时或者分数码管后通过按压按键产生脉冲使数码管实现

加一的运算,从而改变时间,将1Hz闪烁的小数点接在秒信号上即可。

关键词:CPLD 计数器分频器三选择器七段译码器

线

目录

一总体设计方案 .................................... ..1

1.1设计要求 ........... . (1)

1.2设计原理 (1)

1.2.1电源电路 (1)

1.2.2振荡电路与分频电路 (1)

1.2.3显示电路................... .. (2)

1.2.4JTAG下载接口 (2)

1.2.5CPLD电路原理图 (3)

二各模块说明 (4)

2.1设计思路及步骤 (4)

2.2总体框图 (4)

2.3各模块说明 ..................................... . (4)

2.3.1 7段译码器 (4)

2.3.2 消抖模块 (5)

2.3.3与门模块 (5)

2.3.4数据选择器模块 (6)

2.3.5 D触发器模块 (6)

2.3.6非门模块 (7)

2.3.7或门模块 (7)

2.3.8十进制计数模块 (7)

2.3.9位选模块 (8)

2.3.10秒计数模块 (8)

2.3.11六进制模块 (10)

2.3.12分计数模块 (11)

2.3.13分频器模块 (12)

2.3.14顶层总模块 (13)

2.4数字钟电路总图 (12)

三课程总结 (16)

3.1遇到的问题及其解决办法 (16)

3.2 收获与体会 (16)

参考文献 (16)

一总体设计方案

1.1设计要求

1、以数字形式显示时、分、秒的时间;

2、要求手动校时、校分;

3、时与分显示之间的小数点常亮;

4、分与秒显示之间的小数点以1Hz频率闪烁;

5、各单元模块设计即可采用原理图方式也可以用Verilog程序进行设计。

1.2设计原理

1.2.1 电源电路

如图1.1示为实验所需的电源电路。

图1-1 电源电路图

1.2.2 振荡电路与分频电路

晶体振荡器给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.

分频电路采用T触发器对其分频,每经过一个T触发器对其二分频,所以各点的分频倍数分别为:QD: 24 QE: 25 QF: 26 QG: 27 QH: 28 QI: 292 QJ: 210 QL: 212 QM: 213 QN: 214;此处采用的是32768Hz的晶振,故分频之后QF:512Hz、QI:64Hz、QN:2Hz。

图1-2 振荡电路与分频电路图

1.2.3 显示电路

计数器实现了对时间的累计以8421BCD码形式输出,选用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流.

图1-3 显示电路图

数码管是共阴数码显示管,当其控制端为“0”时,数码显示管显示。显示模块输入时钟频率为512Hz,显示刷新频率约为85Hz。如图1.3示。

1.2.4 JTAG接口电路

图1-4 JTAG接口电路图

1.2.5 CPLD电路原理图

此原理图1.4的MODE和ADD分别控制校正位和其校正位进行加一校正。MODE共有七个状态分别对应六个数码管的校正和正常计数。

图1-5 CPLD电路图

二各模块说明2.1设计思路及步骤

1、按原理图和元件插件图完成电路的焊接;

2、拟定数字钟的组成框图,划分模块;

3、编写各模块程序;

4、下载程序。

2.2总体框图

图2-1 总体程序框图

2.3各模块说明

2.3.1 7段译码器模块

module yima(datain,dataout);

input[3:0]datain;

output[6:0]dataout;

reg[6:0]dataout;

always@(datain)

begin

casex(datain)

4'b0000:dataout<=7'b0111111;

4'b0001:dataout<=7'b0000110;

4'b0010:dataout<=7'b1011011;

4'b0011:dataout<=7'b1001111;

4'b0100:dataout<=7'b1100110;

4'b0101:dataout<=7'b1101101;

4'b0110:dataout<=7'b1111101;

4'b0111:dataout<=7'b0000111;

4'b1000:dataout<=7'b1111111;

4'b1001:dataout<=7'b1101111;

default:dataout<=7'bx;

endcase

end

endmodule

2.3.2消抖模块

module xiaodou (clk,key_in,key_out);

input clk,key_in;

output key_out;

Dchufa u1(.datain(key_in),.clk(clk),.dataout(c0)); Dchufa u4(.datain(c2),.clk(clk),.dataout(key_out)); yumen u3(.datain1(c1),.datain2(key_in),.dataout(c2)); feimen u2(.datain(c0),.dataout(c1));

endmodule

2.3.3与门模块

module yumen(datain1,datain2,dataout);

input datain1,datain2;

output dataout;

reg dataout;

always@(datain1,datain2)

begin

if(datain1&&datain2)

dataout=1;

else

dataout=0;

end

endmodule

2.3.4数据选择器模块

module sel61(datain1,datain2,datain3,datain4,datain5,datain6,sel,dataout); input[3:0] datain1,datain3,datain5;

input[2:0] datain2,datain4,sel;

input[1:0] datain6;

output[3:0] dataout;

reg[3:0] dataout;

always@(datain1,datain2,datain3,datain4,datain5,datain6,sel)

begin

case(sel)

3'b000:dataout=datain1;

3'b001:dataout=datain2;

3'b010:dataout=datain3;

3'b011:dataout=datain4;

3'b100:dataout=datain5;

3'b101:dataout=datain6;

default:dataout=dataout;

endcase

end

endmodule

2.3.5D触发器模块

module Dchufa(datain,clk,dataout);

input datain,clk;

output dataout;

reg dataout;

always@(posedge clk)

begin

dataout<=datain;

end

endmodule

2.3.6非门模块

module feimen(datain,dataout);

input datain;

output dataout;

reg dataout;

always@(datain)

begin

dataout=~datain;

end

endmodule

2.3.7或门模块

module huo(datain1,datain2,dataout); input datain1,datain2;

output dataout;

assign dataout=datain1||datain2; endmodule

2.3.8十进制计数模块

module shijinzhi(clk,res,HD,LD); input clk,res;

output [1:0] HD;

output [3:0] LD;

reg[1:0] HD;

reg[3:0] LD;

always @(posedge clk or posedge res) begin

if (res)

begin

LD<=4'b0 ;

HD<=2'b0 ;

end

else if((LD==4'b1001)&&(HD==2'b0)) begin

LD<=4'b0 ;

HD<=2'b1 ;

end

else if((LD==4'b1001)&&(HD==2'b01)) begin

LD<=4'b0;

HD<=2'b10;

end

else if((LD==4'b0011)&&(HD==2'b10)) begin

LD<=4'b0;

HD<=2'b0;

end

else

LD<=LD + 1;

end

endmodule

2.3.9位选模块

module wela(datain,dataout);

input[2:0]datain;

output[5:0]dataout;

reg[5:0]dataout;

always@(datain)

begin

case(datain)

3'b000:dataout=6'b111110;

3'b001:dataout=6'b111101;

3'b010:dataout=6'b111011;

3'b011:dataout=6'b110111;

3'b100:dataout=6'b101111;

3'b101:dataout=6'b011111;

default:dataout=dataout;

endcase

end

endmodule

2.3.10秒计数模块

module seccount(clk,res,cout,g,s); input clk,res;

output[3:0] g;

output [2:0] s;

output cout;

reg[3:0]g;

reg[2:0]s;

reg cout;

always@(posedge clk or posedge res) begin

if (res)

begin

g<=4'b0 ;

s<=2'b0 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd5)) begin

g<=4'b0 ;

s<=3'b0 ;

cout<=1;

end

else if((g==4'b1001)&&(s==3'b0)) begin

g<=4'b0 ;

s<=3'b1 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'b1)) begin

g<=4'b0 ;

s<=3'd2 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd2)) begin

g<=4'b0 ;

s<=3'd3 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd3)) begin

g<=4'b0 ;

s<=3'd4 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd4)) begin

g<=4'b0 ;

s<=3'd5 ;

cout<=0;

end

else if((g==4'b0)&&(s==3'd0)) begin

cout<=0;

g=g+1;

end

else

g=g+1;

end

endmodule

2.3.11六进制模块

module liujinzhi(clk,dataout); input clk;

output[2:0]dataout;

reg[2:0]dataout;

always@(posedge clk)

begin

if(dataout==5)

dataout<=0;

else

dataout<=dataout+1;

end

endmodule

2.3.13分计数模块

module mincount(clk,res,cout,g,s); input clk,res;

output[3:0] g;

output [2:0] s;

output cout;

reg[3:0]g;

reg[2:0]s;

reg cout;

always@(posedge clk or posedge res) begin

if (res)

begin

g<=4'b0 ;

s<=2'b0 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd5)) begin

g<=4'b0 ;

s<=3'b0 ;

cout<=1;

end

else if((g==4'b1001)&&(s==3'b0)) begin

g<=4'b0 ;

s<=3'b1 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'b1)) begin

g<=4'b0 ;

s<=3'd2 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd2)) begin

g<=4'b0 ;

s<=3'd3 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd3)) begin

g<=4'b0 ;

s<=3'd4 ;

cout<=0;

end

else if((g==4'b1001)&&(s==3'd4)) begin

g<=4'b0 ;

s<=3'd5 ;

cout<=0;

end

else if((g==4'b0)&&(s==3'd0)) begin

cout<=0;

g=g+1;

end

else

g=g+1;

end

endmodule

2.3.14分频器模块

module fenpin(clk1,clk2);

input clk1;

output clk2;

reg clk2;

always@(posedge clk1)

begin

clk2=~clk2;

end

endmodule

2.3.15顶层总模块

module shizhong(key1,key2,key3,clk1,clk2,clk3,dataout1,dataout2,dataout3);

input key1,key2,key3,clk1,clk2,clk3;

output[6:0]dataout1;

output[5:0]dataout2;

output dataout3;

wire c0,c1,c3,c5,c6,c7,c8;

wire [1:0] c14;

wire [2:0]c12,c4,c10;

wire [3:0]c11,c15,c9,c13;

xiaodou u1(.clk(clk1),.key_in(key2),.key_out(c0));

xiaodou u2(.clk(clk1),.key_in(key3),.key_out(c1));

fenpin u3(.clk1(clk2),.clk2(c3));

liujinzhi u4(.clk(clk3),.dataout(c4));

huo u5(.datain1(c0),.datain2(c5),.dataout(c6));

huo u6(.datain1(c1),.datain2(c7),.dataout(c8));

seccount u7(.clk(c3),.res(key1),.cout(c7),.g(c9),.s(c10));

mincount u8(.clk(c8),.res(key1),.cout(c5),.g(c11),.s(c12));

shijinzhi u9(.clk(c6),.res(key1),.HD(c14),.LD(c13));

sel61

u10(.datain1(c9),.datain2(c10),.datain3(c11),.datain4(c12),.datain5(c13),.datain6(c14),.sel(c4),.d ataout(c15));

wela u11(.datain(c4),.dataout(dataout2));

yima u12(.datain(c15),.dataout(dataout1));

huo5 u13(.datain1(c4),.datain2(c3),.dataout(dataout3));

endmodule

2.4数字钟电路总图

数码管显示控制电路工作原理:以512Hz的频率作为输入端时钟脉冲,用六进制计数器为三八译码器提供六个不同状态,分别控制六个数码管的状态,每个数码管的显示频率

约为85Hz,可以充分的利用人眼的视觉残留现象实现数字的常显,观测到的结果为:数码管常亮。此电路中小数点的显示是用一个或门,通过1Hz频率来控制第三个数码管的小数点显示,再通过一个与非门来控制第五个数码管的小数点显示。第五个数码管的小数点在整个脉冲阶段显示,而第三个数码管的小数点只有在低电平时显示,故观察到结果是第五个数码管常亮,而第三个数码管的小数点以1Hz的频率闪烁。在手动调节时钟时,有三个按键,一个实现复位清零,一个作为调整时的按键,最后一个作为调整分的按键。

三总结

3.1遇到的问题及其解决办法

1.焊接的时候要注意元件的引脚和属性值,还有注意不要虚焊,如果虚焊了需要用万用表进行测试;

2.程序方面,由于EPM3 064 ALC44 -10芯片只有64个宏单元,编写程序时有可能导致所需的宏单元数超过提供的数量,经过分析在处理小数点的时候,直接把其作为与其它段显示一起定义成八位变量,这样就会增加芯片内存消耗,但实际要求中只用到两个小数点,所以把这个小数点单独进行操作处理,大大减少了宏单元的利用,这样才能编译成功。

3.2收获与体会

通过这次实际做数字钟,第一就是加深了对Verilog语言的模块化编程,以及编程中元件例化的方法的应用,各个程序相互独立,但最后可以通过顶层模块将所有子模块调用进来,这样使整个工程十分清晰,并且容易进行测试修改;

另一方面,在编程的过程中会出现很多问题,通过上网搜索、和同学一起探讨,发现问题并解决问题,我觉得这个过程才能学到很多超出知识本身的东西,对知识的学习和掌握需要理论与实践相结合,应该是学习致用的一个过程。最重要的是要静下心来有耐心和恒心才可以把事做成,这是至关重要的。

参考文献

[1]《数字电路综合实习讲稿》河北大学电子信息工程学院编

[IBSN 978-7-8114-309-3] 夏宇闻《Verilog 数字系统设计教程(第2版)》北京航空航天大学出版社 2008.

基于51单片机的数字钟

专业课程设计报告 专业班级 课程 题目基于51单片机的数字钟的设计报告学号 学生姓名 指导教师 成绩 2013年6月20日

基于A T89C51的数字钟总体设计说明书 目录 1. 51单片机设计数字钟设计的现实意义 (2) 2. 总体设计 (2) 2.1.开发与运行环境 (2) 2.2.硬件功能描述 (2) 2.3.硬件结构 (3) 3. 硬件模块设计 (3) 3.1.描述 (3) 3.1.1. AT89C51单片机简介 (3) 3.1.2. 键盘电路的设计 (4) 3.1.3. 显示器的选择 (5) 3.1.4. 蜂鸣器驱动电路 (5) 3.1.5. 各部分功能 (6) 4. 嵌入式软件设计 (7) 4.1.流程逻辑 (7) 4.2.算法 (7) 4.2.1. 中断定时器的设置 (27) 4.2.2. 闹钟子函数 (28) 4.2.3. 计时函数 (29) 4.2.4. 键盘扫描函数 (31) 4.2.5. 时间和闹钟的设置 (32) 5. 实验器材清单 (33) 6. 测试与性能分析 (33) 6.1.测试结果 (33) 6.2.优点 (33) 6.3.结论 (34) 7. 心得体会 (36) 8. 致谢 (36) 9. 参考文献 (37)

1.51单片机设计数字钟设计的现实意义 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间等造成的。而钟表的数字化给人们生产生活带来了极大的方便。数字钟是通过数字电路实现时,分,秒数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烤箱、通断动力设备、甚至各种定时电气的自动启用等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 2.总体设计 2.1.开发与运行环境 在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 2.2.硬件功能描述 硬件部分设置了的三个按键S1、S2、S3、S4。当按键S1第一次按下时,停止计时进

基于单片机的电子时钟设计报告(LCD显示)

单片机原理及应用课程设计任务书 题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 单片机原理及应用课程设计任务书

题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的 1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。 2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。3)、用3个功能键操作来设置当前时间。 4)、熟悉掌握proteus编成软件以及keil软件的使用 二、本设计原理 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

单片机电子时钟实验报告

一、实验任务及要求 在焊接的电路板中,4个LED数码管,设计带有闹铃功能的数字时钟,要求: 1、在4位数码管上显示当前时间。显示格式“时时分分”; 2、由LED闪动做秒显示; 3、利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。 二、方案论证与比较 2.1数字时钟方案 数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。 方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。 方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现5毫秒定时中断,每产生一次中断,存储器内相应的计数值加1;若计数值达到200,则将其清零,并将 方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。

静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。 方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度合适,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。 从节省I/O口和降低能耗出发,本设计采用方案二。 三、各个部分的分析 1)显示电路:通过4个LED显示屏显示分钟和小时 两个两联的LED显示器,通过与单片机P1接口连接实现显示功能。而实现4个LED灯动态显示,靠的是位选电路 2)位选电路 四位共阳LED数码管,其标号分别为HourH,HourL,MinL,MinH,低电平选通,且任何时候仅有一位输出低电平,显示时对各显示器进行动态扫描,显示器分时轮流工作。虽然每次只有一个显示器显示,但是由于人的视觉暂留现象我们仍会感觉所有的显示器都在同时显示。P0口作为输出口控制8个发光二极管的亮灭,控制数码管的显示。因此,可以实现4个LED在我们看来同时亮,显示时间。 3)闹铃部分:使用蜂鸣器实现闹钟功能 其中,buzzer端口接到单片机的P1.7输出。(端口连接在最后介绍) 4)开关部分:使用了5个开关控制整个电路的启动,修改时间,设置闹钟,关闭电路等

基于单片机的数字钟设计-(1)

基于单片机的数字时钟摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。 关键词:数字钟,单片机,数码管

Abstract Author:cheng dong Tutor:wang xin Electronic technology has been developed rapidly in the 20 century,with its modern electronic products, pushed by almost permeated every area of society has vigorously promoted social productive forces development and improvement of social informatization level, also make modern electronic product performance further improved, and the rhythm of upgrade its products is becoming more and more quickly. The most common SCM module is a digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds, the timing device with mechanical clock compared with higher accuracy and intuitive and no mechanical device, has more longer service life, so it has been widely used. This topic research is the digital clock design based on SCM, AT89C51 SCM as the main control chip system, external LED display circuit, key circuits, crystals circuit, reset circuit module constitute a simple digital clock. Through the key circuits can respectively the diffculties, minutes and seconds setting and real-time adjustment, and the result showed that in the digital tube. Key words:digital clock SCM ; digital

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

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

单片机数字时钟实验报告

数字时钟实验报告 一、实验目的 1、熟悉单片机的结构和各引脚的的功能以及如何用程序控制。 2、学习用单片机对数字时钟控制、按键扫描及LED数码管显示的设计方法。 3、了解键盘的结构以及工作原理,通过单片机的定义实现对数码管时钟的调整。 二、实验要求 1、可以正常准确的显示时间. 2、可以通过键盘输入来对时间进行调整. 3、能够以两种时钟表示方式显示时间. 4、自由发挥其他功能. 三、实验基本原理 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为0,每中断一次中断计数初值加1,当加到20时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 利用键盘实现对时钟的调整,定义四个按键,按下第一个按键位置跳变到“分”,在按定义的第二个键每按一次数字加一,当数字到59时再按一次,直接跳变到00; 用第三个键控制“时”的12小时制还是24小时制,对键盘扫描,如果发现该键被按下,则表示为12进制,每按一次第四个按键数字加一,当到达12时,再按一次直接跳到1,如果没有发现该按键,则默认为24小时制,当数字是23时,再按一次跳变到00,再按一下第一个键退出对事件的调整。

四、实验设计分析 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000 次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准 MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又 能便于添加各项功能。程序可分为闹钟的声音程序、时间显示程序、日期显示程序, 秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。运用 这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。 首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储 单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二部 分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出需要 显示驱动电路和数码管电路等。第三部分是软件部分:先学习理解汇编语言的编程 方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第四部分是 软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。第五部分是 软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查 软件程序和硬件电路并进行修改直到仿真成功。第六部分是硬件实现部分:连接电 路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。最后进行功 能扩展,在已经正确的设计基础上,添加额外的功能!

基于单片机的数字钟设计

毕业设计论文 作者学号 系部 专业 题目基于单片机的多功能数字钟设计 指导教师 评阅教师

完成时间: 毕业设计(论文)中文摘要

毕业设计(论文)外文摘要

目录1 绪论5 1.1背景资料5 1.1.1设计多功能数字钟的目的5 1.1.2电子线路CAD与Prote99 SE软件的简介5 1.1.3单片机简介7 1.2本设计的主要工作8 2 系统功能和设计说明9 2.1总体方案设计9 2.1.1本课题主要技术要求9 2.1.2总体方案比较与论证9 2.1.3总体设计原理方框图10 2.2 硬件模块电路设计10 2.2.1电压有效值测量设计10 2.2.2时钟电路的设计12 2.2.3温度检测电路设计13 2.2.4频率测量设计13 2.2.5键盘显示设计15 2.2.6报警电路16

2.2.7单片机最小系统16 2.3 软件设计19 2.4测试方法20 2.5总结21 结论23 致谢24 参考文献24 1绪论 1.1背景资料 1.1.1设计多功能数字钟的目的 目前市售的电子产品很多,一般只能显示时间信息,功能单一. 但在一些特殊行业,如电力部门,为了工作的便利,要求数字钟不仅能显示时间信息,最好还能直接显示供电情况,电力运行情况。这样,市场上销售的数字钟就显得功能单一,不能满足需求。这里我们所要设计的是专门用于电力部门的多功能数字钟。 本文所设计的多功能数字钟是利用单片机技术,采用了几种新型的芯片而共同构成的。它具有基本的电子时钟,闹钟功能,并且能够显示环境温度,电网电压,电网频率及实现过压欠压报警。本系统充分挖掘了单片机的资源和运算控制功能,具有功能多,显示全,成本低的特点。 1.1.2电子线路CAD与Prote99 SE软件的简介 本设计的电子线路图和PCB线路版图都采用计算机辅助制图,现介绍使用的做图软件及方法。

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

单片机综合实验报告51电子时钟

一、实验内容: 设计一个数字时钟,显示范围为00:00:00~23:59:59。通过5个开关进行控制,其中开关K1用于切换时间设置(调节时钟)和时钟运行(正常运行)状态;开关K2用于切换修改时、分、秒数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于设定闹钟,闹钟同样可以设定初值,并且设定好后到时间通过蜂鸣器发声作为闹铃。 选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能。 二、实验电路及功能说明 1602显示器电路(不需接线) 电子音响电路 按键说明: 按键键名功能说明 K1 切换键进入设定状态 K2 校时依次进入闹钟功能是否启用,闹钟时,分秒, 年,月,日及时间时,分,秒的设置,直到退出 设置状态 K3 加1键调整是否起用闹钟和调节闹钟时,分,秒, 年,月,日,时间的时,分,秒的数字三、实验程序流程图:

四、实验结果分析 定时程序设计: 单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/

计数器两种工作模式和4种工作方式。 定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX. 当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。 实时时钟实现的基本方法: 这次设计通过对单片机的学习、应用,以A T89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它主要通过51单片机综合仿真实验仪实现,通过1602能够准确显示时间,调整时间,它的计时周期为24小时,从而到达学习、设计、开发软、硬件的能力。主要实现功能为显示时间,时间校准调时(采用手动按键调时),闹铃功能(设置定时时间,到点后闹铃发出响声)。通过键盘可以进行校时、定时。闹铃功能使用I/O 口定时翻转电平驱动的无源蜂鸣器。本文主要介绍了工作原理及调试实现。 四个按键K1、K2、K3、K4、一个蜂鸣器。 1602显示时钟、跑表。 时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。 秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。 实时时钟程序设计步骤: 先对系统进行初始化,如:LCD1602初始化,DS1302初始化等,然后才能进入主显示模块,即可在LCD1602上看到相应的信息。对于LCD1602的初始化,主要是对开启显示屏,清屏,设置显示初始行等操作。DS1302的初始化主要是先开启写功能,然后写入一个初始值。 本系统采用的是LCD1602液晶显示器,由于其是本身带有驱动模块的液晶屏,所以对于LCD1602操作程序可分为开显示、设置显示初始行、写数据和清屏等部分。LCD1602的写命令程序和写数据程序分别以子程序的形式写在程序里,以便主程序中的调用。 (1)选择工作方式,计算初值; (2)采用中断方式进行溢出次数累计; (3)计时是通过累加和数值比较实现的; (4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值; (5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来; (6)中断服务程序:进行计时操作; (7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三种条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。 程序说明: 按K1按键进入设定状态 按K2,依次进入闹钟功能是否启用,闹钟时,分秒,年,月,日及时间时,分,秒的设置,直到退出设置状态按K3,调整是否起用闹钟和调节闹钟时,分,秒,年,月,日,时间的时,分,秒的数字 LCD第二排中间显示小喇叭,表示启用闹钟功能,无则禁止闹钟功能(可在调整状态进行设置)正常状态,LCD上排最前面显示自定义字符,LCD下排最前面闪动"_" 设置状态,LCD上排最前面显示"P",下排最前面在设置闹钟时间时显示"alarm_",其它状态显示

基于单片机的多功能电子钟

山东建筑大学 课程设计说明书 题目: 基于单片机的多功能电子钟 课程: 单片机原理及应用B课程设计院(部): 信息与电气工程学院 专业: 电子信息工程 班级: 电信111 学生姓名: 姜庆飞 学号: 2011081197 指导教师: 高焕兵 完成日期: 2015年1月

目录 摘要 ....................................................... II 1 设计目的 (1) 2 设计要求 (2) 3 设计内容 (3) 3、1电子时钟的工作原理 (3) 3、2 系统硬件电路设计及元件 (4) 3、2、1 AT89C51芯片 (4) 3、2、2 DS1302芯片 (8) 3、2、3 LCD1602液晶显示 (12) 3、3系统软件电路设计 (15) 3、3、1 系统流程图及源代码设计 (15) 总结与致谢 (18) 参考文献 (19) 附录一 (20)

摘要 单片机, 就是集 CPU ,RAM ,ROM , 定时器,计数器与多种接口于一体的微控制器。自20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视与关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产与工业自动化上。 本系统为基于DS1302的多功能电子钟 ,以AT89C51单片机作为主控芯, 采用实时时钟芯片DS1302,使用1602液晶作为显示输出。该系统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、日期等多种功能。本文将详细介绍AT89C51单片机与DS1302 时钟芯片的基本原理,从软件与硬件电路的实现两大方面进行分析。 关键词:AT89C51;单片机;液晶屏;时钟芯片;蜂鸣器

基于单片机的数字时钟

郑州科技学院 《单片机原理及应用》课程设计

目 录 0 引言3 1 设计方案4 2 系统设计7 2.1 硬件原理12 2.2 软件原理16 3 实验与仿真19 4 结论21 参考文献22 附录1 程序23 附录2 仿真电路图26 0 引言 近年来,随着电子产品的发展,随着社会竞争的激烈,人们对数字时钟的要求越来越高。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 因此从人们的日常生活到工厂的自动控制,从民用时钟到科学发展所需的时钟,现代人对时间的精度和观察时间的方便有了越来越多的需求。人们要求随时随地都能快速准确的知道时间,并且要求时钟能够更直观、更可靠、价格更便宜。这种要求催生了新型时钟的产生。 除此之外,由于对社会责任的更多承担,人们要求所设计的产品能够产生尽量少的垃圾、能够消耗尽量少的能量。因此人们对时钟的又有

了体积小、功耗低的要求。 传统的机械表由于做工的高精细要求,造价的昂贵,材料的限制,时间指示精度的限制,使用寿命方面,以及其它方面的限制,已不能满足人们的需求。另外,近些年随着科技的发展和社会的进步,人们对时钟的要求也越来越高,而使得新型电子钟表成了大势所趋。 另外单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 1 设计方案 1.1 任务及要求 ①通过单片机内定时器控制走时,准确持续走时,调时不影响走时。 ②在八个数码管上显示时、分、秒及两个小数点。 ③含有闹钟功能,可以选择闹钟开关,可以设定闹铃时间。 ④到达闹钟时刻蜂鸣器警报,可以关掉警报。 1.2 系统功能说明 电子钟的格式为:XX.XX.XX ,由左向右分别为:时、分、秒。完成显示由秒01一直加1至59,再恢复为00;分加1,由00至01,一直加1至59,再恢复00;时加1,时由00加至23之后秒、分、时全部清清零。该钟使用T0作250us的定时中断。 走时调整:走时过程中直接调整且不影响走时准确性,按下时间选择键对“时、分、秒”显示进行调整,每按一下时间加,即加1,时间减,即减1。

单片机课程设计报告—LED显示电子钟

《单片机原理及其接口技术》 课程设计报告 课题LED显示的电子钟 姓名 学号 院系自动控制与机械工程学院 班级 指导教师

2012 年6 月 目录 一、课程设计目的 (3) 二、课程设计要求 (3) 三、设计内容 (4) 四、硬件设计需求 (5) 1、硬件系统各模块功能 (5) (1)、单片机最小系统——AT89C51 (5) (2)、LED数码管显示模块 (8) (3)、晶振模块 (9) (4)、按键模块 (10) 五、电路软件系统设计 (10) 1、protues软件简介 (10) 2、仿真结果 (11) 3、流程图 (13) 六、误差分析 (15) 七、总结与心得体会 (15) 八、参考文献 (16) 九、附录(程序) (16)

一、课程设计目的 单片机课程设计作为独立的教学环节,是自动化及相关专业集中实践性环节系列之一,是学习完《单片机原理及应用》课程后,并在进行相关课程设计基础上进行的一次综合练习。 单片机课程设计过程中,学生通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并且有综合功能的小应用系统设计。使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路,电子元器件等方面的知识进一步加深认识,同时在软件编程,调试,相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解,加深单片机的内部功能模块的应用,如定时器/计数器,中断,片内外存储器,I/O接口,串行口等。使学生了解和掌握单片机应用系统的软硬件设计过程,方法及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技能和科学作风,培育学生综合运用理论知识解决问题的能力。 二、课程设计要求 课程设计应以学生认知为主体,充分调动学生的积极性和能动性,重视学生自学能力培养。根据课程设计具体课题安排时间,确定课题的涉及,变成和调试内容,分团队开展课程设计活动,安排完成每部分工作。课程设计集中在实验室进行。在课程设计过程中,坚持独立完成,实现课题规定的各项指标,并写出设计报告。 要求学生自己调研,设计系统功能,划分软硬件功能,选择器件,用Proteus软件在PC机上完成硬件原理图设计。然后使用使用Proteus软件在PC机运行系统仿真,调试电路和修改调试程序。对整个系统做试运行,有问题再进一步修改调试,直至达到设计的要求和取得满意的效果。最后编写系统说明书,其内容主要包括系统功能介绍,使用范围,主要性能指标,使用

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

51单片机电子时钟设计报告

电子时钟实验报告 全部代码在文档末尾:51单片机,LCD1602液晶显示屏平台下编程实现,可直接编译运行 目录: 一,实验目的 (1) 二,实验要求 (2) 三,实验基本原理 (2) 四,实验设计分析 (2) 五,实验要求实现 (3) A.电路设计 (3) 1. 整体设计 (3) 2. 分块设计 (4) 2.1 输入部分 (4) 2.2 输出部分 (5) 2.3 晶振与复位电路 (5) B.程序设计 (6) B.1 程序总体设计 (6) B.2 程序主要模块 (6) 五.实验总结及感想 (8) 一,实验目的 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以电子钟是以其小巧,价格低廉,走时精度高,使用方便,

功能多,便于集成化而受广大消费的喜爱,得到了广泛的使用。 1. 学习8051定时器时间计时处理、按键扫描及LCD液晶显示的设计方法。 2. 设计任务及要求利用实验平台上LCD1602液晶显示屏,设计带有闹铃功能的数字时钟 二,实验要求 A.基本要求: 1. 在LCD1602液晶显示屏上显示当前日期,时间。 2. 利用按键可对时间及闹玲进行设置,并可显示设置闹玲的时间。闹玲时间到蜂鸣器发出 声响,一分钟后闹铃停止。 B.扩展部分: 1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整)实现年月日时分秒的调整,星期准确的随着日期改变而改变进行显示。 2.定时功能(设定一段时间长度,定时到后,闹铃提示) C.可扩展部分: 1.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调) 2.可进行备忘录提示,按照年月日,可在设定的某年某月进行闹铃提示。 三,实验基本原理 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值加1,当减到20时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了,是否一天到了,是否一个月到了,是否一年到了。 将时间在LCD液晶屏上显示,降低了程序的编写难度。LCD的固定显示特性是我们省去了数码管的动态扫描显示。 四,实验设计分析 针对要实现的功能,采用AT89S52单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计 【摘要】数字电子时钟是人们日常生活中不可或缺的必需品。本文以STC89C52为核心控制芯片,DS12887为时钟芯片,DS18B20为温度传感器,通过液晶显示器LCD1602实时显示时间及温度,通过按键设置年月日和星期以及定时闹钟,定时闹钟时间到自动发出警报。本设计的+5V电源采用LM1117电压转换元件,将电源适配器转换得到的12V电压直接变成5V电压供系统使用。程序的下载则是通过普中科技公司自制的PZ-ISP软件完成。经过测试,系统可以正常完成预定的功能。 【关键词】电子时钟;单片机;DS12887;DS18B20;

Design of Multi-function Clock Based on 51 MCU 【Abstract】Digital electronic clock is an integral, necessary part of daily life.In this paper, STC89C52 chip is used as the core control chip, DS12887chip is used as the clock chip, DS18B20 chip is used as the temperature sensor and LCD1602 was used to diaplay time and temperature。You can set year, month and time alarm clock through the four buttons.When the real time reach to the time clock,the system will warn automatically. The +5V power of the system is supplied by LM1117 voltage conversion device. The 12V voltage get from power adapter was transformed directly into 5V voltage for the system. The download of the process is accomplished through the PZ-ISP software made by Puzhong technology company. After testing, the system can complete the scheduled function normally. 【key words】electronic clock;MCU;DS12887;DS18B20

基于单片机的数字钟设计毕业设计

基于单片机的数字钟设计毕业设计 目录 1. 引言 (1) 2. 关于单片机 (3) 2.1单片机的发展 (3) 2.2 单片机的开发背景 (5) 2.2 单片机的开发背景 (6) 2.3 AT89S52单片机 (7) 2.3.1 AT89S52单片机引脚功能 (8) 2.3.2 AT89S52单片机硬件结构的特点 (9) 2.3.3 AT89S52单片机的硬件原理 (11) 3. 方案设计与论证 (13) 4. 系统总体结构框图 (14) 5. 系统的硬件设计 (14) 5.1 显示部分电路的设计 (14) 5.1.1 LED数码显示管的基本原理 (14) 5.1.2 数码管显示模块分析 (15) 5.1.3 LED显示电路 (16) 5.2 控制部分电路的设计 (16) 5.2.1 时钟模块 (16) 5.2.2 温度模块 (16) 5.2.3 音乐模块 (17) 5.2.4 复位模块 (17) 5.2.5 光识模块 (18) 6. 系统的软件设计 (19) .参考资料.

6.1 各模块的程序设计 (19) 6.1.1 计时程序 (19) 6.1.2 定时闹钟程序 (19) 6.1.3 温度程序 (19) 6.2 系统程序设计的总体框图 (20) 7. 系统电路的制作与调试 (21) 7.1 电路硬件焊接制作 (21) 7.2 调试的主要方法 (21) 7.3 系统调试 (21) 7.3.1 硬件调试 (21) 7.3.2 软件调试 (21) 7.3.3 联机调试 (22) 7.3.4调试中遇到的问题及解决方法 (22) 结论 (24) 参考文献 (25) 附录1 数字钟电路图 (27) 附录2 程序清单 (27) 附录3 英文资料 (65) 附录4 英文资料翻译 (76) 致谢 (84) .参考资料.

相关主题