选择特殊符号
选择搜索类型
请输入搜索
本书主要介绍了51单片机系统中常用模块的具体运用,这些模块包括:内部模块、常用算法和函数模块、扩展外围模块、I/O引脚模块、用户输入通道模块、LED显示模块、液晶显示模块、 语音和打印输入模块、驱动和执行机构、A/D模块、D/A模块、时钟传感器模块、温度传感器模块、常用其他传感器模块、有线通信模块、无线通信模块、小容量存储模块,以及51单片机的大容量存储模块。本书适合具有初步单片机基础的单片机工程师使用,也可供高等院校电子类专业的学生和单片机爱好者参考阅读。
加减一加法器,通过P1口输入一个八位无符号数,P2口输入另
51单片机最小系统,就是使单片机正常运行的最低配置,它由一系列模块组成:1、复位系统: &...
基于单片机的时钟模块设计
结合目前我国测控系统发展的需求,我们为其增加了相应的时钟模块,该时钟模块是基于单片机模式,同时结合PS1288时钟所具有的特殊模式进行设计制作的,以AT89C51单片机为该时钟模块的核心控制体系,以DS12887为时钟模块的芯片,设计出了一种低能耗、高精度、高稳定性的时钟模块。本文通过对设计过程中涉及到的时钟模块系统的硬件和软件设计和构成进行详细的描述,以期对以后其他基于单片机设计的时钟模块起到补助作用。
第1章51单片机的内部模块 1
1.151单片机及其应用系统概述 1
1.1.151单片机应用系统的构成和设计流程 2
1.1.2“最小”51单片机应用系统 4
1.251单片机内部模块的基础应用 5
1.2.1内部模块基础 5
1.2.2并行I/O模块 6
1.2.3定时计数器模块 7
1.2.4中断系统和外部中断模块 13
1.2.5串行通信模块 18
1.351单片机内部模块的高级应用 24
1.3.1使用定时计数器扩展外部中断 24
1.3.2使用I/O端口模拟串行通信端口 25
1.3.3串行通信模块的波特率自适应 29
1.3.4使用软件扩展多级中断应用 32
1.3.5定时计数器的可控PWM输出 36
第2章51单片机的常用算法和函数模块 39
2.151单片机的库函数基础 39
2.1.1函数库和头文件分类 39
2.1.2自定义库 40
2.1.3库函数的使用 41
2.251单片机常用函数模块 41
2.2.1内部函数_crol_() 41
2.2.2内部函数_nop_() 42
2.2.3输入/输出函数putchar() 44
2.2.4输入/输出函数printf() 45
2.2.5随机数生成函数rand()和srand() 48
2.351单片机的常用算法模块 52
2.3.1统计字节中1的个数 52
2.3.2软件延时/定时 53
2.3.3排序算法 53
第3章扩展51单片机外围模块的方法 55
3.1地址—数据总线扩展 55
3.2串行通信模块扩展 58
3.3I2C总线扩展 58
3.3.1I2C总线基础 58
3.3.2I2C总线接口扩展的驱动库函数 61
3.4SPI总线扩展 67
3.4.1SPI总线基础 67
3.4.2SPI总线接口扩展的驱动库函数 69
3.51-wire总线扩展 70
3.5.11-wire总线扩展原理 70
3.5.21-wire总线扩展的驱动库函数 72
第4章51单片机的I/O引脚模块 75
4.1译码器模块 75
4.1.1译码器模块的应用场合 75
4.1.2译码器模块的应用基础 76
4.1.3译码器模块的应用实例——简易流水灯 78
4.2锁存器模块 79
4.2.1锁存器模块的应用场合 80
4.2.2锁存器模块的应用基础 80
4.2.3锁存器模块的应用实例——秒表 82
4.3三态门模块 84
4.3.1三态门模块的应用场合 84
4.3.2三态门模块的应用基础 84
4.3.3三态门模块的应用实例——地址输入 86
4.4串行输入并行输出模块 88
4.4.1串行输入并行输出模块的应用场合 88
4.4.2串行输入并行输出模块的应用基础 88
4.4.3串行输入并行输出模块的应用实例——秒计时 90
4.5并行输入串行输出模块 93
4.5.1并行输入串行输出模块的应用场合 93
4.5.2并行输入串行输出模块的应用基础 93
4.5.3并行输入串行输出模块的应用实例——读取拨码开关状态 95
4.6可编程I/O扩展芯片Intel8255 96
4.6.1可编程I/O扩展芯片Intel8255的应用场合 96
4.6.2可编程I/O扩展芯片Intel8255的应用基础 97
4.6.3可编程I/O扩展芯片Intel8255的应用实例——扩展输入/输出 100
4.7I/O引脚模块的应用实例——电子抽奖系统 102
4.7.1电子抽奖系统的需求分析 103
4.7.2电子抽奖系统的电路设计 103
4.7.3电子抽奖系统的应用代码 105
第5章51单片机的用户输入通道模块 111
5.1独立按键 111
5.1.1独立按键的应用场合 111
5.1.2独立按键的应用基础 112
5.1.3独立按键的应用实例——加减计数 113
5.2拨码开关 116
5.2.1拨码开关的应用场合 116
5.2.2拨码开关的应用基础 117
5.2.3拨码开关的应用实例——开关状态显示 118
5.3行列扫描键盘 120
5.3.1行列扫描键盘的应用场合 121
5.3.2行列扫描键盘的应用基础 121
5.3.3行列扫描键盘的应用实例 123
5.4PS/2键盘 126
5.4.1PS/2键盘的应用场合 126
5.4.2PS/2键盘的应用基础 126
5.4.3PS/2键盘的应用实例——扫描码输出 130
5.5用户输入模块的应用实例——带计时功能的计算器 137
5.5.1计算器的需求分析 138
5.5.2计算器的电路设计 139
5.5.3计算器的应用代码 140
第6章51单片机的LED显示模块 151
6.1发光二极管 151
6.1.1发光二极管的应用场合 151
6.1.2发光二极管的应用基础 152
6.1.3发光二极管的应用实例——流水灯 153
6.2单位数码管 155
6.2.1单位数码管的应用场合 155
6.2.2单位数码管的应用基础 155
6.2.3单位数码管的应用实例——“流水数字”显示 159
6.3多位数码管 161
6.3.1多位数码管的应用场合 161
6.3.2多位数码管的应用基础 161
6.3.3多位数码管的应用实例——移动数字效果显示 165
6.4数码管驱动芯片MAX7219 167
6.4.1数码管驱动芯片MAX7219的应用场合 167
6.4.2数码管驱动芯片MAX7219的应用基础 168
6.4.3数码管驱动芯片MAX7219的应用实例——当前日期显示 175
6.5数码管和键盘驱动芯片CH452 176
6.5.1数码管和键盘驱动芯片CH452的应用场合 176
6.5.2数码管和键盘驱动芯片CH452的应用基础 176
6.5.3数码管和键盘驱动芯片CH452的应用实例——串口数据显示和按键状态返回 190
6.6LED显示模块的应用实例——简易频率计 193
6.6.1简易频率计的需求分析 193
6.6.2简易频率计的电路设计 195
6.6.3简易频率计的应用代码 196
第7章51单片机的液晶显示模块 201
7.1数字字符液晶1602 201
7.1.1数字字符液晶1602的应用场合 201
7.1.2数字字符液晶1602的应用基础 202
7.1.3数字字符液晶1602的应用实例——字符串显示 208
7.2汉字图形液晶12864 208
7.2.1汉字图形液晶12864的应用场合 208
7.2.2汉字图形液晶12864的应用基础 209
7.2.3汉字图形液晶12864的应用实例——混合显示 215
7.3点阵显示模块 221
7.3.1点阵显示模块的应用场合 221
7.3.2点阵显示模块的应用基础 221
7.3.3点阵显示模块的应用实例——“流水字符”显示 224
7.4带字库的汉字图形液晶12864 227
7.4.1带字库的汉字图形液晶12864的应用场合 227
7.4.2带字库的汉字图形液晶12864的应用基础 228
7.4.3带字库的汉字图形液晶12864的应用实例——显示串口接收数据和图形 238
7.5液晶显示模块的应用实例——俄罗斯方块 242
7.5.1俄罗斯方块的需求分析 242
7.5.2俄罗斯方块的电路设计 244
7.5.3俄罗斯方块的应用代码 245
第8章51单片机的语音和打印输出模块 259
8.1蜂鸣器 259
8.1.1蜂鸣器的应用场合 259
8.1.2蜂鸣器的应用基础 260
8.1.3蜂鸣器的应用实例——按键提示音 262
8.2录放音芯片 264
8.2.1录放音芯片的应用场合 264
8.2.2录放音芯片的应用基础 264
8.2.3录放音芯片的应用实例——录放操作 268
8.3文本语言芯片 271
8.3.1文本语音芯片的应用场合 271
8.3.2文本语音芯片的应用基础 271
8.3.3文本语音芯片的应用实例——来电提示音 279
8.4打印机模块 281
8.4.1打印机模块的应用场合 281
8.4.2打印机模块的应用基础 281
8.4.3打印机模块的应用实例——温度打印输出 285
8.5语音和打印输出的应用实例——简易电子琴 288
8.5.1简易电子琴的需求分析 288
8.5.2简易电子琴的电路设计 290
8.5.3简易电子琴的应用代码 291
第9章51单片机的驱动和执行机构 297
9.1三极管 297
9.1.1三极管的应用场合 297
9.1.2三极管的应用基础 298
9.1.3三极管的应用实例——大功率灯泡闪烁 299
9.2达林顿管 300
9.2.1达林顿管的应用场合 300
9.2.2达林顿管的应用基础 300
9.2.3达林顿管的应用实例——发光二极管流水点亮 302
9.3光电隔离器 302
9.3.1光电隔离器的应用场合 303
9.3.2光电隔离器的应用基础 304
9.3.3光电隔离器的应用实例 306
9.4直流电动机 306
9.4.1直流电动机的应用场合 306
9.4.2直流电动机的应用基础 306
9.4.3直流电动机的应用实例——串口控制直流电动机转动 309
9.5步进电动机 312
9.5.1步进电动机的应用场合 312
9.5.2步进电动机的应用基础 312
9.5.3步进电动机的应用实例——串口控制步进电动机转动 317
9.6步进电动机驱动模块 321
9.6.1步进电动机驱动模块的应用场合 321
9.6.2步进电动机驱动模块的应用基础 321
9.6.3步进电动机驱动模块的应用实例——按键控制步进电动机转动 323
9.7继电器 326
9.7.1继电器的应用场合 327
9.7.2继电器的应用基础 327
9.7.3继电器的应用实例——继电器控制 329
9.8驱动和执行机构的应用实例——天车控制系统 332
9.8.1天车控制系统的需求分析 332
9.8.2天车控制系统的电路设计 333
9.8.3天车控制系统的应用代码 335
第10章51单片机的A/D模块 339
10.1A/D模块基础 339
10.1.1A/D变换的过程 340
10.1.2A/D变换的应用电路构成 342
10.1.3A/D变换的保持电路 343
10.1.4A/D芯片的分类 343
10.1.5A/D芯片的选择 343
10.1.6A/D芯片对电源的需求 345
10.28位并行8通道A/D芯片 345
10.2.1ADC0809的应用基础 345
10.2.2ADC0809的应用实例——串口输出ADC0809多通道模拟信号采集 353
10.312位并行8通道A/D芯片 356
10.3.1MAX197的应用基础 356
10.3.2MAX197的应用实例——串口输出MAX197多通道模拟信号采集 360
10.412位串行多通道A/D芯片 363
10.4.1TLC2543的应用基础 364
10.4.2TLC2543的应用实例——串口输出TLC2543多通道模拟信号采集 369
10.5I2C接口高精度A/D芯片 371
10.5.1ADS1100的应用基础 371
10.5.2ADS1100的应用实例 380
10.616位串行接口多通道A/D芯片 380
10.6.1AD977A的应用基础 380
10.6.2AD977A的应用实例 388
10.7A/D模块的应用实例——太阳能电池监控模块 388
10.7.1太阳能电池监控模块的需求分析 388
10.7.2太阳能电池监控模块的电路设计 389
10.7.3太阳能电池监控模块的应用代码 393
第11章51单片机的D/A模块 407
11.1D/A模块基础 407
11.1.1D/A转换的过程 407
11.1.2D/A芯片的分类 409
11.1.3D/A芯片的选择 409
11.1.4D/A芯片对电源的需求 410
11.28位并行D/A芯片 411
11.2.1DAC0832的应用基础 411
11.2.2DAC0832的应用实例——模拟波形输出 416
11.38位串行D/A芯片 420
11.3.1MAX517的应用基础 420
11.3.2MAX517的应用实例——输出正弦波 422
11.410位串行D/A芯片 424
11.4.1TLC5615的应用基础 424
11.4.2TLC5615的应用实例——输出锯齿波 427
11.512位并行D/A芯片 428
11.5.1MAX527的应用基础 428
11.5.2MAX527的应用实例 433
11.616位串行D/A芯片 433
11.6.1MAX541的应用基础 433
11.6.2MAX541的应用实例 436
11.7串行A/D和D/A芯片 436
11.7.1PCF8591的应用基础 437
11.7.2PCF8591的应用实例——AD模拟量采集和DA模拟量输出 440
11.8信号发生器芯片MAX038 441
11.8.1MAX038的应用基础 441
11.8.2MAX038的应用实例 444
11.9D/A模块的应用实例——简易波形发生器 444
11.9.1简易波形发生器的需求分析 444
11.9.2简易波形发生器的电路设计 445
11.9.3简易波形发生器的应用代码 446
第12章51单片机的时钟传感器模块 451
12.151单片机应用系统中的时钟信息获取 451
12.2内部定时计数器 452
12.3并行总线接口时钟模块 453
12.3.1DS12C887的应用基础 453
12.3.2DS12C887的应用实例——路灯自动开关控制 461
12.4I2C总线接口时钟模块 463
12.4.1PCF8563的应用基础 464
12.4.2PCF8563的应用实例 472
12.5SPI总线接口时钟模块 474
12.5.1DS1302的应用基础 474
12.5.2DS1302的应用实例——时钟信息读取 479
12.6时钟传感器模块的应用实例——简单数字时钟 481
12.6.1简单数字时钟的需求分析 481
12.6.2简单数字时钟的电路设计 482
12.6.3简单数字时钟的应用代码 483
第13章51单片机的温度传感器模块 485
13.151单片机应用系统中的温度信息获取 485
13.21-wire总线接口温度模块 486
13.2.1DS18B20的应用基础 487
13.2.2DS18B20的应用实例——DS18B20温度数据采集 492
13.3I2C总线接口温度模块 494
13.3.1DS1621的应用基础 494
13.3.2DS1621的应用实例——DS1621温度数据采集 498
13.4SPI总线接口温度模块 500
13.4.1TC77的应用基础 500
13.4.2TC77的应用实例 504
13.5温度传感器模块的应用实例——多点温度采集系统 504
13.5.1多点温度采集系统的需求分析 505
13.5.2多点温度采集系统的电路设计 506
13.5.3多点温度采集系统的应用代码 507
第14章51单片机的常用其他传感器模块 515
14.1温度传感器 515
14.1.1SHT75的应用基础 515
14.1.2SHT75的应用实例——SHT75湿度和温度数据采集 523
14.2压力传感器 525
14.2.1MPX4115的应用基础 525
14.2.2MPX4115的应用实例 527
14.3定位传感器 527
14.3.1数字罗盘基础 527
14.3.2GPS模块基础 528
14.3.3NMEA-1083规范 528
14.4数字罗盘传感器 532
14.4.1HMR3000的应用基础 532
14.4.2HMR3000的应用实例——航向、俯仰、横滚数据采集 535
14.5GPS传感器 537
14.5.1GARMIN25LP的应用基础 537
14.5.2GARMIN25LP的应用实例——GPS地理信息采集 541
14.6倾角传感器 545
14.6.1TS1120的应用基础 546
14.6.2TS1120的应用实例 548
14.7超声距离传感器 548
14.7.1HC-SR04的应用基础 549
14.7.2HC-SR04的应用实例——距离测量 551
14.8传感器模块的应用实例——手持倾角仪 554
14.8.1手持倾角仪的需求分析 554
14.8.2手持倾角仪的电路设计 554
14.8.3手持倾角仪的应用代码 556
第15章51单片机的有线通信模块 567
15.151单片机的有线通信模块设计概述 567
15.2RS-232协议芯片 568
15.2.1MAX232的应用基础 568
15.2.2MAX232的应用实例 571
15.3RS-485协议芯片 572
15.3.1MAX485的应用基础 572
15.3.2MAX485的应用实例——51单片机和PC进行远程数据交换 574
15.4RS-422协议芯片 576
15.4.1MAX491的应用基础 576
15.4.2MAX491的应用实例 579
15.5高速光电隔离芯片 579
15.5.16N137的应用基础 580
15.5.26N137的应用实例 582
15.6CAN总线芯片 583
15.6.1SJA1000的应用基础 583
15.6.2SJA1000的应用实例——串口CAN总线桥 588
15.7电力线总线芯片 592
15.7.1SSCP300的应用基础 593
15.7.2SSCP300的应用实例——SSCP300数据发送和接收 597
15.8USB通信桥芯片 600
15.8.1CP2102的应用基础 600
15.8.2CP2102的应用实例 605
15.951单片机应用系统的通信模型和通信协议设计 605
15.9.151单片机应用系统的通信模型 606
15.9.251单片机应用系统的通信协议设计 606
15.10有线通信模块的应用实例——远程仓库温度监测系统 607
15.10.1远程仓库湿度监测系统的需求分析 607
15.10.2远程仓库湿度监测系统的电路设计 608
15.10.3远程仓库湿度监测系统的应用代码 609
第16章51单片机的无线通信模块 613
16.151单片机的无线通信模块设计概述 613
16.2红外芯片 613
16.2.1红外芯片的应用基础 614
16.2.2红外芯片的应用实例——红外按键信息解析 621
16.3433MHz无线通信模块 623
16.3.1无线通信模块的应用基础 623
16.3.2无线通信模块的应用实例——PTR8000串口通信桥 633
第17章51单片机的小容量存储模块 637
17.1外部单口RAM芯片 637
17.1.16264的应用基础 638
17.1.26264的应用实例——外部大容量RAM的使用 641
17.2外部双口RAM芯片 643
17.2.1IDT7132的应用基础 643
17.2.2IDT7132的应用实例——使用双口RAM进行双机通信 647
17.3外部ROM芯片 649
17.3.12716的应用基础 649
17.3.22716的应用实例 651
17.4FIFO芯片 651
17.4.1CY7C419的应用基础 651
17.4.2CY7C419的应用实例——使用FIFO存放临时数据 654
17.5I2C总线接口的E2PROM芯片 657
17.5.1AT24系列芯片的应用基础 658
17.5.2AT24系列芯片的应用实例——使用AT24C04存放用户数据 665
17.6SPI总线接口的E2PROM芯片 668
17.6.193系列芯片的应用基础 668
17.6.293系列芯片的应用实例——使用93C46存放用户数据 674
17.7接触式加密智能卡 677
17.7.1接触式智能卡基础 677
17.7.2SLE4442接触式加密卡的应用基础 679
17.7.3SLE4442的应用实例——SLE4442卡的读写 690
17.8非接触式智能卡 693
17.8.1非接触式智能卡基础 693
17.8.2非接触式智能卡读写模块的应用基础 697
17.8.3非接触式智能卡读写模块的应用实例 709
第18章51单片机的大容量存储模块 711
18.1Flash芯片 711
18.1.1Flash芯片的应用基础 711
18.1.2Flash的应用实例——K9F5608芯片的应用 717
18.2U盘读写芯片 717
18.2.1CH376的应用基础 717
18.2.2CH376的应用实例——U盘读写 741
18.3SD卡 745
18.3.1SD卡的应用基础 745
18.3.2SD卡的应用实例 756
本书主要介绍了51单片机系统中常用模块的具体运用,这些模块包括:内部模块、常用算法和函数模块、扩展外围模块、I/O引脚模块、用户输入通道模块、LED显示模块、液晶显示模块、 语音和打印输入模块、驱动和执行机构、A/D模块、D/A模块、时钟传感器模块、温度传感器模块、常用其他传感器模块、有线通信模块、无线通信模块、小容量存储模块,以及51单片机的大容量存储模块。本书适合具有初步单片机基础的单片机工程师使用,也可供高等院校电子类专业的学生和单片机爱好者参考阅读。
《51单片机应用开发案例手册》主要介绍如何在51单片机的应用系统中使用51单片机的内部资源和外围器件,这些资源和器件包括I/O引脚、外部中断、定时/计数器、串行接口、人机交互通道、数据采集和输出通道、存储器模块、通信模块。另外,《51单片机应用开发案例手册》还介绍了51单片机C语言部分库函数的详细使用方法,以及RTX51操作系统的工作原理和使用方法。
《51单片机应用开发案例手册》实例的电路原理图及程序源代码可以到资源下载栏目下载,读者根据自己的实际需要稍加修改即可使用。《51单片机应用开发案例手册》包含丰富的单片机内部资源和外围模块的应用实例,作为一本单片机应用手册,适合于具有单片机基础知识的单片机工程师,以及高等院校电子类专业的学生和单片机爱好者参考阅读。