中文名 | stc89c51 | 工作电压 | 3.4V-5.5V |
---|---|---|---|
工作频率范围 | 0-35 MHz | 计数器 | 2个16位 |
引 脚 | 40 |
请问一下 STC89C51单片机如果不买开发板,自己做电路,需要USB转串口的下载线吗
如果你的电脑是台式机,有串口的话,就不需要USB 最小系统电路很简单,你搜下就有 STC89c51不用下载器,内部有编好的程序,不用管,硬件用max232芯片就好,连接rxd,txd和串口就可以了,用...
请问单片机组成红外发射电路 直接用红外发射二极管接单片机(stc89c51)的某一端口 ,
可以的,随便找个IO口,接上1K的上拉电阻,把红外发射管下拉接到IO口和地之间。红外发射和接受可以载波也可以不载波,不过现在一体化接收头大部分都是接受38K左右载波,你要编码的话最好有载波,用的比较多...
由于8051并没有pwm模块,那么要产生pwm信号就必须用软件延时或者计时器来模拟产生。1、定时器法:将定时器设置成定时中断,分两次进中断,一次给控制端口送高电平,一次送低电平。高低电平的定时的时间要...
1 基于 STC89C51 单片 机定时插座的设计与 实现报告 学 校: 贵州民族大学 学 院: 理学院 班 级: 2010 级应用物理 课程名称: 普通物理实验 小组成员: xx xx 学 号: 201010020xx 201010020xx 2 目录 前言 .................................................................................................................................................. 3 1 设计要求及构思 .......................................................................................................
介绍了一种基于STC89C51单片机控制的流体阀门电动执行器的结构及工作原理,重点阐述了该电动执行器控制系统的组成及软、硬件设计方案。该电动执行器控制系统以STC89C51单片机为核心,利用环形分配器及功率放大电路控制步进电动机的转速、旋转角度等,进而控制阀门开度,并利用流量和压力传感器采集流体参数信号,并将该信号经AD转换后发送给STC89C51单片机,形成闭环控制,同时具有CAN通信和人机交互功能。
第1篇 入门与提高
第1章 认识51系列单片机
1.1 单片机的发展史
1.2 单片机的应用
1.3 51单片机的开发环境--Keil μVision
1.4 快速掌握单片机的开发要点
1.5 STC89C51RC/RD+系列单片机
1.5.1 STC89C51系列单片机选型
1.5.2 常见的封装类型
1.6 STC89C51RC/RD+系列单片机的外部引脚
1.7 小结
1.8 习题
第2章 开发环境的搭建
2.1 软件开发环境
2.1.1 安装Keil C μVision3开发环境
2.1.2 增加对STC型号的支持
2.1.3 建立第一个工程
2.1.4 开发中经常用到的功能
2.2 必要的硬件环境
2.2.1 10元DIY单片机最小系统
2.2.2 动手制作一个编程器
2.3 STC烧录工具
2.4 小结
2.5 习题
第2篇 51单片机C语言编
第3章 单片机C语言的基本数据类型
3.1 常量与变量
3.2 基本数据类型
3.2.1 整型
3.2.2 长整型
3.2.3 字符型
3.2.4 位类型
3.2.5 浮点数
3.2.6 双精度浮点数
3.3 小结
3.4 习题
第4章 运算符与表达式
4.1 算术运算符与表达式
4.2 关系运算符与表达式
4.3 逻辑运算符与表达式
4.4 位运算符与表达式
4.5 赋值运算符与表达式
4.6 小结
4.7 习题
第5章 流程控制
5.1 条件语句if
5.1.1 条件语句if的3种表达方式
5.1.2 条件语句if嵌套
5.2 开关语句switch … case
5.2.1 开关语句的语法格式
5.2.2 开关语句的执行过程
5.2.3 注意事项
5.3 循环语句for
5.3.1 循环语句for的语法格式
5.3.2 循环语句for的执行过程
5.3.3 循环语句for嵌套
5.4 另一种循环语句while和do…while
5.4.1 循环语句while和do…while的语法格式
5.4.2 循环语句while和do…while的执行过程
5.5 无条件跳转语句goto
5.6 中断语句break/continue
5.6.1 中断语句break
5.6.2 中断语句continue
5.7 小结
5.8 习题
第6章 函数
6.1 定义函数的一般形式
6.2 函数的参数和返回值
6.2.1 函数的参数
6.2.2 函数的返回值
6.3 函数的调用
6.3.1 被调函数的声明
6.3.2 函数语句调用
6.3.3 函数表达式调用
6.3.4 作为函数的参数调用
6.3.5 函数的嵌套调用
6.3.6 函数的递归调用
6.4 单片机的特殊函数--中断函数
6.5 小结
6.6 习题
第7章 数组与指针
7.1 数组 71
7.1.1 一维数组
7.1.2 二维数组与多维数组
7.2 指针
7.2.1 指针的概念
7.2.2 定义和引用指针变量
7.2.3 指针和数组
7.3 小结
7.4 习题
第8章 结构体与共用体
8.1 结构体
8.1.1 什么是结构体
8.1.2 定义结构体变量
8.1.3 结构体变量的初始化
8.1.4 使用结构体
8.1.5 指向结构体类型数据的指针
8.1.6 将结构指针变量作为函数的参数
8.2 共用体
8.2.1 什么是共用体
8.2.2 定义共用体变量
8.2.3 使用共用体
8.3 小结
8.4 习题
第3篇 51单片机开发实战
第9章 IO端口编程
9.1 STC89C51RC-RD+系列单片机的I/O端口
9.2 I/O端口的工作模式
9.2.1 准双向口/弱上拉模式
9.2.2 输入/高阻模式
9.2.3 输出/开漏模式
9.2.4 配置I/O的工作模式
9.3 I/O输出实验
9.3.1 从点亮一个LED开始
9.3.2 闪动的LED
9.3.3 点亮更多的LED
9.3.4 点亮数码管
9.3.5 动态点亮数码管
9.3.6 控制3-8译码器
9.4 I/O输入实验
9.4.1 分离式按键
9.4.2 模拟实现计数器
9.4.3 矩阵键盘
9.5 小结
9.6 习题
第10章 中断系统和外部中断
10.1 中断的基本知识
10.1.1 什么是中断
10.1.2 使用中断的好处
10.2 中断源
10.3 中断寄存器
10.3.1 中断使能寄存器
10.3.2 中断优先级寄存器
10.3.3 定时器控制寄存器、外部中断标志
10.3.4 串行口控制寄存器
10.4 中断优先级
10.5 使用外部中断检测按键
10.5.1 低电平触发方式
10.5.2 下降沿触发方式
10.6 使用外部中断设计运动限位装置
10.6.1 硬件电路原理图
10.6.2 代码实现
10.7 小结
10.8 习题
第11章 定时器/计数器
11.1 定时器/计数器介绍
11.2 与定时器/计数器的有关的寄存器
11.2.1 工作方式寄存器TMOD
11.2.2 控制寄存器TCON
11.2.3 初值寄存器THx、TLx
11.3 定时器的工作模式
11.3.1 模式0
11.3.2 模式1
11.3.3 模式2(8位自动重装模式)
11.3.4 模式3
11.4 定时器中断实验
11.4.1 定时器秒表实验电路原理图
11.4.2 秒表实验控制流程
11.4.3 代码实现
11.5 简易电子琴演奏实验
11.5.1 电子琴实验的电路原理图
11.5.2 代码实现
11.6 小结
11.7 习题
第12章 USART通用串行口通信
12.1 通用串行口介绍
12.2 与通用串行口有关的寄存器
12.2.1 电源控制寄存器PCON
12.2.2 串行口控制寄存器SCON
12.2.3 数据缓存寄存器SBUF
12.2.4 中断控制位ES
12.3 通用串行口的工作模式
12.3.1 模式0,同步移位寄存器模式
12.3.2 模式1,波特率可变的8位数据异步收发
12.3.3 模式2,波特率固定的位数据异步收发
12.3.4 模式3,波特率可变的位数据异步收发
12.4 计算波特率
12.5 通过串行口和PC通信
12.5.1 串行口通信规范
12.5.2 串行口实验电路
12.5.3 实验控制流程
12.5.4 通信协议
12.5.5 代码实现
12.6 单片机串行口远距离通信
12.6.1 RS-485简介
12.6.2 485通信的实验电路
12.6.3 代码实现
12.7 小结
12.8 习题
第13章 访问内部EEPROM
13.1 EEPROM介绍
13.2 EEPROM的地址
13.3 与EEPROM有关的寄存器
13.4 EEPROM的常用操作
13.4.1 定义相关寄存器
13.4.2 读操作
13.4.3 扇区擦除操作
13.4.4 写操作
13.5 EEPROM应用实例
13.6 掉电时保存数据到EEPROM
13.6.1 实验电路图
13.6.2 代码实现
13.7 小结
13.8 习题
第14章 看门狗WDT
14.1 看门狗WDT介绍
14.2 看门狗控制寄存器WDT-CONTR
14.3 看门狗溢出时间
14.4 测试看门狗
14.5 小结
14.6 习题
第4篇 更多功能的单片机
第15章 STC12C5A60S2系列单片机
15.1 STC12C5A60S2系列单片机介绍
15.2 STC12C5A60S2系列单片机外部引脚
15.3 过渡到STC12C5A60S2系列的要点
15.4 小结
15.5 习题
第16章 通用串行接口 USART2
16.1 与通用串行口2有关的寄存器
16.1.1 控制寄存器S2CON
16.1.2 数据缓冲寄存器S2BUF
16.1.3 独立波特率发生寄存器BRT
16.1.4 辅助寄存器AUXR
16.1.5 与串行口2中断有关的寄存器
16.1.6 辅助寄存器1,AUXR1
16.2 使用串行口2与PC通信
16.2.1 串行口2实验电路
16.2.2 使用串行口2的步骤
16.2.3 代码实现
16.3 使用双串行口设计RS-485双向中继器
16.3.1 RS-485双向中继器的实验电路
16.3.2 代码实现
16.4 小结
16.5 习题
第17章 同步外围串行接口SPI
17.1 SPI简介
17.2 与SPI有关的寄存器
17.2.1 SPI控制寄存器SPCTL
17.2.2 SPI状态寄存器SPSTAT
17.2.3 SPI数据寄存器SPDAT
17.2.4 辅助寄存器1,AUXR1
17.3 SPI接口的通信方式
17.3.1 单主-单从方式
17.3.2 双器件互为主从方式
17.3.3 单主-多从方式
17.4 注意事项
17.4.1 作为主机的注意事项
17.4.2 作为从机的注意事项
17.4.3 总线争夺
17.4.4 写冲突
17.5 双CPU单主、单从通信实验
17.6 小结
17.7 习题
第18章 PWM脉宽调制
18.1 PWM简介
18.2 与PWM有关的寄存器
18.2.1 PCA工作模式寄存器CMOD
18.2.2 PCA控制寄存器CCON
18.2.3 PCA捕获/比较寄存器CCAPM0和CCAPM1
18.2.4 PCA的16位计数寄存器CL、CH
18.2.5 PCA捕捉/比较寄存器CCAPnL、CCAPnH
18.2.6 PWM寄存器PCA-PWM0、PCA-PWM1
18.2.7 辅助寄存器AUX1
18.3 PWM的设置
18.4 输出PWM的测试程序
18.4.1 实验电路
18.4.2 控制思想
18.4.3 代码实现
18.5 使用PWM方式控制步进电机
18.5.1 步进电机的工作原理
18.5.2 实验电路
18.5.3 代码实现
18.6 小结
18.7 习题
第19章 A/D转换
19.1 A/D转换简介
19.2 与A/D转换相关的寄存器
19.2.1 P1口模拟功能控制寄存器P1ASF
19.2.2 ADC控制寄存器ADC-CONTR
19.2.3 A/D转换结果寄存器ADC_RES/ADC_RESL
19.2.4 与A/D中断有关的寄存器
19.3 用A/D转换器检测电压实验
19.3.1 实验电路
19.3.2 代码实现
19.4 使用A/D转换检测档位开关
19.4.1 检测原理与实验电路
19.4.2 代码实现
19.5 A/D转换误差问题
19.6 小结
19.7 习题
第5篇 51单片机统合应用实例
第20章 综合应用实例
20.1 需求分析
20.1.1 系统结构
20.1.2 技术要求
20.2 系统设计
20.2.1 硬件电路设计
20.2.2 需要用到的单片机资源
20.2.3 软件设计思路
20.3 各子系统的工作流程
20.3.1 数据接收子系统、协议管理子系统
20.2.2 终端地址的使用与维护
20.2.3 集体上传控制
20.2.4 I/O处理子系统和工厂模式
20.2.5 电源管理子系统
20.4 软件编程、系统实现
20.4.1 完整的源代码
20.4.2 初始化部分代码
20.4.3 按键检测部分代码
20.4.4 地址管理部分代码
20.4.5 电压检测部分代码
20.4.6 串行口接收数据、处理协议的部分代码
20.4.7 休眠和唤醒的部分代码
20.5 小结
20.6 习题
第1篇入门与提高
第1章认识51系列单片机1
1.1单片机的发展史1
1.2单片机的应用1
1.351单片机的开发环境——KeilμVision2
1.4快速掌握单片机的开发要点2
1.5STC89C51RC/RD 系列单片机3
1.5.1STC89C51系列单片机选型4
1.5.2常见的封装类型4
1.6STC89C51RC/RD 系列单片机的外部引脚5
1.7小结7
1.8习题7
第2章开发环境的搭建8
2.1软件开发环境8
2.1.1安装KeilCμVision3开发环境8
2.1.2增加对STC型号的支持9
2.1.3建立第一个工程10
2.1.4开发中经常用到的功能14
2.2必要的硬件环境23
2.2.110元DIY单片机最小系统23
2.2.2动手制作一个编程器25
2.3STC烧录工具27
2.4小结28
2.5习题28
第2篇51单片机C语言编程
第3章单片机C语言的基本数据类型29
3.1常量与变量29
3.2基本数据类型30
3.2.1整型30
3.2.2长整型31
3.2.3字符型31
3.2.4位类型31
3.2.5浮点数32
3.2.6双精度浮点数33
3.3小结33
3.4习题33
第4章运算符与表达式34
4.1算术运算符与表达式34
4.2关系运算符与表达式35
4.3逻辑运算符与表达式36
4.4位运算符与表达式37
4.5赋值运算符与表达式38
4.6小结39
4.7习题39
第5章流程控制40
5.1条件语句if40
5.1.1条件语句if的3种表达方式40
5.1.2条件语句if嵌套44
5.2开关语句switch
5.2.1开关语句的语法格式46
5.2.2开关语句的执行过程46
5.2.3注意事项48
5.3循环语句for48
5.3.1循环语句for的语法格式49
5.3.2循环语句for的执行过程49
5.3.3循环语句for嵌套51
5.4另一种循环语句while和do
5.4.1循环语句while和do的语法格式52
5.4.2循环语句while和do的执行过程53
5.5无条件跳转语句goto55
5.6中断语句break/continue57
5.6.1中断语句break57
5.6.2中断语句continue58
5.7小结60
5.8习题60
第6章函数61
6.1定义函数的一般形式61
6.2函数的参数和返回值62
6.2.1函数的参数62
6.2.2函数的返回值63
6.3函数的调用64
6.3.1被调函数的声明64
6.3.2函数语句调用65
6.3.3函数表达式调用65
6.3.4作为函数的参数调用66
6.3.5函数的嵌套调用66
6.3.6函数的递归调用68
6.4单片机的特殊函数——中断函数69
6.5小结70
6.6习题70
第7章数组与指针71
7.1数组71
7.1.1一维数组71
7.1.2二维数组与多维数组73
7.2指针75
7.2.1指针的概念75
7.2.2定义和引用指针变量75
7.2.3指针和数组76
7.3小结78
7.4习题78
第8章结构体与共用体79
8.1结构体79
8.1.1什么是结构体79
8.1.2定义结构体变量79
8.1.3结构体变量的初始化81
8.1.4使用结构体82
8.1.5指向结构体类型数据的指针82
8.1.6将结构指针变量作为函数的参数83
8.2共用体84
8.2.1什么是共用体84
8.2.2定义共用体变量85
8.2.3使用共用体86
8.3小结87
8.4习题87
第3篇51单片机开发实战
第9章IO端口编程88
9.1STC89C51RC—RD 系列单片机的I/O端口88
9.2I/O端口的工作模式89
9.2.1准双向口/弱上拉模式89
9.2.2输入/高阻模式89
9.2.3输出/开漏模式90
9.2.4配置I/O的工作模式90
9.3I/O输出实验91
9.3.1从点亮一个LED开始91
9.3.2闪动的LED92
9.3.3点亮更多的LED93
9.3.4点亮数码管96
9.3.5动态点亮数码管98
9.3.6控制3—8译码器101
9.4I/O输入实验104
9.4.1分离式按键104
9.4.2模拟实现计数器106
9.4.3矩阵键盘109
9.5小结113
9.6习题113
第10章中断系统和外部中断114
10.1中断的基本知识114
10.1.1什么是中断114
10.1.2使用中断的好处114
10.2中断源114
10.3中断寄存器115
10.3.1中断使能寄存器115
10.3.2中断优先级寄存器116
10.3.3定时器控制寄存器、外部中断标志118
10.3.4串行口控制寄存器119
10.4中断优先级120
10.5使用外部中断检测按键120
10.5.1低电平触发方式121
10.5.2下降沿触发方式123
10.6使用外部中断设计运动限位装置124
10.6.1硬件电路原理图124
10.6.2代码实现125
10.7小结127
10.8习题127
第11章定时器/计数器128
11.1定时器/计数器介绍128
11.2与定时器/计数器的有关的寄存器128
11.2.1工作方式寄存器TMOD128
11.2.2控制寄存器TCON129
11.2.3初值寄存器THx、TLx129
11.3定时器的工作模式130
11.3.1模式0130
11.3.2模式1130
11.3.3模式2(8位自动重装模式)131
11.3.4模式3132
11.4定时器中断实验132
11.4.1定时器秒表实验电路原理图132
11.4.2秒表实验控制流程133
11.4.3代码实现135
11.5简易电子琴演奏实验137
11.5.1电子琴实验的电路原理图138
11.5.2代码实现138
11.6小结141
11.7习题141
第12章USART通用串行口通信142
12.1通用串行口介绍142
12.2与通用串行口有关的寄存器142
12.2.1电源控制寄存器PCON142
12.2.2串行口控制寄存器SCON143
12.2.3数据缓存寄存器SBUF143
12.2.4中断控制位ES144
12.3通用串行口的工作模式144
12.3.1模式0,同步移位寄存器模式144
12.3.2模式1,波特率可变的8位数据异步收发144
12.3.3模式2,波特率固定的9位数据异步收发144
12.3.4模式3,波特率可变的9位数据异步收发145
12.4计算波特率145
12.5通过串行口和PC通信145
12.5.1串行口通信规范146
12.5.2串行口实验电路147
12.5.3实验控制流程147
12.5.4通信协议149
12.5.5代码实现150
12.6单片机串行口远距离通信153
12.6.1RS—485简介154
12.6.2485通信的实验电路155
12.6.3代码实现156
12.7小结159
12.8习题159
第13章访问内部EEPROM160
13.1EEPROM介绍160
13.2EEPROM的地址160
13.3与EEPROM有关的寄存器161
13.4EEPROM的常用操作162
13.4.1定义相关寄存器162
13.4.2读操作162
13.4.3扇区擦除操作162
13.4.4写操作163
13.5EEPROM应用实例163
13.6掉电时保存数据到EEPROM165
13.6.1实验电路图165
13.6.2代码实现167
13.7小结170
13.8习题170
第14章看门狗WDT171
14.1看门狗WDT介绍171
14.2看门狗控制寄存器WDT_CONTR171
14.3看门狗溢出时间172
14.4测试看门狗172
14.5小结174
14.6习题174
第4篇更多功能的单片机
第15章STC12C5A60S2系列单片机175
15.1STC12C5A60S2系列单片机介绍175
15.2STC12C5A60S2系列单片机外部引脚175
15.3过渡到STC12C5A60S2系列的要点179
15.4小结180
15.5习题180
第16章通用串行接口USART2181
16.1与通用串行口2有关的寄存器181
16.1.1控制寄存器S2CON181
16.1.2数据缓冲寄存器S2BUF182
16.1.3独立波特率发生寄存器BRT182
16.1.4辅助寄存器AUXR182
16.1.5与串行口2中断有关的寄存器182
16.1.6辅助寄存器1,AUXR1183
16.2使用串行口2与PC通信183
16.2.1串行口2实验电路183
16.2.2使用串行口2的步骤184
16.2.3代码实现184
16.3使用双串行口设计RS—485双向中继器188
16.3.1RS—485双向中继器的实验电路188
16.3.2代码实现189
16.4小结192
16.5习题193
第17章同步外围串行接口SPI194
17.1SPI简介194
17.2与SPI有关的寄存器194
17.2.1SPI控制寄存器SPCTL194
17.2.2SPI状态寄存器SPSTAT195
17.2.3SPI数据寄存器SPDAT195
17.2.4辅助寄存器1,AUXR1195
17.3SPI接口的通信方式196
17.3.1单主—单从方式196
17.3.2双器件互为主从方式196
17.3.3单主—多从方式197
17.4注意事项198
17.4.1作为主机的注意事项198
17.4.2作为从机的注意事项198
17.4.3总线争夺198
17.4.4写冲突198
17.5双CPU单主、单从通信实验199
17.6小结202
17.7习题203
第18章PWM脉宽调制204
18.1PWM简介204
18.2与PWM有关的寄存器204
18.2.1PCA工作模式寄存器CMOD205
18.2.2PCA控制寄存器CCON205
18.2.3PCA捕获/比较寄存器CCAPM0和CCAPM1206
18.2.4PCA的16位计数寄存器CL、CH206
18.2.5PCA捕捉/比较寄存器CCAPnL、CCAPnH206
18.2.6PWM寄存器PCA_PWM0、PCA_PWM1206
18.2.7辅助寄存器AUX1207
18.3PWM的设置207
18.4输出PWM的测试程序208
18.4.1实验电路208
18.4.2控制思想209
18.4.3代码实现210
18.5使用PWM方式控制步进电机212
18.5.1步进电机的工作原理212
18.5.2实验电路213
18.5.3代码实现214
18.6小结219
18.7习题220
第19章A/D转换221
19.1A/D转换简介221
19.2与A/D转换相关的寄存器221
19.2.1P1口模拟功能控制寄存器P1ASF221
19.2.2ADC控制寄存器ADC_CONTR221
19.2.3A/D转换结果寄存器ADC_RES/ADC_RESL222
19.2.4与A/D中断有关的寄存器223
19.3用A/D转换器检测电压实验223
19.3.1实验电路223
19.3.2代码实现224
19.4使用A/D转换检测档位开关227
19.4.1检测原理与实验电路227
19.4.2代码实现228
19.5A/D转换误差问题231
19.6小结232
19.7习题233
第5篇51单片机统合应用实例
第20章综合应用实例234
20.1需求分析234
20.1.1系统结构234
20.1.2技术要求235
20.2系统设计235
20.2.1硬件电路设计235
20.2.2需要用到的单片机资源237
20.2.3软件设计思路237
20.3各子系统的工作流程239
20.3.1数据接收子系统、协议管理子系统239
20.2.2终端地址的使用与维护241
20.2.3集体上传控制242
20.2.4I/O处理子系统和工厂模式243
20.2.5电源管理子系统245
20.4软件编程、系统实现246
20.4.1完整的源代码246
20.4.2初始化部分代码264
20.4.3按键检测部分代码266
20.4.4地址管理部分代码267
20.4.5电压检测部分代码269
20.4.6串行口接收数据、处理协议的部分代码270
20.4.7休眠和唤醒的部分代码272
20.5小结273
20.6习题273 2100433B
本书基于STC89C51RC单片机设计了8个项目,分别是:单片机实验开发平台的设计与制作、跑马灯的设计、抢答器的设计、电子时钟的设计、串行口通信、信息广告牌的设计、音乐盒设计与实现、数字温度计的设计等。每个项目由2~4个任务组成。这些任务按照由浅入深的次序编排,力求引导学生在边做边学中掌握单片机的原理和应用技术。