闹钟源代码
⑴ 求个闹钟代码和日历代码
你用IE打开
网站http://bjtime.cn/
然后你点击菜单"文件"-"另寸为"
保存下来就有代码了
========================
晕
在你保存的文件夹回里不是有*.js的文件吗,
那就答是你要的闹钟和日历代码啊
clda11.js
showtime.js
cldb1.js
..
⑵ java 闹钟程序
//OK 写好了...怕你不懂 帮你加了注释
package 娱乐;
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.net.MalformedURLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
public class Alarm extends JFrame implements Runnable {
JLabel ri ,shi, fen, miao, dangqian;
JButton queding, dakai;
JTextField music,RI, SHI, FEN, MIAO;
int h=0,f=0,m=0,r=0;
boolean fo=false;
public AudioClip soumd1;
public Alarm() {
Container c = getContentPane();
c.setLayout(new GridLayout(3, 1));
JPanel jp = new JPanel();
dangqian = new JLabel();
jp.add(dangqian);
c.add(jp);
JPanel jp1 = new JPanel();
music = new JTextField(20);
dakai = new JButton("选择闹铃音乐");
jp1.add(music);
jp1.add(dakai);
c.add(jp1);
ri = new JLabel("日");
RI = new JTextField(4);
shi = new JLabel("时");
SHI = new JTextField(4);
fen = new JLabel("分");
FEN = new JTextField(4);
miao = new JLabel("秒");
MIAO = new JTextField(4);
JPanel jp2 = new JPanel();
jp2.add(ri);
jp2.add(RI);
jp2.add(shi);
jp2.add(SHI);
jp2.add(fen);
jp2.add(FEN);
jp2.add(miao);
jp2.add(MIAO);
queding = new JButton("确定");
jp2.add(queding);
c.add(jp2);
setSize(400, 130);
setVisible(true);
dakai.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
JFileChooser fileChooser = new JFileChooser(); // 实例化文件选择器
fileChooser
.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 设置文件选择模式,此处为文件和目录均可
fileChooser.setCurrentDirectory(new File(".")); // 设置文件选择器当前目录
fileChooser
.setFileFilter(new javax.swing.filechooser.FileFilter() {
public boolean accept(File file) { // 可接受的文件类型
String name = file.getName().toLowerCase();
return name.endsWith(".wav")
|| name.endsWith(".au")
|| file.isDirectory();
}
public String getDescription() { // 文件描述
return "音乐文件(*.wav,*.au)";
}
});
if (fileChooser.showOpenDialog(Alarm.this) == JFileChooser.APPROVE_OPTION) { // 弹出文件选择器,并判断是否点击了打开按钮
String fileName = fileChooser.getSelectedFile().getAbsolutePath(); // 得到选择文件或目录的绝对路径
music.setText(fileName);
}
}
});
queding.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
if(queding.getText().equals("确定")){
try{
r=Integer.parseInt(RI.getText());
h=Integer.parseInt(SHI.getText());
f=Integer.parseInt(FEN.getText());
m=Integer.parseInt(MIAO.getText());
if(1<=h&&h<=31&&0<=h&&h<=23&&0<=f&&f<=59&&0<=m&&m<=59)
{
fo=true;
}
else
JOptionPane.showMessageDialog(null, "输入时间错误");
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "请输入正确的时间");
}
}
else
{
fo=false;
RI.setEditable(true);
SHI.setEditable(true);
FEN.setEditable(true);
MIAO.setEditable(true);
queding.setText("确定");
soumd1.stop();
}
}
});
}
public static void main(String agrs[]) {
Alarm s = new Alarm();
Thread t1 = new Thread(s);
t1.start();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void run() {
while (true) {
Date now = new Date();
dangqian.setText("当前时间: " + now.toString());
if(fo)
{
RI.setEditable(false);
SHI.setEditable(false);
FEN.setEditable(false);
MIAO.setEditable(false);
queding.setText("关闭");
SimpleDateFormat ri=new SimpleDateFormat("dd"); //封装 为了获取日期
SimpleDateFormat shi=new SimpleDateFormat("kk"); //封装 为了获取小时
SimpleDateFormat fen=new SimpleDateFormat("mm"); //封装 为了获取分钟
SimpleDateFormat miao=new SimpleDateFormat("ss"); //封装 为了获取秒钟
int riqi=Integer.parseInt(ri.format(now)); //获取日期
int shizhong=Integer.parseInt(shi.format(now)); //获取小时
int fenzhong=Integer.parseInt(fen.format(now)); //获取分钟
int miaozhong=Integer.parseInt(miao.format(now)); //获取秒钟
if(riqi==r&&shizhong==h&&fenzhong==f&&miaozhong==m) //判断条件
{
try {
soumd1=Applet.newAudioClip(new File(music.getText()).toURL()); //播放音乐
soumd1.loop(); //我设置的是循环播放..这样不起床都不行..
fo=false;
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
}
}
}
}
⑶ 急需要一个简单的JAVA闹钟程序
你好,我费了一上午才给你写完,请看代码:
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.applet.AudioClip;
//
public class WakeUp extends JApplet implements Runnable, ActionListener {
DteTimePanel dtTimePane = new DteTimePanel();//时间面盘
JLabel lblWakeUpTime = new JLabel("唤醒时间");//唤醒时间
JTextField txtWakeUpTime = new JTextField("20:33", 5);//文本设置要唤醒的时刻和次数
JTextField txtSound = new JTextField("train.wav");//声音文件
JTextField txtSrchRadio =
new JTextField("http://www.radio-locator.com/");
JComboBox cboxPickRadio = new JComboBox();
JButton btnStartStop = new JButton("Start");
JButton btnSrchRadio = new JButton("Find");
JButton btnPlayRadio = new JButton("Play");
JTextField txtStatusInfo = new JTextField("状态消息");
AudioClip alarmSound;
Thread thrSound;
int ckHour;
int ckMin;
Calendar ckDate;
boolean doCheck = false;
public void init() {
alarmSound = getAudioClip(getCodeBase(), txtSound.getText());
JPanel panOuter = new JPanel();
GridLayout gridlay1 = new GridLayout(3, 1);
panOuter.setLayout(gridlay1);
panOuter.add(dtTimePane);
JPanel panWakeUpTime = new JPanel();
FlowLayout flow1 = new FlowLayout(FlowLayout.LEFT);
panWakeUpTime.setLayout(flow1);
panWakeUpTime.add(lblWakeUpTime);
panWakeUpTime.add(txtWakeUpTime);
JPanel panButtons = new JPanel();
GridLayout gridlay2 = new GridLayout(1, 3);
panButtons.setLayout(gridlay2);
panButtons.add(btnSrchRadio);
panButtons.add(btnPlayRadio);
btnStartStop.addActionListener(this);
panButtons.add(btnStartStop);
JPanel panSetAlarmTime = new JPanel();
GridLayout gridlay3 = new GridLayout(2, 2);
panSetAlarmTime.setLayout(gridlay3);
panSetAlarmTime.add(panWakeUpTime);
panSetAlarmTime.add(panButtons);
panSetAlarmTime.add(txtSound);
panSetAlarmTime.add(txtSrchRadio);
panOuter.add(panSetAlarmTime);
cboxPickRadio.addItem("radio station 1");
cboxPickRadio.addItem("radio station 2");
cboxPickRadio.addItem("radio station 3");
cboxPickRadio.setEditable(true);
JPanel panBottom = new JPanel();
GridLayout gridlay4 = new GridLayout(2, 1);
panBottom.setLayout(gridlay4);
panBottom.add(cboxPickRadio);
panBottom.add(txtStatusInfo);
panOuter.add(panBottom);
setContentPane(panOuter);
repaint();
}
public void start() {
String s1 = txtWakeUpTime.getText();
ckHour = Integer.parseInt(s1.substring(0, 2));
ckMin = Integer.parseInt(s1.substring(3, 5));
ckDate = new GregorianCalendar();
Calendar cal = new GregorianCalendar();
int mm = cal.get(Calendar.MONTH);
int dd = cal.get(Calendar.DAY_OF_MONTH);
int yy = cal.get(Calendar.YEAR);
ckDate.set(yy, mm, dd, ckHour, ckMin, 00);
if (ckDate.compareTo(cal) < 0) ckDate.add(Calendar.DATE, 1);
if (thrSound == null) {
thrSound = new Thread(this);
thrSound.start();
}
}
public void stop() {
doCheck = false;
if (thrSound != null) {
if (alarmSound != null)
alarmSound.stop();
thrSound = null;
}
}
public void run() {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) { }
GregorianCalendar currtime = new GregorianCalendar();
if (doCheck)
if (ckDate.compareTo(currtime) < 0) {
runTheSound();
}
}
}
public void runTheSound() {
doCheck = false;
if (alarmSound != null)
alarmSound.loop();
}
public void actionPerformed(ActionEvent evt) {
if (evt.getSource().equals(btnStartStop)) {
if (btnStartStop.getText().equals("Start")) {
btnStartStop.setText("Stop");
txtStatusInfo.setText("Alarm process started");
doCheck = true;
start();
} else if (btnStartStop.getText().equals("Stop")) {
btnStartStop.setText("Start");
txtStatusInfo.setText("Alarm process has been stopped.");
stop();
}
}
}
}
class DteTimePanel extends JPanel {
String lastTime = "";
public void paint(Graphics screen) {
GregorianCalendar xday = new GregorianCalendar();
String xtime = xday.getTime().toString();
Color fgColor = new Color(40, 120, 160);
Font type = new Font("Monospaced", Font.BOLD, 20);
screen.setFont(type);
screen.setColor(getBackground());
screen.drawString(lastTime, 5, 15);
screen.setColor(fgColor);
screen.drawString(xtime, 5, 15);
lastTime = xtime;
repaint();
}
}
请记得点赞哦
⑷ 谁有Java闹钟的源代码啊,在网上找那些都运行不了,可不可以发给我一下,最好是有。。。[email protected]
private class AlarmClock extends Thread{
java.util.date time= new java.util.date ();/.设置时间
private void set(java.util.date dateTime){
}
private java.util.date getTime(){
return time;
}
public void run(){
try{
while(true){
java.util.date currentTime=new java.date();
if(currentTime.before(getTime())==true){
System.out.println("闹的时间已经过啦!");
break;
}
eles if(currentTime.before(getTime())==false&¤tTime.after(getTime())==false){
System.out.println("该起床了!");
break;
sleep(1000);//休眠1000毫秒
}
}
catch(Exception e ){
e.printtrack();//打印线程栈信息;
}
}
private static void main(String []args){
//开启线程
new AlarmColock().start;
}
}
}
⑸ 求java闹钟程序源代码
import java.util.*;
import java.awt.*;
import java.applet.*;
import java.text.*;
import java.awt.event.*;
public class Alarm extends Applet implements Runnable
{
Thread timer=null; //创建线程timer
Image gif1; //clockp:闹钟的外壳,闹铃和报时物
boolean setflag=false,stopflag=false,cancelflag=false;
Panel setpanel;
//获取声音文件
AudioClip ring=getAudioClip(getCodeBase(), "1.mid");
Button setbutton=new Button("SET");
Button cancelbutton=new Button("CANCEL");
Button stopbutton=new Button("STOP");
//响应按钮事件
private ActionListener setli=new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
setflag=true;
}
};
private ActionListener cancelli=new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
setflag=true;
}
};
private ActionListener stopli=new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
ring.stop();
//清除的方法
//g.clearRect(83,280,20,30);
}
};
Label note1=new Label("Alarm clock:");
//GregorianCalendar提供的是一个日历式的东东,上面又多了很多的参数,是方便操作了不少。而Date类的功能远不及其,求个和日期有联系的还要自己计算。
GregorianCalendar cal=new GregorianCalendar();
GregorianCalendar cal2=new GregorianCalendar();
SimpleDateFormat df=new SimpleDateFormat("yyyy MM dd HH:mm:ss");//设置时间格式
Date mmy=new Date(); //生成Data对象
String lastdate=df.format(mmy);
Font F=new Font("TimesRoman",Font.PLAIN,14);//设置字体格式
Date dat=null;
Date timeNow;
Color fgcol=Color.blue;
Color fgcol2=Color.darkGray;
Color backcolor=Color.blue;
Label hlabel2,mlabel2,slabel2;//显示时间单位时所用的标签(时、分、秒)
int i;
int s,m,h;
TextField sethour,setmin,setsec;//显示当前时间文本框和定时文本框
//在Applet程序中,首先自动调用初始化完成必要的初始化工作,紧接着自动调用start,在进入执行程序和返回到该页面时被调用,而从该页面转到别的页面时,stop被调用,关闭浏览器时,执行destroy。
public void init()//初始化方法
{
int fieldx=50,fieldy1=120,fieldy2=220,fieldw=30,fieldh=20,space=50;//显示时间和定时文本框的定位参数
setLayout(null); //将布局管理器初始化为null
setpanel=new Panel();
setpanel.setLayout(null);
setpanel.add(note1);
note1.setBounds(30,100,60,20);
note1.setBackground(backcolor);
note1.setForeground(Color.black);
//定时用的文本框(时、分、秒)
sethour=new TextField("00",5);
setmin=new TextField("00",5);
setsec=new TextField("00",5);
hlabel2=new Label();
mlabel2=new Label();
slabel2=new Label();
//定时的小时文本框的位置、大小
setpanel.add(sethour);
sethour.setBounds(fieldx,fieldy2,fieldw,fieldh);
sethour.setBackground(Color.white);
//在文本框后加入单位“时”
setpanel.add(hlabel2);
hlabel2.setText("h");
hlabel2.setBackground(backcolor);
hlabel2.setForeground(Color.black);
hlabel2.setBounds(fieldx+fieldw+3,fieldy2,14,20);
fieldx=fieldx+space;
//定时的分钟文本框的位置、大小
setpanel.add(setmin);
setmin.setBounds(fieldx,fieldy2,fieldw,fieldh);
setmin.setBackground(Color.white);
//在文本框后加入单位“分”
setpanel.add(mlabel2);
mlabel2.setText("m");
mlabel2.setBackground(backcolor);
mlabel2.setForeground(Color.black);
mlabel2.setBounds(fieldx+fieldw+3,fieldy2,14,20);
fieldx=fieldx+space;
//定时的秒文本框的位置、大小
setpanel.add(setsec);
setsec.setBounds(fieldx,fieldy2,fieldw,fieldh);
setsec.setBackground(Color.white);
//在文本框后加入单位“秒”
setpanel.add(slabel2);
slabel2.setText("s");
slabel2.setBackground(backcolor);
slabel2.setForeground(Color.black);
slabel2.setBounds(fieldx+fieldw+3,fieldy2,14,20);
//设置闹钟控制按钮(on,off)
setpanel.add(cancelbutton);
setpanel.add(setbutton);
setpanel.add(stopbutton);
cancelbutton.setBounds(90,180,40,20);
setbutton.setBounds(140,180,40,20);
stopbutton.setBounds(522,180,40,20);
setbutton.addActionListener(setli);
cancelbutton.addActionListener(cancelli);
stopbutton.addActionListener(stopli);
stopbutton.setVisible(false);
//将面板加入当前容器中,并设置面板的大小和背景色
add(setpanel);
setpanel.setBounds(300,1,250,420);
setpanel.setBackground(backcolor);
/*int xcenter,ycenter,s,m,h;
//闹钟中心点所在位置
xcenter=145;
ycenter=162;
s=(int)cal.get(Calendar.SECOND);
m=(int)cal.get(Calendar.MINUTE);
h=(int)cal.get(Calendar.HOUR_OF_DAY);
//初始化指针位置
lastxs=(int)(Math.cos(s*3.14f/30-3.14f/2)*30+xcenter);
lastys=(int)(Math.sin(s*3.14f/30-3.14f/2)*30+ycenter);
lastxm=(int)(Math.cos(m*3.14f/30-3.14f/2)*25+xcenter);
lastym=(int)(Math.sin(m*3.14f/30-3.14f/2)*25+ycenter);
lastxh=(int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*18+xcenter);
lastyh=(int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*18+ycenter);
lasts=s; */
MediaTracker mt=new MediaTracker(this);//为给定组件创建一个跟踪媒体的MediaTracker对象,把图片添加到被跟踪的图片组
//Java允?Sapplet??HTML所在的位置(decument base)下?d?Y料,也允?Sapplet?钠涑淌酱a所在的位置(code base)下?d?Y料。藉由呼叫getDocumentBase()?cgotCodeBase()可得到URL物件。?@些函?????湍阏业侥阆胂螺d的?n案的位置
//clockp=getImage(getDocumentBase(),"11.png");
gif1=getImage(getCodeBase(),"2.gif");
//i为id号
mt.addImage(gif1,i++);
try
{
mt.waitForAll();
}
catch(InterruptedException e)
{};//等待加载结束
resize(600,420);//设置窗口大小
}
//窗口显示有改变的时候调用paint
public void paint(Graphics g)
{//重写paint()方法
int xh,yh,xm,ym,xs,ys,strike_times;
int xcenter,ycenter;
String today;
xcenter=148;
ycenter=186;
dat=new Date();
//用当前时间初始化日历时间
cal.setTime(dat);
//读取当前时间
s=(int)cal.get(Calendar.SECOND);
m=(int)cal.get(Calendar.MINUTE);
h=(int)cal.get(Calendar.HOUR_OF_DAY);
//换一种时间表达形式
today=df.format(dat);
//指针位置
xs=(int)(Math.cos(s*3.14f/30-3.14f/2)*30+xcenter);
ys=(int)(Math.sin(s*3.14f/30-3.14f/2)*30+ycenter);
xm=(int)(Math.cos(m*3.14f/30-3.14f/2)*25+xcenter);
ym=(int)(Math.sin(m*3.14f/30-3.14f/2)*25+ycenter);
xh=(int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*12+xcenter);
yh=(int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*12+ycenter);
//设置字体和颜色
g.setFont(F);
//前景色
g.setColor(getBackground()); //取背景色的
g.drawImage(gif1,75,110,this);
//以数字方式显示年、月、日和时间
g.drawString(today,55,415);
//画指针
g.drawLine(xcenter,ycenter,xs,ys);
g.drawLine(xcenter,ycenter-1,xm,ym); //(x1,y1,x2,y2)
g.drawLine(xcenter-1,ycenter,xm,ym);
g.drawLine(xcenter,ycenter-1,xh,yh);
g.drawLine(xcenter-1,ycenter,xh,yh);
int timedelta;//记录当前时间与闹铃定时的时差
Integer currh,currm,currs;//分别记录当前的时、分、秒
Date dat2=new Date();
cal2.setTime(dat2);
//读取当前时间
currh=(int)cal2.get(Calendar.SECOND);
currm=(int)cal2.get(Calendar.MINUTE);
currs=(int)cal2.get(Calendar.HOUR_OF_DAY);
//这样做的话说我API已过时
//timeNow=new Date();
//currh=new Integer(timeNow.getHours());
//currm=new Integer(timeNow.getMinutes());
//currs=new Integer(timeNow.getSeconds());
if(setflag)
{ //判断是否设置了闹钟
//判断当前时间是否为闹钟所定的时间
if((currh.intValue()==Integer.valueOf(sethour.getText()).intValue())&&(currm.intValue()==Integer.valueOf(setmin.getText()).intValue())&&(currs.intValue()==Integer.valueOf(setsec.getText()).intValue()))
{
ring.play();
g.drawImage(gif1,83,280,this);
stopbutton.setVisible(true);
}
timedelta=currm.intValue()*60+currs.intValue()-Integer.valueOf(setmin.getText()).intValue()*60-Integer.valueOf(setsec.getText()).intValue();
if((timedelta>=30))
{
//若当前时间与闹钟相差时间超过30秒,闹钟自动停
ring.stop();
//清除的方法
g.clearRect(83,280,20,30);
}
}
dat=null;
}
public void start()
{
if(timer==null)
{
timer=new Thread(this);//将timer实例化
timer.start();
}
}
public void stop()
{
timer=null;
}
//给创建线程后start之后自动执行的函数
public void run()
{
//在run()方法中,调用repaint()方法,以重绘小程序区,进行时钟显示的更新。接着调用sleep方法让当前线程(也就是我们创建的线程clockthread)睡眠1000毫秒,因为我们每秒钟要更新一下显示,所以让它睡眠1秒
while(timer!=null)
{
try
{
timer.sleep(1000);
}
catch(InterruptedException e)
{}
//调用repaint时,会首先清除掉paint方法之前的画的内容,再调用paint方法
repaint();//刷新画面
}
timer=null;
}
//当AWT接收到一个applet的重绘请求时,它就调用applet的 update(),默认地,update() 清除applet的背景,然后调用 paint()。重载 update(),将以前在paint()中的绘图代码包含在update()中,从而避免每次重绘时将整个区域清除
//有两种方法可以明显地减弱闪烁:重载 update()或使用双缓冲。
//使用双缓冲技术:另一种减小帧之间闪烁的方法是使用双缓冲,它在许多动画Applet中被使用。其主要原理是创建一个后台图像,将需要绘制的一帧画入图像,然后调用DrawImage()将整个图像一次画到屏幕上去;好处是大部分绘制是离屏的,将离屏图像一次绘至屏幕上比直接在屏幕上绘制要有效得多,大大提高做图的性能。
// 双缓冲可以使动画平滑,但有一个缺点,要分配一张后台图像,如果图像相当大,这将需要很大一块内存;当你使用双缓冲技术时,应重载 update()。
public void update(Graphics g)
{
Image offscreen_buf=null;
//采用双缓冲技术的update()方法
if(offscreen_buf==null)
offscreen_buf=createImage(600,420);
Graphics offg=offscreen_buf.getGraphics();
offg.clipRect(1,1,599,419);
paint(offg);
Graphics ong=getGraphics();
ong.clipRect(1,1,599,419);
ong.drawImage(offscreen_buf,0,0,this);
}
/** Creates a new instance of AlarmClock */
}
⑹ 谁有闹钟的源代码
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP CLEAR ;清零中断
ORG 000BH
AJMP START ;计时中断
ORG 0013H
AJMP STOP ;停止中断
MAIN: MOV TMOD,#01H ;T/C0工作方式为方式0
MOV IE, #87H
MOV TL0, #78H ;置T/C0初值(216-10000/2=EC78H)
MOV TH0, #0ECH
SETB TR0 ;开启各个中断
SETB IT0
SETB IT1
MOV R4, #00H ;1/100秒置初值
MOV R3, #00H ;秒置初值
MOV R2, #00H ;分置初值
MOV 79H, #00H ;1/100秒位置初值
MOV 7AH, #00H ;1/10秒位置初值
MOV 7BH, #00H ;秒位置初值
MOV 7CH, #00H ;十秒位置初值
MOV 7DH, #00H ;分位置初值
MOV 7EH, #00H ;十分位置初值
SETB P1.2
SHOW: MOV SP,#5FH ;显示程序
MOV A,#03H
MOV DPTR,#0FF20H ;设置8155初始化
MOVX @DPTR,A
DISP4: MOV R5,#01H
MOV R0,#79H
MOV A,R5
LD0: MOV DPTR,#0FF21H ;C口地址送DPTR
MOVX @DPTR,A ;位码送位选端
MOV DPTR,#0FF22H ;B口地址送DPTR
MOV A,@R0 ;待选地址偏移量送A
ADD A,#0EH ;对A进行地址修正
MOVC A,@A+PC ;查断码表
MOVX @DPTR,A ;断码送B口,1字节
ACALL DLAY ;延时1ms,2字节
INC R0 ;显示缓冲区地址加1,1字节
MOV A,R5 ;位码送A,1字节
JB ACC.5,LD1 ;若显示一遍则返回,3字节
RL A ;位码左移一位,1字节
MOV R5,A ;送回R5,1字节
AJMP LD0 ;显示下一个数码,2字节
LD1: SJMP DISP4 ;跳转到DJSP4,2字节
DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,88H,83H,0C6H
DB 0A1H,86H,8EH,0FFH,0CH,89H
DB 0C8H,0C1H,7FH,0BFH
DLAY: MOV R7,#02H ;延时子程序,延时1ms
DL1: MOV R6,#0FFH
DL2: DJNZ R6,DL2
DJNZ R7,DL1
RET
START: MOV TL0, #78H
MOV TH0, #0ECH
PUSH ACC
JNB P1.2,NEXT ;P1.2为0则返回不计时
INC R2
MOV A, R2
MOV B, #10
DIV AB
MOV 79H, B ;存1/100秒位
MOV 7AH, A ;存1/10秒位
CJNE R2, #100, NEXT ;1/100秒到100则秒加一
MOV R2, #00H
MOV 79H, #00H
MOV 7AH, #00H
INC R3 ;加1秒
MOV A, R3
MOV B, #10
DIV AB
MOV 7BH, B ;存秒位
MOV 7CH, A ;存十秒位
CJNE R3, #60, NEXT ;秒到60则分加一
MOV R3, #00H
MOV 7BH, #00H
MOV 7CH, #00H
INC R4
MOV A, R4
MOV B, #10
DIV AB
MOV 7DH, B ;存分位
MOV 7EH, A ;存十分位
CJNE R4, #100, NEXT ;分到100则还原
MOV R4, #00H
MOV 7DH, #00H
MOV 7EH, #00H
NEXT: POP ACC
RETI
CLEAR: MOV R2, #00H ;计时器清零
MOV R3, #00H
MOV R4, #00H
MOV 79H,#00H
MOV 7AH,#00H
MOV 7BH,#00H
MOV 7CH,#00H
MOV 7DH,#00H
MOV 7EH,#00H
RETI
STOP: CPL P1.2 ;停止或开始
RETI
END
⑺ 51单片机电子闹钟的proteus图和源程序 麻烦详细一点
/************************/
/*题目:数字钟设计*/
/*功能:*/
/*1、数字显示时间*/
/*5、闹钟功能*/
/*主函数:main*/
/**/
/************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit la=P2^6; //数码管段选
sbit wela=P2^7; //数码管位选
sbit fm=P2^3; //蜂鸣器
sbit s2=P3^4; //s2按键,设置调时
sbit s3=P3^5; //s3按键,加1
sbit s4=P3^6; //s4按键,减1
sbit s5=P3^7; //s5按键,切换显示
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
//sbit led5=P1^4;
//sbit led6=P1^5;
//sbit led7=P1^6;
//sbit led8=P1^7;
uchar count;
char sec,minu,hour,day,week,mon;
uchar n_sec,n_minu,n_hour;
uint year;
uchar hs,hg,mis,mig,ss,sg,set_2=0,set_5=1;
uchar nhs,nhg,nms,nmg,nss=0,nsg=0;
uchar ms,mg,ds,dg,w;
uchar nian1,nian2,nian3,nian4;
uchar code tableyi[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x40};//0-F,-,共阴
uchar table1[]={31,31,29,31,30,31,30,31,31,30,31,30,31}; //闰年
uchar table2[]={31,31,28,31,30,31,30,31,31,30,31,30,31}; //非闰年
void delay(uint); //延时函数
void timer0(); //走时中断函数
void jishi(); //计时函数
void key_change(); //切换显示按键函数
void key_set(); //设置时间按键函数
void disp(uchar,uchar,uchar,uchar,uchar,uchar); //显示函数
void zd_clock(); //整点报时函数
void nz_clock(); //闹钟函数
uchar incone(uchar); //加1函数
uchar decone(uchar); //减1函数
void set_time(); //设置时间函数
void set_clock(); //设置闹钟函数
void set_mdw(); //设置月日星期函数
*****************************************************
⑻ java闹钟程序代码
我用一楼的代码运行了下,发现程序到点之后并没打印时间到,而且程序也没有退出,研究了下,发现TimerTask的cancel()方法似乎不管用,而Timer的cancel则可以正常使用,所以改成现在这个样子就能够正常运行了:
public class Alarm {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schele(new task(timer), 1000, 1000);//不同之处
}
static class task extends TimerTask {
Timer timer;//多了个Timer属性,用它来cancel时间调度器
task(Timer timer){
this.timer = timer;
}
public void run() {
Date now = new Date();
SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss");
if (time.format(now).toString().compareTo("09:44:00") >= 0){
timer.cancel();
System.out.println("时间到");
}else
System.out.println(time.format(now));
}
}
}
⑼ 求个Android手机闹钟程序的代码
想要的话 可以联系我
⑽ android源码中闹钟源码在哪儿
首先 ,android studio中, 写出 你要找的 这个类. 点进去,会有 源码,如果没有源码,
右上角会有提示,
download src!
然后 只要你的 电脑 连着网,有vpn 就直接 下载下来了
当然你也可以选择 安装 本地源码
源码在 你看 那个类的 包名 路径