【51单片机学习】(1):单片机入门

news/2024/10/18 12:34:49/

1.C51数据类型

 在C51中int只占两个字节 

2.RAM和ROM

ROM:(Read Only Memory)

程序存储器在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader,一些低端的单片机是没有这个的)通通都存储在ROM中。

RAM:(Random Access Memory)

  随机访问存储器用来存储程序中用到的变量。凡是整个程序中,所用到的需要被改写的量,都存储在RAM中,“被改变的量”包括全局变量、局部变量、堆栈段。程序经过编译、汇编、链接后,生成hex文件。

RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。


http://www.ppmy.cn/news/733524.html

相关文章

【32单片机学习】(1)stm32位带操作

位带区操作 STM32F10x支持位带操作的两个内存区的范围是: 0x2000_0000-0x200F_FFFF(SRAM 区中的最低 1MB) 0x4000_0000-0x400F_FFFF(片上外设区中的最低 1MB) 例如操作GPIOB5->ODR寄存器(GPIOB_ODR寄…

【32单片机学习】(2)stm32库文件

startup_stm32f10x_hd.s 设置堆栈指针、设置PC指针、初始化中断向量表、配置系统时钟、调用C库函数_main,将汇编环境转到C语言编译环境 ; Reset handler //程序从此处开始 Reset_Handler PROCEXPORT Reset_Handler [WEAK]IMPORT __mainIMPORT S…

【51单片机学习】(2)定时器扫描实现按键长按和短按

用Delay消抖时会导致主程序中的一些进程受到影响&#xff0c;所以在这里借鉴江科大使用定时器扫描按键状态进行消抖的方法。在实际使用中加入了长按功能 按键驱动代码key.c #include <REGX52.H>unsigned char Key_KeyNumber,KeyTime,KeyCount,i; unsigned int times;/**…

【32单片机学习】(7)STM32时钟周期

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1.理论时间 2.官方设计标准时间 3.时钟周期的应用 前言 在学习stm32的I2C部分时&#xff0c;发现和C51的有所不同&#xff0c;stm32在SCL翻转IO口后要一定的等…

【32单片机学习】(6)STM32串口+DMA收发不定长数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1.DMA介绍 2.串口接收数据 3.实验现象 1.实验电路图 2.串口收发不定长数据视频演示 3.OLED 显示接收数据 4.代码部分 1.1串口模块 serial.c serial.h …

【32单片机学习】(8)STM32滴答定时器

1.选择时钟源 在misc.c文件中&#xff0c;配置SysTick时钟源 void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource); 可以选择系统时钟或者系统时钟的8分频&#xff1a; arg SysTick_CLKSource_HCLK_Div8: AHB clock divided by 8 selected as SysTick clock source.…

【C语言学习】(1)冒泡法排序在ADC采样数据中的使用

复习冒泡排序&#xff0c;学习ADC采样数据滤波 目录 前言 一、使用场景 二、使用步骤 2.冒泡法排序 总结 前言 排序是C语言经常使用的基础算法&#xff0c;最简单的就是使用冒泡法对数组进行排序。 一、使用场景 在ADC采集到一次数据时&#xff0c;可能会因为干扰导致单…

【32单片机学习】(9)FSMC不同位宽操作

在学习正点原子FSMC访问外部存储器时遇到的一个地址偏移问题&#xff0c;在这里记录一下 HADDR&#xff1a;来自STM32内部AHB总线上地址线。 FSMC_A[25:0]&#xff1a;外部存储器接口信号上的地址总线&#xff0c;连接TFT的数据/命令选择RS端&#xff0c;只用到了FSMC_A[0]。 F…