《单片机与计算机串口通信实践》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张秀关著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121184840
  • 页数:321 页
图书介绍:本书采用Cygnal公司的C8051F020DK-U型单片机开发工具,实现与计算机的串口通信。由简入繁,详细阐述了三种串口通信模式;依据各自的串行数据传输能力,可适用于不同的实际项目中。单片机测量了七路电压量、记录了二个时间值,并将它们串行发送到计算机中;计算机将计算得到的物理电压值等,分别采用ODBC、自动化两种方法,存储到以当前时刻命名的Excel文件中。

第1部分基本知识 2

第1章C8051F020型单片机 2

1.1开发工具 2

1.1.1硬件连接图 2

1.1.2主要部件的简介 3

1.1.3目标板的跳线器连接 4

1.1.4自制件 5

1.2集成开发环境 7

1.2.1集成开发环境的简介 7

1.2.2集成开发环境的配置 8

1.2.3 Keil公司简介 9

1.3 C8051F020型单片机 10

1.3.1系统时钟SYSCLK 10

1.3.2片外数据存储器的扩展 10

1.3.3低端口 P0~P3 11

1.3.4 T0、 T1、 T2、 T3、 T4简介 13

1.3.5模数转换器ADC0 17

1.3.6串行通信总线UART0 20

1.4头文件C8051F020.h 22

1.4.1缩写词 22

1.4.2文件代码 23

第2章 计算机串口通信基础 30

2.1 Windows API串口通信函数 30

2.1.1串口的打开、关闭 30

2.1.2串口的配置 31

2.1.3串口缓冲区的控制 33

2.1.4读、写操作的超时控制 33

2.1.5串行通信事件的操作 35

2.1.6串口的读、写操作 37

2.1.7异步操作 39

2.2多线程 41

2.2.1线程简介 41

2.2.2工作者线程的相关函数 42

2.2.3线程间的通信 43

2.2.4线程间的同步 45

2.3 Visual C++++ 6.0的介绍 46

2.3.1工作界面的简单介绍 46

2.3.2编程中的常用操作 54

2.3.3本文所用常量的出处 58

第2部分 串口通信模式A-1 66

第3章 单片机编程A-1 66

3.1通信协议 66

3.1.1起止式异步协议的实例 66

3.1.2字符帧的格式 67

3.1.3数据包I中各字节的意义 67

3.1.4数据包Ⅱ中各字节的意义 68

3.1.5具体的串口通信协议 69

3.2两个中断函数的流程图 72

3.3单片机程序A-1 76

第4章 计算机编程A-1 100

4.1项目的创建、窗口初始化 100

4.1.1项目的创建 100

4.1.2 Resource.h文件清单1 103

4.1.3窗口初始化 103

4.2自定义Comm菜单 104

4.2.1菜单资源的添加 104

4.2.2消息映射1 105

4.2.3由C1assWizard添加的代码1 106

4.3自定义Comm Setting对话框 110

4.3.1对话框资源的添加 110

4.3.2对话框内控件的调整 114

4.3.3 Resourceh文件清单2 115

4.3.4关联变量 116

4.3.5消息映射2 118

4.3.6由C1assWizard添加的代码2 119

4.4文档类中的数据成员 122

4.4.1文档类数据成员的说明 122

4.4.2文档类数据成员的添加 127

4.4.3由ClassWizard添加的代码3 129

4.4.4文档类数据成员的初始化 131

4.5串行缓冲区的读/写函数 133

4.5.1串行接收缓冲区的读取函数 133

4.5.2串行发送缓冲区的写入函数 135

4.6工作者线程控制函数 137

4.6.1全局函数ThreadFunctionl()的流程图 137

4.6.2串行接收缓冲区的读取方法 138

4.6.3全局函数ThreadFunction 1()的代码清单 138

4.6.4工作者线程的终止 141

4.6.5 continue语句的使用 142

4.7菜单项的UPDATE COMMAND UI消息响应函数 143

4.8 WM TIMER消息的响应函数 145

4.8.1定时器的使用意义 145

4.8.2 WM T MER的消息映射 146

4.8.3函数CTianView ∷ OnTimer()的代码清单 146

4.9 Connect菜单项的COMMAND消息响应函数 147

4.9.1函数CTianDoc ∷ OnCommConnect()的流程图 147

4.9.2 Microsoft Excel驱动程序的查看 148

4.9.3常量定义1 149

4.9.4函数CTianDoc∷OnCommConnect()的代码清单 150

4.9.5自定义函数CTianDoc ∷ Function SetCommState() 154

4.10 Start菜单项的COMMAND消息响应函数 157

4.10.1函数CTianDoc∷ OnCommStart()的流程图 157

4.10.2函数CTianDoc∷ OnCommStart()的代码清单 158

4.11 Setting菜单项的COMMAND消息响应函数 161

4.11.1函数CTianDoc∷OnCommSetting()的流程图 161

4.11.2预包含文件的添加 162

4.11.3函数CTianDoc∷OnCommSetting()的代码清单 163

4.12自定义消息WM USER 1的响应函数 165

4.12.1函数CTianView ∷ OnMessageUserl()的流程图 165

4.12.2简单说明 166

4.12.3 TianView.cpp文件中的常量定义 167

4.12.4函数CTian View∷ OnMessageUserl()的代码清单 167

4.13 Stop菜单项的COMMAND消息响应函数 174

4.14 Disconnect菜单项的COMMAND消息响应函数 175

4.15 文档类析构函数 176

4.16运行结果1 176

4.16.1 Comm Setting对话框的显示效果 176

4.16.2 Connect菜单项的执行结果1 177

4.16.3 Start菜单项的执行结果1 177

4.17采用EV RXCHAR事件的执行结果 178

4.18单片机采用for循环连续发送字符的实验 180

第3部分 自动化访问EXCel 184

第5章 单片机编程A-2 184

5.1单片机接收两个连续字符的分析 184

5.2中断函数UART0 ISR()的流程图1 185

5.3单片机程序A-2 187

第6章 计算机编程A-2 200

6.1 Excel类库的导入 200

6.1.1自动化编程步骤 200

6.1.2初始化COM组件 200

6.1.3 Excel类库的导入 201

6.2文档类中数据成员的添加 203

6.2.1在文档类中,添加操作Excel的类对象 203

6.2.2新添加类对象的初始化 205

6.3函数CTianDoc∷OnCommConnect()的代码清单1 205

6.4函数CTianDoc∷OnCommStart()的代码清单1 208

6.4.1在文档类中,添加变量m nFillingRow 208

6.4.2变量m_ nFillingRow的初始化 209

6.4.3函数OnCommStart()的代码清单1 209

6.5函数CTianView∷OnMessageUserl()的代码清单1 217

6.6函数CTianDoc∷OnCommStop()的代码清单1 230

6.7函数CTianDoc∷OnCommDisconnect()的代码清单1 231

6.8函数CTianView∷OnTimer()的代码清单1 232

6.9运行结果2 233

6.9.1运行结果的示例 233

6.9.2异常终止 234

6.9.3 VC采用自动化访问Exce12007的说明 235

第4部分 串口通信模式B 238

第7章 单片机编程B 238

第8章 计算机编程B 242

8.1计算机程序简单修改1 242

8.2函数CTianView∷OnMessageUserl()的修改1 243

8.2.1流程图的修改1 243

8.2.2代码的修改1 243

8.2.3字符串中提取左侧三个字符 252

8.2.4运行结果3 253

第5部分 串口通信模式C-1 256

第9章 单片机编程C-1 256

9.1通信协议1 256

9.1.1通信协议的说明 256

9.1.2数据包Ⅰ中各字节的意义1 257

9.1.3数据包Ⅱ中各字节的意义1 257

9.2两个中断函数的流程图1 259

9.2.1中断函数ADCO_ISR()的流程图1 259

9.2.2中断函数UARTO_ISR()的流程图1 260

9.3单片机程序C-1 261

9.4使用Excel生成多行相似代码 284

第10章 计算机编程C-1 287

10.1计算机程序简单修改2 287

10.1.1可依照8.1节的修改 287

10.1.2在文档类中,添加变量m nGroupRightNo 287

10.1.3变量m nGroupRightNo的初始化 288

10.1.4函数OnCommStart()的代码修改 288

10.2函数CTianView∷OnMessageUserl()的修改2 289

10.2.1流程图的修改2 289

10.2.2代码的修改2 290

10.3运行结果4 299

10.3.1串行通信终止 299

10.3.2降低传输流量 299

第6部分 串口通信模式C-2 302

第11章 单片机编程C-2 302

第12章 计算机编程C-2 310

附录A第2部分中“Comm|Start”菜单项的运行结果 316

附录B第3部分中“Comm|Start”菜单项的运行结果 317

附录C第4部分中“Comm|Start”菜单项的运行结果 318

附录D第5部分中“Comm | Start”菜单项的运行结果 319

附录E第6部分中“Comm|Start”菜单项的运行结果 320

参考文献 321