汐っ阳luozhiyong131.blog.chinaunix.net
luozhiyong131
全部博文(961)
Java(33)
Android基础(58)
Linux设备驱动(55)
TP(0)
IC卡规范(13)
交易流程(3)
EMV2000(18)
C语言编程规范(10)
CC2530(0)
PIC单片机(12)
8051单片机(36)
QT(22)
内核驱动(14)
应用程序(7)
系统构建(5)
Linux内核驱动(57)
Linux系统构建(11)
数据库(19)
ARM程序设计(34)
Linux_C编程(51)
shell编程(8)
C++算法(8)
C++基础编程(62)
C语言编程(46)
QT(28)
基于ARM9的远程视(6)
应用程序(3)
内核(10)
其他(13)
ARM(2)
配置(1)
多线程(9)
Linux C(10)
Linux下C编程 实(12)
驱动开发(2)
QT 图形界面(5)
应用程序的移植(4)
TX2440 内核驱动(12)
内核、系统文件下(4)
Linux 系统操作(5)
内核移植、文件系(4)
Bootloader移植(13)
s3c2440 硬件资源(4)
嵌入式开发环境搭(7)
Bootload(1)
内核开发(26)
应用程序设计(5)
Linux系统管理与(13)
2016年(1)
2015年(61)
2014年(41)
2013年(51)
2012年(235)
2011年(391)
2010年(181)
64492407
Cindy_ls
ycy52025
hushup
dallygar
18325057
liziyun2
Mars1122
jzjwonde
dreampow
张三13aw
QWE866
nanakagu
danzhoum
sip_chen
zwh0309
月泉蓝石
zoumaden
分类: C/C++
2011-01-05 16:04:41
#include <reg52.H> #include <intrins.h> #define NOP() _nop_() #define _Nop() _nop_() sbit CLK = P3^6;sbit IN_PL = P1^6; //74HC165 shift load 把数据加载到锁存器中sbit IN_Dat = P1^7; //74HC165 output 数据通过P3.5脚移进单片机内处理sbit RELAY = P1^4;sbit BEEP = P1^5; unsigned long ReHC74165(void); //函数声名 unsigned char bdata Key; unsigned int Output;sbit K0=Key^0;sbit K1=Key^1;sbit K2=Key^2;sbit K3=Key^3;sbit K4=Key^4;sbit K5=Key^5;sbit K6=Key^6;sbit K7=Key^7;bit K0J,K1J,K2J,K3J; //位定义bit M0,M1,M2,M3; //位定义 main() { //M0=M1=M2=M3=0; while(1) { unsigned long Input=ReHC74165(); Key=Input&0xff; //实现脉冲输入 if(K0&K0J)M0=~M0; K0J=~K0; if(K1&K1J)M1=~M1; K1J=~K1; if(K2&K2J)M2=~M2; K2J=~K2; if(K3&K3J)M3=~M3; K3J=~K3; RELAY = 1; BEEP = 1; if(M0) RELAY = 0; if(M1) BEEP = 0; P2 = K0; } } unsigned long ReHC74165(void){ unsigned char i; unsigned long indata; IN_PL=0; NOP(); IN_PL=1; NOP(); indata=0; for(i=0; i<8; i++) { indata=indata<<1; if(IN_Dat==1)indata=indata+1; CLK=1; NOP(); CLK=0; } return(~indata); }
上一篇:I2C C51
下一篇:时钟
登录 注册