目 录

第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

单片机技术及应用:基于proteus仿真的c语言程序设计,单片机的C语言程序设计与应用:基于Proteus仿真(第4版)...相关推荐

  1. 逆谐波滤波matlab,基于MATLAB仿真的SPWM逆变电路谐波分析及滤波器设计

    第 7 卷第 3 期 2010 年 9 月 长 沙 理 工 大 学 学 报 ( 自 然 科 学 版 ) Journal of Changsha University of Science and Te ...

  2. pid控制器matlab仿真研究,基于MATLAB仿真的PID控制器设计毕业设计

    基于MATLAB仿真的PID控制器设计毕业设计 基于 MATLAB 仿真的 PID 控制器设计 摘 要 本论文以温度控制系统为研究对象设计一个 PID 控制器.PID 控制是迄今为止最通用的控制方法, ...

  3. 基于汇编语言及Proteus仿真的CPU8086水库水位监视系统

    一. 课程性质与课程目标 1.1 课程性质 本课程设计是<计算机原理与接口技术>课程的具体应用和实践,其重点在于将理论知识应用于具体的功能实现中.学生通过课程设计,应初步学会利用微机和接口 ...

  4. 基于C++仿真的MIPS32指令系统虚拟计算机设计与实现

    目录 1 项目简介 4 2 功能介绍 4 2.1 概述 4 2.2 功能描述 4 2.2.1 指令控制 4 2.2.2 指令执行 5 2.2.3 内存控制 5 2.2.4 寄存器控制 5 2.2.5 ...

  5. 两小灯同亮同灭c语言程序,基于C语言与Proteus联合仿真的单片机技术最新章节_何波,丘利丽著_掌阅小说网...

    前言 随着嵌入式技术的飞速发展,嵌入式系统产品正不断渗透到各行各业,如智能家居.车载电子设备等.因此,单片机技术作为嵌入式计算机控制系统的重要技术,已经越来越受到各个应用领域的重视,尤其对于直接面向企 ...

  6. 微控制器编程技术c语言,1.单片机C语言编程技术分析.pptx

    单片机C语言编程;掌握利用C语言进行单片机程序设计的方法掌握单片机的C程序开发工具Keil 的使用方法掌握单片机仿真软件proteus的使用方法了解单片机常用外部接口元件和接口电路了解单片机系统的集成 ...

  7. 交通灯控制系统设计左转倒计时protues仿真的c语言程序,交通灯控制系统设计

    内容介绍 原文档由会员 ½ӨӨ 发布 交通灯控制系统设计 1万字 32页 包括程序代码,系统原理图,Proteus仿真过程 摘要 本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展.交通 ...

  8. 单片机数据用matlab处理程序设计,单片机串口论文,关于基于单片机MATLAB实现信号的波形显示相关参考文献资料-免费论文范文...

    导读:该文是关于单片机串口论文范文,为你的论文写作提供相关论文资料参考. (温州医科大学 信息与工程学院,浙江 温州 325035) [摘 要]本文介绍了基于单片机与MATLAB实现信号的波形显示的方 ...

  9. python基于svm项目+课程设计报告_单片机课程设计教学模式研究

    单片机课程设计教学模式研究 摘要:在分析单片机课程设计现状的基础上,提出将先进的CDIO工程教育理念应用到单片机课程设计教学中,对课程设计的时间安排.选题.组织实施.考核等方面进行改革与创新,构建新的 ...

  10. R语言生成仿真的3D高斯簇数据集、使用scale函数进行数据缩放、并使用KMeans进行聚类分析、数据反向缩放并比较聚类生成的中心和实际数据的中心的差异、预测新的数据所属的聚类簇

    R语言生成仿真的3D高斯簇数据集.使用scale函数进行数据缩放.并使用KMeans进行聚类分析.数据反向缩放并比较聚类生成的中心和实际数据的中心的差异.预测新的数据所属的聚类簇 目录

最新文章

  1. C++模式学习------工厂模式
  2. 观点|重磅出炉!29页《业内观点:机器人行业的未来》
  3. ant design pro (十六)advanced 权限管理
  4. iOS 选择的照片或者拍照的图片上添加日期水印
  5. Spring Boot 入门——Spring Boot 简介||微服务简介
  6. Linux中的mysql.redis
  7. SPF难以解决邮件伪造的现状以及方案
  8. 工作320:uni-预加载问题
  9. LeetCode 572. 另一个树的子树(二叉树迭代器)
  10. 目标检测(五)--R-CNN
  11. 你还在手写 CRUD?试试 MybatisGenerator,再也不用加班了!
  12. bt种子增加服务器,bt发布-BT种子怎么发布?服务器地址、发布者网址应怎么填写? 爱问知识人...
  13. HTML5期末大作业:汽车销售网站模板设计(7个页面) HTML+CSS+JavaScript 企业网页设计源码...
  14. 范德蒙行列式计算以应用
  15. linux运行roon,Roon + HQPlayer + NAA + 解码 网线直连方案
  16. 斐波那契数列几个公式
  17. 百度Java出现:“现在学java的都是傻子”相关搜索!
  18. DELL新版BIOS重装系统win10
  19. 华为使用计算机投屏要打开什么,华为手机怎么投屏到电脑?这些小屏变大屏的操作你会吗...
  20. java 不生成文件下载_java – 浏览器不生成文件下载对话框

热门文章

  1. 已知三点坐标,求圆心坐标 (外接圆)python实现
  2. MATLAB基础篇——基本语法
  3. Windows下MySQL环境变量的配置及说明
  4. 报错java.lang.NoClassDefFoundError: org/jaxen/JaxenException
  5. opencv存取视频的编码格式 fourcc
  6. 关于PLC的“源型”和“漏型”
  7. 郝兵c语言_郝斌C语言教程全套视频180集下载地址
  8. 【微信支付】springboot 微信app支付包括回调通知
  9. 百度地图加载shp_ArcGIS中加载无偏移谷歌卫星影像!奥维官方插件与ArcGIS协同互动...
  10. Notepad++ 5.8.5 中文版