
STC单片机教学系统编程指导书V1.0
STC 单片机教学系统编程 指导书 V1.0

目录1.前言2. 硬件电路介绍·3.开发环境介绍+3.1使用KEILC51编译程序,.33.2程序烧写4.上机实验:104.1数字输入输出实验(3学时)104.1.11/O基础知识:104.1.2电路原理分析.114.1.4程序示例:跑马灯的简单实现·124.1.5实验任务134.2中断系统、定时器/计数器(3学时)144.2.1单片机的中断144.2.2定时器中断系统154.2.3程序示例:定时器实现跑马灯...174.2.4实验任务·184.3模拟接口A/D实验(3学时):194.3.1模数转换原理194.3.2程序示例:A/D电压检测-204.3.4实验任务-224.4单片机综合实验(3学时)235.总结·256.附录…·266.1中断寄存器·266.2中断使能寄存器-266.4中断优先寄存器-286.5定时器/计数器中断控制寄存器·296.6与ADC相关的寄存器.:296.7最小系统原理图32
目 录 1. 前言 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 1 2. 硬件电路介绍 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 2 3. 开发环境介绍 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 3 3.1 使用 KEIL C51 编译程序 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 3 3.2 程序烧写 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 7 4. 上机实验 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 10 4.1 数字输入输出实验(3 学时) ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 10 4.1.1 I/O 基础知识ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 10 4.1.2 电路原理分析ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 11 4.1.4 程序示例:跑马灯的简单实现ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 12 4.1.5 实验任务ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 13 4.2 中断系统、定时器/计数器(3 学时) ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 14 4.2.1 单片机的中断ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 14 4.2.2 定时器中断系统ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 15 4.2.3 程序示例:定时器实现跑马灯ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 17 4.2.4 实验任务ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 18 4.3 模拟接口 A/D 实验(3 学时) ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 19 4.3.1 模数转换原理ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 19 4.3.2 程序示例:A/D 电压检测ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 20 4.3.4 实验任务ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 22 4.4 单片机综合实验(3 学时) ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 23 5. 总结 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 25 6. 附录 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 26 6.1 中断寄存器 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 26 6.2 中断使能寄存器 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 26 6.4 中断优先寄存器 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 28 6.5 定时器/计数器中断控制寄存器 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 29 6.6 与 ADC 相关的寄存器 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 29 6.7 最小系统原理图 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 32

6.8多功能板原理图33.+.+.+...+++..++.+.+
6.8 多功能板原理图 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ 33

1.前言单片机是将运算核心、随机存储器、只读存储器、多种I/O端口、中断系统和定时器/计数器等功能模块集成到一块集成电路上构成的微型计算机系统,由于其体积小、结构简单、可靠性高的优点,被广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。因此单片机原理与接口技术课是一门应用性极强的基础课程,是进一步学习其它控制类、电子类专业课程的前提和基础。在进行上机实验之前,应当首先具备一定的模拟、数字电路基础理论知识,掌握C语言程序设计的基本技巧,而且对51内核单片机的性能和编程方式有初步认识。在实验过程中,可以将本书与课程教材配合学习,相互参考,并通过认真完成每次实验的编程任务,更快更好地掌握单片机应用知识和开发技能。本书安排的实验内容均针对以STCIAP15W4K58S4为核心的实验电路板进行设计。全书在内容上可分为5个部分,第一部分介绍实验电路的基本特性和功能模块;第二部分介绍程序开发环境的配置与程序烧写流程;第三部分详细介绍了本学期4次实验课程的主要任务,其中每次实验都首先从51内核的基本原理出发,简单回顾相应的理论知识,并附上简短的学习例程。完成实验任务时应尽可能独立思考,并尝试在题目要求的基础上考虑程序流程更简单、执行效率更高的实现方法。指导书在附录中列出了部分可能用到的数据信息,供编写程序时查阅参考。由于时间仓促和水平所限,实验指导书中可能存在一些错误和不妥之处,敬请批评指正。2017年11月1
1 1. 前言 单片机是将运算核心、随机存储器、只读存储器、多种 I/O 端口、中断系统 和定时器/计数器等功能模块集成到一块集成电路上构成的微型计算机系统,由 于其体积小、结构简单、可靠性高的优点,被广泛应用于仪器仪表、家用电器、 医用设备、航空航天、专用设备的智能化管理及过程控制等领域。因此单片机原 理与接口技术课是一门应用性极强的基础课程, 是进一步学习其它控制类、电子 类专业课程的前提和基础。 在进行上机实验之前,应当首先具备一定的模拟、数字电路基础理论知识, 掌握 C 语言程序设计的基本技巧,而且对 51 内核单片机的性能和编程方式有初 步认识。在实验过程中,可以将本书与课程教材配合学习,相互参考,并通过认 真完成每次实验的编程任务,更快更好地掌握单片机应用知识和开发技能。 本书安排的实验内容均针对以 STC IAP15W4K58S4 为核心的实验电路板进 行设计。全书在内容上可分为 5 个部分,第一部分介绍实验电路的基本特性和功 能模块;第二部分介绍程序开发环境的配置与程序烧写流程;第三部分详细介绍 了本学期 4 次实验课程的主要任务,其中每次实验都首先从 51 内核的基本原理 出发,简单回顾相应的理论知识,并附上简短的学习例程。完成实验任务时应尽 可能独立思考,并尝试在题目要求的基础上考虑程序流程更简单、执行效率更高 的实现方法。指导书在附录中列出了部分可能用到的数据信息,供编写程序时查 阅参考。 由于时间仓促和水平所限,实验指导书中可能存在一些错误和不妥之处,敬 请批评指正。 2017 年 11 月

2.硬件电路介绍请从此处打开!图2.1实验箱外观在进行上机实验之前,请双手握住实验箱的把手(上图红圈标示处),分别向两边推拉。为避免锈蚀和染尘,每次上机实验结束后,应将电路板妥善放置在实验箱内,关闭保护外壳并扣紧。实验电路板由STC15W4K32S4主控芯片和个外围电路模块构成,各模块的位置分布见图2.2,主要功能模块包括:8位红色共阴数码管9红外接收、发送端口9ADC分压检测RTC实时时钟(PCF8563)中断INTO、INT1测试外部2.5V参考电压源(TL431或CD431)行列式矩阵扫描按键、普通按键自定义实验万能板2热敏电阻测温接口(ADC)2
2 2. 硬件电路介绍 图 2.1 实验箱外观 在进行上机实验之前,请双手握住实验箱的把手(上图红圈标示处),分别 向两边推拉。为避免锈蚀和染尘,每次上机实验结束后,应将电路板妥善放置在 实验箱内,关闭保护外壳并扣紧。 实验电路板由 STC15W4K32S4 主控芯片和个外围电路模块构成,各模块的 位置分布见图 2.2,主要功能模块包括: 8 位红色共阴数码管 红外接收、发送端口 ADC 分压检测 RTC 实时时钟(PCF8563) 中断 INT0、INT1 测试 外部 2.5V 参考电压源(TL431 或 CD431) 行列式矩阵扫描按键、普通按键 自定义实验万能板 热敏电阻测温接口(ADC) 请从此处 打开 !

使用PWM实现DAC输出端口·掉电检测、掉电唤醒测试此外,实验电路板还提供以下数据通信接口和协议转换芯片:?外部扩展RAM接口LCD12864接口USB、Micro-USB接口串口接口、RS232电平转换芯片红外发进红外楼收8位数码管自定义实验弹电检测测试测试测试(调节电压)测式万能板仿真主控芯片RS232电平转换芯片8.8.8.8.全8888USB转串口ADC通过热敏电芯片阻测湿串口1内部PWM做测试换口DAC并由自带的ADC来纠正误整单口1与口2相互通讯开关外部2.5V参音源TL431/CD431RTC测试芯片RPPCF8563ADC分压检测按链测试串口2行列式矩阵扫描测试接口按撼测试Micro-USB接口外扩RAM测试接口USBLCDLCD12864INTI测试接口主控芯片电漂开关推口亮度调节电阻楼口可进行撑电唤随测试载测试代码时,先点下载软性中的下载按,再按下INTO测试接口此电源键,松开后即可进行程序下载(按下给目标芯可进行掉电唤雕测试片新电,检开后承新上电)图2.2实验电路板布局图实验电路板上设有主控芯片电源开关,该按钮被按下时主控芯片断电,松开后芯片重新上电。因此,在向实验电路板的主控芯片烧写程序时,应当首先点击烧写软件中的下载按钮,再按下主控芯片电源开关,松开后即可开始程序烧写。3.开发环境介绍3.1使用KeilC51编译程序单片机开发通常使用C语言或汇编语言编写程序,并使用编译器将代码编译生成单片机可执行的二进制代码,再通过烧写软件将其写入单片机片内的Flash存储器,由单片机重新上电后自动执行。3
3 使用 PWM 实现 DAC 输出端口 掉电检测、掉电唤醒测试 此外,实验电路板还提供以下数据通信接口和协议转换芯片: 外部扩展 RAM 接口 LCD12864 接口 USB、Micro-USB 接口 串口接口、RS232 电平转换芯片 Micro-USB 接口 串口 2 测试接口 串口 1 测试接口 串口 1 与串口 2 相互通讯开关 红外发送 测试 红外接收 测试 8 位数码管 测试 掉电检测测试 (调节电压) USB 接口 主控芯片电源开关 下载测试代码时,先点下载 软件中的下载按钮,再按下 此电源键,松开后即可进行 程序下载 (按下给目标芯 片断电,松开后重新上电) LCD 亮度调节电阻 LCD12864 接口 INT0 测试接口 可进行掉电唤 醒测试 INT1 测试接口 可进行掉电唤醒测试 行列式矩阵扫描 按键测试 ADC 分压检测 按键测试 自定义实验 万能板 仿真主控芯片 RS232 电平转 换芯片 USB 转串口 芯片 RTC 测试芯片 PCF8563 外部扩展 RAM 测试接口 ADC 通过热敏电 阻测温 内部 PWM 做 DAC 并由自带的 ADC 来纠正误差 外部 2.5V 参考源 TL431/CD431 图 2.2 实验电路板布局图 实验电路板上设有主控芯片电源开关,该按钮被按下时主控芯片断电,松开 后芯片重新上电。因此,在向实验电路板的主控芯片烧写程序时,应当首先点击 烧写软件中的下载按钮,再按下主控芯片电源开关,松开后即可开始程序烧写。 3. 开发环境介绍 3.1 使用 Keil C51 编译程序 单片机开发通常使用 C 语言或汇编语言编写程序,并使用编译器将代码编 译生成单片机可执行的二进制代码,再通过烧写软件将其写入单片机片内的 Flash 存储器,由单片机重新上电后自动执行

KeiluVision4是由美国KeilSoftware公司发布的单片机程序集成开发环境系列,其中KeilC51可用于进行51内核单片机的C语言程序设计。Keil提供丰富的库函数和功能强大的集成开发调试工具,而且生成的目标代码效率高,大部分语句生成的汇编代码十分紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。实验室的计算机已经安装了KeilC51集成开发环境,下面介绍创建工程项目的操作步骤。第一步启动开发环境双击KeilC51程序的图标(如图3.1)运行KeilC51程序。WKeillVision5图3.1KeilC51图标μVisior口XFileEditViewProjectFiashDebugPeripheralsToolsSvcsWindowHelp品美推Q·#国国国品Projedt0OBulld Output中国图3.2KeilC51主界面第二步新建项目使用Keil编写程序需要首先新建一个项目,单击Project-NewProject...(如图3.3),在弹出的对话框中,选择新项目存放的地方及文件名。4
4 Keil uVision4 是由美国 Keil Software 公司发布的单片机程序集成开发环境 系列,其中 Keil C51 可用于进行 51 内核单片机的 C 语言程序设计。Keil 提供丰 富的库函数和功能强大的集成开发调试工具,而且生成的目标代码效率高,大部 分语句生成的汇编代码十分紧凑,容易理解。在开发大型软件时更能体现高级语 言的优势。 实验室的计算机已经安装了 Keil C51 集成开发环境,下面介绍创建工程项 目的操作步骤。 第一步 启动开发环境 双击 Keil C51 程序的图标(如图 3.1)运行 Keil C51 程序。 图 3.1 Keil C51 图标 图 3.2 Keil C51 主界面 第二步 新建项目 使用 Keil 编写程序需要首先新建一个项目,单击 Project→New Project. (如图 3.3),在弹出的对话框中,选择新项目存放的地方及文件名

WμVisionFileEditProjectFlash Debug Peripherals Tools svcs Window HelpViewNew μVision Project....AO##丰丰作陵心拉1New Multi-Project Workspace...#国品EOpen Project....ProjectClose ProjectExportManage图3.3“项目”菜单在弹出的目标设备选项框中,选择STCMCUDatabase,找到STC15W4K32S4(见图3.4),弹出的对话框点击“是”,完成一个新项目的创建。Select Device for Target Target I'.XDericeASTC MCU DatabaseVendor.STCSTC15W4K32S4Device:Toolset:C51UseExtendedLinker(LX51)insteadofBL51Search:UseExtended Assembler [AX51]insteadof A51Description:STC15W1K16S8051-based microcontroller with 1T(1-clock) High-Speed Core.Upto62OLines.8Timers/Counters,3PCATimers.STC15W204SBuild-inupto35MHzoscillatorSTC15W408AS60KbytesflashROM,4096bytesdataRAMOn-chipEEPROM.4UARTs.WDT.ISP/IAP.A/D.CCP/PWM.CMPSTC15W408SCSTC15W4K32S4STC89C52RCSTC89C58RD+STC8A8K64S4A12STC8F2K64S4STC8F8K64S4A12OKCancelHelp图3.4目标设备选项框第三步修改项目属性通过菜单Project-OptionsforTarget'target,或者快捷键Alt+F7,打开项目属性对话框。在“Output”选项卡中,勾选“CreateHEXFile”选项(见图3.5)。选中该项后,KeilC51将在项目编译完成后自动生成.hex格式的目标文件,用于程序烧写,点击“OK”按钮保存设置。5
5 图 3.3 “项目”菜单 在弹出的目标设备选项框中,选择 STC MCU Database ,找到 STC15W4K32S4(见图 3.4),弹出的对话框点击“是”,完成一个新项目的创建。 图 3.4 目标设备选项框 第三步 修改项目属性 通过菜单 Project→Options for Target ’target1’,或者快捷键 Alt+F7,打开 项目属性对话框。 在“Output”选项卡中,勾选“Create HEX File”选项(见图 3.5)。选中该 项后,Keil C51 将在项目编译完成后自动生成.hex 格式的目标文件,用于程序烧 写,点击“OK”按钮保存设置

Options for Target Target1'DeviceTarget OutputListing UserC51A51BL51 LocateBL51 MiscDebugUtilitiesesSelect Folderfor Objects.Name of Executable:Create Executable:VObjects test Debug Infomation Browse Infomation CreateHEXFle HEXFommat:HEX-80CNObjects test.LIBCreate Batch FileOKCancelDefaultsHelp图3.5输出选项设置页面第四步添加程序文件在主界面左侧的project侧边栏中,对SourceGroup1单击右键,选择AddNew Item to Group“Source Group 1'FileEditViewToolssvcswindowProject FlashDebugPerinheralsGAO产电电良许事!文-DAENTarget1Project中XProject test白泉Target1白SourceGroup1sOptionsforGroup SourceGroup t..ARt-FTAddNewItemtoGroupSourceGroup1m.AddExistingFilestoGroupSourceGroupI..Remove Group'Source Group1and its FilesRebuild all target filesBuild TargetF7大ManageProject Items..VShow IncludeFileDependencies图3.6SourceGroup右键菜单6
6 图 3.5 输出选项设置页面 第四步 添加程序文件 在主界面左侧的 project 侧边栏中,对 Source Group 1 单击右键,选择 Add New Item to Group‘Source Group 1’。 图 3.6 Source Group 右键菜单

在弹出的窗口中(见图3.7),选择新建的文件类型,并在下方的Name输入框中输入文件名(不带文件名后缀),点击Add按钮即可新建文件并添加到当前项目。Add New ltem toGroupSourceGroup1XCreate anew C source fle and add it to theprojectcFile (e)6C++File(cpp)Asm File (.s)Header File (h)Tert File (.trt)Inage File (.)User Code TemplateCFile (c)TypemainlName:LocationC:\Users WJQ|DocHelpAddClose图3.7文件新增窗口第五步编译当程序代码编写完成后,需要将C语言程序代码编译为二进制代码。通过菜单Project-Buildtarget,或者单击工具栏上的按钮,或者使用快捷键F7,即可执行编译命令。如果编译过程出错,相应的错误信息会出现在下方的编译输出框。如果编译出错,应当根据提示,修改源文件,然后再次尝试编译,直至成功生成.hex文件。编译成功后,可将生成的.hex文件通过烧写软件下载到单片机中。3.2程序烧写程序编译完成后,需要借助专用的烧写程序,通过串口通讯的方式,按照一定读写时序向芯片发送清除、烧写、校验命令,对单片机片上的Flash程序储存区进行烧写。下面介绍使用STC-ISP(V6.86F)进行程序烧写的具体步骤,在烧写程序前,请使用USB数据线,将实验电路板与个人电脑的USB端口相连。然后打开stc-isp.exe程序(图标见图3.8),图3.9为程序运行后的界面。ste-isp7
7 在弹出的窗口中(见图 3.7),选择新建的文件类型,并在下方的 Name 输入 框中输入文件名(不带文件名后缀),点击 Add 按钮即可新建文件并添加到当前 项目。 图 3.7 文件新增窗口 第五步 编译 当程序代码编写完成后,需要将 C 语言程序代码编译为二进制代码。通过菜 单 Project→Build target,或者单击工具栏上的 按钮,或者使用快捷键 F7,即 可执行编译命令。如果编译过程出错,相应的错误信息会出现在下方的编译输出 框。 如果编译出错,应当根据提示,修改源文件,然后再次尝试编译,直至成功 生成.hex 文件。编译成功后,可将生成的.hex 文件通过烧写软件下载到单片机中。 3.2 程序烧写 程序编译完成后,需要借助专用的烧写程序,通过串口通讯的方式,按照一 定读写时序向芯片发送清除、烧写、校验命令,对单片机片上的 Flash 程序储存 区进行烧写。下面介绍使用 STC-ISP(V6.86F)进行程序烧写的具体步骤。 在烧写程序前,请使用 USB 数据线,将实验电路板与个人电脑的 USB 端口 相连。然后打开 stc-isp.exe 程序(图标见图 3.8),图 3.9 为程序运行后的界面