单片机实验板2011_V1.1-矩阵按键练习

发布者:Enchanted2021最新更新时间:2016-09-06 来源: eefocus关键字:单片机  矩阵按键 手机看文章 扫描二维码
随时随地手机看文章
单片机实验板2011_V1.0-矩阵按键练习 - 小文 - 小文电子设计

 

原理图:

单片机实验板2011_V1.0-矩阵按键练习 - 小文 - 小文电子设计

 

/************单片机教学实验板 ******************/
/*功能描述:学习板整体演示程序                    */
/*作者:郑 文                                     */
/*编写时间:2011.3.1                              */
/*接外部晶振11.0592 MHZ                           */
/*功能描述*/
/*4*4矩阵按键练习*/
#include
#include
#include
#include
#include
#include

#define uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long

sbit speaker=P1^3; //蜂鸣器

sbit A13=P2^5; //
sbit R_D=P3^7; //

sbit D4=P0^4; //
sbit D5=P0^5; //
sbit D6=P0^6; //
sbit D7=P0^7; //


  sbit LED_CS=P1^4;

void Key_Beep(void);
void Delay_Beep(unsigned int count);

/*****************按键声音********************/
void Key_Beep(void)
{   uchar i;
     for (i=0;i<250;i++)
     { speaker=1;
      Delay_Beep(5);

      speaker=0;

      Delay_Beep(5);
      }
   speaker=1;
}

/**************************************************/

/***************************蜂鸣器延时子程序start**********************/
void Delay_Beep(unsigned int count)
{
 unsigned int i,j;
 for(i=0;i  for(j=0;j<10;j++);
}
/***************************蜂鸣器延时子程序end************************/
/************主程序*************/
void main(void)

  uchar key_num;
  LED_CS=0;
  A13=0;
  R_D=0;
  P0=0Xff;
  Key_Beep();
  Delay1ms(1000);
  Key_Beep();
  while(1)
  {
    ;
  }

}

////////////////////////////////////////////////////////////////////////////////////////////////

Matrix_Key.h

 

/*****Program Author  :  ZhengWen(ClimberWin)            *****/
/*************************************************************/
/*****File  Function :  4*4 key                          *****/
/*****Compile Date   :  2009/2/1                         *****/
/*****Edition Info   :  V1.0                             *****/
/*****Amend   Date   :                                   *****/
/*************************************************************/
/*************************功能描述****************************/
/*********************4*4矩阵按键应用*************************/
/*******************P2为矩阵按键的接口************************/
#ifndef __Matrix_Key__
#define __Matrix_Key__
#include
#define uchar unsigned char
#define uint  unsigned int

uchar Matrix_Key();//返回值(00-15)16个按键

/********4*4矩阵按键程序******/
uchar Matrix_Key()
{
uchar key;  
uchar temp1,temp2;
uchar key_num;

key=0x55;//初始键值
P2=0x0f;
temp1=P2&0x0f;
if(!(temp1==0x0f)) 
{
P2=0xf0;
temp2=P2&0xf0;
switch(temp1|temp2)
    {
case 0xee:key=0; break;
case 0xde:key=1; break;
case 0xbe:key=2; break;
case 0x7e:key=3; break;
case 0xed:key=4; break;
case 0xdd:key=5; break;
case 0xbd:key=6; break;
case 0x7d:key=7; break;
case 0xeb:key=8; break;
case 0xdb:key=9; break;
case 0xbb:key=10;break;
case 0x7b:key=11;break;
case 0xe7:key=12;break;
case 0xd7:key=13;break;
case 0xb7:key=14;break;
case 0x77:key=15;break;
default: ;key=0x55;break;
    }
}
 else
 {;}
 return(key);//返回键值
}
#endif

关键字:单片机  矩阵按键 引用地址:单片机实验板2011_V1.1-矩阵按键练习

上一篇:单片机实验板2011_V1.1-LCD12864液晶显示
下一篇:单片机实验板2011_V1.1-ADC0809练习程序

推荐阅读最新更新时间:2024-03-16 15:08

将模拟组件与Arm微控制器内核进行集成解决嵌入式系统问题
嵌入式系统的设计带来了复杂的挑战,因为在性能,成本,功耗,尺寸,新功能和效率方面都有进步的积极目标。然而,有一种新兴的设计方案可以解决这些复杂问题 - 模拟组件与ARM ®微控制器内核智能集成。这种与传统模拟集成的区别在于现在提供的高性能以及为解决特定系统级问题而进行的优化。虽然每个市场都会对这些领域的订单排名进行改进,但同时满足多个因素是非常需要的,并且可以来自众多分立组件的集成。从逻辑上讲,组合部件可以解决许多嵌入式系统目标,但只需将几个分立元件和一个处理器放在一个封装中就不是答案;解决方案要复杂得多,需要智能集成。 模拟和数字智能集成 高性能模拟组件(放大器,ADC,DAC,电压基准,温度传感器)的智能集成,无线收发器等
[单片机]
将模拟组件与Arm<font color='red'>微控制器</font>内核进行集成解决嵌入式系统问题
AVR单片机定时器TIME0普通定时实验程序
/*很简单的问题费了好大的劲,注意中断向量地址和向量号的区别,*/ /*这样的是时钟节拍可以搞到微秒级的,太好了这样对以后搞操作系统是很管用的,节拍直接影响CPU的利用效率*/ /*节拍器越小,时间片就越准确,对于整个系统的统一是绝对有意义的,*/ /*AVR定时器普通定时实验 0415 天津第四项目部宿舍 */ #include iom16v.h #define uchar unsigned char #define uint unsigned int #define set_bit(a,b) a|=(1 b) #define clr_bit(a,b) a&=(1 b) #define get_bit(a,b) a&(
[单片机]
MCS-51单片机定时器和计数器的4种工作方式解析
MCS-51单片机含有2个定时器/计数器,具有4种工作方式。具有两种工作模式(计数器模式和定时器模式) MCS-51单片机含有1个全双工串行口,具有4种工作方式。 TMOD-》定时器/计数器方式控制寄存器 TCON-》定时器/计数器控制寄存器 SMOD-》串行口波特率系数选择位 SCON-》串行口控制寄存器 SBUF -》串行口数据缓冲器 TH0 -》定时器/计数器0(高字节) TL0 -》定时器/计数器0(低字节) TH1 -》定时器/计数器1(高字节) TL1 -》定时器/计数器1(低字节) MCS-51单片机定时器和计数器的4种工作方式解析 一、定时器/计数器 定时器/计数器T0由特殊功能寄存器TH0、TL0
[单片机]
MCS-51<font color='red'>单片机</font>定时器和计数器的4种工作方式解析
PIC16C5X单片机寄存器文件
PIC16C5X系列单片机是一个低功耗、高速、全静态CMOS单片机,含ROM、RAM、I/O及中央处理器单元。这种结构基于寄存器文件概念,有独立的数据和程序存储器总线。数据总线及数据器(RAM)是8位字宽,程序总线及程序存储器(ROM)是12位字宽。这种概念强调位、字节和寄存器操作,CPU能在指令读取和执行过程的重叠中高速工作,即当一条指令执行时,下一条指令已经从程序存储器读出,有效地提高CPU的运算速度,同时,通用寄存器和操作寄存器同属于一个数据存储区,采用相同的寻址方式,这样寄存器的存取就非常简单,这样的结构体系决定了其指令系统相对简单但功能却十分强大。 数据寄存器文件 PIC16C5X的8位数据总线连接两个基本的
[单片机]
PIC16C5X<font color='red'>单片机</font>寄存器文件
单片机入门程序五
;*****************************************; ;实验名称:两位数码管动态显示0-99实验 ; ;作者: 龙谊 ; ;版本: VER 1.0 ; ;说明: 采用共阴极数码管 ; ;修改: 无 ; ;编程语言: 汇编语言 ; ;*****************************************; ORG 00H ST
[单片机]
51单片机完全不工作,该怎么入手去检查
首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。另外还要注意的地方是,如果使用片内ROM的话(大部分情况下如此,现在已经很少有用外部扩ROM的了),一定要将EA引脚拉高,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行
[单片机]
新型微控制器AduC812的P1口的应用
   1 AduC812的通用数据端口   AduC812是一种新型的高度集成的高精度12位数据采集系统。在其片内,不仅包含了可重新编程的非易失性闪速/电擦除程序存储器的高性能8位(与8051兼容)MCU,还包含了高性能的自校准多通道(8个输入通道)ADC,两个12位DAC。AduC812微控制器内核与8051指令集兼容,具有9个中断源(2个优先级)。片内还集成了8K字节的闪速/电擦除程序存储器、640字节的闪速/电擦除数据存储器以及256字节RAM。   AduC812共有52个管脚,使用4个通用数据端口P0~P3与外部器件进行数据交换。每一个I/O口都有自己不同的驱动执行电路。除端口1之外都是8位双向端口。端口1的操作是A
[单片机]
基于C8051F350单片机的气体流量计检测仪硬件设计
气体流量计是较为常用的仪表设备。钟罩式气体流量标准装置是以空气作为介质,对气体流量计进行检定、校准和检测的计量标准装置。主要适用于速度式、容积式和差压式等气体流量计的检定、校准和型式评价工作,也可用于气体流量测量的研究工作。本文基于C8051F350单片机,改造现有的钟罩装置,设计一种气体流量计检测仪。 气体流量计检定技术概述 目前,气体流量计的检定方法广义上可分为直接测量和间接测量两种。 直接测量法的是用实际流体进行计量检定,其具体定义为用标准装置(标准流量计或计量器具)与被测流量计串联,通过比较两者测得流体的累积流量值,得出被测流量计测量误差的方法。实流检测法具有检定环境与工况环境一致、流量值准确可靠和真实反映被测流量计计
[单片机]
基于C8051F350<font color='red'>单片机</font>的气体流量计检测仪硬件设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved