闹钟程序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 闹钟程序相关文档

安徽BGP云服务器 1核 1G 5M 29元/月 香港云服务器 1核 1G 19元首月 麻花云

麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...

打开海外主机域名商出现"Attention Required"原因和解决

最近发现一个比较怪异的事情,在访问和登录大部分国外主机商和域名商的时候都需要二次验证。常见的就是需要我们勾选判断是不是真人。以及比如在刚才要访问Namecheap检查前几天送给网友域名的账户域名是否转出的,再次登录网站的时候又需要人机验证。这里有看到"Attention Required"的提示。我们只能手工选择按钮,然后根据验证码进行选择合适的标记。这次我要选择的是船的标识,每次需要选择三个,一...

这几个Vultr VPS主机商家的优点造就商家的用户驱动力

目前云服务器市场竞争是相当的大的,比如我们在年中活动中看到各大服务商都找准这个噱头的活动发布各种活动,有的甚至就是平时的活动价格,只是换一个说法而已。可见这个行业确实竞争很大,当然我们也可以看到很多主机商几个月就消失,也有看到很多个人商家捣鼓几个品牌然后忽悠一圈跑路的。当然,个人建议在选择服务商的时候尽量选择老牌商家,这样性能更为稳定一些。近期可能会准备重新整理Vultr商家的一些信息和教程。以前...

闹钟程序为你推荐
donghang什么是客票?东航的客票有几种?股价图给你一张股票图你是怎么分析的具体的说数据监测什么是媒体监测?视频技术短视频运营每天的工作是做什么?需要所学的技术都有什么方面?视频技术视频编辑是干什么的,主要是做一些什么工作呢?这个职位好不好?发展前景怎么样?awvAWV的转换器 要免费的 看好是AWV不是AMVjstz江苏泰州市地税如何申报?免费下载空间要下载免费空间播放器怎么弄免费下载空间怎么才能免费安装空间播放器软件开发技术文档软件开发项目中,过程管理文档都包括什么?
VPS之家 winhost 174.127.195.202 debian源 个人空间申请 52测评网 坐公交投2700元 godaddy域名证书 大容量存储器 七夕促销 泉州电信 亚马逊香港官网 绍兴电信 shopex主机 双线机房 闪讯官网 512mb 中国电信网络测速 华为k3 浙江服务器 更多