数据类型,当控制循环次数的变量类型为无符号字符型即unsignedchar类型时,它的大小范围在0~255之间,因此这时不要在for循环中使循环变量的值小于等于256,否则会产生无限循环,导致程序无法正常的运行。开始定义片内RAM和片外RAM的首地址定义循环控制变量i否i<10 ?是将片内一个RAM单元的数值赋给相应的片外RAM单元变量的值i+1程序结束图2.5片内和片外存储单元中块数据的传送流程图4.选做题(1)存储单元数据的相互传送。请使用C51语言,将单片机片内RAM的32H单元的数据与片外RAM的6DH单元的数据相加,结果保存在片外RAM的5OH单元,然后再将片外ROM的1234H单元的数据与片内RAM的66H单元的数据相减,结果保存在片内RAM的36H单元中。(2)有符号数比较大小。假设在片内RAM的3AH单元中,存储的有符号数据是m,在片外RAM的9ABDH单元中存储的有符号数据是n,试比较这两个数的大小,并将大数保存在片内RAM的6FH单元中。(3)对片外RAM单元进行数据传输。请先将片外RAM的8000OH~80FFH单元中的数据清零,然后再把数值00H~FFH,赋给上面的256个外存单元。六.实验报告1.通过本次实验,总结C51语言不同结构的程序设计方法与调试步骤。2.写出C51程序的源代码,给每行语句加上详细的注释,并画出程序的流程图。3.掌握如何在Kei1软件中观察程序、变量以及存储单元的数据变化情况。4,叙述程序调试过程中遇到的困难以及解决方法,写出本次实验的收获和心得体会。17
17 数据类型,当控制循环次数的变量类型为无符号字符型即 unsigned char 类型时,它的大小 范围在 0~255 之间,因此这时不要在 for 循环中使循环变量的值小于等于 256,否则会产生 无限循环,导致程序无法正常的运行。 图 2.5 片内和片外存储单元中块数据的传送流程图 4. 选做题 (1)存储单元数据的相互传送。请使用 C51 语言,将单片机片内 RAM 的 32H 单元的数据 与片外 RAM 的 6DH 单元的数据相加,结果保存在片外 RAM 的 50H 单元,然后再将片外 ROM 的 1234H 单元的数据与片内 RAM 的 66H 单元的数据相减,结果保存在片内 RAM 的 36H 单元中。 (2)有符号数比较大小。假设在片内 RAM 的 3AH 单元中,存储的有符号数据是 m,在片 外 RAM 的 9ABDH 单元中存储的有符号数据是 n,试比较这两个数的大小,并将大数保存在片 内 RAM 的 6FH 单元中。 (3)对片外 RAM 单元进行数据传输。请先将片外 RAM 的 8000H~80FFH 单元中的数据清 零,然后再把数值 00H~FFH,赋给上面的 256 个外存单元。 六. 实验报告 1. 通过本次实验,总结 C51 语言不同结构的程序设计方法与调试步骤。 2. 写出 C51 程序的源代码,给每行语句加上详细的注释,并画出程序的流程图。 3. 掌握如何在 Keil 软件中观察程序、变量以及存储单元的数据变化情况。 4. 叙述程序调试过程中遇到的困难以及解决方法,写出本次实验的收获和心得体会
七、实验和考核内容1.每人一组,独立完成。学会使用KeilμVision2集成开发环境之C51语言的编程与调试,进行汇编语言源程序的设计、编译,掌握源程序编译出错提示信息的含义并加以改正,掌握目标代码的单步调试、测试数据的选择,了解运行结果是否反映程序的正确性。2.完成实验任务1(顺序结构的C51语言程序设计)和完成实验任务2(分支结构的C51语言程序设计),结果正确,给60分(百分制)。3.完成实验任务3(循环结构的C51语言程序设计),结果正确,加20分。4.完成实验任务4(选做题),结果正确,加20分。18
18 七、实验和考核内容 1. 每人一组,独立完成。学会使用 Keil μVision2 集成开发环境之 C51 语言的编程与 调试,进行汇编语言源程序的设计、编译,掌握源程序编译出错提示信息的含义并加以改正, 掌握目标代码的单步调试、测试数据的选择,了解运行结果是否反映程序的正确性。 2. 完成实验任务 1(顺序结构的 C51 语言程序设计)和完成实验任务 2(分支结构的 C51 语言程序设计),结果正确,给 60 分(百分制)。 3. 完成实验任务 3(循环结构的 C51 语言程序设计),结果正确,加 20 分。 4. 完成实验任务 4(选做题),结果正确,加 20 分
实验三流水灯实验。实验目的1.熟悉单片机POP3的结构、特性及其使用方法。2.了解单片机系统主机板和系统键盘/显示板的电路原理,了解主机板和键盘/显示板上各器件的逻辑结构和特性。3.理解主机板和键盘/显示板各硬件接口的功能和特点,掌握主机板与键盘/示板之间的连接方法,并能够针对硬件的连接使用汇编语言和C51语言进行编程和模拟调试,实现单片机流水灯实验。4.掌握STC-ISP下载编程软件的使用方法,将模拟调试成功的*.HEX程序在线下载到单片机的片内ROM中,实际观察程序运行的直观效果。二.预习与思考1,预习实验讲义附录中提供的主机板和键盘/显示板的电路原理以及电路板图,了解它们的结构。2.预习理论教材中“汇编语言程序设计”和“C51程序设计”的相关例程,并结合硬件电路进行应用分析。3.思考如何使用汇编语言和C51语言对单片机的硬件进行应用程序的设计。三.实验原理1.单片机汇编语言和C51语言应用程序的设计步骤在具体的单片机应用系统程序开发过程中,通常需要以下几个步骤:分析问题→设计算法→画出程序流程图-编写程序→调试验证→应用与维护,如图3.1所示。分析间题+设计算法画出程序流程图编写程序调试验证应用与维护图3.1C51应用程序开发的一般步骤19
19 实验三 流水灯实验 一. 实验目的 1. 熟悉单片机 P0~P3 的结构、特性及其使用方法。 2.了解单片机系统主机板和系统键盘/显示板的电路原理,了解主机板和键盘/显示板 上各器件的逻辑结构和特性。 3. 理解主机板和键盘/显示板各硬件接口的功能和特点,掌握主机板与键盘/示板之间 的连接方法,并能够针对硬件的连接使用汇编语言和 C51 语言进行编程和模拟调试,实现单 片机流水灯实验。 4. 掌握 STC-ISP 下载编程软件的使用方法,将模拟调试成功的*.HEX 程序在线下载到 单片机的片内 ROM 中,实际观察程序运行的直观效果。 二.预习与思考 1. 预习实验讲义附录中提供的主机板和键盘/显示板的电路原理以及电路板图,了解它 们的结构。 2. 预习理论教材中“汇编语言程序设计”和“C51 程序设计”的相关例程,并结合硬 件电路进行应用分析。 3. 思考如何使用汇编语言和 C51 语言对单片机的硬件进行应用程序的设计。 三. 实验原理 1. 单片机汇编语言和 C51 语言应用程序的设计步骤 在具体的单片机应用系统程序开发过程中,通常需要以下几个步骤:分析问题→设计算 法→画出程序流程图→编写程序→调试验证→应用与维护,如图 3.1 所示。 图 3.1 C51 应用程序开发的一般步骤
2.C51语言对单片机硬件的控制ANSIC语言对硬件进行控制比较困难,而C51语言对单片机的硬件控制相对容易,且效率较高。这是因为在C51语言的系统程序中,提供了很多对单片机硬件的定义,这样就很方便的把单片机内部看不到的抽象硬件,用具体的软件符号表示出来,从而通过对软件符号的操作来实现硬件的工作。例如,在<reg51.h>头文件中,就把21个特殊功能寄存器以及它们的特殊功能位都定义出来了,这样无论是对特殊功能寄存器还是特殊功能位的操作,都相当于进行软件编程;再例如,在<absacc.h>头文件中,可以将单片机的各类存储器单元使用相应的软件关键字定义出来后,对存储单元的操作就相当手对软件中的儿个关键字进行操作,从而方便了C51语言对单片机硬件的控制。四.实验设备和器件1.PC机一台,操作系统为WindoWSXP,内存256MB以上,硬盘10GB以上。2.主机板一块,键盘/显示板一块,USB线一条,9针串口连接线一条,排电缆连接线若干条。3.KeilμVision2集成开发环境和STC-ISP下载编程软件。五.实验内容请使用89C52单片机设计一个最小系统,以单片机的P1口作为输出口,外接8个LED小灯,编写汇编语言或C51程序,使小灯循环点亮,使用实验室提供的电路板实现。具体程序的调试要求如下:(1)在KeilμVision2环境中,模拟运行编写的程序,观察P1.0P1.7引脚的变化情况,判断小灯亮灭。(2)调试完成后,用STC-ISP下载编程软件将生成的*。HEX文件在线下载到单片机中(3)*.HEX文件在线下载到单片机后,按复位键执行程序,检验程序运行结果。【实验提示】:此题主要通过用汇编语言或C51语言编写的程序在硬件上实现,使LED小灯循环点亮需要注意的问题:1.主机板上的晶振与下载编程软件一致。2.键盘/显示板上有2个LED小灯接反,如果要实现LED小灯循环点亮,必须在软件方面进行调整。3.要考虑延时问题。六.需要注意的问题两块电路板之间的电源连线有正负极,必须正确连接,否则会烧毁电路板。七。实验报告1.通过本次实验,总结汇编语言或C51软件程序控制单片机硬件的设计方法与调试步骤。2.写出汇编语言或C51程序的源代码,加上必要的注释,并画出程序的流程图。3叙述程序调试过程中遇到的困难以及解决方法,写出本次实验的收获和心得体会。20
20 2. C51 语言对单片机硬件的控制 ANSI C 语言对硬件进行控制比较困难,而 C51 语言对单片机的硬件控制相对容易,且 效率较高。这是因为在 C51 语言的系统程序中,提供了很多对单片机硬件的定义,这样就很 方便的把单片机内部看不到的抽象硬件,用具体的软件符号表示出来,从而通过对软件符号 的操作来实现硬件的工作。例如,在<reg51.h>头文件中,就把 21 个特殊功能寄存器以及它 们的特殊功能位都定义出来了,这样无论是对特殊功能寄存器还是特殊功能位的操作,都相 当于进行软件编程;再例如,在<absacc.h>头文件中,可以将单片机的各类存储器单元使用 相应的软件关键字定义出来后,对存储单元的操作就相当于对软件中的几个关键字进行操 作,从而方便了 C51 语言对单片机硬件的控制。 四. 实验设备和器件 1. PC 机一台,操作系统为 Windows XP,内存 256MB 以上,硬盘 10GB 以上。 2.主机板一块,键盘/显示板一块,USB 线一条,9 针串口连接线一条,排电缆连接线 若干条。 3. Keil μVision2 集成开发环境和 STC-ISP 下载编程软件。 五. 实验内容 请使用 89C52 单片机设计一个最小系统,以单片机的 P1 口作为输出口,外接 8 个 LED 小灯,编写汇编语言或 C51 程序,使小灯循环点亮,使用实验室提供的电路板实现。具体程 序的调试要求如下: (1)在 Keil μVision2 环境中,模拟运行编写的程序,观察 P1.0~P1.7 引脚的变化情 况,判断小灯亮灭。 (2)调试完成后,用 STC-ISP 下载编程软件将生成的*。HEX 文件在线下载到单片机中。 (3)*.HEX 文件在线下载到单片机后,按复位键执行程序,检验程序运行结果。 【实验提示】: 此题主要通过用汇编语言或 C51 语言编写的程序在硬件上实现,使 LED 小灯循环点亮. 需要注意的问题: 1. 主机板上的晶振与下载编程软件一致。 2. 键盘/显示板上有 2 个 LED 小灯接反,如果要实现 LED 小灯循环点亮,必须在软件 方面进行调整。 3. 要考虑延时问题。 六. 需要注意的问题 两块电路板之间的电源连线有正负极,必须正确连接,否则会烧毁电路板。 七. 实验报告 1. 通过本次实验,总结汇编语言或 C51 软件程序控制单片机硬件的设计方法与调试步 骤。 2. 写出汇编语言或 C51 程序的源代码,加上必要的注释,并画出程序的流程图。 3. 叙述程序调试过程中遇到的困难以及解决方法,写出本次实验的收获和心得体会
实验四外中断实验一。实验目的1.熟悉单片机PO~P3的结构、特性及其使用方法。2.了解主机板和键盘/显示板的电路原理及其各器件的逻辑结构和特性。3.理解主机板和键盘/显示板各硬件接口的功能和特点,掌握主机板与键盘/显示板之间的连接方法,特别是键盘的设置和使用方法,并能够针对硬件的连接使用汇编语言和C51语言进行编程和模拟调试,实现单片机外中断实验。4.掌握STC-ISP下载编程软件的使用方法,将模拟调试成功的*.HEX程序在线下载到单片机的片内ROM中,实际观察程序运行的直观效果。二.预习与思考1..预习实验讲义附录中提供的主机板和键盘/显示板的电路原理图以及电路板图,了解它们的结构。2.预习理论教材中“单片机中断系统”关于外中断的相关内容,并结合硬件电路进行分析。3.思考如何将主机板与键盘/显示板进行连接,形成一个单片机的硬件系统,并进行相应外中断的应用程序的设计。三.实验原理1.参照附录自行将主机板和键盘/显示板进行连接,设计形成一个单片机的硬件系统。2.参照自行设计的硬件系统,有针对性地进行相应外中断的应用程序的设计。四.实验设备和器件1.PC机一台,操作系统为WindowsXP,内存256MB以上,硬盘10GB以上。2.主机板一块,键盘/显示板一块,USB线一条,9针串口连接线一条,排电缆连接线若干条。3.KeilμVision2集成开发环境和STC-ISP下载编程软件。五.实验内容1.请使用主机板和键盘/显示板设计一个硬件系统,以按键S9作为外中断请求信号,以数码管作为十进制计数显示(最右侧数码管为最低位,依次向左累计),单片机的PO口作为数据信号输出口(段选择),P1口作为控制信号输出口(位选择)。每按键一次计数显示加1,最大计数20,然后在从0进行计数显示。2.模拟调试完成后,用STC-ISP下载编程软件将生成的*。HEX文件在线下载到单片机中。3.*.HEX文件在线下载到单片机后,按复位键执行程序,检验程序运行结果。【实验提示】:21
21 实验四 外中断实验 一. 实验目的 1. 熟悉单片机 P0~P3 的结构、特性及其使用方法。 2.了解主机板和键盘/显示板的电路原理及其各器件的逻辑结构和特性。 3. 理解主机板和键盘/显示板各硬件接口的功能和特点,掌握主机板与键盘/显示板之 间的连接方法,特别是键盘的设置和使用方法,并能够针对硬件的连接使用汇编语言和 C51 语言进行编程和模拟调试,实现单片机外中断实验。 4. 掌握 STC-ISP 下载编程软件的使用方法,将模拟调试成功的*.HEX 程序在线下载到 单片机的片内 ROM 中,实际观察程序运行的直观效果。 二.预习与思考 1. 预习实验讲义附录中提供的主机板和键盘/显示板的电路原理图以及电路板图,了解 它们的结构。 2. 预习理论教材中“单片机中断系统”关于外中断的相关内容,并结合硬件电路进行 分析。 3. 思考如何将主机板与键盘/显示板进行连接,形成一个单片机的硬件系统,并进行相 应外中断的应用程序的设计。 三. 实验原理 1. 参照附录自行将主机板和键盘/显示板进行连接,设计形成一个单片机的硬件系统。 2. 参照自行设计的硬件系统,有针对性地进行相应外中断的应用程序的设计。 四. 实验设备和器件 1. PC 机一台,操作系统为 Windows XP,内存 256MB 以上,硬盘 10GB 以上。 2.主机板一块,键盘/显示板一块,USB 线一条,9 针串口连接线一条,排电缆连接线 若干条。 3. Keil μVision2 集成开发环境和 STC-ISP 下载编程软件。 五. 实验内容 1. 请使用主机板和键盘/显示板设计一个硬件系统,以按键 S9 作为外中断请求信号,以 数码管作为十进制计数显示(最右侧数码管为最低位,依次向左累计),单片机的 P0 口作为 数据信号输出口(段选择),P1 口作为控制信号输出口(位选择)。每按键一次计数显示加 1, 最大计数 20,然后在从 0 进行计数显示。 2. 模拟调试完成后,用 STC-ISP 下载编程软件将生成的*。HEX 文件在线下载到单片机 中。 3. *.HEX 文件在线下载到单片机后,按复位键执行程序,检验程序运行结果。 【实验提示】: