STC12C5A60S2库
文章平均质量分 56
为备战2021年大学生电子设计竞赛整理
小明n.n
正在学习物联网,软件与硬件相结合,只是想让所学的知识不忘得这么快,所以就做起了知识的搬运工......
展开
-
STC12红外接收与NEC解码
红外通信是一种无线通信技术,利用红外光传输信息。红外光波长介于可见光和微波之间,通常在780纳米至1毫米的范围内。红外通信在许多领域得到广泛应用,例如消费电子产品(如遥控器)、安防系统、智能家居、医疗设备、工业自动化等。无线性:红外通信不需要物理连接,通过红外光传输信息,实现无线通信,方便灵活。高安全性:由于红外光的传播范围较短,相对不易受到干扰,通信较为安全。低功耗:红外通信设备通常使用低功耗的电子元件,适合电池供电的设备。成本较低:红外通信设备的制造和维护成本相对较低。原创 2023-08-24 08:05:52 · 817 阅读 · 0 评论 -
STC12驱动MLX90614红外测温模块在LCD1602显示
通过芯片手册我们可以了解到这个模块的输出有PWM和SMBus方式,PWM长期做嵌入式开发的已经很熟悉了,那么什么是SMBus呢?SMBus(系统管理总线),最早由Intel提出,应用于移动PC和桌面PC系统中的低速率通信,是一种两线的接口。通过它,各设备之间以及系统的其他部分可以之间可以相互通信,它是基于IIC原理,接口和数据格式类似与IIC,同样有两个接口(1个时钟、一个数据),7位数据。可以说SMBus是IIC的一个子集。原创 2023-01-21 23:01:39 · 771 阅读 · 0 评论 -
Mini MP3 Player播放器简介与STC12例程
官方的英文文档串口模式只是寥寥数笔,于是我找到mini MP3板载的芯片“YX5200-24SS串口语音芯片”的资料,对串口控制有非常详细的说明。我们采用AD模块按键,代替传统的矩阵键盘连接方式,它是利用单片机日益强大的AD功能,我们的模块默认配置2个AD端口,20个按键电阻分布。完全支持FAT16、FAT32文件系统,最大支持32G的TF卡,支持32G的U盘,64M字节的NORFLASH。图1-5-1-2:YX5200-24SS串口语音芯片串口功能简介。图1-5-3-1:按键控制模式接线图。原创 2022-12-21 21:52:45 · 8104 阅读 · 3 评论 -
STC12C5A60S2软件模式SPI读取DS1302时钟实时显示在1602
我们知道单片机内部有定时器,但定时器只能表示一个时间段,这不是唯一的时间。比如我们应用单片机写一个交通灯;当我们应用单片机来表示一个时间点,这是唯一的,表示单片机需要做一些必须到某一个时间才能做的事情,所以需要用到RTC,如应用单片机写一个定时炸弹,这时我们就需要实时的时钟计时。使用实时的实时计时还有一个好处就是能够减少时间的误差。关于RTC,在钟表、电子日历、手表、智能手环等都有实际应用。原创 2022-09-17 14:33:07 · 2121 阅读 · 1 评论 -
STC12驱动PCF8575
PCF8575是一个I/O扩展芯片,德州仪器的芯片。有3个硬件地址引脚寻址,也就是说这个芯片可以设置8个IIC器件地址;芯片工作电压2.5V~5.5V,具有16位准双向输入/输出(I/O)端口(P07-P00、P17-P10)。当我们在做嵌入式开发时,MCU接口不够用可以考虑使用这一款芯片扩展,详细查看相关芯片手册...............原创 2022-06-14 21:00:15 · 7293 阅读 · 5 评论 -
STC12C5A60S2系列单片机内部EEPROM
文章目录单片机内部EEPROM介绍例程参考单片机内部EEPROM介绍记得我在学习STC89系列单片机的时候,曾经学到一个内容是EEPROM的读写,当时使用的是AT2402芯片。EEPROM(Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器是一种掉电后数据不丢失的存储芯片其实,STC89C51,STC89C52内部都自带有2Kd EEPROM。STC单片机是利用IAP技术实现EEPROM,内部Flash擦写次数可达1原创 2022-03-11 17:01:57 · 3734 阅读 · 0 评论 -
ULN2003控制步进电机(STC12例程)
文章目录一、步进电机资料二、驱动电路原理图及资料三、代码例程(例程仅供参考)一、步进电机资料二、驱动电路原理图及资料芯片资料:ULN2003百度百科三、代码例程(例程仅供参考)#include <stc12C5a60s2.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intuint i,j; //定义全局变量,执行电机for循环转动时间需要用到s原创 2022-03-08 16:15:31 · 5640 阅读 · 0 评论 -
STC12C5A60S2单片机IIC例程
i2c.c#include "config.h"#include "delay.h"#include "i2c.h"//I2C延时5us函数void I2cDelay_5us(void){ Delay_us(5);}//I2C总线起始信号void I2cStart(void){ SCL = 1; SDA = 1; I2cDelay_5us();//状态保持5us SDA = 0; I2cDelay_5us();//状态保持5us}//I2C总线停止信号void I原创 2022-02-18 12:18:50 · 2271 阅读 · 0 评论 -
STC12单片机P4端口测试程序
STC12C5A60S2单片机P4端口寄存器说明可以查看芯片手册,此例程仅供参考#include <STC12C5A60S2.h>#include <intrins.h>void Delay1ms() //@11.0592MHz{ unsigned char i, j; _nop_(); i = 11; j = 190; do { while (--j); } while (--i);}void Delay_ms(unsigned int ti转载 2022-01-30 20:34:37 · 1524 阅读 · 0 评论 -
STC12C5A60S2单片机驱动深圳电应普DYP-A01A超声波受控串口输出,结果显示在LCD1602
在某宝购买了一款超声波,问客服没有工程Demo,所有只好自己个Demo测试。附上淘宝客服给的产品规划书https://note.youdao.com/s/2xL2ecY7我购买的是A01A系列UART受控输出,通信波特率9600。#include <STC12C5A60S2.h>#include <stdio.h>//数据类型宏定义#define uchar unsigned char#define uint unsigned int//常用变量宏定义#de原创 2022-01-31 16:18:31 · 1719 阅读 · 0 评论 -
STC12C5A60S2输出时钟频率
STC12C5A60S2时钟输出引脚使用定时器T0产生时钟频率#include <STC12C5A60S2.h>#define FOSC 11059200 //晶振频率//#define MODE1T //定时器时钟模式,注释这一行是12T,取消注释是1T#define FREQUENCY 10000 //频率设置#ifdef MODE1T#define F_CALCULATION (256-FOSC/2/FREQUENCY)//1T模式下频率计算公式#e转载 2022-01-30 20:34:01 · 1954 阅读 · 0 评论 -
STC12C5A60S2驱动DS18B20串口打印出当前温度
DS18B20.c#include "DS18B20.h"#include<intrins.h>//定义变量unsigned char flag_temper = 0;//****************************************************//DS18B20延时函数//****************************************************void DS18B20_Delay( unsigned int n转载 2022-01-30 20:33:45 · 1730 阅读 · 2 评论 -
STC12C5A60S2单片机驱动超声波
超声波传播速度误差:超声波的传播速度受空气的密度所影响, 空气的密度越高则超声波的传播速度就越快, 而空气的密度又与温度有着密切的关系。超声波处理函数ultrasonic.c#include "ultrasonic.h"static void Delay15us() //@11.0592MHz{ unsigned char i; _nop_(); _nop_(); i = 38; while (--i);}/*超声波触发*/void TrigUltrason.转载 2022-01-30 20:33:25 · 1924 阅读 · 0 评论 -
STC12参考例程(附模块资料代码注释、学习经验总结)
为备2021年大学生电子设计比赛整理原创 2021-08-04 11:34:51 · 10632 阅读 · 2 评论 -
STC12单片机OLED显示字符串、中文
1、 OLED初始化2、OLED显示中文字符3、OLED显示字符1、 OLED初始化/********************************************************** *程序名称:OLED.c *开发环境:Keil C51 *程序功能:OLED基本显示函数 *硬件设备:STC12C5A60S2 *编写时间:2021.7.21 *注意事项:程序运行需包含"oled.h"头文件 *作者:小途 *******************************.转载 2022-01-30 20:34:55 · 3919 阅读 · 2 评论 -
STC12C5A60S2串口2通信测试程序(实现串口自发自收)
#include <STC12C5A60S2.H>#include <intrins.h>#define uchar unsigned char#define uint unsigned int /*Define UART parity mode*//*定义串口校验模式*/#define NONE_PARITY 0 //None parity#define ODD_PARITY 1 //Odd parity#define EVEN_PAR转载 2022-01-30 20:33:11 · 4371 阅读 · 2 评论 -
STC12C5A60S2驱动DHT11温湿度模块传感器
/* *程序名:DHT11驱动程序 *硬件支持:STC12C5A60S2 DH11 *接口说明:DHT11:Vcc GND DATA *晶振说明:11.0592MHZ *作者:小途 */#include <STC12C5A60S2.H>#define uchar unsigned char#define uint unsigned int#define JUDGE 30 //用于判断通信的0和1,与单片机速度和晶振频率有关sbit转载 2022-01-30 20:32:55 · 3830 阅读 · 10 评论 -
STC12C5A60S2A/D转换
STC12C5A60S2有8路高速10位A/D转换本demo实现ADC通道0采集,并通过串口打印出来#include <STC12C5A60S2.H>#include <intrins.h>#define MAIN_Fosc 11059200L //宏定义主时钟HZ//#define MAIN_Fosc 12000000L#define uchar unsigned char #define uint unsigned int /*声明ADC相关寄存转载 2022-01-30 20:34:21 · 6228 阅读 · 4 评论 -
基于STC12C5A60S2单片机一个简易的蓝牙控制智能小车
H桥模块程序设置基本逻辑主函数基本配置头文件电机驱动文件串口配置文件PWM配置文件H桥模块程序设置基本逻辑#mermaid-svg-NfhnjTur7HkT37m0 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-NfhnjTur7HkT37m0 .label text{fill:#333}#merma.转载 2022-01-30 20:35:11 · 3830 阅读 · 0 评论 -
STC12C5A60S2在LCD1602基本显示程序
#include <STC12C5A60S2.H>/*=================================================*自定义数据类型=================================================*/typedef unsigned char uchar;typedef unsigned int uint;#define LCD1602_DB P0 //LCD1602数据总线sbit LCD1602_RS转载 2022-01-30 20:35:26 · 3645 阅读 · 0 评论 -
STC12C5A60S2独立PWM
/********************************** *函数名称:PCA_Init(void) *输入 :无 *输出 :无 *调用说明:外部调用 *函数说明:PWM模块初始化 ***********************************/void PCA_Init(void){ CCON = 0; //PCA初始化 CMOD = 0x00; //空闲时不计数,不产生中断,时钟源为Sysclk/12,PWM频率大约为4KHz CL = 0原创 2022-01-31 16:14:19 · 3730 阅读 · 0 评论 -
STC12C5A60S2串口通信(使用独立波特率发生器)
串口1初始化//串口1初始化,晶振11.0592,波特率9600,使能中断void Uart1_Init(void){ TMOD = 0x20; //定时器工作在定时器1的方式2 PCON = 0x00; //不倍频 SCON = 0x50; //串口工作在方式1,并且启动串行接收 TH1 = 0xFd; //设置波特率 9600 TL1 = 0xFd; TR1 = 1; //启动定时器1 ES = 1; //开串口中原创 2022-01-31 16:14:35 · 12052 阅读 · 1 评论 -
STC12C5A60S2定时器配置
timer0_ISR.cuint8 SetTime;//当前定时器工作模式为1T工作模式//注释掉这行则当前定时器工作模式为12T#define MODE1T/*************************************** *函数名称:uint16 Timer0Init(uchar function) *函数功能:定时器0初始化 *输入 :uint8 time定时时间,单位ms;输入范围0-5之间; *返回 :无 ************转载 2022-01-31 16:14:53 · 5701 阅读 · 2 评论 -
外部中断初始化配置
timer_ISR.c/************************************************* *函数名称:void int0_Init(uchar mode) *函数说明:外部中断0初始化 *输入:uchar mode 0为外部中断0低电平触发,1为外部中断0下降沿触发 *返回:无 *************************************************/void int0_Init(uchar mode){ IE0 = 0;转载 2022-01-31 16:15:09 · 6009 阅读 · 0 评论 -
STC12C5A60S2自主适应时钟延时函数
时钟宏定义#define MAIN_Fosc 11059200L //宏定义主时钟HZ//#define MAIN_Fosc 12000000Ldelay.c//基于STC12单片机1ms延时函数//函数说明:内部调用static void Delay1ms() { # if MAIN_Fosc == 11059200L //晶振11.0592MHz //误差 -0.018084490741us unsigned char a,b,c; for(c=8;c>0;c转载 2022-01-31 16:15:24 · 4178 阅读 · 9 评论 -
单片机通用配置(基于STC12C5A60S2)
已装成一个头文件方便调用config.h#ifndef _CONFIG_H#define _CONFIG_H//#include <reg52.h>#include <STC12C5A60S2.H>#include <intrins.h>#define MAIN_Fosc 11059200UL //宏定义主时钟HZ#define BAUD 9600 //UART 波特率//对已有数据类型重新定义typedef signed char转载 2022-01-31 16:15:39 · 10118 阅读 · 0 评论