CT107D
sunflower_kg
这个作者很懒,什么都没留下…
展开
-
蓝桥杯CT107D之AT24C02(EEPROM)
IIC驱动程序#include "reg52.h"#include "intrins.h"#include "iic.h"//总线引脚定义sbit SDA = P2^1; /* 数据线 */sbit SCL = P2^0; /* 时钟线 */void IIC_Delay(unsigned char i){ do{_nop_();} while(i--); }//总线启动条件void IIC_Start(void){ SDA = 1原创 2020-05-18 14:52:48 · 537 阅读 · 1 评论 -
蓝桥杯CT107D之PCF8591
IIC驱动程序#include "reg52.h"#include "intrins.h"#include "iic.h"//总线引脚定义sbit SDA = P2^1; /* 数据线 */sbit SCL = P2^0; /* 时钟线 */void IIC_Delay(unsigned char i){ do{_nop_();} while(i--); }//总线启动条件void IIC_Start(void){ SDA = 1原创 2020-05-18 14:40:52 · 737 阅读 · 0 评论 -
蓝桥杯CT107D之DS1302
DS1302时序(SPI协议简介)CE:为低电平时终止传输;高电平时启动传输。SCLK:数据必须在有效时钟的上升沿输入,下降沿输出。I/O:前八个时钟周期写入命令字节;后八个时钟周期写入数据字节。DS1302命令字节bit7为控制字有效位,必须为1才可写入数据。bit6为0则表示可以存取日历时钟数据。bit5~bit1是地址。bit0为读写操作位,0:表示写操作,1:表示读取操作。传输时低位在前。DS1302数据地址...原创 2020-05-15 19:13:00 · 1174 阅读 · 0 评论 -
蓝桥杯CT107D之矩阵键盘
直接上代码参考文档矩阵键盘与前一篇独立按键采用类似方法,不做过多阐述。值得注意的是CT107D矩阵键盘原理图的P36和P37采用的是IAP15F2K61S2的P42和P44引脚,编程时注意改变引脚。上代码#include "reg52.h"//-----------------------------------------------#define key_mask_r (P3=0x0f, P42=0, P44=0) //row扫描#define key_mask_c (P3=0原创 2020-05-12 22:37:45 · 1384 阅读 · 2 评论 -
蓝桥杯CT107D之独立按键
直接上代码采用状态机消抖,比较基础,相信有一定51基础的都能看懂吧‘’‘’‘’#include "reg51.h"//-----------------------------------------------#define key_input P3#define key_state_0 0 //是否按下#define key_state_1 1 //是否是抖动#define key_state_2 2 //判断是否弹起#define key_mask 0x0f //屏原创 2020-05-12 22:25:30 · 417 阅读 · 0 评论 -
蓝桥杯CT107D之ds18b20
单总线协议简介单总线延时函数//单总线延时函数,此处延时函数很重要,根据自己的时钟频率而定void Delay_OneWire(unsigned int t) //Y5指令集,FOSC:11059200L,软件延时15us(t=1){ unsigned char i; for(;t>0;t--) { i = 39; while(--i); } }单总线写时序//通过单总线向DS18B20写一个字节void Write_DS18B20(unsigned c原创 2020-05-12 11:35:36 · 658 阅读 · 1 评论