资源简介
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
相关资源
- GH-Bladed 理论手册中文版
- 基于物联网的XX系统外文文献
- 基于51单片机的电子密码锁keil源码电
- 小型企业网络设计-综合案例.
- 图书销售管理系统数据库课程设计1
- 16x16 LED点阵 驱动 74hc164 74hc595 参考电
- 数据结构课程设计校园导游系统
- 基于AT89C52单片机智能小车的设计.pd
- 东北大学EDA数字钟课程设计报告
- 数据结构课程设计-校园导游
- 51单片机测量环境温度
- 数字信号-IIR数字滤波器设计
- 系统详细设计文档模板
- 华中科技大学 MIPS_CPU 实现了动态分支
- 灭火 机器人 毕业论文 设计
- 机械设计类螺旋压面器
- verilog流水线多周期CPU设计
- 数据库系统概论课程设计实验报告 山
- 数电-密码电子锁-Multisim密码电子锁的
- Linux系统下基于Qt的局域网即时通信系
- 交通信号灯模拟控制的设计
- 51单片机 按键控制流水灯左右两边中
- 基于51单片机的出租车计费系统设计
- 购物网站设计与实现
- 数据库课程设计报告薪资管理
- 期末网页设计 作业 大学生 高中生 网
- 数电课程设计 四路智能抢答器.
- 空调模拟控制器程序设计
- 《汇编语言程序设计》试题库.doc
- 使用Field_进行超声波束形成的设计仿
评论
共有 条评论