52单片机C语言4X4键盘

4*4#include#include#define ulong unsigned long宏定义#define uint unsigned int#define uchar unsigned char#define ajk P1//定义按键口#define xsk P0//定义显示口sbit e=P2^7;//显示控制口sbit cs2=P2^6;sbit cs1=P2^5;uint jm,shi=0x0b,ge=0x0b,dxkz=0xff,wxkz=0xfe,z;uchar code tab1[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77,};uchar code tab2[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0xff,};void anjjc();//按键处理void delay(uint z);//申明/***************主程序******************/void main(){TMOD=0x01;//中断初始化TH0=(65536-500)/256;TL0=(65536-500)%256;EA=1;ET0=1;TR0=1;while(1){anjjc();//调用按键扫描}}/****************矩阵扫描*****************/void anjjc(){uchar aa;ajk=0xf0;//列为1横为0aa=ajk;if(aa!=0xf0)//判断是否按下{delay(5);//去抖动ajk=0xf0;aa=ajk;if(aa!=0xf0)//在判断是否按下{uchar j,i=0,k,ajkkz=0xfe;for(k=4;k>0;k--)//逐行为0控制{ajk=ajkkz;aa=ajk;for(j=4;j>0;j--){if(aa==tab1[i])//逐列查数组是否相等jm=i;//相等则i就是键码i++;//不等加1}ajkkz=_crol_(ajkkz,1);//左移使下一行为0,在查}}shi=jm/10;//十位数据处理ge=jm%10;//个位数据处理}}/*************数码管控制********************/void xst0() interrupt 1//中断显示{switch(wxkz)//位选控制段选数值{case 0xfe:dxkz=ge;break;case 0xfd:dxkz=shi;break;}e=0;cs2=0;xsk=0xff;e=1;cs2=1;e=0;cs1=0;xsk=tab2[dxkz];e=1;cs1=1;e=0;cs2=0;xsk=wxkz;e=1;cs2=1;wxkz=_crol_(wxkz,1);//位选控制if(wxkz==0xfb)//显示位数控制wxkz=0xfe;TH0=(65536-500)/256;TL0=(65536-500)%256;}/*************延时程序********************/void delay(uint z)//延时{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}

4x4按键c语言,52单片机C语言4X4键盘.docx相关推荐

  1. 单片机c语言按键调整时钟,51单片机C语言可调时钟.doc

    51单片机C语言可调时钟 程序介绍:六位共阳数码管显示,时·分·秒均可用按键调节.短按时选位的时间按一次加一下,长按不放时时间按一定的频率增加! 本程序的是我参考别人的基础上移植.再加上自己的想法做出 ...

  2. c语言52单片机液晶屏显示,[手把手教你学51单片机C语言教程]22 LCD12864液晶屏显示.pdf...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 [手把手教你学51单片机C语言教程]22 LCD ...

  3. led的c语言程序,单片机C语言LED灯点亮程序完全版

    <单片机C语言LED灯点亮程序完全版>由会员分享,可在线阅读,更多相关<单片机C语言LED灯点亮程序完全版(7页珍藏版)>请在人人文库网上搜索. 1.1例子1第二个灯亮#inc ...

  4. 单片机c51语言变量,单片机c语言教程:C51变量

    上课所提到变量就是一种在程序执行过程中其值能不断变化的量.要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间.定义一个变量的格式如下: ...

  5. 访问外部扩展C语言编程,单片机C语言编程(系统扩展IC)8.ppt

    单片机C语言编程(系统扩展IC)8 第8章 单片机系统扩展 第8章 单片机系统扩展 目 录 8.1 扩展并行三总线 8.2 扩展简单并行输入/输出口 8.3 扩展并行数据存储器 8.4 串行扩展总线接 ...

  6. pic单片机延时程序C语言,PIC单片机C语言延时程序和循环子程序实现方法

    PIC单片机C语言延时程序和循环子程序实现方法 很多朋友说C中不能精确控制延时时间,不能象汇编那样直观. 其实不然,对延时函数深入了解一下就能设计出一个理想的框价出来. 一般的我们都用 for(x=1 ...

  7. 单片机c语言 u16,单片机C语言的误用

    单片机C语言的误用 导语:在学习单片机的时候才真正知道C语言是什么它是来干什么的,但是C语言用到嵌入式只是它小小的一部分他的应用还有很多地方呢,也经常出现误用,让我们了解一下吧! 我们是不是在写程序的 ...

  8. 南师大632c语言程序设计,单片机c语言学习心得632.docx

    可编辑文档 PAGE 页码页码/NUMPAGES 总页数总页数 单片机c语言学习心得 (一) 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧..不过有些朋友可能只听说他叫单片机,他的全称是什 ...

  9. 微控制器编程技术c语言,1.单片机C语言编程技术分析.pptx

    单片机C语言编程;掌握利用C语言进行单片机程序设计的方法掌握单片机的C程序开发工具Keil 的使用方法掌握单片机仿真软件proteus的使用方法了解单片机常用外部接口元件和接口电路了解单片机系统的集成 ...

最新文章

  1. 滞后超前校正控制器的设计和matlab仿真 静态速度误差系数为10,自控实验六 基于频域的串联校正控制器设置 - GXUZF.COM - 林澈思的茶...
  2. 浅谈创业性公司的发展
  3. leetcode算法题--零钱兑换
  4. 一些关于“数据挖掘介”技术的有用文档
  5. Linux记录-salt命令
  6. 使用maven的profile区分本地环境和线上环境
  7. php返回json数组元素,php生成返回json对象数组(json支持中文)
  8. C++ 好的博客??
  9. C/C++语言开发环境,【5款免费编程器】请查收!
  10. 如何用一束激光欺骗神经网络
  11. javaScript实现a页面触发b页面事件-小小笔记
  12. js修改对象数组⾥的对象名字
  13. TOJ 3436: 相邻数
  14. I/O error on POST request for “http://localhost:9411/api/v2/spans”
  15. 论Python中注释的重要性
  16. ssh_init: Network error: Cannot assign requested address的解决办法
  17. 马彩未解禁:中国互联网损失2000亿
  18. 【观察】DXC Technology:回归初心,再聚焦与新布局
  19. 计算机表格布局,什么是表格布局
  20. 如何使用HMCL启动器配置Java版Minecraft

热门文章

  1. Commvault斥资2.25亿美元收购Hedvig进行二次创业
  2. 28-Linux-AWK使用范例
  3. 苹果神武4手游等待服务器响应,ios回合制手游《神武4》如何在登高探宝中快速拿到奖励?...
  4. 前50%股票成交量占比计算
  5. 【产品】OEM、ODM、OBM是什么?
  6. 【已解决】华为手机如何关闭智慧助手·今天(负一屏) | 华为荣耀八手机智慧助手开关介绍 | 华为手机关闭负一屏开关后,仍接收到负一屏服务相关通知提醒怎么办
  7. 没想到被裁后入职拼多多,年薪50W,网友:感谢公司裁员之恩!
  8. 使用ESP8266-01s连接阿里云并发送数据
  9. java的maxrow_聊聊pg jdbc statement的maxRows参数
  10. MyEclipse个性设置