PIC系列单片机的流码编程:基于Flowcode V4的流码设计平台
![]() |
本书沿引英国Matrix 公司的教育理念,以硬件模块化冲淡初学时对硬件理解的难度,用图形编程方法帮助初学者理解编程的技术。在不断学习的过程中,对概念和技术要领逐步理解和掌握,为进一步深入学习打下良好的基础。
作为入门教程,采用了以图解为手段的编写方法,并尽可能地详细图解每一个步骤。初学者只需要按照步骤即可完成教程中的实例操作。在此基础上,可以自主进行修改和实验。通过这种方式可以加快学习进度。以器件来展开学习是本教程的创新之处。
本书适合通信工程、电子信息、自动化、电气控制等专业的学生学习和进行综合性的设计、试验,同时也适用于从事电子相关行业的人员。
目 录
上篇 介 绍 篇
第1章 流码设计套件简介 2
1.1 流码设计套件组成 2
1.2 使用流码设计的一般步骤 4
1.3 主板跳线分布 5
1.4 流码设计的几种组合方式 5
第2章 Flowcode V4使用简介 8
2.1 使用Flowcode V4的一般步骤 8
2.2 Flowcode V4图形编程介绍 8
2.3 特殊窗口 10
第3章 Flowcode V4功能介绍 22
3.1 引言 22
3.2 Flowcode V4改进特点 22
3.2.1 元件改良 22
3.2.2 软件特色 22
3.2.3 图形用户界面的改进 22
3.2.4 芯片兼容性 22
3.3 技术支持 23
3.3.1 用户论坛 23
3.3.2 技术支持 23
3.4 Flowcode V4软件简介 23
3.4.1 给集成芯片画流码 23
3.4.2 Flowcode V4的工具和视图 23
3.4.3 缩放视窗 26
3.4.4 选择目标芯片 27
3.4.5 配置选择 27
3.4.6 工程选项 27
3.5 流码文件操作 28
3.5.1 启动Flowcode V4 28
3.5.2 新建流码 28
3.5.3 打开已有文件 29
3.5.4 保存流图 29
3.5.5 打印流图 29
3.5.6 保存流图图像 29
3.5.7 关闭Flowcode V4 29
3.5.8 全球选项 29
3.6 创建和编辑流图 31
3.6.1 添加流图图标 31
3.6.2 选择图标 31
3.6.3 移动、删除、复制、粘贴图标 31
3.6.4 撤销和重复 32
3.6.5 增补代码 32
3.6.6 编辑图标的特性 33
3.6.7 屏蔽的使用 33
3.6.8 输入图标的属性 34
3.6.9 输出图标的属性 34
3.6.10 延时图标的属性 35
3.6.11 选择图标的属性 35
3.6.12 分支图标的属性 36
3.6.13 连接点图标的属性 36
3.6.14 循环图标的属性 37
3.6.15 宏图标的属性 37
3.6.16 组件宏图标的属性 38
3.6.17 运算图标的属性 38
3.6.18 串处理图标的属性 39
3.6.19 中断图标属性 40
3.6.20 代码图标的属性 42
3.6.21 注释图标的属性 43
3.7 添加和编辑组件 43
3.7.1 添加组件 43
3.7.2 编辑组件的链接 44
3.7.3 组件帮助文件 44
3.7.4 组件属性 44
3.7.5 面板编辑 44
3.7.6 代码专用化 47
3.8 对宏和变量的操作 47
3.8.1 创建变量 47
3.8.2 参量和局部变量 48
3.8.3 创建新的宏 49
3.8.4 编辑和删除宏 49
3.8.5 宏的导入和导出 49
3.8.6 PIC单片机的专有中断 50
3.8.7 AVR单片机的专有中断 51
3.8.8 ARM单片机的专有中断 53
3.8.9 串操作函数 53
3.9 流码仿真 54
3.9.1 开始仿真 54
3.9.2 单步执行 54
3.9.3 改变仿真速度 55
3.9.4 暂停和停止仿真 56
3.9.5 添加和使用断点 56
3.9.6 观察窗 57
3.9.7 堆栈窗 57
3.9.8 电路调试 57
3.9.9 编辑键映射 58
3.10 将流码应用到芯片中 59
3.10.1 选择目标芯片 59
3.10.2 设置芯片 59
3.10.3 编译流码 59
3.10.4 选择编译器选项 59
3.10.5 第三方编程工具的兼容 60
3.10.6 观察代码输出 60
3.10.7 网络连接 60
3.11 外设介绍 64
3.11.1 Objects系列 64
3.11.2 Common系列 64
3.11.3 输入设备 73
3.11.4 输出设备 74
3.11.5 通信设备 79
3.11.6 无线设备 85
3.11.7 外围设备 88
3.11.8 机电一体化 93
3.11.9 混杂项 96
中篇 实 例 篇
第4章 PIC单片机的流码设计实例 102
【实例1】流水灯流码设计及硬件实现 102
【实例2】数码管自动计数轮流显示的流码设计及硬件实现 103
第5章 PIC单片机流码的I/O(输入/输出)口实例 106
【实例1】闪烁灯 106
【实例2】模拟开关灯 108
【实例3】多路开关状态指示 111
【实例4】广告灯的左移右移 114
【实例5】广告灯 118
【实例6】报警产生器 126
【实例7】I/O并行口直接驱动LED显示 133
【实例8】随机数产生函数random()的用法 140
第6章 PIC单片机流码的按键、数码显示实例 145
【实例1】按键识别方法之一 145
【实例2】一键多功能按键识别技术 150
【实例3】00~99计数器 155
【实例4】00~59秒计时器 161
【实例5】可预置可逆4位计数器 164
【实例6】动态数码显示技术 169
【实例7】4×3矩阵式键盘识别技术 177
第7章 PIC单片机流码的定时器、中断实例 186
【实例1】定时/计数器T0作定时应用技术(一) 186
【实例2】定时/计数器T0作定时应用技术(二) 191
【实例3】99秒马表设计 198
【实例4】TMR0、TMR1、TMR2三个定时器同时开启的实验 206
【实例5】用TMR0的计数功能实现计数,并在PORTC口输出显示 215
【实例6】用TMR0的计数功能实现计数,并用LCD在RC口输出显示 221
【实例7】变速闪灯 238
【实例8】用定时器TMR0、TMR2做一个间歇振荡器 241
【实例9】延时和定时的比较 248
【实例10】“嘀、嘀……”报警声 253
【实例11】“叮咚”门铃 257
【实例12】利用外部中断INT,实现加计数 263
【实例13】PORTB端口引脚电平变化中断 268
第8章 LCD显示实例 272
【实例1】开关控制LCD1602字符液晶显示 272
【实例2】拉幕式数码显示技术 291
【实例3】A/D变换及LCD显示 297
【实例4】显示滚动字符串 317
【实例5】键盘和LCD显示 333
第9章 PIC单片机流码的混合编程实例 354
【实例1】Flowcode中C语言、流码混合编程之一 354
【实例2】Flowcode中汇编、流码混合编程之二 358
【实例3】Flowcode中C语言、流码混合编程之三 361
第10章 PIC单片机流码的A/D、PWM、CCP模块、电机控制实例 366
【实例1】A/D及PWM(脉宽调制)的设计应用 366
【实例2】步进电机的流码设计 380
【实例3】CCP模块的输入捕捉模式,测量一个脉冲的宽度 391
第11章 PIC单片机流码的通信实例 398
【实例1】Flowcode的虚拟网络调试功能(RS232通信仿真) 398
【实例2】MSSP模块的SPI模式发送数据 401
【实例3】MSSP模块的SPI模式发送数据的时序波形图 413
【实例4】利用SPI模式发送模式实现数码流水灯 424
【实例5】用MSSP模块的I2C模式实现的双机数据传输 436
【实例6】RS232双机数据传输 460
【实例7】将传感器中的数据记录到EEPROM并且可供查询 498
第12章 PIC单片机流码的课题实例 525
【实例1】模拟电压的测量LCD显示并过压报警 525
【实例2】数字钟的设计 545
下篇 应 用 篇
第13章 PIC单片机的流码综合实训设计——CAN总线设计 576
实验一:刹车控制 577
实验二:设计控制汽车后尾灯 579
实验三:后尾灯系统 583
实验四:油量检测及缺油报警 586
实验五:CAN故障诊断 588
实验六:启动时扫描所有CAN节点是否在线 596
实验七:CAN状态监测 608
实验八:传感器检测程序 609
前 言
Flowcode V4是一款用流程图编码(简称流码)的设计仿真软件。是为单片机量身定制的图形化程序语言。它目前包括支持以下三种系列的微控制器:PIC、AVR 和 ARM,并支持中文菜单。
它的特点:
1.直接画流程图仿真,仿真成功后可以编译成C和汇编代码,并生成hex文件,并直接烧写到芯片里。真正的一键搞定!
2.几乎不用考虑初始化。你要输出流码,就自动把端口设置为输出;你要输入流码,就自动把端口设置为输入。
3.芯片移植非常简单。直接更换芯片就可以了。流程图几乎不用动。
4.可以导入、导出流程图,这样同一个流程图就可以在不同的微控制器上运行。
5.强大的仿真模块。
6.它还支持嵌入C和汇编代码。
对嵌入式系统的学习,学习者普遍存在两个难题,即对硬件的陌生和对编程的恐惧。电子技术日新月异,许多的新器件让人目不暇接。编程软件多种多样,各有千秋。特别是对于一个初学者来说,困难是可想而知的。
本教程沿引英国Matrix公司的教育理念,以硬件模块化冲淡初学时对硬件理解的难度,用图形编程方法帮助初学者理解编程的技术。在不断学习的过程中,对概念和技术要领逐步理解和掌握,为进一步深入学习打下良好的基础。
本教程以帮助学习者入门PIC系列单片机为首要任务,共分13章。第1章主要是对流码学习套件和Flowcode图形编程软件做介绍,帮助初学者对使用工具进行了解。第2章是对Flowcode V4使用进行了简要介绍。第3章详细介绍了Flowcode V4的编程仿真等功能。第4章给出了PIC单片机的软、硬件流码设计实例。第5章详细介绍了PIC单片机流码的I/O口输入输出功能,给出设计实例,并辅以Proteus 7软件做仿真验证。第6章详细介绍了PIC单片机流码的按键、数码显示等功能,给出设计实例,并辅以Proteus 7软件做仿真验证。第7章详细介绍了PIC单片机流码的定时器、中断功能,给出设计实例,并辅以Proteus 7软件做仿真验证。第8章详细介绍了LCD显示应用,给出设计实例,并辅以Proteus 7软件做仿真验证。第9章详细介绍了PIC单片机流码的混合编程功能,给出设计实例,并辅以Proteus 7软件做仿真验证。第10章详细介绍了PIC单片机流码的A/D、PWM脉宽调制、CCP模块、电机控制等功能,给出设计实例,并辅以Proteus 7软件做仿真验证。第11章详细介绍了PIC单片机流码的各种通信功能,给出设计实例,并辅以Proteus 7软件做仿真验证。第12章详细介绍了PIC单片机流码的一些典型课题设计,给出设计实例,并辅以Proteus 7软件做仿真验证。第13章详细介绍了PIC单片机的流码综合实训设计-CAN总线设计。
作为入门教程,采用了以图解为手段的编写方法,并尽可能地详细图解每一个步骤。初学者只需要按照步骤即可完成教程中的实例操作。在此基础上,可以自主进行修改和实验。通过这种方式可以加快学习进度。以器件来展开学习是本教程的创新之处。
本书适合通信工程、电子信息、自动化、电气控制等专业的学生学习和进行综合性的设计、试验,同时也适用于从事电子相关行业的人员。另外,本书特别适合PIC系列单片机零起点的初学者使用,可作为中小学、高职高专、高等院校控制类专业学生的单片机课程教学用书,也可作为电子爱好者及各类工程技术人员的参考用书。
参加本书编写的还有:李滨、杨军、戴东宁、黄海龙等。
特别感谢Flowcode中国总代理-南京晟瑞尔电子科技有限公司为本书编写提供的Flowcode流码套件。
在本书的编写过程中,还得到了华中数控股份有限公司陈吉红董事长,湖南神州光电能源有限公司赵枫董事长,清华同方南京有限公司王宏金总经理,香港TOM先生,加拿大杨军先生,贾山松主任,陈晓华教授等的大力协助与支持,谨此向他们表示衷心的感谢!
因时间仓促,作者水平所限,在编写的教材中难免会有错误和疏漏的地方,恳请各位专家和读者批评指正。