Java实现电子时钟

Java实现电子时钟
Java实现电子时钟

项目效果图:

源代码:

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.geom.Ellipse2D;

import java.awt.geom.Line2D;

import java.awt.image.BufferedImage;

import java.awt.EventQueue;

import java.util.Calendar;

import java.util.GregorianCalendar;

import javax.swing.JFrame;

import javax.swing.JPanel;

/* author: 蒋冰 */

public class MoveDraw extends JFrame{

private Draw draw = new Draw();

public static void main(String[] args){

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

MoveDraw frame = new MoveDraw();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

public MoveDraw(){

super();

setTitle("动画");

setBounds(400,300,400,300);

add(draw);

Thread thread = new Thread(draw);// 创建线程对象

thread.start();// 启动线程对象

}

class Draw extends JPanel implements Runnable{

Calendar calendar = new GregorianCalendar();

int hour = calendar.get(Calendar.HOUR);

int minute = calendar.get(Calendar.MINUTE);

int second = calendar.get(Calendar.SECOND);

int year = calendar.get(Calendar.YEAR);

int mouth = calendar.get(Calendar.MONTH);

int day = calendar.get(Calendar.DAY_OF_MONTH);

int week = calendar.get(Calendar.DAY_OF_WEEK);

String date = year+"-"+mouth+"-"+day;

String weeks[] = new String[]{"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};

double theta = second * (2 * Math.PI)/60 ;

double theta1 = (minute * (2 * Math.PI) + theta)/60;

double theta2 = (hour*(2 * Math.PI) + theta1)/12;

public void paint(Graphics g){

Graphics2D g2 = (Graphics2D) g;

g2.clearRect(0, 0, 400, 300);

g2.translate(draw.getWidth()/2, draw.getHeight()/2);

g2.setColor(Color.blue);

Font font = new Font("楷体",Font.ROMAN_BASELINE

,14);

g2.setFont(font);

g2.drawString(date, -25, 30);

g2.drawString(weeks[week-1]+"", -15, 50);

g2.setColor(Color.black);

for(int i=1; i<=12; i++){

double theta = i*2*Math.PI/12;

g2.rotate(theta);

int width = -7;

int height = -85;

g2.drawString(i+"", width, height);

g2.fillOval(-4, -104, 8, 8);

g2.rotate(2*Math.PI - theta);

}

for(int i=1; i<=60; i++){

double theta = i*2*Math.PI/60;

g2.rotate(theta);

g2.fillOval(-2, -102, 4, 4);

g2.rotate(2*Math.PI - theta);

}

Line2D.Float line = new Line2D.Float(0, 0, 0, -90);

Line2D.Float line1 = new Line2D.Float(0, 0, 0, -65);

Line2D.Float line2 = new Line2D.Float(0, 0, 0, -37);

g2.rotate(theta);

g2.draw(line);

g2.rotate(2 * Math.PI - theta);

g2.rotate(theta1);

g2.draw(line1);

g2.rotate(2 * Math.PI - theta1);

g2.rotate(theta2);

g2.draw(line2);

}

public void run(){

while(true){

theta += Math.PI/30;

theta1 = (minute * (2 * Math.PI) + theta)/60;

theta2 = (hour*(2 * Math.PI) + theta1)/12;

repaint();

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// TODO自动生成的 catch 块

e.printStackTrace();

}

}

}

}

}

8-电子时钟的设计与实现

课程设计 题目电子时钟的设计与实现学院自动化学院 专业电气工程及其自动化班级 姓名 指导教师 2014 年 1 月9 日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:自动化学院 题目:电子时钟的设计与实现 初始条件: 掌握8086汇编语言程序设计方法,设计一个电子时钟,实现分、秒、时的显示与刷新功能。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 定义显示界面。 2. 调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。 3. 将存在系统内存区的时间数用数字式或指针式钟表的形式显示出来。 4. 获取键盘的按键值,判断键值并退出系统。 5. 撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 12月26日----- 12月28日查阅资料及方案设计 12月29日----- 1月2日编程 1月3日----- 1月7日调试程序 1月8日----- 1月9日撰写课程设计报告 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) 1 设计任务及要求 (2) 1.1 设计题目 (2) 1.2 设计要求 (2) 1.3 设计过程 (2) 1.4 设计目的 (2) 2 设计方案论述 (3) 2.1 设计方案概括 (3) 2.2 设计方案具体说明 (3) 2.2 设计思路介绍 (3) 3 软件设计说明 (5) 3.1. 理论知识介绍 (5) 3.1.1 DOS中断与BIOS中断的功能及调用 (5) 3.1.2 子程序的设计 (7) 3.1.3 中断概述 (7) 3.2 设计流程 (8) 3.2.1 主流程图及说明 (9) 3.2.2.显示系统时间子流程图及说明 (9) 3.3. 程序设计 (10) 3.3.1 清屏程序 (10) 3.3.2. 光标定位程序 (10) 3.3.3 多字符显示程序 (11) 3.3.4 读取键盘状态程序 (12) 3.3.5 读取键盘值程序 (12) 3.3.6 调用系统时间显示程序 (12) 3.3.7 将二进制数转换为ASCII码程序 (13) 3.4 软硬件环境要求 (14) 4 调试结果及分析 (15) 5 收获与体会 (17) 参考文献 (18) 附录:设计源程序 (19) 本科生课程设计成绩评定表 (25)

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

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

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

JAVA课程设计钟表(含代码)

Java程序课程设计 任务书 钟表的设计与开发 1、主要内容: 创建一个钟表。 借助swing类和接口内部类的实现,在本程序中以实现Runnable接口内部类的形式创建多线程对象。 Runnable接口只定义了一个run()方法,所以调用start和sleep()方法时,必须创建Thread实例化对象。Interrupt()方法的作用是中断线程。 其作用方式是:多线程对象.interrupt()。 2、具体要求(包括技术要求等): 系统的功能要求: 1.可以记录时间的钟表。 2.熟悉JAVA中swing的组件运用,基本工具的熟练掌握。 学习并掌握以下技术:Java等。 熟练使用以下开发工具:JCreator + JDK 1.6.0_02 等实现系统上述的功能。 3、进度安排: 12月28日~ 12月29日:课程设计选题,查找参考资料 12月29日~ 1月2日:完成程序代码的编写 1月2日~ 1月3日:系统测试与完善 1月4日~ 1月5日:完成课程设计报告,准备答辩 4、主要参考文献 [1]张帆.Java范例开发大全[M].北京:清华大学出版社,2010:0-831. [2]耿祥义,张跃平.Java大学实用教程[M].北京电子工业出版社,2008:213-216

摘要 随着经济全球化的发展,推动生活节奏的加快,也给时间赋予了更重要的意义。基于方便人们更好的掌握时间,我们小组设计出了这个小时钟。 本时钟是一个基于Java语言设计而成的一个小程序,目的是显示时间,并且能调准时钟。整个程序从符合操作简便、界面友好、灵活使用的要求出发,完成调用、调整的全过程。 本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤,程序主要所用到的Swing组件以及graphics方法。 关键词:时钟,

java编写的简单计算器代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Vector; public class Tuo { String str1="0"; //运算数1 初值一定为0 为了程序的安全 String str2="0"; //运算数2 String fh="+"; //运算符 String jg="";//结果 //状态开关重要 int k1=1;//开关1 用于选择输入方向将要写入str2或 str2 int k2=1;//开关2 符号键次数 k2>1说明进行的是2+3-9+8 这样的多符号运算 int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0 int k4=1;//开关4 str2 同上 int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉 JButton jicunqi; //寄存器记录是否连续按下符号键 Vector vt=new Vector(20,10); JFrame frame=new JFrame("sunshine---计算器"); JTextField jg_TextField=new JTextField(jg,20);//20列 JButton clear_Button=new JButton("清除"); JButton button0=new JButton("0"); JButton button1=new JButton("1"); JButton button2=new JButton("2"); JButton button3=new JButton("3"); JButton button4=new JButton("4"); JButton button5=new JButton("5"); JButton button6=new JButton("6"); JButton button7=new JButton("7"); JButton button8=new JButton("8"); JButton button9=new JButton("9"); JButton button_Dian=new JButton("."); JButton button_jia=new JButton("+"); JButton button_jian=new JButton("-"); JButton button_cheng=new JButton("*"); JButton button_chu=new JButton("/"); JButton button_dy=new JButton("="); //////////////////////////////////////////////////////////////////////// public static void main(String[] args) {

vhdl数字电子钟的设计与实现

基于VHDL数字电子钟的设计与实现 摘要:本课程设计完成了数字电子钟的设计,数字电子钟是一种用数字显示秒、分、时的计时装置,由于数字集成电路技术的发展和采用了先进的石英技术,它使数字钟具有走时准确、性能稳定、携带方便等优点。数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活带来极大的方便。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路的能力。 关键词:电子钟;门电路及单次按键;琴键开关

目录 第一章引言----------------------------------------------------------------1 1.1 课题的背景、目的------------------------------------------1 1.2 课程设计的内容------------------------------------------1 第二章EDA与VHDL简介--------------------------------------------------2 2.1 EDA的介绍---------------------------------------------2 2.2 VHDL的介绍--------------------------------------------3 2.2.1 VHDL的用途与优点-----------------------------------------------------------------3 2.2.2 VHDL的主要特点---------------------------------------------------------------------- 2.2.3 用VHDL语言开发的流程------------------------------------------------------------ 第三章数字电子钟的设计方案------------------------------------------6 3.1秒脉冲发生器--------------------------------------------7 3.2可调时钟模块--------------------------------------------8 3.3校正电路------------------------------------------------8 3.4闹铃功能------------------------------------------------10 3.5日历系统------------------------------------------------11 第四章结束语---------------------------------------------------------------13 4.1致谢----------------------------------------------------14 4.2参考文献------------------------------------------------15

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

目录 1 引言 (1) 2 设计任务与要求 (2) 2.1. 设计题目 (2) 2.2. 设计要求 (2) 3 系统的功能分析与设计方案 (3) 3.1. 系统的主要功能 (3) 3.2. 系统的设计方案 (3) 3.3. 数码管显示工作原理 (4) 3.4. 电路硬件设计 (5) 3.4.1. 设计原理框图 (5) 3.4.2. 电源部分 (5) 3.4.3. 复位电路 (6) 3.4.4. 指示灯电路 (6) 3.4.5. 按键电路 (7) 3.4.6. 时钟电路 (7) 3.4.7. 驱动电路 (8) 3.4.8. 数码管连接电路 (8) 3.4.9. 主控模块AT89S52 (9) 3.4.10. 材料清单 (10) 3.4.11. 电路原理图、PCB图及实物图 (11) 3.5. 软件设计 (13) 3.5.1. 软件设计流程 (13) 3.5.2. 完整源程序 (15) 4 系统安装与调试 (21) 4.1. 硬件电路的安装 (21) 4.2. 软件调试 (21) 5 课程设计总结 (22) 参考文献 (23) 致谢 (24)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。这次课程设计通过对它的学习、应用,以AT89S52芯片为核心,辅以必要的电路,设计了一个简易的单片机电子时钟,包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子时钟正常工作的流程、硬件的制作与软件的调试过程。电子时钟由5.0V直流电源供电,数码管能够比较准确显示时间,通过按键能够调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;AT89S52;电子时钟;数码管;按键

Java实现电子时钟

项目效果图: 源代码: import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.image.BufferedImage; import java.awt.EventQueue; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JFrame; import javax.swing.JPanel; /* author: 蒋冰 */ public class MoveDraw extends JFrame{ private Draw draw = new Draw(); public static void main(String[] args){ EventQueue.invokeLater(new Runnable() { public void run() { try { MoveDraw frame = new MoveDraw(); frame.setVisible(true);

} catch (Exception e) { e.printStackTrace(); } } }); } public MoveDraw(){ super(); setTitle("动画"); setBounds(400,300,400,300); add(draw); Thread thread = new Thread(draw);// 创建线程对象 thread.start();// 启动线程对象 } class Draw extends JPanel implements Runnable{ Calendar calendar = new GregorianCalendar(); int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); int year = calendar.get(Calendar.YEAR); int mouth = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); int week = calendar.get(Calendar.DAY_OF_WEEK); String date = year+"-"+mouth+"-"+day; String weeks[] = new String[]{"星期天","星期一","星期二","星期三","星期四","星期五","星期六"}; double theta = second * (2 * Math.PI)/60 ; double theta1 = (minute * (2 * Math.PI) + theta)/60; double theta2 = (hour*(2 * Math.PI) + theta1)/12; public void paint(Graphics g){ Graphics2D g2 = (Graphics2D) g; g2.clearRect(0, 0, 400, 300); g2.translate(draw.getWidth()/2, draw.getHeight()/2); g2.setColor(Color.blue); Font font = new Font("楷体",Font.ROMAN_BASELINE ,14); g2.setFont(font); g2.drawString(date, -25, 30); g2.drawString(weeks[week-1]+"", -15, 50); g2.setColor(Color.black); for(int i=1; i<=12; i++){ double theta = i*2*Math.PI/12;

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

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

电子科技职业技术学院Shaanxi electronic science and technology vocational college 课程设计报告 题目基于单片机的电子时钟设计和实现 班级电子信息1507 姓名聪 指导教师聂弘颖 时间2017年10月30日

第一章系统设计要求1.1 基本功能 (1)能够显示时分秒 (2)能够调整时分秒 1.2 扩展功能 (1)能够任意设置定时时间 (2)定时时间到闹铃能够报警 (3)实现了秒表功能

第二章硬件总体设计方案 本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求。 2.1系统功能实现总体设计思路 此设计原理框图如图2-1所示,此电路包括以下四个部分:单片机,键盘,闹铃电路及显示电路。

图2-1 设计原理框图 经多方论证硬件我个人采用AT89C51单片机和7SED 八位共阳极数码管等来实现单片机电子时钟的功能。 详细元器件列表如表2.1所示: 表2.1 详细元器件列表 2.2各部分功能实现 (1)单片机发送的信号通过程序控制最终在数码管上显示出来。 (2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。

(3)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。 (4)单片机通过控制闹铃电路来完成定时闹钟的功能。 2.3系统工作原理 设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。 详细电路功能图如图2-2: 图2-2 详细电路功能图 本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计

简易电子时钟的设计

单片机课程设计报告设计题目:简易电子时钟的设计 院别: 专业班级: 学号:

姓名: 指导教师: 摘要 通过一学期单片机的学习,对其已经有了初步的了解,但是随着社会的不断发展,单片机的应用正在不断地走向深入,它特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。我们也借此课程设计的机会,对单片机有更深一步的了解与学习。 本次课程课程设计的目的是设计一个简易的电子时钟,通过一个8位共阴极数码管进行时、分、秒的显示,另外设置7个按键,一个用来调整小时,一个用来调整分钟,一个开关控制是否调整时间。 关键词:AT89C51,数码管,按键,DS1303时钟芯片

1.概述 本设计是锻炼我们的自学能力合作能力,依靠团队的力量去完成一项具体的任务系统的训练了所学知识,设计的过程必将是难忘的,这也将是大学向社会工作过度的一个重要阶段。 本阶段过后要去能够熟练的运用单片机中的计数器、定时器、中断、数码管显示等参考教材或者相关资料,采用C语言实现数字时钟功能,在数码管上实时显示,并运用Protues软件绘制电路原理图,并进行仿真验证和误差分析。 2.系统总体方案设计 2.1系统方案的确定 用6位数码管,可以显示出时、分、秒;用P2端口控制位选,由定时器进行时间的控制(秒);当总按键按下时可以进行时间调整; 2.2方案分析 2.3系统总框图 图2.1

3.系统硬件系统设计 3.1复位电路 单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 复位电路的工作原理: 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。单片机复位电路如下图 图3.1 3.2时钟电路 单片机运行需要时钟支持——就像计算机的CPU一样,如果没有时钟电路来产生时钟驱动单片机,那单片机就不能执行程序。 单片机可以看成是在时钟驱动下的时序逻辑电路。 以5l单片机为例随明:51单片机为l2个时钟周期执行一条指令。也就是说单片机运行一条指令,必须要用r2个时钟周期。没有这个时钟,单片机就跑不起来了,也没有办法定时和进行和时间有关的操作。 时钟电路是微型计算机的心脏,它控制着计算机的二个节奏。CPU就是通过复杂的时序电路完成不同的指令功能的。51的时钟信号可以由两种方式产生:一种是内部方式,利用芯片内部的振荡电路,产生时钟信号:另一种为外部方式,时钟信号由外部引入。

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

简易电子钟的设计与实现

简易电子钟的设计与仿真 一、设计要求和电路原理 1.1 设计要求 1)可以准确地显示北京时间。 2)时间显示选择24小时模式。 3)选用AT89C52单片机,将编写的程序下载到该单片机中,并能使数码管 显示。 4)采用Keil C51编译,Proteus软件进行仿真。 1.2 设计原理与思路 利用单片机的定时与中断系统功能实现电子钟的计数和调时。采用AT89C52定时中断方式实现24小时制时钟精确的计时。通过外部的12M(11.0529M)Hz 晶振产生稳定的谐振,在AT89C52的内部定时器电路实现定时,当定时器溢出时产生中断,累计定时器的定时时间达一秒时,数码管的秒显示加1,判断数码管的秒显示达60时,秒显示自动清零,分显示加1,判断分显示达60时,分显示自动清零,时显示加1,判断时显示达24时,时显示自动清零。从而实现 00:00:00—23:59:59 之间的任意时刻显示。 为了使时钟能够灵活的对时间进行调整、校对,通过增加外部的按键实现简单的复位、时调整、分调整的功能。形成一个具有复位和校时功能的简易电子时钟。 二、电子时钟设计方案 2.1电子钟设计的基本方法 2.1.1电子钟实现计时的方法 利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计时。 (1) 计数初值计算: 把定时器T0设为工作方式2,产生0.25ms定时中断,计数溢出4000次即得时钟计时最小单位秒,而4000次计数可用软件方法实现。 假设使用T/C0,方式2,0.25ms定时,fosc=12MHz。 则初值a满足(256-a)×1/12MHz×12μs =250μs a=6 (6H) TH0=#6H; TL0=#6H (2) 采用中断方式进行溢出次数累计,计满4000次为秒计时(1秒);

利用JAVA实现一个时钟的小程序

JAVA课程项目报告 项目题目:利用JAVA实现一个小时钟的程序 专业班级:10软件工程 利用JAVA实现一个时钟的小程序 1.软件开发的需求分析 在当今的信息时代,时钟已经成为人们生活中必不可少

的应用工具,Java语言是当今流行的网络编程语言,它具有面向对象、与平台无关、安全、多线程等特点。使用Java 语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。 此次课程设计的题目为简单的小时钟程序设计,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 2.具体实现 2.1设计思路 Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如

自动收集碎片。这将减少平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。 因此运用JAVA程序编写小时钟程序,实现简单显示时间的功能。本次课程设计做的是Java简单小时钟,它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.awt包,javax.swing包等。程序实现了小时钟的基本功能。 2.2设计方法 在设计简单小时钟时,需要编写5个Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Client.java。 小时钟除了需要编写的上述5个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。 2.3 运行环境 CPU:Pentium 2.8GHz以上 内存:256MB以上 硬盘空间:80G以上 操作系统:Windows XP 运行环境:JDK,JCreator 2.4 程序功能图及程序相关说明 2.4.1 主功能框

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

电子科技职业技术学院 Shaanxi electronic science and technology vocational college 课程设计报告 题目基于单片机的电子时钟设计和实现 班级电子信息1507 姓名聪 指导教师聂弘颖 时间2017年10月30日

第一章系统设计要求1.1 基本功能 (1)能够显示时分秒 (2)能够调整时分秒 1.2 扩展功能 (1)能够任意设置定时时间 (2)定时时间到闹铃能够报警 (3)实现了秒表功能

第二章硬件总体设计方案 本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求。 2.1系统功能实现总体设计思路 此设计原理框图如图2-1所示,此电路包括以下四个部分:单片机,键盘,闹铃电路及显示电路。

图2-1 设计原理框图 经多方论证硬件我个人采用AT89C51单片机和7SED八位共阳极数码管等来实现单片机电子时钟的功能。 详细元器件列表如表2.1所示: 表2.1 详细元器件列表 2.2各部分功能实现 (1)单片机发送的信号通过程序控制最终在数码管上显示出来。 (2)单片机通过输出各种电脉冲信号来驱动控制各部分正

常工作。 (3)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。 (4)单片机通过控制闹铃电路来完成定时闹钟的功能。 2.3系统工作原理 设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。 详细电路功能图如图2-2: 图2-2 详细电路功能图 本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计

简易计算器Java实训报告

实训名称: Java程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术学生姓名: 学号: 指导教师:张民 完成日期:

山东科技大学泰山科技学院

目录 1 实训目的 (2) 2 简易计算机的分析与设计 (2) 系统功能描述 (2) 系统模块设计 (2) 数据库结构设计 (3) 3 主要代码清单 (4)

4 程序运行与测试 (8) 5 实训总结 (10)

简易计算机的设计与实现 1 实训目的 通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 2 简易计算机的分析与设计 系统功能描述 1)可进行“+”、“-”、“*”、“/”以及混合运算。 2)支持()改变运算的优先级 3)可进行二、十六和十进制数的相互转换 4)支持复制和粘贴操作

数字时钟设计方案要点

数字时钟方案设计

目录 摘要 (3) 一、设计目的 (3) 二、设计要求 (3) 三、选择器件 (3) 四、器件介绍 (4) 五、设计的具体实现 (8) 六、实验仿真 (12) 七、心得体会 (19) 八、参考文献 (20)

摘要 数字时钟最主要的部件是计时,显示具体的时间。数字时钟主要是时、分、秒的显示,众所周知,一天有二十四小时,一小时有六十分钟,一分钟有六十秒,因此数字时钟的核心部件就是计数器,主要的是二十四进制和六十进制的计数器。计数器有很多种类,74160是一种四位二进制计数器,通过它可以设计出不同进制的计时器,可以用来像数字时钟一样显示时、分、秒。将74160计数器的输出端经过译码器接到七段数码管上,就可以完成时,分,秒的显示。将74160计数器,译码器和七段数码管封装在一起,输入1Hz的外输入脉冲信号,就可实现数字时钟的整体设计。 关键字:74160计数器7448译码器七段数码管数字时钟 一、设计目的 1、掌握不同进制计数器的设计方法,学会运用集成芯片来达到不同进制计数器的设计; 2、掌握数码管的使用方法以及如何通过译码器将计数器输出的信号值正确地在数码管上显示出来。 二、设计要求 1、用74160设计一个数字钟电路,使之能够从0时0分0秒到23时59分59 秒循环计时;另外最好能够通过数码管将时分秒显示出来。假定已有频率为1Hz 的外输入脉冲。 2、提示:显示部分可通过7448和7段数码管实现。 3、利用QUARTUSⅡ等软件进行时钟方案设计,并进行仿真。 三、选择器件 1、74160计数器6个 2、7448译码器6个

3、7段数码显示管6个 4、与门4个 5、与非门3个 6、1Hz的外输入脉冲信号设计方案要求提供 7、+5V直流稳压电源1个 8、导线若干 四、器件介绍 1、74160计数器 74160计数器是一种十进制同步计数器(异步清除)。查阅74160计数器数据手册,则有: (1)管脚图: 引出端符号: TC 进位输出端 CEP 计数控制端 Q0-Q3 输出端 CET 计数控制端 CP 时钟输入端(上升沿有效) /MR 异步清除输入端(低电平有效) /PE 同步并行置入控制端(低电平有效) ※说明:P0,P1,P2,P3是数据输入端; Q0,Q1,Q2,Q3是数据输出端;PE 是低电平有效,为同步并行置入控制端,在构造不同进制的计数器时,可以通

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

第一部分设计任务和要求 1.1 单片机课程设计内容 利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。 1.2 单片机课程设计要求 1.能实现年、月、日、星期、时、分、秒的显示; 2.能实现调时功能; 3.能实现12/24小时制切换; 4.能实现8:00—22:00整点报时功能。 1.3 系统运行流程 程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。 第二部分设计方案 2.1 总体设计方案说明 1.程序设计及调试 根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。 2.硬件焊接及调试 根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。

3.后期处理 对设计过程进行总结,完成设计报告。 2.2 单片机系统方框图 2.2 单片机系统流程图 主流程图键盘扫描流程图

时钟流程图 第三部分主要器件及简介 3.1 主要器件 1. STC89C51单片机; 2.LCD1602液晶显示屏; 3.2 主要器件简介 1.STC89C51单片机简介 STC89C51是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率 为80MHz,片内含8K Bytes的可反复擦写1000次的 Flash只读程序存储器,器件兼容标准MCS-51指令系 统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。 2.LCD1602液晶显示屏简介

电子时钟java写的

package com.lw; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; public class DigitalClock extends JFrame { /** * */ private static final long serialV ersionUID = 4962111797317773666L; private JPanel contentPane; private JLabel label; /** * Launch the application. */ public static void main(String[] args) { try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); } catch (Throwable e) { e.printStackTrace(); } EventQueue.invokeLater(new Runnable() { public void run() { try { DigitalClock frame = new DigitalClock(); frame.setV isible(true); } catch (Exception e) { e.printStackTrace(); }

相关文档
最新文档