图书介绍
教育Proteus和Keil的C51程序设计项目教程 理论、仿真、实践相结合2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 周灵彬主编;刘红兵,江伟,蒋鸣东,疏晓宇副主编 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121289583
- 出版时间:2016
- 标注页数:244页
- 文件大小:52MB
- 文件页数:260页
- 主题词:单片微型计算机-高等学校-教材
PDF下载
下载说明
教育Proteus和Keil的C51程序设计项目教程 理论、仿真、实践相结合PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
项目1 认识编程载体——单片机和编程开发环境1
1.1 单片机的应用及主要类型1
1.2 单片机外形与框架3
1.2.1 内部结构框图和主要部件3
1.2.2 引脚:数据输入/输出通道4
1.3 C51语言及其开发环境简介5
1.3.1 C语言的历史及特点5
1.3.2 C51的Keil μVision3开发环境简介6
1.4 任务1:Keil C应用入门——单片机输出“Hello C51”6
1.4.1 建立工程、设计程序、编译6
1.4.2 Keil的初步调试:查看串口输出“Hello C51”11
1.5 任务2:结构化程序设计——建立函数概念12
1.5.1 仅由main()函数构成的C语言程序13
1.5.2 由main()函数和max()构成的C语言程序13
1.5.3 C51程序的一般结构13
1.5.4 规范书写程序语句14
1.5.5 程序设计流程图14
1.6 单片机硬件知识补充15
1.6.1 存储器:永久程序和临时数据的住所15
1.6.2 I/O(输入/输出)口结构、功能21
1.6.3 I/O口的负载能力24
1.7 知识小结25
习题与思考125
项目2 多变的花样灯26
2.1 任务1:点亮一个灯26
2.1.1 一位引脚定义和应用26
2.1.2 一组引脚定义、输入/输出1字节数据28
2.1.3 亮灯逻辑28
2.1.4 PROTEUS界面与元件操作29
2.1.5 亮一个灯的电路、程序设计33
2.1.6 编译、代码下载、仿真、测判34
2.1.7 STC单片机代码下载35
2.1.8 实物制作与上电测试39
2.1.9 进阶设计与思路点拨1:亮多个灯39
2.1.10 进阶设计与思路点拨2:用简易数码管显示自己的学号40
2.2 任务2:有规律变化的花样灯——亮点流动41
2.2.1 任务要求与分析41
2.2.2 头文件reg51.h解读42
2.2.3 亮点流动的程序设计——依序而下43
2.2.4 编译、代码下载、仿真、测判44
2.2.5 应用移位库函数crol设计亮点流动程序44
2.3 任务3:有规律变化的花样灯一一亮起来46
2.3.1 任务要求与分析46
2.3.2 用“位”运算符实现一一亮灯46
2.3.3 预处理:条件编译#if、#else、#endif等48
2.3.4 设计延时函数头文件“dly05s.h”48
2.3.5 流程与程序设计49
2.3.6 编译、代码下载、仿真、测判49
2.3.7 进阶设计与思路点拨3:1~8个灯逐一熄灭49
2.4 任务4:有规律变化的花样灯——高低4位交替闪烁50
2.4.1 任务要求与分析50
2.4.2 流程与程序设计51
2.4.3 编译、代码下载、仿真、测判51
2.4.4 进阶设计与思路点拨4:两个亮点相向或相背运动51
2.4.5 进阶设计与思路点拨5:用移位函数实现两个亮点相向运动54
2.4.6 进阶设计与思路点拨6:用移位函数实现两个亮点相背运动54
2.5 任务5:3种效果的花样灯设计55
2.5.1 任务与要求55
2.5.2 流程与程序设计55
2.5.3 编译、代码下载、仿真、测判56
2.5.4 在Keil中进行延时程序调试56
2.6 算术运算、赋值运算58
2.6.1 算术运算58
2.6.2 赋值及复合赋值运算59
2.7 初识函数60
2.7.1 函数格式60
2.7.2 函数的调用中参数的传递60
2.7.3 自定义函数的声明61
2.7.4 预处理:#include引用库、自定义函数61
2.7.5 设计变时长的延时函数头文件Dly_nms.h62
2.7.6 进阶设计与思路点拨7:变速流水灯63
2.8 知识小结63
习题与思考263
项目3 键控花样灯65
3.1 任务1:键控灯1(用if语句实现)65
3.1.1 任务要求与分析65
3.1.2 if条件语句结构66
3.1.3 关系运算符和关系表达式68
3.1.4 程序流程及程序设计68
3.1.5 仿真、分析、记录69
3.2 任务2:键控灯2(用if-else语句实现)69
3.2.1 任务要求与分析69
3.2.2 程序流程及程序设计70
3.2.3 仿真、分析、记录70
3.3 任务3:键控灯3(用if-else-if多分支语句实现)71
3.3.1 任务要求与分析71
3.3.2 程序流程及程序设计72
3.3.3 仿真、分析、记录72
3.4 任务4:键控灯4(用if嵌套语句实现)72
3.4.1 任务要求与分析72
3.4.2 if语句嵌套73
3.4.3 程序流程及程序设计73
3.4.4 仿真、分析、记录74
3.5 任务5:键控灯5(用switch多分支语句实现)74
3.5.1 任务要求与分析74
3.5.2 switch语句75
3.5.3 程序流程与程序设计76
3.5.4 仿真、分析、记录77
3.5.5 PROTEUS单步调试77
3.5.6 进阶设计180
3.6 任务6:学习循环结构,求∑ 100 n=1 n81
3.6.1 goto语句81
3.6.2 while语句82
3.6.3 do-while语句83
3.6.4 for语句83
3.6.5 循环结构的嵌套与跳转84
3.6.6 break语句85
3.6.7 continue语句85
3.7 任务7:键控灯6(用for、while语句实现)85
3.7.1 任务要求与分析85
3.7.2 程序流程与程序设计86
3.7.3 仿真、分析、记录87
3.7.4 进阶设计287
3.8 任务8:键控灯7(用for、break语句实现)88
3.8.1 任务要求与分析88
3.8.2 程序流程与程序设计88
3.8.3 仿真、分析、记录89
3.8.4 将break改成continue的变化89
3.9 任务9:一位示意计数器设计90
3.9.1 任务要求与分析90
3.9.2 程序流程与程序设计91
3.9.3 仿真、分析、记录91
3.9.4 进阶设计3:两位示意计数器设计91
3.9.5 进阶设计4:两位十进制计数器设计91
3.10 知识小结92
习题与思考392
项目4 逻辑思维训练95
4.1 任务1:用printf语句输出各种类型数据95
4.1.1 数据是对描述对象的数学抽象95
4.1.2 C51的数据类型96
4.1.3 标识符与关键字97
4.1.4 常量与变量97
4.1.5 宏定义(#defiine)、数据类型的重新命名(typedef)99
4.1.6 C51的输入/输出函数100
4.1.7 从单片机串口输出各种数据102
4.1.8 数据的存储器类型104
4.1.9 C51变量的存储模式(编译模式)105
4.1.10 在Keil中查看各变量的存储地址及数值105
4.2 任务2:歌星大赛计分——简单统计运算107
4.2.1 任务要求与分析107
4.2.2 算法设计108
4.2.3 流程与程序设计108
4.2.4 PROTEUS串口输出测试电路设计109
4.2.5 编译、代码下载、仿真、测判110
4.3 任务3:求车号是多少——推理111
4.3.1 任务要求与分析111
4.3.2 算法设计111
4.3.3 外部函数调用——关键字extern112
4.3.4 流程与程序设计112
4.3.5 编译、代码下载、仿真、测判113
4.3.6 进阶设计与思路点拨1:角谷猜想114
4.4 任务4:谁是罪犯——逻辑运算114
4.4.1 任务要求与分析114
4.4.2 逻辑运算、条件运算115
4.4.3 算法设计116
4.4.4 流程与程序设计118
4.4.5 编译、代码下载、仿真、测判119
4.4.6 进阶设计与思路点拨2:新娘和新郎119
4.5 任务5:百钱百鸡问题——穷举、组合120
4.5.1 任务要求与分析120
4.5.2 算法设计120
4.5.3 流程与程序设计121
4.5.4 编译、代码下载、仿真、测判122
4.5.5 进阶设计与思路点拨3:换钱币122
4.6 任务6:数据从小到大排序——数组应用122
4.6.1 任务要求与分析122
4.6.2 数组123
4.6.3 算法设计125
4.6.4 流程与程序设计126
4.6.5 编译、代码下载、仿真、测判127
4.6.6 进阶设计与思路点拨4:从大到小排序127
4.7 任务7:求解约瑟夫问题——结构数组应用128
4.7.1 任务要求与分析128
4.7.2 结构体、结构数组128
4.7.3 算法设计130
4.7.4 流程与程序设计131
4.7.5 编译、代码下载、仿真、测判132
4.7.6 进阶设计与思路点拨5:数3出局132
4.8 局部变量、全局变量、外部变量133
4.9 知识小结135
习题与思考4135
项目5 定时器/计数器、中断应用138
5.1 任务1:用外中断干扰流水灯138
5.1.1 任务要求与分析138
5.1.2 中断系统简介139
5.1.3 中断控制寄存器140
5.1.4 中断过程141
5.1.5 清除中断请求的补充142
5.1.6 中断函数的编写143
5.1.7 算法设计144
5.1.8 程序设计144
5.1.9 编译、代码下载、仿真、测判145
5.2 任务2:两个外中断干扰流水灯145
5.2.1 任务要求与分析145
5.2.2 中断嵌套146
5.2.3 程序设计146
5.2.4 编译、代码下载、仿真、测判147
5.2.5 进阶设计1148
5.3 任务3:多少个小球——计数器应用148
5.3.1 任务要求与分析148
5.3.2 定时器/计数器T0、T1149
5.3.3 定时器/计数器的控制及工作方式150
5.3.4 定时器/计数器的计数容量及初值152
5.3.5 定时器/计数器应用的基本步骤153
5.3.6 认识数码管、设计电路154
5.3.7 子任务:单个数码管循环显示手机短号156
5.3.8 算法与程序设计157
5.3.9 编译、代码下载、仿真、测判158
5.3.10 进阶设计2:999个小球,如何显示?158
5.3.11 虚拟数字时钟信号???应用159
5.4 任务4:定时产生2500Hz方波160
5.4.1 任务要求与分析160
5.4.2 查询方式下的程序框架160
5.4.3 查询方式下程序流程及程序设计161
5.4.4 用虚拟示波器观测信号周期162
5.4.5 定时中断方式下程序设计164
5.4.6 编译、代码下载、仿真、测判165
5.4.7 听单片机发声165
5.5 任务5:秒闪灯——长时间定时(应用static)165
5.5.1 任务要求与分析165
5.5.2 算法设计166
5.5.3 程序设计166
5.5.4 C51变量的存储类型167
5.5.5 编译、代码下载、仿真、测判168
5.5.6 进阶设计3:看谁耳尖手快——反应时间测试168
5.5.7 进阶设计4:可反复测试反应时间的设计169
5.6 任务6:TO定时产生不同频率的方波(推算公约数)169
5.6.1 任务要求与分析169
5.6.2 算法设计170
5.6.3 程序流程及程序设计170
5.6.4 编译、代码下载、仿真、测判171
5.6.5 进阶设计5:矩形波设计172
5.7 任务7:测量正脉冲宽度(巧用GATE位)172
5.7.1 任务要求与分析172
5.7.2 算法设计172
5.7.3 程序流程及程序设计173
5.7.4 编译、代码下载、仿真、测判174
5.7.5 虚拟脉冲发生器??应用174
5.7.6 进阶设计6:测量负脉冲的宽度175
5.8 任务8:键控PWM调光灯175
5.8.1 任务要求与分析175
5.8.2 算法设计176
5.8.3 程序流程及程序设计177
5.8.4 编译、代码下载、仿真、测判177
5.8.5 进阶设计7:呼吸灯178
5.9 知识小结178
习题与思考5178
项目6 动态扫描技术的应用180
6.1 任务1:并联数码管显示生日180
6.1.1 任务要求与分析180
6.1.2 算法设计181
6.1.3 程序结构设计181
6.1.4 流程与程序设计182
6.1.5 编译、代码下载、仿真、测判183
6.1.6 进阶设计1:轮流显示生日与手机短号183
6.2 任务2:可调时钟184
6.2.1 任务要求与分析184
6.2.2 算法设计184
6.2.3 程序结构设计184
6.2.4 流程与程序设计185
6.2.5 编译、代码下载、仿真、测判187
6.2.6 进阶设计2:设计12小时制的时钟188
6.3 任务3:多功能秒表——一键多功能188
6.3.1 任务要求与分析188
6.3.2 算法设计189
6.3.3 程序结构设计189
6.3.4 流程与程序设计189
6.3.5 编译、代码下载、仿真、测判191
6.4 任务4:矩阵键盘识别192
6.4.1 任务要求与分析192
6.4.2 电路设计192
6.4.3 算法设计193
6.4.4 程序结构设计194
6.4.5 程序设计:key 16.h194
6.4.6 编译、代码下载、仿真、测判195
6.4.7 进阶设计3:以七段数码管显示键值196
6.5 任务5:打地鼠游戏机设计196
6.5.1 任务要求与分析196
6.5.2 算法设计196
6.5.3 程序结构设计196
6.5.4 流程与程序设计197
6.5.5 编译、代码下载、仿真、测判199
6.5.6 进阶设计4:竞级打地鼠游戏设计199
6.6 指针及其应用199
6.6.1 为什么要设置指针199
6.6.2 指针的运算符、定义200
6.6.3 应用指针作为参数实现“传址”201
6.6.4 指针与数组202
6.6.5 指针与函数203
6.7 知识小结204
习题与思考6205
项目7 单片机唱歌及串行数据传输206
7.1 任务1:生日快乐歌206
7.1.1 任务要求与分析206
7.1.2 音乐数据准备206
7.1.3 程序结构设计208
7.1.4 程序设计209
7.1.5 编译、代码下载、仿真、测判210
7.2 任务2:595串出3位数据210
7.2.1 任务要求与分析210
7.2.2 74HC595简介211
7.2.3 单片机串口通信简介213
7.2.4 程序框架及程序设计215
7.2.5 编译、代码下载、仿真、测判216
7.2.6 进阶设计1:串出自己的手机长号数字216
7.3 任务3:用595串行控制8×8点阵显示I?U216
7.3.1 任务要求与分析216
7.3.2 程序框架与程序设计218
7.3.3 编译、代码下载、仿真、测判219
7.3.4 进阶设计2:我的点阵图形设计219
7.3.5 进阶设计3:人行道点阵小人指示灯设计219
7.4 任务4:双单片机间串行通信220
7.4.1 任务要求与分析220
7.4.2 串口工作方式1及波特率计算220
7.4.3 程序框架及程序设计221
7.4.4 编译、代码下载、仿真、测判223
7.4.5 用串口调试助手监测目标板上的数据223
7.5 知识小结224
习题与思考7224
项目8 AD及DA接口应用225
8.1 任务1:LCD显示的简易电压表225
8.1.1 任务要求与分析225
8.1.2 程序规划226
8.1.3 LCM1602简介226
8.1.4 LCD显示的头文件lcd1602.h设计228
8.1.5 ADC0831简介及时序230
8.1.6 ADC0831的头文件adc0831.h设计231
8.1.7 C51对存储器和外设的绝对地址访问232
8.1.8 主程序设计233
8.1.9 编译、代码下载、仿真、测判234
8.1.10 进阶设计1:在LCD上显示自己的姓名、学号234
8.2 任务2:简易波形发生器234
8.2.1 任务要求与分析234
8.2.2 DAC0832简介235
8.2.3 程序流程与程序设计236
8.2.4 编译、代码下载、仿真、测判237
8.2.5 进阶设计2:设计一可调频率1.20kHz的方波发生器238
8.3 知识小结238
习题与思考8238
附录A 开发板原理图、使用说明239
附录B C51程序设计实践报告要求242
附录C C51的运算符优先级及结合性243
参考文献244
热门推荐
- 1900541.html
- 3486231.html
- 61870.html
- 648933.html
- 1383005.html
- 3598765.html
- 905617.html
- 2663985.html
- 3443543.html
- 1500062.html
- http://www.ickdjs.cc/book_641735.html
- http://www.ickdjs.cc/book_1575053.html
- http://www.ickdjs.cc/book_3596644.html
- http://www.ickdjs.cc/book_3820164.html
- http://www.ickdjs.cc/book_751833.html
- http://www.ickdjs.cc/book_2223514.html
- http://www.ickdjs.cc/book_3566792.html
- http://www.ickdjs.cc/book_691278.html
- http://www.ickdjs.cc/book_2679913.html
- http://www.ickdjs.cc/book_392938.html