一.简介

比赛组委会会在赛场给大家提供比赛需要的基本资料,包括基础底层驱动,烧录软件、串口驱动、原理图、芯片资料包、用户手册等

我们需要使用的外设部分主要分为两类:

基本外设:包括led、数码管、矩阵键盘、蜂鸣器、继电器等。这部分主要用到原理图。

其他外设:包括温度传感器、距离传感器等。这部分主要用到底层代码驱动芯片资料和原理图。

底层驱动:

芯片资料:

 原理图(具体使用见各模块使用部分,这里仅仅给个介绍):

二.基本外设使用

等待更新.....

三.其他外设使用

1.温度传感器

温度获取函数(其他子函数为文件包里的默认底层驱动)

unsigned int wendu_get()
{
	unsigned int temp;
	unsigned char low,high;
	
	init_ds18b20();
	Write_DS18B20(0XCC);
	Write_DS18B20(0X44);
	Delay_OneWire(300);//工程自行调试,我的板子300可以稳定实现
do
{
	init_ds18b20();
	Write_DS18B20(0XCC);
	Write_DS18B20(0XBE);
	
	low=Read_DS18B20();
	high=Read_DS18B20();
	temp=(high<<8|low)*0.625;//*10	
	
	}while(temp==850);//芯片初试温度默认为85度,等待实测温度
	return temp;
}

h文件:

与主函数的接口,在这里我只放了我在主函数需要的函数,也就是读取温度的函数:

#ifndef __ONEWIRE_H__
#define __ONEWIRE_H__

unsigned int wendu_get();
    
#endif

具体实现原理见芯片资料:

可配置的温度精度,精度越高转换时间越长,不配置默认为12位精度,转换时间为750ms。 

先读高八位再读第八位

 

 

 

 具体指令及其解释,结合代码看

端口定义:

sbit DQ=P1^4;

 2.距离传感器

等待更新.....

四.补充

菜鸡作者第一次写博客,但是对蓝桥杯单片机也是有很多宝贵的经验的,也是蓝桥杯大学组国奖获得者,大家有什么问题可以直接私信作者或者在评论区问,作者看到之后第一时间回复哦。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐