首页 > 其他分享 >02-51单片机的C语言基础与最小系统

02-51单片机的C语言基础与最小系统

时间:2024-12-14 08:58:14浏览次数:5  
标签:02 51 最小 C语言 单片机 电路 模块 时钟

C语言基础

一个简单的单片机C程序要有什么

#include<reg51.h>
void main()
{
	while(1)
	{
	}
}

C语言中常用语句略,if,while,do…while,for,switch…case

函数略

C-51的数据类型扩充定义

sfr:特殊功能寄存器声明

sfr 变量名=地址值;

*特殊功能寄存器在reg51.H这个头文件里面都帮我们定义好了,所以平时我们就不要自己去定义寄存器的名字。

sbit:特殊功能位声明

sbit 变量名=地址值;

*在给某个引脚取名的时候经常会用到。

bit:位变量声明

*用来定义位数据变量

例:

sfr SCON= 0X98;

sbit LED= P0^2;

51单片机最小系统

最小应用系统

51单片机的最小应用系统,至少有这三个外围电路:电源电路、复位电路、时钟电路。

1.电源电路的作用不用多说。

2.复位电路是为了保证单片机上电之后从一个确定的状态开始工作。就像计算器的清零按钮一样。

3.时钟电路用于产生单片机工作所需要的时钟信号,唯一的时钟信号控制下的时序可以保证单片机各部件同时工作。就比如你只用单片机点亮一个LED,你不需要时钟模块,当你要这个LED有规律闪烁的时候,时钟模块就起到了它的作用。
51单片机最小应用系统

最小应用系统+下载模块

下载模块是为了把hex文件烧录到单片机上的。市面上的单片机最小系统板都有下载模块,要不然你代码弄不到硬件上。下载模块的原理就是TXD、RXD通过各种方式,和电脑进行通信。

下面是USB转串口的示意图
在这里插入图片描述
也可以利用RS232接口和计算机直接进行串口通信,但个人感觉不太方便,现在很多电脑都没这个接口了。
在这里插入图片描述

开发软件安装与工程建立

KEIL安装与使用

微信公众号搜一下,非常简单,需要破解,这个软件主要是方便写代码。

你用vscode+platformIO也可以,这玩意开源的。

刚学51、stm32的时候我还习惯用KEIL,后来需要学esp32、Arduino这些东西的时候,就比较偏向platformIO了。ARM版KEIL和51版KEIL同时安装在一台电脑上,就挺麻烦的。Arduino又没有项目管理功能。

protues的安装与使用

微信公众号搜一下,电脑配置够的话装新不装旧。使用方法必应搜一下,protues8.x、7.x的使用方法都差不多。

protues是一个电路仿真软件。不仅能仿真8051,也能仿真stm32\esp32\arduino\树莓派的一些功能,但是无线通信功能protues确实仿真不了。

个人感觉新版本就是能仿真的硬件更多一点,但是体积也大。如果只学51的话,装最古老的版本就够了。我现在装的是protues8.16,最新版已经更到8.17了。

后记

最小系统图是我从STC89C52的数据手册(datasheet)里截的,C52是C51的一个增强版本,多一些特殊功能而已。

AT89C52和STC89C52使用上的区别不大,AT是国外公司Atmel生产的,数据手册只有英文版,并且已经停产了。STC是国内公司宏晶科技生产的,有中文版数据手册,读起来更方便。

89是人家公司内部的生产线编号。STC89系列比AT89系列,在存储器容量、下载方式等方面要强一点。AT89C52是经典,STC89C52是后来者居上。

51、stm32、esp32等MCU(微控制器单元)的开发,最快的学习方式就是读数据手册,因为当一个新技术出成课本录成视频的时候,它已经变成经典了。

标签:02,51,最小,C语言,单片机,电路,模块,时钟
From: https://blog.csdn.net/weixin_39765961/article/details/144396014

相关文章

  • 2024153读书笔记|《春烂漫:新平摄影作品选》——跳绳酷似人生路,起落平常,进退平常,莫惧征
    2024153读书笔记|《春烂漫:新平摄影作品选》——跳绳酷似人生路,起落平常,进退平常,莫惧征途万里长《春烂漫:新平摄影作品选》作者新平,2019.12.25年读完的小书,当时就觉得挺不错,今天2024.12.10再次读依然喜欢。诗词配摄影图片的一本书,主要是春天的百花开,桃花梨花牡丹玉兰油......
  • 2024149读书笔记|Hans的阿狸五部曲——成长的路上分离在所难免
    2024149读书笔记|Hans的阿狸五部曲——成长的路上分离在所难免1.《阿狸和小小云》2.《阿狸和小玉》3.《阿狸·呓语》4.《阿狸和弯月亮》5.《阿狸永远站》1.《阿狸和小小云》阿狸遇到了小小云☁️,它们一起陪伴彼此,早餐午餐晚餐,一起洗澡做伴儿,一起度过春夏秋冬,很......
  • 代码随想录训练营第十六天| 513. 找树左下角的值 112. 路径总和 106.从中序与后序遍历
    513.找树左下角的值 题目链接:513.找树左下角的值-力扣(LeetCode)讲解链接:代码随想录 求最后一行最后一个左子节点的值就是求二叉树深度最大的叶子节点递归:确定递归函数的参数和返回值参数必须有要遍历的树的根节点,还有就是一个int型的变量用来记录最长深度。这里......
  • 2024年12月GESPC++三级真题解析
    一、单选题(每题2分,共30分)题目123456789101112131415答案BDAADBCAADDCDCA1.下列二进制表示的十进制数值分别是()[10000011]原=()[10000011]补=()A.-125,-3B.-3,-125C.-3,-3D.-125,-125【答案】B【考纲知识点】原码和补码的计算及转换【......
  • noip2024 游记
    day-inf前情提要由于csp的超常发挥,喜提SC-0001。day0浮躁。浮躁。浮躁。但这并不是那么严重,因为其实csp前我也挺浮躁的(不过和csp不一样的是入睡前非常兴奋。由于害怕被叠失眠debuff,来了半粒安眠药(人生第一次吃安眠药qwq),神奇的是吃了以后一下就睡着了。day1这天......
  • 202222314 2023-2024-2 《网络与系统攻防技术》实验七实验报告
    2022223142023-2024-2《网络与系统攻防技术》实验七实验报告1.实验内容1.1实验要求本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有(1)简单应用SET工具建立冒名网站(2)ettercapDNSspoof(3)结合应用两种技术,用DNSspoof引导特定访问到冒......
  • 2024-12-13新闻
    2024-12-13新闻作业板块语文三行译做准备默写三行译读书笔记数学《公能勤思》\(P_{204}\simP_{206}\)英语《高分突破》卷子一张设计广告轶事版刘军蔚骨折了刘军蔚昨天晚上背书包绊倒,右手手臂骨折了。获得外号:铁肘侠。没交错题本的被数学课代表和周老师联合......
  • 7、C语言-标识符、键盘录入scanf
    变量名命名规则由数字、字母、下划线_组成不能以数字开头不能是关键字(如if等)严格区分大小写建议变量名尽量都小写用英文单词,做到见名知意代码文件名尽量都小写键盘录入scanfscanf,是scannerformat的缩写、是C语言提供的一个函数作用:获取用户在键盘上......
  • 2024如何快速制作省时又充满创意的PPT【AI制作PPT,智能生成,省时省力】
    ......
  • 函数(C语言)
    前后两个void最好都写上库函数举例:doublesqrt(doublex);//sqrt是函数名//x是函数的参数,表示调用sqrt函数需要传递一个double类型的值。//最前面的double是返回值类型,表示函数的计算结果是double类型的值。a,b未交换原因:实参传递给形参,这时候形参是实参的一份临......