C51单片机学习笔记一
51单片机学习笔记
1.1开发环境搭建与单片机相关知识扫盲
什么是单片机
- 什么是单片机
单片机(Single-Chip Microcomputer)是一种集成电路芯片,
把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、
多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)
集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
- 什么是单片机开发板
基于单片机设计一些外接电路,模块以满足学习,日常调研等工作需求
STC89系列单片机
命名规则,封装LQFP44, 特性 定时器,计数器,串口,看门狗,IO
开发环境
- keil
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
- 安装省略
- 使用
- 创建项目工程文件夹,可以当作模板Template
- 创建文件,取名main.c (要打开拓展名,在文件夹窗口上找 “查看”,勾选“文件拓展名”)
- 进入keil主页面,工具栏project->new uVision project->选择第一步的工程文件夹位置->输入工程名字->选择芯片类型AT89c52->会提示是否拷贝STARTUP.A51,选择是->生成了工程目录->在工程目录Source Group1上右键鼠标->add Exiting file to Source Group1...->选择代码文件main.c
如何将代码放入单片机
STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便。
- 单片机通过type-C数据线和电脑连接(如果不识别,安装ch340驱动,在资料包中)
- 选择单片机型号STC89C52RC
- 选择生成的执行程序文件template.hex
- 点击”下载/编程“按钮
- 单片机开关拨动重新上电
- 自动检测并下载了程序
1.2基本IO控制
以下是我使用的单片机开发板的电路图
IO组 | 0针脚 | 1针脚 | 2针脚 | 3针脚 | 4针脚 | 5针脚 | 6针脚 | 7针脚 | 数值 | 输入/输出 | 复用 |
---|---|---|---|---|---|---|---|---|---|---|---|
P0 | P0^0 | P0^1 | P0^2 | P0^3 | P0^4 | P0^5 | P0^6 | P0^7 | 0-低电平 1-高电平 | 给变量赋值,就是输出 被赋值,就是输入 | |
P1 | P1^1 | P1^1 | P1^2 | P1^3 | P1^4 | P1^5 | P1^6 | P1^7 | 同上 | 同上 | |
P2 | P2^0 | P2^1 | P2^2 | P2^3 | P2^4 | P2^5 | P2^6 | P2^7 | 同上 | 同上 | |
P3 | P3^0 | P3^1 | P3^2 | P3^3 | P3^4 | P3^5 | P3^6 | P3^7 | 同上 | 同上 | |
P4 | P4^0 | P4^1 | P4^2 | P4^3 | P4^4 | P4^5 | P4^6 | 无 | 同上 | 同上 |
对于单片机来讲的,IO口的 输入(把外面东西拿回来)/输出(给东西给外面)
89C52比较简单粗暴,关于引脚输入还是输出的功能不需要配置
比如
1 | sbit IFfire = P1^0; |
按键控制灯
原理:按键和灯不是我们传统理解的思维,传统按键和灯是在同一个电路中的。而我们单片机编程按键和灯是分开的两个电路,通过单片机作为媒介来处理数据,通过逻辑来实现按键控制灯
查询法按键控制灯
怎么知道sw1按键被按下
KEY1位置和GND接通,表现为低电平,值为0
怎么知道sw1按键没有被按下 KEY1位置通过上拉电阻到5V,表现为高电平,值为1
按键控制灯
1 |
|
按键控制灯,SW1开,SW2关,案例中只在SW1添加软件消抖
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小刘同学!
评论