1. 网站首页
  2. 社区
  3. 论坛
  4. 博客

《深入浅出玩转51单片机》配套例程(60例)

资料大小: 28710KB 所需积分: 1 下载次数: 用户评论: 0条评论,查看 上传日期: 2017-08-01 上 传 者: 夜梦星空他上传的所有资料

资料介绍

标签:单片机(11029)
深入浅出玩转51单片机书籍实例
  // 简单描述 : 本文件是行列扫描法实现矩阵按键扫描程序   /* ***************************************************** */   #include 《reg52.h》   /* ***************************************************** */   // 宏定义   /* ***************************************************** */   #define uInt16 unsigned int   #define uChar8 unsigned char   #define DATA P0 //数据口   #define KEYPORT P3 //键盘接入端口   /* ***************************************************** */   // 位定义   /* ***************************************************** */   sbit SEG_SELECT = P1^7; //段选控制端   sbit BIT_SELECT = P1^6; //位选控制端   /* ***************************************************** */   // 数组定义   /* ***************************************************** */   uChar8 code SEG_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,   0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//段选显示表格   /* ***************************************************** */   // 全局变量定义   /* ***************************************************** */   uChar8 g_ucKeyNum = 16; //键值   /* ***************************************************** */   // 函数名称:MelayMS()   // 函数功能:毫秒延时   // 入口参数:延时毫秒数(ValMS)   // 出口参数:无   /* ***************************************************** */   void DelayMS(uInt16 ValMS)   {   uInt16 uiVal,ujVal;   for(uiVal = 0; uiVal 《 ValMS; uiVal++)   for(ujVal = 0; ujVal 《 121; ujVal++);   }   /* ***************************************************** */   // 函数名称:ScanKey()   // 函数功能:矩阵按键扫描   // 入口参数:无   // 出口参数:无   /* ***************************************************** */   void ScanKey(void)   {   uChar8 ucTemp;   KEYPORT = 0xfe; //检测第一行   ucTemp = KEYPORT; //读取键盘端口数值   if(ucTemp != 0xfe) //若是不等于0xF0表示有按键按下   {   DelayMS(5); //去抖   ucTemp = KEYPORT; //读端口值   if(ucTemp != 0xfe) //再次判断   {   ucTemp = KEYPORT; //取键值   switch(ucTemp) //判断键值对应键码   {   case 0xee:g_ucKeyNum = 0;break;   case 0xde:g_ucKeyNum = 1;break;   case 0xbe:g_ucKeyNum = 2;break;   case 0x7e:g_ucKeyNum = 3;break;   }   while(KEYPORT != 0xfe); //按键释放检测   }   }   KEYPORT = 0xfd;   ucTemp = KEYPORT;   if(ucTemp != 0xfd)   {   DelayMS(5);   ucTemp = KEYPORT;   if(ucTemp != 0xfd)   {   ucTemp = KEYPORT;   switch(ucTemp)   {   case 0xed:g_ucKeyNum = 4;break;   case 0xdd:g_ucKeyNum = 5;break;   case 0xbd:g_ucKeyNum = 6;break;   case 0x7d:g_ucKeyNum = 7;break;   }   while(KEYPORT != 0xfd);   }   }   KEYPORT = 0xfb;   ucTemp = KEYPORT;   if(ucTemp != 0xfb)   {   DelayMS(5);   ucTemp = KEYPORT;   if(ucTemp != 0xfb)   {   ucTemp = KEYPORT;   switch(ucTemp)   {   case 0xeb:g_ucKeyNum = 8;break;   case 0xdb:g_ucKeyNum = 9;break;   case 0xbb:g_ucKeyNum = 10;break;   case 0x7b:g_ucKeyNum = 11;break;   }   while(KEYPORT != 0xfb);   }   }   KEYPORT = 0xf7;   ucTemp = KEYPORT;   if(ucTemp != 0xf7)   {   DelayMS(5);   ucTemp = KEYPORT;   if(ucTemp != 0xf7)   {   ucTemp = KEYPORT;   switch(ucTemp)   {   case 0xe7:g_ucKeyNum = 12;break;   case 0xd7:g_ucKeyNum = 13;break;   case 0xb7:g_ucKeyNum = 14;break;   case 0x77:g_ucKeyNum = 15;break;   }   while(KEYPORT != 0xf7);
《深入浅出玩转51单片机》配套例程(60例)
 

用户评论

查看全部 条评论
发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料

下载排行

本周

  • STM32F103设计开发原理图.pdf
  • 如何用DSADC来测量热电偶的详细资料概述(免费下载)
  • 开源飞控之王--PIXHAWK教程V0.4.11下载.pdf
  • Pixraptor接线原理图.pdf
  • 叠加误差对DAC线性误差影响的测试详详细过程分析概述
  • 使用TSW3100模式发生器的TSW3085EVM来测试ACPR和EVM的过程详细概述
  • 具有串行LVDS接口的高性能双通道12位ADC ADS622X系列的详细资料概述
  • 基于单片机的集成运放主要参数测量系统设计论文报告下载
  • 如何快速测量ADC输入阻抗和印刷电路板(PCB)寄生的步骤详细概述
  • 双通道高动态范围流水线模数转换器ADS5267的详细资料概述
  • 本月

  • 零死角玩转STM32—F103指南者.pdf
  • 基于51单片机的WIFI无线控制系统设计与实现
  • MSP430单片机硬件设计及接口技术
  • MSP430F149单片机在实际应用中的设计方案
  • 单片机的GSM短信收发模块设计详析
  • 高效的Msp430数字滤波器代码
  • MSP430的RFID实验系统的设计详析
  • STM32F103设计开发原理图.pdf
  • MSP430单片机的12V风扇智能调速器设计详析
  • 模糊PID的单片机温度控制系统的设计
  • 总榜

  • 单片机C语言程序设计实训100例——基于8051 Proteus仿真
  • 51单片机学习资料打包
  • 单片机超级精华包
  • 网上学单片机(入门篇)
  • 电子工程师基本知识结构
  • Keil uVision3下载 (破解版带注册机+中文版)
  • 51单片机c语言超强学习资料
  • PIC单片机应用常见问答
  • 《C51单片机及C语言知识点必备秘籍》88lifa利发国际娱乐网创新系列电子书
  • 单片机C语言程序设计实训100例——基于8051 Proteus仿真
  • 88lifa利发国际娱乐

    百度360搜索搜狗搜索