闹钟程序JAVA 闹钟程序

闹钟程序  时间:2021-06-12  阅读:()

可以帮我设计一个c语言闹钟程序么,我课程设计用的。。。最好在每个重要的语句后面附上说明

//T0 中断函数 void Timer0() interrupt 1 { uchar i; TH0=(65536-50000)/256; //恢复初值 TL0=(65536-50000)%256;

if (laba==1)

P1.0=~P1.0;//闹钟时间到了 就让P1.0输出 P1.0接喇叭 if(++Count!=2) return; Count=0; Digits_of_6DSY[0]++; //0.1s位累加 for(i=0;i<=5;i++) //进位处理 { if(Digits_of_6DSY[i]==10) { Digits_of_6DSY[i]=0;

shijian++; if(i!=5) Digits_of_6DSY[i+1]++; //如果0~4 位则分别向高一位进位 } else break; //若某低位没有进位,怎循环提前结束 } }

// 主程序 void main() { uchar i,j;

long shijian=0;

laba=0; Count=0; TMOD=0x01; //计数器T0方式1 TH0=(65536-50000)/256; //50ms定时 TL0=(65536-50000)%256; IE=0x82; TR0=1; //启动T0 while(1)

{

if (shijian==???)//这里设定闹钟时间多久 按秒计算 如果你要设定小时分什么的自己在改下

laba=1;

}

单片机:闹钟程序

#include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit wela=P2^7; sbit dula=P2^6; sbit s1=P3^4;//模式的选择 sbit s2=P3^5;//调高 sbit s3=P3^6;//调低 sbit s4=P3^7;//选择是否开启闹铃 sbit beep=P2^3; uchar tt,num,t1,settime,bi; uchar flag; //至位 int fen,miao,fen1=0,miao1=10; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; uchar dis[]={0x40,0x40,0x40,0x40,0x40,0x40}; void timedisplay(); void display(); void keydisplay(); void setdisplay(); void display1(); void delay(uchar z) { uchar i,j; for(i=125;i>0;i--) for(j=z;j>0;j--); } void warm() { if(bi==1) { beep=0; TR1=1; } } void init() { TMOD=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%6; TH1=(65536-50000)/256; TL1=(65536-50000)%6; EA=1; ET0=1; ET1=1; TR0=1; } void keyscan() { if(s4==0) { delay(5); { if (s4==0) { while(!s4); bi++; if(bi==2) { bi=0; } } } } if(s1==0) { delay(5); if(s1==0) { while(!s1); num++; if(num==3) { num=0; } } } if(num!=0) { if(s2==0) { delay(5); if(s2==0) { if(num==1) { miao1++; if(miao1==60) miao1=0; } if(num==2) { fen1++; if(fen1==60) fen1=0; } while(!s2) { keydisplay(); } } } if(s3==0) { delay(5); if(s3==0) { if(num==1) { miao1--; if(miao1==-1) miao1=59; } if(num==2) { fen1--; if(fen1==-1) fen1=59; } while(!s3) { keydisplay(); } } } } } void setdisplay() //设置模式下的显示 { dis[0]=0x40; dis[1]=0x40; dis[2]=table[0]; dis[3]=table[num]; dis[4]=0x40; dis[5]=0x40; display(); } void keydisplay() //通过按键加减时的显示 { if((flag==1)&&(num==2)) { dis[0]=table[fen1/10]&0x00; dis[1]=table[fen1]&0x00; } else { dis[0]=table[fen1/10]; dis[1]=table[fen1]; } dis[2]=0x40; if((flag==1)&&(num==1)) { dis[3]=table[miao1/10]&0x00; dis[4]=table[miao1]&0x00; } else { dis[3]=table[miao1/10]; dis[4]=table[miao1]; } dis[5]=0x40; display(); } void display() //基本的动态显示 { dula=1; //the one P0=dis[0]; dula=0; wela=1; P0=0xfe; wela=0; delay(1); dula=1; //the two P0=dis[1]; dula=0; wela=1; P0=0xfd; wela=0; delay(1); dula=1; //the three P0=dis[2]; dula=0; wela=1; P0=0xfb; wela=0; delay(1); dula=1; //the four P0=dis[3]; dula=0; wela=1; P0=0xf7; wela=0; delay(1); dula=1; //the five P0=dis[4]; dula=0; wela=1; P0=0xef; wela=0; delay(1); dula=1; //the six P0=dis[5]; dula=0; wela=1; P0=0xdf; wela=0; delay(1); } void timedisplay() { dis[0]=table[fen/10]; dis[1]=table[fen]; dis[2]=0x40; dis[3]=table[miao/10]; dis[4]=table[miao]; dis[5]=0x40; display(); } void main() { init(); while(1) { keyscan(); if(num!=0) { keydisplay(); } if(num==0) { timedisplay(); } } } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%6; tt++; if(tt==20) { tt=0; miao++; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; } } } if(!num&&fen1==fen&&miao1==miao) { warm(); } settime++; if(settime==10) { flag=1; } if(settime==20) { settime=0; flag=0; } } void timer1() interrupt 3 { TH1=(65536-50000)/256; TL1=(65536-50000)%6; t1++; if(t1==60) { t1=0; beep=1; } }

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 .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 ept(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("确定"); (); } } }); } 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 闹钟程序相关文档

PQS彼得巧 年中低至38折提供台湾彰化HiNet线路VPS主机 200M带宽

在六月初的时候有介绍过一次来自中国台湾的PQS彼得巧商家(在这里)。商家的特点是有提供台湾彰化HiNet线路VPS主机,起步带宽200M,从带宽速率看是不错的,不过价格也比较贵原价需要300多一个月,是不是很贵?当然懂的人可能会有需要。这次年中促销期间,商家也有提供一定的优惠。比如月付七折,年付达到38折,不过年付价格确实总价格比较高的。第一、商家优惠活动年付三八折优惠:PQS2021-618-C...

GigsGigsCloud(年付26美元)国际线路美国VPS主机

已经有一段时间没有听到Gigsgigscloud服务商的信息,这不今天看到商家有新增一款国际版线路的美国VPS主机,年付也是比较便宜的只需要26美元。线路上是接入Cogentco、NTT、AN2YIX以及其他亚洲Peering。这款方案的VPS主机默认的配置是1Gbps带宽,比较神奇的需要等待手工人工开通激活,不是立即开通的。我们看看这款服务器在哪里选择看到套餐。内存CPUSSD流量价格购买地址1...

稳爱云(26元),香港云服务器 1核 1G 10M带宽

稳爱云(www.wenaiyun.com)是创建于2021年的国人IDC商家,主要目前要出售香港VPS、香港独立服务器、美国高防VPS、美国CERA VPS 等目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。机房采用业内口碑最好香港沙田机房,稳定,好用,数据安全。线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封装的...

闹钟程序为你推荐
视频压缩算法关于视频压缩的原理?qq网络硬盘如何使用QQ网络硬盘微信智能机器人有没有可以拉进微信群的聊天机器人单元测试规范单元场景测试是如何进行的?第三方支付系统有哪些第三方支付系统开发公司私服发布站程序如何在电脑上建一个私服网站?有网站源码!smo优化SMO公司是什么公司蚂蚁网络电视pps和蚂蚁哪个网络电视更好?钛链如何辨别钛链的真伪防火墙软件排名求一较好的免费的防火墙软件
免费网站空间 虚拟主机评测网 美国linux主机 淘宝二级域名 免费动态域名 日本软银 duniu l5639 国外服务器 omnis 全能主机 个人空间申请 php空间推荐 ntfs格式分区 国外免费asp空间 vip域名 太原联通测速 国内域名 域名转入 1美元 更多