- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 STC89C52的结构体
C51程序设计有时需要将一批基本类型的数据放在一起使用,从而引入了所谓构造类型数据,前面学习的数据就是一种构造类型的数据,一个数组实际上是一批顺序存放的相同类型数据。结构体也是一种结构类型数据。结构体它是将若干个不同类型的数据变量有序地组合在一起而形成的一种数据集合体。一般来说,结构体中各个变量之间是存在某些联系的,例如时间的时分秒,日期中的年月日1.结构体类型定义1)结构体类型定义的一般格式为:struct 结构体名{结构体元素表};2)其中,"结构体元素表"为该结构体中的各个成员,由于
2021-01-31 22:01:26
547
原创 STC89C52的IIC总线写EEPROM
串行通信中的IIC总线工作原理51本身不带IIC总线 ,使用程序模拟IIC通信协议常用的串行总线协议UART、1-wire、I2C和SPI总线UART:是以异步方式进行通信(一条数据输入线,一条数据输出线)。1-wire:即单线总线,又叫单总线(只有一条线)I2C:同步串行2线方式进行通信(一条时钟线,一条数据线)SPI:同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)本节相关原理图分析I2C总线是飞利浦公司推出的一种串行总线,它只要两根双向信号线。一根是数据线SDA
2021-01-31 21:49:21
1478
原创 STC89C52的串口发字符和汉字
串口发送字符串什么是ASCLL码ASCLL码规定了不同字符是用哪个字符去表示的(文本模式)用串口发送字符串#include <reg52.h>sbit key=P3^2;sbit led=P1^0;volatile unsigned char sending;//int i=0;//unsigned char shuzu[]={0xC7,0xE5};unsigned char zifuchuan[]="背景欢迎你!\n";unsigned char *pd=zifuchua
2021-01-31 21:30:00
1138
原创 STC89C52的中断
中断分为四个步骤:中断请求->中断响应->中断处理->中断返回数据输入输出传送方式:1.无条件传送 (led)2.查询传送方式(温度传感器,ADC采样转换)3.中断传送方式(IRQ)4.直接储存器存取方式(DMA)5个中断源外部中断源(2个)INT0-由P3.2端口引入,低电平或下降沿引起。INT1-由P3.3端口引入,低电平或下降沿引起。这两个外部中断源标识和它们的触发方式控制位由特殊功能寄存器TCON的低4位控制。内部中断源(3个)T0-定时器/计数器0中断,
2021-01-31 16:40:57
4398
原创 STC89C52的LED程序
一、需要了解的基础标准库函数:intrins.h内部函数:字符型循环左移:crol字符型循环右移:cror晶振:11.0592Mhz12T 时钟周期0.09042us 机器周期1.08507us 12个时钟是一个机器周期,一个机器周期处理一条指令 每秒大约执行92.16万条指令传统12T,最新的是1T,比传统的快12倍二、程序设计#include <reg52.h>#include <intrins.h>#define uchar unsi
2021-01-31 16:22:47
356
原创 笔记2之时钟剖析
笔记2时钟系统框图及说明这里只是记录学习的笔记时钟系统框图 ,5个时钟源,HSI 、HSE、LSE、LSI、PLL;HSI,高速内部时钟,RC振荡,精度不高;HSE,高速外部时钟,可接陶瓷/石英谐振器,或者外部时钟源,4MHz-16MHz;LSE,低速外部时钟,接频率在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学公式 语法;增加了支持甘特图的mer
2020-09-13 20:30:53
202
原创 笔记4之C语言复习和寄存器地址名称映射分析
位操作define宏定义关键词ifdef条件编译extern变量声明typedef类型别名结构体static关键字1.位操作按位与,有0为0;按位或,有1为1;左移低位补零,右移高位补零;按位异或,异1同0;要操作的位先用&清零,再用|置位,不影响其他位有BSRR的话可以直接操作GPIOA->BSRR=0xFFFF00F0(https://blog.csdn.net/qq_33430730/article/details/108189986);...
2020-09-13 19:48:43
209
原创 笔记1之stm32的keil工程里的几个重要文件
笔记1#关于stm32的keil工程里的几个重要文件Core_cm3.c ,作用是提供一个进入CM3内核的接口,有一些与编译器相关的条件编译语句,重要的是包含了stdin.h这个头文件,就像熟知的stdio.h,主要作用是提供一些新类型的定义;旧版的u8,u16,u32这样无符号整型类型的,他们定义位置在stm32f10x.h中system_stm32f10x.c ,功能是设置系统时钟和总线时钟,在实现系统时钟的时候要用到PLL,这就需要操作寄存器,寄存器都是以存储器映射的方式来访问的,所以包
2020-09-01 00:27:12
1058
原创 IAR工程stm32库函数之轮询按键
下面记录一个IAR工程的stm32库函数之轮询按键的例子,还是需要有固件库。首先建立一个文件夹,在里面添加如下文件夹把3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar下的启动文件startup_stm32f10x_hd.s复制到startup文件下把3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3
2020-08-30 22:40:51
253
原创 stm32的按键轮询函数
今天记录一个轮询按键的函数在上一篇点灯的基础上添加key.c和key.h,我用的开发板key3的引脚是PE4key.c的代码如下#include "key.h"extern void Delay(__IO u32 count);void Key_Gpio_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE); GPIO_Ini
2020-08-30 15:35:57
367
原创 STM32的GPIO配置和点灯程序
拿到一款新的单片机开发之前需要三个东西,芯片的数据手册,单片机的开发手册,单片机的原理图。今天码一个点灯程序,芯片是stm32f103zet6,开发手册就是中文参考手册,我的开发板原理图我也没有,但是我知道led1的引脚是PE5,led2的引脚是PE6,下面开始开发。GPIO的工作方式有4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入4种输出模式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能3种最大翻转速度:2MHZ,10MHZ,50MHZ输入浮空:输入上拉:输入下拉:模拟输入:
2020-08-24 00:30:20
552
原创 如何开始标准库函数开发
要想利用STM32的库,首先从官网下载准备好库先自己建立个demo工程,新建几个文件夹,熟悉后按自己的习惯建1.从Libraries\CMSIS\CM3\CoreSupport复制core_cm3.c和core_cm3.h到CMSIS下,从Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下复制stm32f10x.h,system_stm32f10x.c,system32f10x.h到CMSIS下,从Libraries\CMSIS\CM3\DeviceSupp
2020-08-17 01:11:24
224
原创 HC-SR04超声波模块程序原理和Proteus ISIS仿真
一、原理介绍遇到障碍物,能够感应做出反应,超声波可以作为一种测量手段,超声波在固体液体气体中传播良好,气体中速度约为340m/s。如果知道时间,那么就可以计算出距离。利用宏晶STC89C52计算超声波模块HC-SR04反馈信号高电平的时间,换算成距离显示在数码管上(这里用573和138组合的共阴极数码管显示电路)。STC89C52是国产宏晶的一块8位寄存器芯片,IO准双向口,可以输入输出,七个中断...
2018-07-09 11:58:43
47369
20
STM32之按键中断(通用)
2020-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人