#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar Song_Index = 0,Tone_Index = 0;
sbit SPK = P3^7;
sbit K1 = P1^0;
uchar code DSY_CODE[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};
uchar code HI_LIST[]=
{
0,266,229,232,233,236,238,240,241,242,244,245,246,247,248
};
uchar code LO_LIST[]=
{
0,4,13,10,20,3,8,6,2,23,5,26,1,4,3
};
uchar code Song[][50]=
{
{1,2,3,1,1,2,3,1,3,4,5,3,4,5,3,4,5,5,6,1,2,3,6,2,6,6,2,3,4,5,2,5,2,3,-1},
{3,3,3,5,6,2,3,4,6,2,6,4,2,1,2,3,6,2,5,6,3,4,5,6,2,3,1,2,3,5,1,2,3,-1},
{3,2,1,3,2,1,1,2,3,1,3,5,1,5,4,6,2,6,3,4,2,3,6,2,3,4,2,1,1,1,2,2,2,3,3,2,6,3,5,3,5,1,2,6,4,5,-1}
};
uchar code Len[][50]=
{
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,-1},
{1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,-1},
{1,1,2,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,1,1,1,1,2,2,-1}
};
void EX0_INT() interrupt 0
{
TR0 = 0;
Song_Index = (Song_Index+1)%3;
Tone_Index = 0;
P2 = DSY_CODE[Song_Index];
}
void T0_INT() interrupt 1
{
SPK = !SPK;
TH0 = HI_LIST[Song[Song_Index][Tone_Index]];
TL0 = LO_LIST[Song[Song_Index][Tone_Index]];
}
void delay(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void main()
{
P2 = 0xc0;
IE = 0x83;
TMOD = 0x00;
IT0 = 1;
IP = 0x02;
while(1)
{
while(K1==1);
while(K1==0);
TR0 = 1;
Tone_Index = 0;
while(Song[Song_Index][Tone_Index]!=-1&&K1==1&&TR0==1)
{
delay(300*Len[Song_Index][Tone_Index]);
Tone_Index++;
}
TR0 = 0;
while(K1==0);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
单片机C语言程序设计实训100例——基于8051+Proteus仿真01(含源码..
共784个文件
bak:65个
lst:56个
obj:55个
4星 · 超过85%的资源 需积分: 9 43 下载量 178 浏览量
2010-05-21
21:54:10
上传
评论 1
收藏 1.64MB RAR 举报
温馨提示
单片机C语言程序设计实训100例——基于8051+Proteus仿真01(含源码.. 单片机C语言程序设计实训100例——基于8051+Proteus仿真01(含源码..
资源推荐
资源详情
资源评论
收起资源包目录
单片机C语言程序设计实训100例——基于8051+Proteus仿真01(含源码.. (784个子文件)
100000秒以内的计时程序 3KB
10秒的秒表 3KB
42 3KB
43 2KB
44 2KB
45 3KB
45-2 2KB
46-1 4KB
46-2 3KB
47 4KB
48 4KB
4×4键盘矩阵控制条形LED显示 1KB
8×8LED点阵屏显示数字 2KB
8只数码管显示多个不同字符 766B
8只数码管滚动显示单个字符 763B
8只数码管滚动显示数字串 1009B
STARTUP.A51 6KB
STARTUP.A51 6KB
STARTUP.A51 6KB
STARTUP.A51 6KB
STARTUP.A51 6KB
STARTUP.A51 6KB
led_Uv2.Bak 2KB
led_Uv2.Bak 2KB
45-1_Uv2.Bak 2KB
key-led_Uv2.Bak 2KB
key-led_Uv2.Bak 2KB
key-smg_Uv2.Bak 2KB
45_Uv2.Bak 2KB
smg_Uv2.Bak 2KB
smg_Opt.Bak 1KB
led_Opt.Bak 1KB
int_Opt.Bak 1KB
smg_Opt.Bak 1KB
yy_Opt.Bak 1KB
led_Opt.Bak 1KB
led_Opt.Bak 1KB
key-smg_Opt.Bak 992B
key-led_Opt.Bak 989B
key-led_Opt.Bak 989B
45_Opt.Bak 979B
int.c.bak 834B
smg_Opt.Bak 802B
45-2_Uv2.Bak 0B
led_Uv2.Bak 0B
t0-led_Uv2.Bak 0B
timer_Uv2.Bak 0B
key-led_Uv2.Bak 0B
48_Uv2.Bak 0B
led_Uv2.Bak 0B
key-smg_Uv2.Bak 0B
smg_Uv2.Bak 0B
timer_Uv2.Bak 0B
led_Uv2.Bak 0B
led_Uv2.Bak 0B
jiajian_Uv2.Bak 0B
smg_Uv2.Bak 0B
led_Uv2.Bak 0B
jdq_Uv2.Bak 0B
jtd_Uv2.Bak 0B
key-beep_Uv2.Bak 0B
int_Uv2.Bak 0B
led_Uv2.Bak 0B
yy_Uv2.Bak 0B
timer_Uv2.Bak 0B
smg_Uv2.Bak 0B
int_Uv2.Bak 0B
int_Uv2.Bak 0B
yy_Uv2.Bak 0B
led_Uv2.Bak 0B
smg_Uv2.Bak 0B
46-2_Uv2.Bak 0B
46-1_Uv2.Bak 0B
42_Uv2.Bak 0B
key-smg_Uv2.Bak 0B
timer-led_Uv2.Bak 0B
timer-smg_Uv2.Bak 0B
43_Uv2.Bak 0B
timer_Uv2.Bak 0B
47_Uv2.Bak 0B
44_Uv2.Bak 0B
yj_Uv2.Bak 0B
beep_Uv2.Bak 0B
led_Uv2.Bak 0B
smg-bm_Uv2.Bak 0B
menling_Uv2.Bak 0B
smg_Uv2.Bak 0B
beep 1KB
yy.c 2KB
int.c 1KB
jtd.c 1KB
46-1.c 1KB
key-smg.c 1KB
48.c 1KB
key-led.c 1KB
timer-smg.c 1KB
key-smg.c 1KB
jiajian.c 1KB
47.c 1KB
led.c 1022B
共 784 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
- ycl3933103392012-07-13不错,这个是有C程序源码的,很适合大家学习编程方法,赞一个
- PanZhi182012-04-20实例代码非常实用。
- jerry89242012-07-23请注意!这里是第一部分源代码,不是全部源代码!!楼主要写清楚啊,这有骗分嫌疑
- guxingwulei2012-08-11书挺好,但不全
个灵犀
- 粉丝: 10
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功