目 录

第1章 单片机的C语言概述 1

1.1 单片机的C语言 1

1.1.1 单片机的C语言(C51)的特点 1

1.1.2 单片机的C语言和标准C语言的

比较 2

1.1.3 单片机的C语言与汇编语言的优

势对比 2

1.2 硬件及软件环境 6

1.2.1 硬件环境 6

1.2.2 软件环境 8

本章小结 8

习题 8

第2章 51系列单片机硬件及C51编程

基础 9

2.1 51单片机的总体结构 9

2.1.1 内部结构 9

2.1.2 外部引脚说明 10

2.1.3 CPU的时序周期 13

2.2 51单片机的存储器 14

2.2.1 程序存储器 14

2.2.2 数据存储器 15

2.2.3 特殊功能寄存器 17

2.3 C51语言的数据 20

2.3.1 常量 20

2.3.2 变量 22

2.4 C51语言对单片机主要资源的

控制 25

2.4.1 特殊功能寄存器的C51语言

定义 25

2.4.2 绝对地址的访问 27

2.5 C51语言的基本运算与流程控制

语句 28

2.5.1 基本运算 28

2.5.2 分支判断——if、switch语句 30

2.5.3 循环控制——while、for语句 32

2.5.4 break、continue、return和goto

语句 34

2.6 C51语言的数组、指针、函数 36

2.6.1 数组 36

2.6.2 指针 38

2.6.3 函数 39

2.7 C51语言的预处理命令及汇编语句

的嵌入 42

2.7.1 文件包含、宏定义、条件编译 42

2.7.2 C51中汇编语句的嵌入 44

2.8 C51程序 45

2.8.1 C51的程序结构 45

2.8.2 C51编程规范及注意事项 47

2.8.3 C51的标识符与关键字 48

本章小结 50

习题 50

第3章 P0~P3口输入/输出的C51编程 52

3.1 51单片机的P0~P3口基础知识 52

3.1.1 P0~P3口结构 52

3.1.2 P0~P3口特点总结 53

3.2 输出操作 54

3.2.1 基本输出操作举例——字节输出

与位输出 54

3.2.2 扩展输出操作举例——流水灯与

霹雳灯 55

3.2.3 扩展输出操作举例——8段LED

数码显示器 57

3.3 输入操作 62

3.3.1 闸刀型开关输入信号 63

3.3.2 单个按钮型开关输入信号 64

3.3.3 多个按钮型开关输入信号——

键盘 66

3.4 实验与设计 72

实验1 闸刀型开关输入/8段LED静态

显示输出 72

实验2 按钮型开关输入/8段LED静态

显示输出 72

设计1:计时秒表的设计 74

设计2:模拟交通信号灯控制装置的

设计 74

本章小结 74

习题 75

第4章 中断系统的C51编程 76

4.1 中断系统结构与中断控制 76

4.1.1 中断系统结构 76

4.1.2 特殊功能寄存器 77

4.2 中断优先级与中断函数 78

4.2.1 中断优先级 78

4.2.2 中断函数的结构形式 80

4.3 外部中断源的C51编程 80

4.3.1 外部中断源初始化 80

4.3.2 编程示例 81

4.4 实验与设计 84

实验1 按钮型开关模拟外部中断

实验 84

实验2 外部中断优先级实验 85

设计:出租车计价器里程计量装置的

设计 87

本章小结 87

习题 88

第5章 定时器/计数器的C51编程 89

5.1 51单片机的定时器/计数器 89

5.1.1 结构 89

5.1.2 特殊功能寄存器 90

5.2 定时器/计数器工作模式 91

5.3 定时器/计数器的应用举例 94

5.3.1 定时器/计数器的初始化 95

5.3.2 应用举例 96

5.4 实验与设计 102

实验1 按钮型开关模拟计数器实验 102

实验2 定时器实验 103

设计1:出租车计价器里程计量装置

的设计 104

设计2:计时钟的设计(倒计时) 104

本章小结 104

习题 105

第6章 串行口的C51编程 106

6.1 51单片机串行口基础知识 106

6.1.1 串行口的结构原理 106

6.1.2 串行口的应用控制 107

6.2 51单片机串行口的工作方式 108

6.2.1 串行口工作方式0 108

6.2.2 串行口工作方式1 112

6.2.3 串行口工作方式2 116

6.2.4 串行口工作方式3 119

6.3 51单片机串行口的应用举例 122

6.3.1 串行口编程基础 122

6.3.2 串行口应用举例 124

6.4 实验与设计 127

实验1 串行口控制的流水灯实验 127

实验2 两个单片机通信实验 127

本章小结 129

习题 130

第7章 外部并行扩展的C51编程 131

7.1 51单片机并行I/O口扩展基础 131

7.1.1 系统扩展总线结构图 131

7.1.2 数据线、控制线的连接 132

7.1.3 译码信号的形成——系统扩展

的寻址 132

7.2 可编程的I/O接口芯片8255A的

C51编程 135

7.2.1 8255A简介 135

7.2.2 利用8255A扩展并行的输入/输出

口示例 139

7.2.3 利用Intel 8255A作为8段LED

静态显示输出口的示例 140

7.2.4 利用Intel 8255A作为8段LED

动态显示输出口的示例 141

7.3 D/A与A/D转换器的C51编程 143

7.3.1 D/A转换器基础 143

7.3.2 8位并行D/A转换器DAC0832 145

7.3.3 A/D转换器基础 150

7.3.4 8位并行A/D转换器ADC0809 151

7.4 液晶显示器的C51编程 155

7.4.1 字符型LCD1602液晶显示模块

的C51编程 155

7.4.2 点阵式带汉字库12864液晶显示

模块接口技术 160

7.5 实验与设计 168

实验1 DAC0832单缓冲实验 168

实验2 ADC0809实验 169

设计1:电子密码锁的设计 171

设计2:波形发生器的设计 171

本章小结 171

习题 172

第8章 外部串行扩展的C51编程 173

8.1 I2C总线器件的C51编程 173

8.1.1 认识I2C总线接口 173

8.1.2 I2C总线典型器件AT24C02

应用举例 175

8.2 SPI总线器件的C51编程 180

8.2.1 认识SPI总线 181

8.2.2 SPI总线典型器件X25045应用

举例 182

8.3 单总线的C51编程 186

8.3.1 认识单总线 186

8.3.2 单总线典型器件DS18B20应用

举例 187

8.4 串行A/D接口芯片TLC2543的

C51编程 193

本章小结 196

习题 197

第9章 μVision2与Proteus使用基础 198

9.1 μVision2集成开发环境 198

9.1.1 File、Edit和View菜单 199

9.1.2 Project、Debug和Flash菜单 201

9.1.3 Peripherals、Tools和Window

菜单 202

9.2 用μVision2建立与调试工程 203

9.2.1 工程创建、设置、编译与链接 203

9.2.2 用μVision2调试工程 207

9.2.3 C51程序调试举例说明——

HELLO.C 211

9.2.4 Keil C51的调试技巧及举例 213

9.3 Proteus快速入门 216

9.3.1 集成Proteus ISIS环境 216

9.3.2 电路原理图设计 221

9.4 Proteus仿真工具介绍 226

9.4.1 探针 226

9.4.2 虚拟仪器 226

9.4.3 信号发生器 227

9.4.4 仿真图表 227

9.5 Proteus软件中的C51程序运行与

调试 228

9.5.1 驱动的安装 228

9.5.2 Keil和Proteus的配置 228

9.5.3 Keil和Proteus的调试过程 229

本章小结 229

习题 230

附录A ASCII码字符表 231

附录B 单片机应用资料查询方法 232

附录C Proteus常用分离器件名称 233

参考文献 234

单片机的c语言程序设计与应用考题,单片机的C语言程序设计与应用—基于Proteus仿真(第4版)...相关推荐

  1. c51语言提供了code存储类型来访问,单片机原理与应用(C51编程+proteus仿真)第2版张毅刚--第3章课后习题答案2020年1月30日整理...

    单片机原理与应用(C51编程+proteus仿真)第2版 -张毅刚课后习题参考答案 第3章思考题及习题3 参考答案 一.填空 1.与汇编语言相比, C51语言具有().().().和()等优点.答:可 ...

  2. 51单片机应用开发25例—基于Proteus仿真(电路图+程序)

    51单片机应用开发25例-基于Proteus仿真(电路图+程序) 分享的51单片机应用开发25例-基于Proteus仿真非常全面,里面仿真工程文件和源程序都有. 目录: 应用实例1  呼吸灯\ 应用实 ...

  3. 54、基于51单片机饮水机温度水位控制无线蓝牙APP控制报警系统设计(程序+原理图+PCB源文件+Proteus仿真+参考论文+开题报告+元器件清单等)

    方案的选择 方案一:采用51单片机作为控制核心,配合无线蓝牙模块.水温加热模块继电器开关.基于Dallas单线数字式的DS18B20温度传感器模块.蜂鸣器报警模块.按键模块.LCD1602液晶显示器模 ...

  4. 单片机实验——水塔自动抽水系统设计(基于Proteus仿真)

    实验内容及要求 自来水供水是现代生活的一大特点,水塔作为储水装置是自来水系统必不可少的重要设施,让水塔保持一定的水量是自来水不断供的必要条件,本设计模拟自来水系统中水塔的自动抽水机制,设计分为控制系统 ...

  5. 利用c51单片机实现测频仪(基于proteus仿真)

    主要使用了c51单片机内部的定时器计数器功能 最近在准备期末考试,就结合这个实验复习了一下TMOD,TCON, EA, IP的使用 还有就是今年的蓝桥杯单片机省赛的时候就考到了测频功能,当时还没有学习 ...

  6. MCS-51单片机C语言程序注释,精通MCS-51单片机C语言编程

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  7. 触摸屏与单片机通讯c语言程序设计,讲述如何实现单片机与触摸屏的通信

    随着触摸屏的应用和产量的增加,价格下降.因而有可能使用触摸屏作为单片机控制设备的键盘和显示装置,提高单片机控制设备的档次.触摸屏与PLC联合使用时,触摸屏的主要功能是: ①显示PLC输入,输出端13或 ...

  8. c++程序设计_基于proteus的51单片机开发实例30-模块化程序设计

    1. 基于proteus的51单片机开发实例30-模块化程序设计 1.1. 实验目的 模块化程序设计 不知不觉我们的51单片机开发实例已经进行到第三十篇了,是时候进行一个总结和反思了,总结什么?反思什 ...

  9. 单片机学c语言还是python好_单片机开发用哪种语言最好?

    在过去的几十年中,单片机的规格变化不大,但是语言和支持软件的扩展为应用程序开发开辟了许多途径.多年来,对单片机进行编程涉及到两种语言的选择:C语言和汇编语言.但是随着现在可用于微处理器的新语言,用户在 ...

  10. c语言intrins头文件,结合单片机学习板学习c语言之流水灯制作 intrins.h头文件

    原标题:结合单片机学习板学习c语言之流水灯制作 intrins.h头文件 目的:实现流水灯. 本文引用地址:http://www.eepw.com.cn/article/201608/294948.h ...

最新文章

  1. IOS开发之数据sqlite使用
  2. 如何在php7.2/php7.3中安装mcrypt扩展?
  3. Saltstack_实战指南01_系统规划
  4. reactor模式:多线程的reactor模式
  5. Android Studio Problems
  6. java中一个线程最小优先数_Java线程的优先级
  7. WAP技术入门(续)
  8. Jmeter下载安装详细步骤(最新)
  9. linux c语言ide,linux下用过的c++IDE
  10. python机器学习分析影响房价的主要因素
  11. 使用html语言替换字符串中的特殊标点符号
  12. IOS微信端touchstart事件失效处理
  13. 牛客网数据库SQL实战14—— 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。
  14. cximage 进行gif 背景透明处理
  15. shell 中字符串变量处理
  16. html中,table 的cellpadding cellspacing 属性失效
  17. 【Java面试】Java 内存溢出 栈溢出的原因与排查方法
  18. SpringBoot -- 服务网关APIGateway
  19. 【算法比赛】2020 力扣杯!Code Your Future 春季全国编程大赛
  20. 张朝阳:我想去清华大学教学生“打坐”

热门文章

  1. spring cloud微服务(二)euraka服务消费者
  2. FastDFS分布式架构,详细安装步骤,测试;Nginx中配置FastDFS,并提供优化,下载方法,楼主已测
  3. Qt中清空layout中所有控件
  4. VUE小案例——奇妙清单(vue指令综合应用)
  5. 干货!Web 网页设计规范
  6. YUY2和MJPG视频编码格式区别
  7. 关于PLC手册中的源型和漏型
  8. PHP - 主流开发框架 - 介绍
  9. Clark变换和Park变换在三相系统和单相系统中的应用
  10. 解决“配置系统未能初始化”异常