基于51单片机之74HC165实验例程

上传人:爱** 文档编号:101651958 上传时间:2022-06-05 格式:DOC 页数:4 大小:36KB
返回 下载 相关 举报
基于51单片机之74HC165实验例程_第1页
第1页 / 共4页
基于51单片机之74HC165实验例程_第2页
第2页 / 共4页
基于51单片机之74HC165实验例程_第3页
第3页 / 共4页
点击查看更多>>
资源描述
* Copyright(C)CaKe *=*文件名 : main.c =*作者 : CaKen =*版本号 : V1.0 =*时间 : 2014.08.16 =*功能描述 : 74HC165实验测试 =*#include #include /SPI 接口sbit CLK = P36; /串行时钟sbit IN_PL = P16; /把数据加载到锁存器中sbit IN_Dat = P17; /数据通过P1.7脚移进单片机内处理sbit RELAY = P14; /继电器sbit BEEP = P15; /蜂鸣器unsigned char bdata Key;sbit K0=Key0; /位定义sbit K1=Key1; /位定义sbit K2=Key2; /位定义sbit K3=Key3; /位定义sbit K4=Key4; /位定义sbit K5=Key5; /位定义sbit K6=Key6; /位定义sbit K7=Key7; /位定义bit M0 ,K0J; /位定义*函数名:调 用:beep();参 数:返回值:结 果:备 注:蜂鸣器 (让蜂鸣器发出动听声音)*void beep() unsigned char i,j; for (i=0;i2;i+) for (j = 0; j255; j+) _nop_(); BEEP=!BEEP; /BEEP取反 BEEP=1; /关闭蜂鸣器*函数名:74HC165函数初始化调 用:HC165_Init();参 数:返回值:结 果:备 注:IN_PL上升沿,CLK上升沿*unsigned long HC165_Init(void) unsigned char i; unsigned int indata; IN_PL=0; /上升沿 _nop_(); /短暂延时 产生一定宽度的脉冲 IN_PL=1; /将外部信号全部读入锁存器中 _nop_(); indata=0; /保存数据的变量清0 for(i=0; i8; i+) indata=indata1; /左移一位 if(IN_Dat=1) indata=indata+1; /如果IN_Dat检测到高电平 保存数据的变量加1 CLK=0; /时钟置0 _nop_(); /上升沿 CLK=1; /时钟置1 return(indata); /将保存数据的变量取反后返回*函数名:主函数调 用:main参 数:返回值:结 果:备 注:74HC165控制八个按键*main() while(1) unsigned long Input=HC165_Init(); /调用165驱动程序 Key=Input&0xff; /将数据传给位变量 RELAY = 1; P2 = 0xff; /清除 if(K0&K0J) M0=M0; /实现脉冲输入 大家仔细体会 K0J=K0; if(M0) RELAY = 0; P2 = 0x7f; /实现脉冲输入if(K1) beep(); P2 = 0xbf; /K1 为1时开启蜂鸣器和2个灯if(K2) beep(); P2 = 0xdf; if(K3) beep(); P2 = 0xef; if(K4) beep(); P2 = 0xf7; if(K5) beep(); P2 = 0xfb; if(K6) beep(); P2 = 0xfd; if(K7) beep(); P2 = 0xfe;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!