闹钟编程
下面的程序就是用AT89C2051做的数字式时钟,数码管显示,具有闹钟功能,整点报时,几点蜂鸣器响几下,晚上九点到第二天早上六点整点不报时。给你参考一下吧。
#include<AT89X051.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit sda=P3^1;
sbit scl=P3^0;
sbit key1=P1^7;
sbit key2=P1^6;
sbit key3=P1^5;
sbit kz=P3^5;
sbit bs=P3^4;
char shi=12,fen=12,ke1,mm,mi,nh,nf,mn,mms,baos,a;
bit ms,nt,b;
uchar code SEG8[]={ 0x50,0x5F,0x94,0x15,0x1B,
0x31,0x30,0x57,0x10,0x11,
0x40,0x4F,0x84,0x05,0x0B,
0x21,0x20,0x47,0x00,0x01,
0x21,0xa2,0x52,0xff};
//0-9,0.-9.;s.,f.,n 暗
void delay1ms(uchar ms)
{
uchar i;
while(ms--)
{
for(i = 0; i< 250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
void display(char numh,char numf)
{
uchar qian,,sh,ge;
if(ke1==1)
qian=20;
else if(ke1==2)
qian=21;
else if((ke1==3)||(ke1==4))
qian=22;
else if(ke1==0)
qian=numh/10;
if((ke1==1)||(ke1==2))
=23;
else if(ke1==3)
=20;
else if(ke1==4)
=21;
else if(ke1==0)
{
=numh%10;
if(ms)
=+10;
}
if((ke1==1)||(ke1==3))
{sh=numh/10;ge=numh%10;}
else if((ke1==2)||(ke1==4)||(ke1==0))
{sh=numf/10;ge=numf%10;}
P1=SEG8[qian];
P3_3=0;delay1ms(2);P3_3=1;
P1=SEG8[];
P3_7=0;delay1ms(2);P3_7=1;
P1=SEG8[sh];
P3_2=0;delay1ms(2);P3_2=1;
P1=SEG8[ge];
P3_0=0;delay1ms(2);P3_0=1;
}
///////////x24c02//////////////////
void delay24()
{ ;; }
void init24c02() //初始化
{
sda=1;
delay24();
scl=1;
delay24();
}
void start2() //开始信号
{
sda=1;
delay24();
scl=1;
delay24();
sda=0;
delay24();
}
void stop() //停止
{
sda=0;
delay24();
scl=1;
delay24();
sda=1;
delay24();
}
void respons() //应答
{
uchar i;
scl=1;
delay24();
while((sda==1)&&(i<250))i++;
scl=0;
delay24();
}
void write_byte(char date) // 写数据子函数
{
uchar i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
delay24();
sda=CY;
delay24();
scl=1;
delay24();
}
scl=0;
delay24();
sda=1;
delay24();
}
uchar read_byte() // 读数据子函数
{
uchar i,k;
scl=0;
delay24();
sda=1;
delay24();
for(i=0;i<8;i++)
{
scl=1;
delay24();
k=(k<<1)|sda;
scl=0;
delay24();
}
return k;
}
///////写数据函数///////////////////
void write_add(uchar address,char date)
{
start2();
write_byte(0xa0);
respons();
write_byte(address);
respons();
write_byte(date);
respons();
stop();
}
char read_add(uchar address) //读数据函数
{
uchar date;
start2();
write_byte(0xa0);
respons();
write_byte(address);
respons();
start2();
write_byte(0xa1);
respons();
date=read_byte();
stop();
return date;
}
void keyf(char *con,char up,char don)
{
uint i;
for(i=0;i<800;i++)
{
if((ke1==1)||(ke1==2))
display(shi,fen);
else if((ke1==3)||(ke1==4))
display(nh,nf);
P1=0xff;
if(key1==0)
{
delay1ms(10);
if(key1==0)
{
ke1++;
if(ke1>=5)
ke1=0;
while(!key1);
break;
}
}
if(key2==0)
{
delay1ms(10);
if(key2==0)
{
i=0;
*con+=1;
if(*con>up)
*con=0;
while(!key2);
}
}
if(key3==0)
{
delay1ms(10);
if(key3==0)
{
i=0;
*con-=1;
if(*con<don)
*con=up;
while(!key3);
}
}
}
}
void key()
{
P1=0xff;
if(key1==0)
{
EA=0;
delay1ms(20);
if(key1==0)
{
ke1++;
if(ke1>=5)
ke1=0;
while(!key1);
}
if(ke1==1)
{
keyf(&shi,23,0);
}
if(ke1==2)
{
keyf(&fen,59,0);
}
if(ke1==3)
{
keyf(&nh,23,0);
}
if(ke1==4)
{
keyf(&nf,59,0);
}
P1=0xff;P3=0xff;
write_add(0x01,nh);
delay1ms(5);
write_add(0x03,nf);
ke1=0;
EA=1;
}
}
void Timer0Init(void)
{
TMOD |= 0x01;
TL0 = 0xB0;
TH0 = 0x3C;
TF0 = 0;
TR0 = 1;
EA=1;
ET0=1;
}
void main()
{
P1=0xff;
P3=0xff;
init24c02();
nh=read_add(0x01);
delay1ms(50);
nf=read_add(0x03);
delay1ms(50);
Timer0Init();
while(1)
{
key();
display(shi,fen);
}
}
void tim0 ()interrupt 1
{
TH0=0X3C;
TL0=0XB0;
if(++mms>=10)
{
mms=0;
ms=!ms;
}
if(++mm>=20)
{
mm=0;
if(++mi>=60)
{
mi=0;
if(++fen>=60)
{
fen=0;
if(++shi>=24)
shi=0;
}
}
}
if(fen==0)
{
if((shi>=7)&&(shi<=20))
{
if((baos==0)&&(b==0))
{
baos=shi;
baos=baos*2;
b=1;
}
if(++a==10)
{
a=0;
if(--baos!=0)
{
bs=!bs;
}
else
{
bs=1;
}
}
}
}
else
b=0;
if(nh==shi)
{
if(nf==fen)
{
if(nt==0)
{
P1=0xff;
if(++mn==10)
{
mn=0;
kz=!kz;
}
if(key3==0)
{
nt=1;
kz=1;
}
}
}
else
{
nt=0;
kz=1;
}
}
}
2. 用C语言写51单片机闹钟程序
//*********************************************************
//实现功能:本程序实现在P1口模拟一个流水灯程序
//*********************************************************
#include <reg51.h>
#define p_out P1 //宏定义输出的i/o口为P1
//******************时间延迟函数**********************
//描伏中 述:用指令实现延时一段时间
//入口参数:int i,为时间延迟参数
//****************************************************
void delay_time(int i)
{
while(i)
i--;
}
//******************主函数***************************
//描 述:实现在P1口模拟一个流水灯程序
//****************************************************
void main(void)
{unsigned char i=0; //初始化一个局部变量为悉厅备0
p_out=0xff; //初始化将要输出的i/o口,输出高电平,熄灭所有灯
while(1)
{
for(i=0;i<8;i++)
{
p_out=~(1<<i);//点亮一个灯,
delay_time(50000); //延迟一段时间
p_out=0xff;//熄灭所有灯
}
}
}
//**************************************
//****************************************************
//实现功能:把键盘输入的键盘码,用led显示出来
//****************************************************
#include <reg51.h>
#define p_key P1
#define led_date P0
#define choose_p P2
unsigned char change(unsigned char i);
unsigned int display_num=0;
//******************时间延迟函数**********************
//描 述:用指令实现延睁毁时一段时间
//入口参数:int i,为时间延迟参数
//****************************************************
void delay_time(int i)
{
while(i)
i--;
}
//******************按键扫描函数**********************
//描 述:对4*4键盘进行扫描,程序只适合4*4键盘使用,
// 键盘占用一组完整的i/o口,在使用这个程序前
// 要宏定义p_key为用户实际连接键盘的i/o口
// #define p_key Pn;//(n=0、1、2、3)
//返回参数:若有检测到按键就返回按键的编号,否则返回0xff
//****************************************************
unsigned char read_key(void)
{
unsigned char j,key,key_buf=0;
p_key=0xff;
//检测是否有建按下//
p_key=0xf0;
key=p_key;
if(key==0xf0)
{
return(0xff);//没按键按下,返回0xff
}
//有按下,延时去抖//
delay_time(5000);
//确认是否有建按下//
p_key=0xf0;
key=p_key;
if(key==0xf0)
{
return(0xff);//没按键按下,返回0xff
}
//真的有按键按下,扫描是哪一行有按键按下//
for(j=0;j<4;j++)
{key=p_key&(0x10<<j);
if (key)
{
key=p_key;
}
else
{
key_buf=j*4;
p_key=~(0x10<<j);//第j行的按键按下了,第j行输出0,其他的i/o口输出1
//扫描是第j行的哪个按键按下//
for(j=0;j<4;j++)
{
key=p_key&(1<<j);
if (key)
{
key=p_key;
}
else
{
key_buf+=j;
return(key_buf);//扫描到按键的确定位置,返回按键的编号
}
}
}
}
//没扫描到按键,//
return(0xff);
}
//***************七段数码管显示函数*******************
//描 述:对四位的扫描型七段数码管进行扫描显示,在使用
// 前要定义一个全局变量display_num
// unsigned int display_num;
//入口参数:unsigned int num,要显示的数字(0-9999)
//****************************************************
void display(unsigned int num)
{
if(num<10000)
{
display_num=num;
}
choose_p|=3;//先关显示
led_date=change(display_num/1000);//得到千位的数字,并转换成七段码型
choose_p&=0xfe;//选通千位
delay_time(50);//延时一段时间
choose_p|=1;//关显示
display_num=display_num%1000;
led_date=change(display_num/100);//得到百位的数字,并转换成七段码型
choose_p&=0xfd;//选通百位
delay_time(50);//延时一段时间
choose_p|=2;//关显示
display_num=display_num%100;
led_date=change(display_num/10);//得到十位的数字,并转换成七段码型
choose_p&=0xfb;//选通十位
delay_time(50);//延时一段时间
choose_p|=4;//关显示
led_date=change(display_num%10);//得到个位的数字,并转换成七段码型
choose_p&=0xf7;//选通十位
delay_time(50);//延时一段时间
choose_p|=8;//关显示
}
//****************数字-码型转换函数*******************
//描 述:把数字转换成七段码型,此程序仅配合共阳的七
// 段数码管使用
//入口参数:unsigned char i,要转换的数字(0-9),
//返回参数:转换后的七段码型,0xff表示转换失败
//****************************************************
unsigned char change(unsigned char i)
{
switch(i)
{
case 0:
return(0xc0);//0的七段码型
case 1:
return(0xf9);//1的七段码型
case 2:
return(0xa4);//2的七段码型
case 3:
return(0xb0);//3的七段码型
case 4:
return(0x99);//4的七段码型
case 5:
return(0x92);//5的七段码型
case 6:
return(0x82);//6的七段码型
case 7:
return(0xf8);//7的七段码型
case 8:
return(0x80);//8的七段码型
case 9:
return(0x90);//9的七段码型
default:
return(0xff);//转换失败
}
}
//*********************主函数*************************
//描 述:把键盘输入的键盘码,用led显示出来
//****************************************************
int main(void)
{unsigned char i;
while(1)
{
i=read_key();//扫描键盘
if(i<16)
display((unsigned int)i);//有效的键盘值
else
display(0xffff);//数据无效
}
}
//两个程序加起来就可以完成你要求的功能,有说明,你认真看一下吧。
3. 求单片机C语言的电子闹钟设计程序 其功能只要有闹钟,一天24小时的时钟功能就行。
你看看行不行
#include<reg51.h>
uchar code tab[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}
void view() /*七段数码管显示程序 七个管轮流液悉显示*/
{P3=0x01;
unsigned int i=0;
while(i<6)
{n=vnum;
P1=tab[n];
P3<<=1;
i++;
}
}
void mDelay(unsigned int Delay) /*延时程序*/
{ unsigned int i;
for(;Delay>虚埋州0;Delay--)
{ for(i=0;i<124;i++)
{;}
}
}
void jumpnum() /*用于钟表时分秒的进位*/
{if(jnum(5)>9) /*秒进位
{jnum[4]=jnum[4]+1;
jnum[5]=0;
if(jnum[4]>6) /*秒到分进位
{jnum[3]=jnum[3]+1;
jum[4]=0;
if(jnum[3]>9) /*分进位
{jnum[2]=jnum[2]+1;
jnum[3]=0;
if(jnum[2]>6) /*分到时进位
{jnum[1]=jnum[1]+1;
jnum[2]=0;
if(jnum[1]>9) /*时的进位
{jnum[1]=0;
jnum[0]=jnum[0]+1;
}
else if(jnum[1]>4&&jnum[0]>=2)
{jnum[1]=0;
jnum[0]=0;
}
}
}
}
}
void key() /*键盘控制程序
{if((P2&0xFF)!=0xFF); /*防抖动
{mDelay(3000);
if((P2&0xFF)!=0xFF)
{unsign int c;
c=1;
while(c<4)
{ if((P2&0xFF)!=0xFF);
{mDelay(3000);
vnum[]=num[];
void view();
if((P2&0xFF)!=0xFF)
{switch(P2): /*判断不同的按键
{case 0xFE: c++; /*c用于判断是闹钟调时c=3还是时钟调时c=2
case oxFD :if(c=2) /*分位增加
{num[3]++;}
else if(c=3)
{lnum[3]++;
}
case oxFC :if(c=2) /*时位增加
{num[1]++;}
else if(c=3)
{lnum[1]++;
}
}
if(c=2) /*增加后判断是否需要进位
{jnum[]=num[];
jumpnum();
vnum[]=num[];
void view[];}
if(c=3)
{jnum[]=lnum[];
jumpnum();
vnum[]=num[];
void view[];}}}}}}}
void clock() /*闹钟程序
{for(cl=0;num[cl]==lnum(cl);cl=cl+1) /*当前时间与设定时间相同
{;}
unsigned int kp=0;
if(cl==5&&kp==0) /*闹钟铃声
{for(i=1;i<100;i++)
{P1_7=~P1_7;
for(j=1;i<=100;j++);}
void mDelay(3000);
for(i=1;i<100;i++)
{P1_7=~P1_7;
for(j=1;i<=100;j++);}
vnum[]=num[];
void view();
if((P2&0xFF)!=0xFF); /*判断是否有按键,有则停止闹钟
{mDelayd(3000)
void view();
if((P2&0xFF)!=0xFF)
{kp=1;}
}}}
viod intclock() /*整点报时程序
{unsigned int ic,i;
if(num[2]==5&&num[3]==9&&num[4]==5&&num[5]==0) /*判断差十秒整点差蔽
{if(ic=num[5]+2;(ic==(num[5]+2))&&num[5]<59;ic=num[5]) /*开始发出500hz声因
{for(i=0;i<100;i++)
{P1_7=~P1_7;
for(i=0;i<=100;i++)
}
for(i=1;i<150;i++) /*1000hz声音
{P1_7=~P1_7;
for(i=0;i<=50;i++)
}}}}
void count() inturrupt 1 using 2 /*计时程序
{cn++;
if(cn==20)
{num[5]++;
cn=0;
}
}
void main()
{ P2=0x00;
unsigned int num[5],jnum[5],lnum[5];
ET0=1;
EA=1;
TR0=1;
EX0=1;
EX1=1;
IT0=1;
IT1=1;
TMOD=0x01;
TH0=0x3C;
TL0=0xB0;
unsigned int cn=0;
P2=0x00;
while(1)
{void key();
void view();
void jumpnumber();
void clock();
void intclock();
}
}
4. C语言 闹钟程序
用C语言实现的闹钟程序
#include
#include
#include
#include
#include
void
main()
{
int
gd=DETECT,gm;
int
x=320,y=240,r=200,i,h,m,s,thetamin,thetasec;
struct
time
t;
char
n[12][3]={"3","2","1","12","11","10","9","8","7","6","5","4"};
initgraph(&gd,&gm,"g:\\tc\\bgi");//图形驱动器路径,根据自己的系统更换。
circle(x,y,210);
setcolor(4);
settextstyle(4,0,5);
for(i=0;i<12;i++)
{
if(i!=3)
outtextxy(x+(r-14)*cos(M_PI/6*i)-10,y-(r-14)*sin(M_PI/6*i)-26,n[i]);
else
outtextxy(x+(r-14)*cos(M_PI/6*i)-20,y-(r-14)*sin(M_PI/6*i)-26,n[i]);
}
gettime(&t);
printf("The
current
time
is:
%2d:%02d:%02d.%02d\n",t.ti_hour,
t.ti_min,
t.ti_sec,
t.ti_hund);
while(!kbhit())
{
setcolor(5);
setfillstyle(1,5);
circle(x,y,10);
floodfill(x,y,5);
gettime(&t);
if(t.ti_min!=m)
{
setcolor(0);
line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180
)));
circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))
,10);
line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h
-((m/2)*(M_PI/180))));
circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(
(m/2)*(M_PI/180))),10);
}
if(t.ti_hour>12)
t.ti_hour=t.ti_hour-12;
if(t.ti_hour<4)
h=abs(t.ti_hour-3);
else&n
bsp;
h=15-t.ti_hour;
m=t.ti_min;
if(t.ti_min<=15)
thetamin=(15-t.ti_min)*6;
else
thetamin=450-t.ti_min*6;
if(t.ti_sec<=15)
thetasec=(15-t.ti_sec)*6;
else
thetasec=450-t.ti_sec*6;
setcolor(4);
line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h
-((m/2)*(M_PI/180))));
circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(
(m/2)*(M_PI/180))),10);
line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180
)));
circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))
,10);
setcolor(15);
line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180
)));
delay(1000);
setcolor(0);
line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180
)));
}
}
该程序已在Turbo
C++3.0中通过编译.
5. 用VB编写一个闹钟程序
拉缓槐一个按钮控件和一个Timer控件,Timer控件Interval设为1000,Enable设为false。Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrRetumString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Dim t As Integer '计算时间
Dim s As Integer '提醒间隔扰桥友时间
Dim mp3file As String 'mp3文件路径
Private Sub Command1_Click()
'停止播放
Call mciSendString("Stop " & mp3file, 0&, 0, 0)
End Sub
Private Sub Form_Load()
t = 0
s = 3 '一小时等于3600秒消猛
mp3file = "D:\yixiou.mp3"
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
t = t + 1
If t = s Then
'播放音乐
Call mciSendString("Close" & mp3file, 0&, 0, 0)
Call mciSendString("Open " & mp3file, 0&, 0, 0)
Call mciSendString("play " & mp3file, 0&, 0, 0)
'切换间隔时间
If s = 3600 Then
s = 900
Else
s = 3600
End If
End If
End Sub
6. C语言编闹钟程序
程序员联合开发网上有:http://www.pudn.com/downloads59/sourcecode/windows/other/detail207633.html
非常漂亮。
//////////////橘族/////////
大兄弟你点那个文件名,就自动打开了,不要下载的。
给你我打开TransparentWnd.cpp,内容太多圆袜弊,贴子显示不了,就一部分;
////////////////////
www.pudn.com > ktclock.rar > TransparentWnd.cpp
//****************
//* TransparentWindow.CPP
//*
//* A transparent window class.
//*
//* Based on the idea of Jason Wylie ,Franz Polzer,Luo yun bin
//* [email protected]
//* (C) 2002 by 王鹏
//*
//* Write to me: [email protected]
//好岁
#include "stdafx.h"
#include "TransparentWnd.h"
#include "Dib.h"
#include "resource.h"
#include
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define WM_LIBEN WM_USER+994
CString GetCurPath()
{
TCHAR exeFullPath[MAX_PATH];
CString strPath;
GetMoleFileName(NULL,exeFullPath,MAX_PATH);
strPath.Format("%s", exeFullPath);
strPath = strPath.Left(strPath.ReverseFind('\\'));
return strPath;
7. 用VB编写一个闹钟程序
做一个简单的闹钟程序很简单的。我颂唤这里不用if语句。首先我们在窗体上添加一个标腔绝签控件,再画一个“闹钟”,将闹钟得interval属野圆凯性改为1000,双击闹钟,进入闹钟的代码视图,编写代码
private
sub
timer1_timer()
label1.caption
=
time
end
sub就行了。谢谢采纳
8. 用vb.net实现闹钟提醒程序
一个提醒程序 最典型的就是闹钟程序 网上有不少个性化的提醒程序下载 但是大部分都是以时间为主的闹钟提醒 我们也可以用来打造一个适合自己的提醒程序 比如监控一个某个应用程序的变化然后发出声音提醒自己等等
一个提醒程序 最重要能在符合提醒条件的时候发出声音来提醒使用者 在这里 我们就对具体的提醒条件啰嗦了 只针对如何实现提醒声音的播放进行说明
在的 net组件中 并没有提供播放声音文件的组件 但是我们可以通过使用Com组件来播放声音文件 但是 要注意的事 我们只需要发出提示的声音而已 并不需要像播放器那样播放不同格式的声音文件和繁多的列表 所以我们可以通过API函数来循环播放单个的声音文件
在WindowsAPI函数的有一个PlaySound函数 它用于播放WAV格式的声音文件 我们可以用它来反复播放一个指定的WAV文件来实现提醒功能
首先在中引入API声明
Public Declare Function PlaySound Lib winmm dll (ByVal lpszSoundName As String ByVal hMole As Integer ByVal dwFlags As Integer) As Integer
然后定义几个我们程序中必须用到的dwFlags参数常量
同步调用PlaySound中指定的文件 播放完WAV文件后才返回结果
Const SND_SYNC As Integer = &H
异步调用PlaySound中指定的文件 不必等到播放完WAV文件后就直接返回结果 在这里我们可以调用异步方法来播放文件
Const SND_ASYNC As Integer = &H
反复播放指定的WAV文件誉誉
Const SND_LOOP As Integer = &H
在调用的时候hMole参数必须为耐虚拿
需要停止的时候通过调用PlaySound(vbNullString )来实现现在我们在窗体上放置两个按钮 一个用于开始播放 一个用于停止播放 然后再放置一个TextBox控件 用于指定WAV文件的路径 界面如下图所示
图一 示例界面
完整昌搭代码如下
Public Declare Function PlaySound Lib winmm dll (ByVal lpszSoundName As String ByVal hMole As Integer ByVal dwFlags As Integer) As Integer
Const SND_FILENAME As Integer = &H
Const SND_ALIAS As Integer = &H
Const SND_SYNC As Integer = &H
Const SND_ASYNC As Integer = &H
Const SND_LOOP As Integer = &H
Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click
PlaySound(TextBox Text SND_LOOP Or SND_ASYNC)
End Sub
Private Sub Button _Click(ByVal sender As System Object ByVal e As System EventArgs) Handles Button Click
PlaySound(vbNullString )
End Sub
运行 在TextBox 中输入有效的WAV文件的路径 然后单击开始 就可以循环播放声音了 单击停止按钮就可以停止播放
lishixin/Article/program/net/201311/12453
9. 怎么用c语言编写闹钟程序,期末作业求大神
最简单的方法,先让用户输入时间,然后使用结构体保存起来,然后用一个循环,while、for都可以,然后在循环中取得当前的时间,使用取得的时间与用户设定的时间进行比较,
如果没到时间,那么就继续循环。
如果到时间了,发音,然后退出循拍闷皮环。袭差
稍微复杂一些的方罩亏法,使用Timer、启动线程的方法。