自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (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 7109 5

转载 【C语言学习笔记】提取一个浮点数的每一位数

仅供参考#include <stdio.h>void main(){ /*提取一个浮点数的每一位*/ double i = 1234.5678; int qian,bai,shi,ge,thnths,percentile,thousandth,tenThousandthBit; qian = (int)i/1000; bai = (int)i/100%10; shi = (int)i/10%10; ge = (int)i/1%10

2022-04-04 20:45:06 3599 1

转载 【C语言学习笔记】C语言常用数据类型转换Demo

文章目录1、整型转浮点型1、整型转浮点型整型转浮点型可以使用强制类型转换

2022-04-04 20:44:14 740

转载 【STC8学习笔记】STC8A8K64S4A12 ADC模数转换,使用串口打印出来

STC8系列单片机内部集成了一个12位的15通道A/D转换器,使用STC8内部ADC时,要使AVref连接参考电压,ADC_AVcc和ADC_AGnd接好电源和地线!内部ADC引脚可参考芯片手册ADC_CHS寄存器配置可得知参考例程#include <STC8.h>#include <intrins.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned int /*常

2022-03-27 16:22:07 2781 1

原创 【STC8学习笔记】STC8A8K64S4A12配置PCA_PWM输出

管脚图我使用的是LQFP48封装的为例子相关功能引脚说明见芯片手册P35页例程代码在这里插入代码片#include <STC8.h>//测试工作频率为11.0592MHz//数据类型宏定义#define uchar unsigned char#define uint unsigned int//PCA输入时钟频率宏定义#define PCA_Clock12 0x00 //PCA输入时钟源为系统时钟/12#define PCA_Clock2 0x02 //PCA

2022-03-27 13:56:41 4440

原创 【STC8学习笔记】STC8A8K64S4A12外部中断配置例程

外部中断0配置#include <STC8.h>#define uchar unsigned char#define uint unsigned int/******************************************函数名称:Int0Init(uchar value)函数输入:value=0,INT0上升沿和下降沿中断 value=1,INT0下降沿触发函数返回:无函数说明:STC8外部中断0初始化***********************

2022-03-27 11:05:32 1471

转载 【STC8学习笔记】STC8A8K64S4A12串口配置

串口初始化函数使用stc-isp-v6.88J版本自动生成串口1例程#include <STC8.h>void UartInit(void) //9600bps@11.0592MHz{ SCON = 0x50; //8位数据,可变波特率 AUXR |= 0x40; //定时器时钟1T模式 AUXR &= 0xFE; //串口1选择定时器1为波特率发生器 TMOD &= 0x0F; //设置定时器模式 TL1 = 0xE0; //设置定时初始值 T

2022-03-27 11:04:57 3060 5

原创 【STC8学习笔记】STC8A8K64S4A12精准延时函数设置

在设置单片机精准的延时函数的时候,给大家一个方法,STC-ISP有一个延时函数计算器,可以计算出想要的延时。我的例程也是基于这个软件生成的,我生成一个1ms和1us出来,剩下的我再封装成一个函数接口,需要用到的时候直接调用。例程参考,以11.0592M晶振为例,需要其它晶振要自己生成注意:需要添加<intrins.h>头文件void Delay1us(void) //@11.0592MHz{ unsigned char i; _nop_(); _nop_(); i = 1

2022-03-27 11:04:01 1932

原创 【STC8学习笔记】STC8A8K64S4A12 程序烧录及使一个LED闪烁

1、我使用的STC8对应好引脚直接安装在某单片机开发板上。2、将STC8芯片型号添加到keil中3、编写程序一个LED闪烁的程序#include <STC8.h>sbit LED1 = P1^0;void Delay1ms(void) //@11.0592MHz{ unsigned char i, j; i = 15; j = 90; do { while (--j); } while (--i);}void delay_ms(unsigned

2022-03-27 11:03:32 4324 3

原创 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 3634

原创 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 5397

原创 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 2194

转载 通过MinGW64讲解C语言是如何在计算机中运行的

一、前言二、运行C语言的原理1、计算机程序语言2、编译器和链接器一、前言写下篇博客的时候,可以说我的C语言已经入门了有一段时间。在大学学了一个学期的C语言程序设计,到头来发现自己不过是刚刚入门。也明白了大学和专门的培训机构不同,培养的不是专门教编程的,而是全方面顾及。当C语言入门不久之后,给大家推荐一本比较经典的书《C语言程序设计》由Brian W.Krenighan 和 Dennis M. Ritchie写的。D.M.Ritchie(中文名:丹尼斯·里奇)也是C语言之父。可以说C语言是他创作出来的.

2022-02-09 09:12:30 3269 3

转载 Visual Studio Code配置C开发环境

软件介绍安装指南1、下载2、插件安装3.运行一个hello world!4、断点调试软件介绍Visual Studio Code是微软发布的一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Windows、Mac 及 Linux。个人建议:对于刚刚接触编程,建议选择IDE作为学习C语言的编程工具。我之前专门写过一篇博客,介绍初.

2022-02-09 09:10:34 11274 1

原创 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 1678

转载 单片机通用配置(基于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 9969

转载 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 4105 9

转载 外部中断初始化配置

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 5939

转载 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 5597 2

原创 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 11926 1

原创 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 3668

转载 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 3573

转载 基于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 3763

转载 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 3847 2

转载 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 1466

转载 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 6088 4

转载 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 1914

转载 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 1693 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 1875

转载 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 4259 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 3769 10

STC12C5A60S2单片机A/D采样在OLED做一个简易的电压表

STC12C5A60S2 在OLED显示AD值、电压值。可通过串口打印出来,波特率9600

2021-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除