4*4键盘扫描C程序
4*4键盘扫描C程序
#include<reg52.h>
#define uchar unsigned char
uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xC6,0xA1,0x86,0x8E};
uchar temp,num;
void display(uchar);
void delay(uchar a)
{
uchar b;
for(;a>0;a--)
for(b=200;b>0;b--);
}
void main()
{
while(1)
{
P2=0x7f;
temp=P2;
temp&=0x0f;
if(temp!=0x0f)
{
delay(50);
if(temp!=0x0f)
{
switch(temp)
{
case 0x07: num="0"; break;
case 0x0b: num="1"; break;
case 0x0d: num="2"; break;
case 0x0e: num="3"; break;
}
}
}
P2=0xbf;
temp=P2;
temp&=0x0f;
if(temp!=0x0f)
{
delay(50);
if(temp!=0x0f)
{
switch(temp)
{
case 0x07: num="4"; break;
case 0x0b: num="5"; break;
case 0x0d: num="6"; break;
case 0x0e: num="7"; break;
}
}
}
P2=0xdf;
temp=P2;
temp&=0x0f;
if(temp!=0x0f)
{
delay(50);
if(temp!=0x0f)
{
switch(temp)
{
case 0x07: num="8"; break;
case 0x0b: num="9"; break;
case 0x0d: num="10"; break;
case 0x0e: num="11"; break;
}
}
}
P2=0xef;
temp=P2;
temp&=0x0f;
if(temp!=0x0f)
{
delay(50);
if(temp!=0x0f)
{
switch(temp)
{
&nb
相关文档:
两个月前,也就是9月份,心血来潮在windows下实现了用C连接数据库,当时很是有把linux下一并给实现了。但是没有想得那么简单。这个任务一直推迟到了现在才完成,究其原因:1.我直接用eclipse开发工具,对于环境变量的设置不是很熟。2.linux系统库文件结构不熟悉,对于mysql提供的库文件没有放对 ......
前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终于有点时间了,决定找本书,好好整理一下,和大家共享。
C++I/O
C++支持两种I/O,第一种是从C语言继承来的,一种是由C++定义的面向对象I/O系统。
1、int getchar(void);返回一个整数值,也可以指定这个值为char变量,因为这个字符包 ......
试题1:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
解答:
int checkCPU( )
{
{
union w
{
&n ......
前几天参加某公司的笔试,有一道题是用纯C实现一个泛型函数。郁闷了好久用C++模板实现了。
宏有如下的特点:
1.与const相比,宏是在预编译的时候完成的
2.define 只做简单的替换,不做类型安全检查
3.使用不当会引起很多问题
宏的用法:
1.简单的宏定义
#define MAX 1024
2.宏定义功能块
#define MAX(a,b) ( ......