资源简介
51单片机控制16按键发音电子琴设计中断触发C程序

代码片段和文件信息
#include
#define uchar unsigned char
#define uint unsigned int
/*------------------------------------------------
函数声明
------------------------------------------------*/
uchar keyscan(void);//键盘扫描
void delay(uint z);
/*------------------------------------------------
键盘扫描程序
------------------------------------------------*/
uchar keyscan(void) //键盘扫描函数,使用行列反转扫描法
{
uchar tempnum;
P1=0xfe;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xee:num=0;
break;
case 0xde:num=1;
break;
case 0xbe:num=2;
break;
case 0x7e:num=3;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
P1=0xfd;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xed:num=4;
break;
case 0xdd:num=5;
break;
case 0xbd:num=6;
break;
case 0x7d:num=7;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
P1=0xfb;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xeb:num=8;
break;
case 0xdb:num=9;
break;
case 0xbb:num=10;
break;
case 0x7b:num=11;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
P1=0xf7;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case 0xe7:num=12;
break;
case 0xd7:num=13;
break;
case 0xb7:num=14;
break;
case 0x77:num=15;
break;
}
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
}
}
}
return num;
}
/*------------------------------------------------
延时程序
------------------------------------------------*/
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-06-08 12:22 haoyu\
文件 37099 2011-08-24 20:42 haoyu.zip
文件 15054 2011-06-08 12:20 haoyu\haoyu
文件 6244 2011-06-08 12:20 haoyu\haoyu.hex
文件 54 2011-06-08 12:20 haoyu\haoyu.lnp
文件 17760 2011-06-08 12:20 haoyu\haoyu.M51
文件 1145 2011-06-08 12:20 haoyu\haoyu.plg
文件 55821 2011-06-08 12:21 haoyu\haoyu.uvopt
文件 13388 2011-06-07 23:48 haoyu\haoyu.uvproj
文件 55819 2011-06-08 12:20 haoyu\haoyu_uvopt.bak
文件 13385 2011-06-07 23:46 haoyu\haoyu_uvproj.bak
文件 2646 2011-06-08 00:44 haoyu\key.c
文件 10336 2011-06-08 12:20 haoyu\key.LST
文件 4722 2011-06-08 12:20 haoyu\key.OBJ
文件 6006 2011-06-08 12:20 haoyu\music.c
文件 10460 2011-06-08 12:20 haoyu\music.LST
文件 13179 2011-06-08 12:20 haoyu\music.OBJ
相关资源
- 华为-热设计培训教材
- FTP课程设计(服务端+客户端)
- axure 框架图模板设计.rp
- labview编程软件滤波器以及编写程序设
- 大斜度定向井钻井设计优化及应用实
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 基于蓝牙4.0的设备通信方案设计与实
- LED灯串电路图说明
- 基于xilinx FPGA的PCIe设计实战
- 基于PCIe的FPGA动态配置设计与实现
- Quartus II 15.0中仿真Altera三速以太网I
- 51单片机PWM程序,占空比、周期可调整
- 压力球罐设计
- PowerBuilder*图书馆管理系统*需求分析
- 八三编码器设计 VHDL代码 简单,包附
- 高频电子线路课程设计报告收音机
- 直流稳压电源的课程设计、安装及调
- EDA课程设计_密码锁
- 用汇编实现的学生成绩档案管理系统
- 单片机、ADC0808809设计简易数字电压表
- 基于MIPS指令集的32位CPU设计与Verilog语
- 51单片机多功能自行车测速仪
- 单片机课程设计 篮球计分器
- 基于web的毕业设计开题报告
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 数据结构课程设计 6 1 彩票系统
- 单片机与温度传感器DS18B20的程序设计
评论
共有 条评论