目录

  • 1 导学
    • 1.1 课程简介
    • 1.2 使用工具
    • 1.3 学习方法
  • 2 单片机概述
    • 2.1 单片机简介
    • 2.2 单片机发展历史
    • 2.3 单片机的特点
    • 2.4 单片机的应用
    • 2.5 单片机的发展趋势
    • 2.6 MCS-51 系列与 AT89C5x 系列单片机
    • 2.7 其他单片机
    • 2.8 章节测验
  • 3 AT89S52单片机的片内硬件结构
    • 3.1 AT89S52单片机的硬件组成
    • 3.2 AT89S52单片机的引脚功能
    • 3.3 AT89S52单片机的CPU
    • 3.4 AT89S52单片机的存储结构
    • 3.5 AT89S52单片机的并行I/O端口
    • 3.6 AT89S52单片机的时钟电路与时序
    • 3.7 复位操作和复位电路
    • 3.8 AT89S52单片机的最小系统
    • 3.9 看门狗功能简介
    • 3.10 低功耗节电模式
    • 3.11 章节测验
  • 4 8051指令系统与编程基础
    • 4.1 指令系统概述
    • 4.2 指令格式
    • 4.3 指令系统的寻址方式
    • 4.4 8051指令系统分类介绍
    • 4.5 8051指令系统汇总
    • 4.6 某些指令的说明
    • 4.7 8051汇编语言程序设计基础
    • 4.8 8051汇编语言程序设计举例
    • 4.9 章节测验
  • 5 AT89S52单片机的中断系统
    • 5.1 单片机中断技术概述
    • 5.2 单片机中断系统结构
    • 5.3 中断允许与中断优先级的控制
    • 5.4 响应中断请求的条件
    • 5.5 外部中断的时间
    • 5.6 外部中断的触发方式选择
    • 5.7 中断请求的撤销
    • 5.8 中断服务子程序的应用设计
    • 5.9 多外部中断源系统设计
    • 5.10 章节测验
  • 6 AT89S52单片机的定时器/计数器
    • 6.1 定时器/计数器T0与T1的结构
    • 6.2 定时器/计数器T0与T1的4种工作方式
    • 6.3 定时器/计数器T2的结构与工作方式
    • 6.4 对外部输入的计数信号的要求
    • 6.5 定时器/计数器的编程和应用
    • 6.6 章节测验
  • 7 AT89S52单片机的串行口
    • 7.1 串行通信基础
    • 7.2 串行口的结构
    • 7.3 串行口的4种工作方式
    • 7.4 多机通信
    • 7.5 波特率制定方法
    • 7.6 串行通信接口标准
    • 7.7 串行口的应用设计举例
    • 7.8 章节测验
  • 8 显示、开关/键盘及微型打印机接口设计
    • 8.1 单片机控制发光二极管的显示
    • 8.2 开关状态检测
    • 8.3 单片机控制LED数码管的显示
    • 8.4 单片机控制LED点阵显示器显示
    • 8.5 单片机控制LCD1602液晶显示器的显示
    • 8.6 键盘接口设计
    • 8.7 AT89S52单片机与微型打印机的接口
    • 8.8 单片机与BCD码拨盘的接口设计
    • 8.9 章节测验
  • 9 AT89S52单片机外部存储器的并行扩展
    • 9.1 系统并行扩展结构
    • 9.2 地址空间分配和外部地址锁存器
    • 9.3 静态数据存储器RAM的并行扩展
    • 9.4 片内Flash存储器的编程
    • 9.5 E2PROM的并行扩展
    • 9.6 章节测验
  • 10 AT89S52单片机的I/O扩展
    • 10.1 I/O接口扩展概述
    • 10.2 AT89S52扩展I/O接口芯片8255的设计
    • 10.3 利用74LSTTL电路扩展并行I/O口
    • 10.4 用AT89S52单片机的串行口扩展并行口
    • 10.5 用I/O口控制的声音报警接口
    • 10.6 章节测验
  • 11 单片机与DAC、ADC的接口电路
    • 11.1 单片机扩展D/A转换器概述
    • 11.2 单片机扩展并行8位DAC0832的设计
    • 11.3 单片机扩展A/D转换器概述
    • 11.4 单片机扩展并行8位A/D转换器ADC0809
    • 11.5 章节测验
使用工具
  • 1 Keil
  • 2 Proteus

Keil是一款广泛应用于嵌入式系统开发的集成开发环境(IDE),主要用于开发、编译、调试和仿真嵌入式软件。以下是关于Keil软件的详细介绍:

基本功能

集成开发环境:Keil提供了完整的开发工具链,包括代码编辑器、编译器、调试器、链接器、宏汇编器和库管理器等。这些工具通过µVision IDE集成在一起,方便开发者进行代码编写、编译、调试和测试。

多语言支持:支持多种编程语言,如C、C++、汇编等,满足不同开发需求。

丰富的库函数和示例代码:内置大量库函数和示例代码,方便开发者快速上手。

强大的调试功能:支持多种调试接口(如JTAG、SWD、UART等),提供断点设置、单步执行、变量监视、寄存器查看等功能。

支持的硬件平台

Keil支持多种微控制器架构,包括但不限于ARM Cortex-M系列、8051系列、C166系列等,适用于多种嵌入式系统开发场景,如汽车电子、智能家居、医疗设备等。

版本信息

Keil软件有多个版本,如Keil C51(主要用于8051系列单片机开发)和Keil MDK(主要用于ARM Cortex-M系列开发)。其中,Keil MDK是目前主流的版本,它将Keil µVision IDE与ARM的MDK-ARM软件包合并,提供了更强大的功能。

优点

跨平台支持:支持Windows、Linux等多种操作系统。

易于使用:提供友好的用户界面,方便开发者快速上手。

高效的编译器:能够快速编译生成可执行文件。

适用范围广:适用于从初学者到专业开发者的各种用户。

应用场景

Keil广泛应用于嵌入式系统开发、学术研究和产品原型设计等领域。它可以帮助开发者快速验证设计思路,提高开发效率,缩短开发周期。

总之,Keil是一款功能强大且易于使用的嵌入式开发工具,为开发者提供了全方位的支持和便利。

名词释义

IDE:Integrated Development Environment,是开发集成环境的意思,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。因为做嵌入式开发的,首先需要有可以编写代码的编辑器,然后需要有把代码转换成机器可执行代码的编译器,有时候可能需要在对应硬件芯片上调试,那就需要有个调试器,为了操作方便,一般会把这些都图形化。这么下来的一整套工具集成在一个应用程序里,就是所谓的IDE,这篇文章介绍的Keil uVision就是IDE的一种。

Keil:其实Keil是个公司名,其旗下开发的软件都以Keil开头命名。目前有Keil MDK-ARM、Keil C51、KeilC166和KeilC251等版本。

uVision:uVision是由keil公司开发的集成开发环境(IDE),可以进行代码编辑,文件管理,程序的编译调试等。

MDK、C51:如果想要开发ARM内核的芯片,需要安装MDK-ARM,如果想要开发51内核的芯片,那就需要安装c51。也就是说,MDK、c51只是Keil针对不同芯片内核开发的不同开发集成环境。

CMSIS:ARM Cortex™ 微控制器软件接口标准(CMSIS:Cortex Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。

烧录:烧软件只是一种叫法,来源于最早刻录光盘,因为是用激光讲数据烧在光盘上,所以后来人们把这种不可逆的记录方式称之为烧录。

bin文件:二进制文件,其用途依系统或应用而定。一种文件格式binary的缩写。一个后缀名为".bin"的文件,只是表明它是binary格式。一般来讲是机器代码,汇编语言编译后的结果。

axf文件:axf文件是ARM芯片使用的文件格式,它除了包含bin代码外,还包括了输出给调试器的调试信息,例如每行C语言所对应的源文件行号等。

Hex文件:Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。

————————————————


                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                        

原文链接:https://blog.csdn.net/u012749085/article/details/125597424