![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯单片机
CT107D
零七七077
且慢
展开
-
蓝桥杯单片机CT107D_21_底层驱动代码
软件环境: Keil uVision 4.10硬件环境: CT107单片机综合实训平台 8051,12MHz1.SPI://SPI.h#ifndef __DS1302_H#define __DS1302_H#include<reg52.h>sbit SCLK = P1^7; sbit RST = P1^3; sbit DSIO = P2^3; void DS1302_WriteByte(unsigned char addr, unsigned char dat); /原创 2021-02-17 09:43:30 · 505 阅读 · 4 评论 -
蓝桥杯单片机CT107D_20_智能照明控制器
驱动://IIC.h#include<reg52.h>sbit SDA = P2^1; //数据线sbit SCL = P2^0; //时钟线void Delay_IIC(unsigned char t); //延时函数void IIC_Start(void); //起始信号void IIC_Stop(void); //停止信号void IIC_Ack(unsigned原创 2021-02-17 09:15:21 · 1063 阅读 · 4 评论 -
蓝桥杯单片机CT107D_19_24C02存储器的基本操作
驱动://IIC.h#include<reg52.h>sbit SDA = P2^1; //数据线sbit SCL = P2^0; //时钟线void Delay_IIC(unsigned char t); //延时函数void IIC_Start(void); //起始信号void IIC_Stop(void); //停止信号void IIC_Ack(unsigned原创 2021-02-17 09:12:42 · 325 阅读 · 1 评论 -
蓝桥杯单片机CT107D_18_模数转换器PCF8591的基本应用
#include<reg52.h>#include"IIC.h"sbit S4 = P3^3; //定义独立按键unsigned char dat_Rd1 = 0; //存放Rd1数据unsigned char dat_Rb2 = 0; //存放Rb2数据unsigned char state = 0; //标志位unsigned char code SEG_code[18] = {0xc0,0xf9,0xa4,0xb0,0x99,0x9原创 2021-02-17 09:09:45 · 1234 阅读 · 2 评论 -
蓝桥杯单片机CT107D_17_实时时钟DS1302的基本操作
驱动//SPI.h#include<reg52.h>#include<intrins.h>sbit SCLK = P1^7; sbit RST = P1^3; sbit DSIO = P2^3; void DS1302_WriteByte(unsigned char addr, unsigned char dat); //单字节写的时序unsigned char DS1302_ReadByte(unsigned char addr); //单字节读的时序原创 2021-02-17 09:07:30 · 877 阅读 · 0 评论 -
蓝桥杯单片机CT107D_16_模拟风扇控制系统
#include<reg52.h>#include"onewire.h"sbit L8 = P0^7; //工作LEDsbit L1 = P0^0;sbit L2 = P0^1;sbit L3 = P0^2; //定义LEDsbit S7 = P3^0;sbit S6 = P3^1;sbit S5 = P3^2;sbit S4 = P3^3; //定义独立按键unsigned char state = 0; //风扇模式标志位unsigne原创 2021-02-16 10:14:43 · 425 阅读 · 1 评论 -
蓝桥杯单片机CT107D_15_蜂鸣器播放音乐
#include <REG52.H> #include <INTRINS.H> //晶振为12MHZ //频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍; sbit Beep = P0^6;unsigned char p,m; //m为频率常数变量 unsigned char i=0; unsigned char n=0; //n为节拍常数变量 unsigned char code music原创 2021-02-16 10:12:15 · 2156 阅读 · 4 评论 -
蓝桥杯单片机CT107D_14_温度传感器DS18B20的基本应用
驱动//onewire.h#ifndef _ONEWIRE_H#define _ONEWIRE_H#include<reg52.h>#define OW_SKIP_ROM 0xcc#define DS18B20_CONVERT 0x44#define DS18B20_READ 0xbe//定义引脚sbit DQ = P1^4;//函数声明void Delay_OneWire(unsigned int t);bit Init_DS18B20(void);void原创 2021-02-16 10:08:51 · 518 阅读 · 2 评论 -
蓝桥杯单片机CT107D_13_工厂灯光控制系统
#include<reg52.h>sfr AUXR = 0x8e; //设置辅助寄存器AUXRsbit S7 = P3^0; //独立按键S7sbit S5 = P3^2; //独立按键S5unsigned char command; //接收串口数据unsigned char state = 0xff; //LED当前状态unsigned char hour = 0; //时.原创 2021-02-16 10:05:27 · 1393 阅读 · 3 评论 -
蓝桥杯单片机CT107D_12_串口通信进阶
#include<reg52.h>sfr AUXR = 0x8e; //设置辅助寄存器AUXRunsigned char command; //用于接收上位机数据 void Select_HC138(unsigned char n){ switch(n) { case 4: P2 = (P2 & 0x1f) | 0x80; break; case 5: P2 = (P2 & 0x1f) | 0xa0; break; }原创 2021-02-16 10:00:21 · 303 阅读 · 0 评论 -
蓝桥杯单片机CT107D_11_串口通信的基本应用
#include<reg52.h>sfr AUXR = 0x8e; //设置辅助寄存器AUXRunsigned char dat;void Select_HC138(){ P2 = (P2 & 0x1f) | 0xa0; P0 = 0x00; //关闭蜂鸣器和继电器}void Send_byte(unsigned char infr) //查询方式发送数据{ SBUF = infr; while(TI == 0); //等待发送 TI = 0原创 2021-02-16 09:58:43 · 186 阅读 · 0 评论 -
蓝桥杯单片机CT107D_10_PWM调节LED亮度
//脉冲周期为100HZ(10ms)//占空比表示:高电平所占周期/总周期#include<reg52.h>sbit L1 = P0^0;sbit S7 = P3^0; //模式调节unsigned char count = 0; //计数unsigned char PWM = 0; //脉冲宽度unsigned char state = 0; //PWM标志位unsigned char code SEG_code[18] =原创 2021-02-16 09:57:07 · 429 阅读 · 1 评论 -
蓝桥杯单片机CT107D_08_定时器的基本应用
#include<reg52.h>sbit L1 = P0^0; sbit L8 = P0^7;unsigned char count = 0; //计数void Select_HC138(unsigned char n){ switch(n) { case 4: P2 = (P2 & 0x1f) | 0x80; break; case 5: P2 = (P2 & 0x1f) | 0xa0;原创 2021-02-16 09:52:57 · 242 阅读 · 1 评论 -
蓝桥杯单片机CT107D_07_外部中断的应用
#include<reg52.h>sbit L1 = P0^0;sbit L8 = P0^7;unsigned char state = 0; //标志位unsigned char i;void Delay(unsigned int t){ while(t--); while(t--); while(t--);}void Select_HC138(unsigned char n){ switch(n) { case 4: P2 = (P2 &原创 2021-02-16 09:50:42 · 209 阅读 · 1 评论 -
蓝桥杯单片机CT107D_06_矩阵键盘的扫描
#include<reg52.h>sfr P4 = 0xC0; //reg52.h 头文件里没有P4口的定义,如果要使用,需要自己添加sbit R1 = P3^0; //定义矩阵键盘的行sbit R2 = P3^1;sbit R3 = P3^2;sbit R4 = P3^3;sbit C1 = P4^4; //定义矩阵键盘的列sbit C2 = P4^2;sbit C3 = P3^5;sbit C4 = P3^4;unsigned char count原创 2021-02-16 09:49:31 · 389 阅读 · 0 评论 -
蓝桥杯单片机CT107D_05_独立按键的应用
#include<reg52.h>sbit S7 = P3^0; //独立按键sbit S6 = P3^1;sbit S5 = P3^2;sbit S4 = P3^3;sbit L1 = P0^0; //LEDsbit L2 = P0^1;sbit L3 = P0^2;sbit L4 = P0^3;sbit L5 = P0^4;sbit L6 = P0^5;unsigned char state = 0; //状态位,0表示没有按键被按下 void原创 2021-02-07 22:53:39 · 229 阅读 · 0 评论 -
蓝桥杯单片机CT107D_04_按键控制LED位移
#include<reg52.h>sbit S7 = P3^0;sbit S6 = P3^1;void Delay(void) //延时函数: 10ms@11.0592MHz{ unsigned char i, j; i = 108; j = 145; do { while (--j); } while (--i);}void Select_HC138(unsigned char n){ switch(n) { case 4: P2 = (P原创 2021-02-07 22:51:01 · 262 阅读 · 0 评论 -
蓝桥杯单片机CT107D_03_数码管动态显示
#include<reg52.h>sbit S7 = P3^0;unsigned char a = 0; //状态位bit b = 1; unsigned char count = 0;unsigned char month = 1;unsigned char code SEG_code[19] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,原创 2021-02-07 22:48:48 · 263 阅读 · 0 评论 -
蓝桥杯单片机CT107D_02_数码管的静态显示
#include<reg52.h>unsigned char code SEG_code[18] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e, 0xbf,0x7f}; //定义共阳数码管段码内容:0~F,.,—void Delay(unsigned int t) //延时{ while(t--); while(t--)原创 2021-02-07 20:31:45 · 214 阅读 · 0 评论 -
蓝桥杯单片机CT107D_01_LED
#include<reg52.h>void Delay(unsigned int t){ while(t--); while(t--);}void Select_HC138(unsigned char n){ switch(n) { case 4: P2 = (P2 & 0x1f) | 0x80; //控制LED break; case 5: P2 = (P2 & 0x1f) | 0xa0; //控制蜂鸣器 brea原创 2021-02-07 20:27:36 · 258 阅读 · 0 评论 -
第八届蓝桥杯省赛单片机组试题——电子钟
1.底层驱动:(1)onewire://onewire.h#ifndef _ONEWIRE_H#define _ONEWIRE_H#include "reg52.h"#define OW_SKIP_ROM 0xcc#define DS18B20_CONVERT 0x44#define DS18B20_READ 0xbe//IC引脚定义sbit DQ = P1^4;//...原创 2020-03-15 12:09:06 · 2905 阅读 · 1 评论 -
蓝桥杯单片机CT107D_09_秒表
使用CT107D开发板设计一个秒表,具有清零、启动和暂停功能。显示格式为:分—秒—0.05秒。源码如下:#include<reg52.h>sbit S5 = P3^2; //定义独立按键S4,按下启动\暂停sbit S4 = P3^3; //定义独立按键S5,按下清零unsigned char minute = 0; //分unsigned char sec...原创 2020-02-08 18:01:58 · 820 阅读 · 0 评论