




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 WAVE 软件的使用及简单编程、实验目的1、学习 WAVE软件进行单片机仿真调试。2、学习简单汇编编程。WAVE软件环境二、实验设备EL-MUT-III 型单片机实验箱、 8051CPU模块、 PC机、三、实验内容1、Wave 软件环境的熟悉与操作2、在 wave 软件环境下编写并调试简单汇编程序四、实验原理23456五、实验步骤1、学习 WAVE软件的使用方法。2、调试汇编指令(五类各调试一个) 。3、将单片机内部 RAM区 50H, 51H的内容相加,结果存放在 52H单元中。4、将外部 RAM 区的 0010H,0011H 的低 4 位取出,拼成一个字节数据存入外部RAM 区的
2、0012H。六、实验报告要求1、写出实验目的、实验设备、实验内容,分析实验原理,总结实验步骤。2、将实验源程序以附页的方式粘在报告上,并加上注释。3、对实验思考题加以分析,按照要求做出回答。七、实验思考题1、概括汇编程序的基本格式。72、描述汇编程序的编译过程。2、实验总结(实验调试过程中的问题和调试体会)实验二 分支和循环程序设计一、实验目的1、学习 WAVE软件进行单片机仿真调试。2、学习分支和循环结构汇编编程。二、实验设备EL-MUT-III 型单片机实验箱、 8051CPU模块、 PC机、 WAVE软件环境三、实验内容1、Wave 软件环境的熟悉与操作2、在 wave 软件环境下编写并
3、调试分支和循环结构的汇编程序四、实验原理汇编语言源程序设计通常采用结构化设计方法,任何复杂的程序都可分解为:a. 顺序结构部分b. 分支结构部分c. 循环结构部分d. 子程序部分1. 顺序结构 :最简单的程序结构,其特点:程序中的语句由前向后顺序执行,直到最后,这种程序中 无分支、循环和子程序调用。2. 分支结构 :通过条件转移指令实现的, 根据程序执行中的条件对程序进行判断, 满足条件则进行程 序转移,不满足条件就顺序执行。分支程序分为单分支和多分支结构3. 循环结构 :程序设计中, 经常需要连续重复执行某段程序, 解决这种问题最好采用循环结构的程序 来完成,这种设计方法可大大地简化程序。循
4、环程序一般如下四部分组成:置循环初值用来设置循环初值,如:预置变量,计数器数据指针初值等,为循环作准备。 循环体 循环体指要求重复执行的程序段,通过它完成对数据进行实际处理的任务。 修改控制变量一般用一个工作寄存器 Rn 作为对循环次数的计数,每循环一次计数器减一,即修改循环控制变量。 循环控制部分 控制循环次数,当循环一定的次数后当满足循环结束条件时,停止循环。4. 子程序结构 : 按功能分为中断子程序和功能子程序。 调用子程序时要注意:(1) 中断子程序调用由单片机自身产生, 执行 RETI 指令返回; 功能子程序调用由主程序执行 LCALL 或 ACALL指令产生,执行 RET指令返回。
5、(2) 在子程序中,应包含有现场保护和现场恢复两部分。(3) 主程序和子程序约定好交换数据的地址单元或存储器,其为主、子程序共有部分。(4) 子程序可以对另外的子程序调用,称为子程序嵌套。五、实验步骤1、学习 WAVE软件的使用方法。2、调试:设变量 X存于内部 RAM 20H单元,函数值 Y存于 21H单元,试按照下式要求对 Y赋值。 Y=X+3 X0 ; Y=20 X=0 ; Y= X X03、调试:内部 RAM 40H与 41H单元中有两个无符号数,现将其大者存入40H中,小者存入 41H中。4、调试: P10、P11口控制红色 LED和绿色 LED交替 1 秒亮灭 (1 亮 0灭)。六
6、、实验报告要求1、写出实验目的、实验设备、实验内容,分析实验原理,总结实验步骤。2、将实验源程序以附页的方式粘在报告上,并加上注释。3、对实验思考题加以分析,按照要求做出回答。七、实验思考题1、画出步骤 2 的流程框图。2、计算:步骤 4 延时 1 秒的时间。3、实验总结(实验调试过程中的问题和调试体会)10实验三 I/O 口扩展实验 、实验目的1、学习 P1 口既做输入又做输出的使用方法。2、学习 I/O 口数据输入、输出程序的 C51 编程方法。、实验设备EL-MUT-III 型单片机实验箱、 8051CPU模块、 PC机、实验内容1、P10、 P11 口作为输入口,输入开关的状态。2、P
7、12、P13、P14、P15 口作为输出口,输出四个 LED 的亮灭状态。3、C51 编程实验开关量输入,并控制 LED 亮灭。四、实验原理1.I/O 口MCS-51系列单片机共有 4 个 I/O 口,分别是 P0、P1、P2、 P3,此四个接口都可以单独的做输入或输 出使用。实际应用中, P0口用于输出外部数据存储器的低8位,并分时复用作为与外部连接的数据总线口;P2口用于输出高 8 位地址; P3口常操作于定义的第二功能; P1 口一般为留给用户使用的基本 I/O 口。在单片机 C 语言中,对于端口(位)的使用可以使用 sbit 来定义,如:sbit P10=P10/ 定义变量 P10 指
8、向 P1端口的第 0 位在程序中就可以使用 P10变量来访问 P1口的第 0 位。对于 P0口、 P2口,一般在访问外部数据空间时使用,在单片机C语言中的使用方法可以看下例:#include #include #define INPORT XBYTE0XCFA8/ 定义变量 INPORT指向外部空间 0XCFA8#define OUTPORT XBYTE0XCFB0/ 定义变量 OUTPORT指向外部空间 0XCFB0 void main(void)11OUTPORT=INPORT;该例实现了将外部空间 0xCFA8的数据转存入外部空间 0xCFB0的功能, 注意的是, 在单片机 C语言中,
9、对于外部空间的使用,需要用 XBYTE关键字来定义,而且程序要包含 absacc.h 这一函数库。本实验利用单片机 P1 口扩展,实现由单片机 I/O 口读取开关量状态,同时将状态数据由单片机 I/O 口输出到 LED显示。其中两个开关的不同组合,对应不同LED显示状态。本实验程序为减少总线口读写的频繁程度,需要增加一段延时程序,不会影响显示的稳定。单片机 C 语言中延时的方法可以采用: for 循环、定时器定时。2、仿真调试单片机 C语言的实验将以 EL-MUT-III 型单片机实验箱为硬件调试平台, 以 EL 型教学实验环境软件为 调试工具,实现本课程所有实验的仿真、调试任务。首先打开实验
10、台的电源,打开 PC 机进入桌面。然后 点击桌面快捷图标 MCS51,以默认的通信方式点击确定。在点击 确定 按钮的同时,立即打开实验台左上方的 POWER SWITC开H 关,此时,调试软件能够正确地进入调试环境,如图1 所示。图 1 新建 C51 文件如图 1所示点击: 文件 新建 C51 文件,建立新 C51文件,即可进入编辑环境,编辑C51语言代码,如图 2 所示。图 2 编辑源代码编辑完成代码后,可点击: 文件 保存 ,并选择保存路径和设定文件名,就可实现文件的保存。注意12的是,文件保存的路径不可太深,且不要有中文目录,文件名也不要太长,可参照下例:D: workex1.c源代码编
11、辑完成后,进行编译、链接调试,如图 3 所示。只要依次点击: 编译、链接 按钮即可,也可 以直接点击 编译链接 按钮。编译、链接按钮都有快捷键方式,可以使用快捷键,实现同样的功能。图 3 编译、链接 在编译、链接的过程中,会弹出对话框,可观察源代码中是否有错,如果有错,可修改源代码,重新 编译、链接,直至正确为止。上面的过程实际上是软件调试的过程,接下来要进行硬件调试。首先在断电的情况下将实验箱对应电 路连线,组成需要的硬件电路,然后按上面步骤做好软件调试,正确无误后,开始进行硬件调试。如图 4 所示,点击 调试 按钮,实现程序的编译、链接代码 HEX文件下载到实验箱单片机的程序区。图 4 调
12、试程序下载完成后,进行硬件调试,实现程序对应的功能。如图 5 所示,对应一系列的按钮,完成各种调试功能,一般情况下如果程序完全正确无误后,可直接点击运行 按钮,此时,程序以全速的方式运行,我们就可以观察实验箱的实验现象。实验中,我们还要注意的是,如果硬件调试有问题,经过修改程序需要重新硬件调试的时候,可以使 用如下方法实现快速的重新调试:如图 4点击 单片机复位 按钮,弹出 确定提示框,根据提示按一下实验箱 左下方的 RESET按钮,并立刻点击 确定按钮,如果实验箱上的六个数码管显示 C_ ,表明复位且通信良好, 此时就可重新进行硬件调试了,如果显示 P_ , 表示复位或者通信存在问题,需要重
13、新操作。13图 5 运行五、实验步骤1、P10、 P11 接开关的 K1 K2。2、P12、P13、P14、P15 接发光二极管的 L3 L6。3、按实验内容编写程序,实现: K1、K2 同时接低电平, L3L6 灭; K1、K2 同时接高电平, L3L6 亮; K1、K2一个接低电平一个接高电平, L3、L4 亮,L5、L6灭,并交替(注:以 for 循环方式实现延时) 。4、仿真调试(参照实验原理) ,拨动开关 K1 K2,观察发光二极管状态的变化。六、实验报告要求1、写出实验目的、实验设备、实验内容,分析实验原理,总结实验步骤。2、将实验源程序以附页的方式粘在报告上,并加上注释。3、对实
14、验思考题加以分析,按照要求做出回答。七、实验思考题1、写出此实验对应的汇编程序。2、实验总结(实验调试过程中的问题和调试体会)。14实验四 定时器及外部中断实验、实验目的1、熟练在单片机系统中扩展简单 I/O 接口的方法。2、熟练 C51 语言数据输出程序的设计方法。3、学习模拟交通灯控制的 C51 实现方法。4、学习外部中断技术及定时器中断的C51 基本使用方法。5、学习中断处理程序 C51 编程方法。、实验设备EL-MUT-III 型单片机实验箱、 8051CPU模块、 PC机、实验内容本实验的原理图如下:1扩展实验箱上的 74LS273 作为输出口,控制八个发光二极管亮灭,模拟交通灯管理
15、。2. 在上述实验内容的基础上增加允许急救车优先通过的要求。具体要求为 : 当有急救车到达时,东西和南北方向上的红灯亮,以便让急救车通过,假定急救车通过 路口的时间为 10 秒,急救车通过后,交通灯恢复中断前的状态。本实验以单脉冲为中断申请,表示有急 救车通过。四、实验原理1、实验方案本实验的设计可以有两种设计方案: 方案一:用十二个发光二极管分别表示南面路口的绿灯、黄灯、红灯,东面路口的绿灯、黄灯、红灯, 北面路口的绿灯、黄灯、红灯,西面路口的绿灯、黄灯、红灯。方案二:虽然实际交通灯的数量是十二个,但是因为南北路口的两个红灯、绿灯以及黄灯的亮灭 律相同, 其它路口的灯也满足同样的规律, 所以
16、用六个发光二极管也能模拟交通灯。 由原理图可定义如下15LED1、LED2、 LED3 东西方向的红灯、绿灯、黄灯LED5、LED6、 LED7 南北方向的红灯、绿灯、黄灯 要完成本实验,首先必须了解交通路灯的亮灭规律,本实验的亮灭规律如下: 1、 初始态是两个方向路口的红灯全亮。2、东西路口的绿灯亮,南北路口的红灯亮,东西方向通车。3、延时一段时间后,东西路口绿灯灭,黄灯开始闪烁、闪烁若干次。4、东西路口红灯亮,同时南北路口绿灯亮,南北方向开始通车。5、延时一段时间后,南北路口绿灯灭,黄灯开始闪烁、闪烁若干次。6、切换到东西路口方向,如此反复下去。 本实验以单脉冲为中断申请,表示有急救车通过
17、。特别注意的是中断现场的保护。 要求用软件或者 定时器 来完成延时。2、实验说明本实验 74LS273 芯片对于单片机而言,为外扩的外部资源,其对应的地址由片选信号CS273控制,本实验 74LS273 的片选 CS273接片选信号 CSO ,则 74LS273 项对于单片机的外部空间抵制为 0xCFA0,C51语 言定义如下:#define OUTPORT XBYTE0xCFA0 因此交通灯(发光二极管)的显示数据可以赋给OUTPOR变T 量,实现结果的输出。本实验中还要注意的是,交通灯的每一种状态的显示,都需要延时一段时间再切换到另一种状态,从而实现每一种状态的稳 定显示。其 C51 语言
18、的实现方法如下:OUTPORT=x;/显示交通灯某一状态数据 xDelay(1);/ 延时 1msOUTPORT=y; / 显示交通灯另一状态数据 yDelay(1); / 延时 1ms实验中涉及到急救车通过,要求使用外部中断的方式实现。在本实验中我们可以利用单片机的外部中断 INT0 实现。也就是说,急救车通过时,首先利用 INT0 外部中断给单片机发脉冲,告知单片机,急救车 要求通过,然后单片机接收到脉冲,并做出判断并使东西和南北方向上的红灯亮,同时延时10 秒, 10 秒后表明急救车已经通过,此时单片机恢复原状态。利用 C51 语言可定义外部中断如下:void Rescure_bus()
19、 interrupt 0EA=0;/ 关闭中断,即不允许其它中断OUTPORT=0x11;/ 0x11 为东西和南北方向上红灯亮的状态数据Delay(10000);/ 延时 10sEA=1;/ 开启中断16在调用外部中断 0 时,一定要注意的是中断现场的保护,要就是说,中断完成后,一定能够恢复中断 前的状态,那么在中断程序中使用的变量、外部端口、内部资源,如果在中断前正在使用,那么在中断开 始前一定要保护,中断后一定要恢复。同时, 注意的是由于在实验中使用到单片机资源外部中断0,需要对对应的特殊寄存器作一定的配置。首先需要定义特殊寄存器变量:sfr IE=0xA8;sbit EA=IE7;sb
20、it EX0=IE0;当然,这些特殊寄存器的定义实际上在 reg51.h 库中定义了, 因此在 C51编程时, 只要包含上 reg51.h 即可,如下所示:#include 本实验需要使用到这些特殊寄存器,就是在程序初始化时需要对这些寄存器赋初值,才可保证对应的INT0 中断正常工作。本实验赋初值如下:IT0=1;EX0=1;EA=1; 本实验可以根据实际实验箱的配置来选择以上方案中的任意一种。本实验按照方案二来设计,选用实 验箱上八个发光二极管中的六个,即红、黄、绿各两个。例如将L1( 红) 、 L2(绿)、 L3(黄)作为东西方向的指示灯,将 L5(红)、L6(绿)、 L7(黄)作为南北方
21、向的指示灯,同学们还可以用别的设计方法。各 发光二极管的阳极通过保护电阻接到 +5V 的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为 低电平 。五、实验步骤1、将 74LS273的输出 O0O7接发光二极管 L1 L8,74LS273的片选 CS273接片选信号 CSO,此时 74LS273 的片选地址为 CFA0H。2、脉冲输入端 _接 8051CPU模块上的 INT0,用来表示救护车的急救信号。3、按实验内容及方案二(实现 2、4、6 步规律),并采用定时器延时,编写程序。4、仿真调试,观察 LED显示情况是否与实验内容相符。六、实验报告要求1、写出实验目的、实验设备、实验内容,
22、分析实验原理,总结实验步骤。 2、将实验源程序以附页的方式粘在报告上,并加上注释。3、对实验思考题加以分析,按照要求做出回答。七、实验思考题1、本实验作了哪些中断现场保护,并解释其保护的过程?2、实验总结(实验调试过程中的问题和调试体会)。17实验五 8255 扩展八段数码管实验、 实验目的1、学习 8255 芯片的结构及编程方法。2、掌握八段数码管的使用方法,及动态显示的编程方法。、实验设备EL-MUT-III 型单片机实验箱、 8051CPU模块、 PC机、实验内容实验的原理图如下所示:本实验通过单片机控制 8255 芯片,利用 8255 的 PA 口输出数码管的段码, PB 口输出数码管
23、的位码。 编写 C51 程序实现六个数码管以固定时间间隔交替动态显示“012345”和“ ABCDE”F。四、实验原理8255芯片是单片机通用的并行接口扩展芯片,可扩展PA、PB、PC三个 8 位并行口。对于单片机而言,如果外接 8255 芯片,那么 8255 所对应的外部空间地址不再是固定为一个值了。本实验 8255 的片选信号 接 CS0,则表明 8255 相对于单片机的外部地址范围是 0xCFA0-0xCFA7,此时 8255 的 PA口、 PB口、 PC口、 控制字寄存器对应于单片机的外部地址为:0xCFA0、0xCFA1、0xCFA2、0xCFA3,其对应 C51 定义可如下例:#d
24、efine PA XBYTE0xCFA0#define PB XBYTE0xCFA1#define PC XBYTE0xCFA2#define PCTL XBYTE0xCFA3对于八段数码管,显示数据时需要同时送入段码和位码,位码就是选择哪一个数码管接收段码数据, 段码就是需要显示的字符的编码。在C51 中段码可定义如下:unsigned char code table17=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7f,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00;上面定义的是字符 0-9 、A-F 以及黑屏的段码数
25、据,而且是共阴极八段数码管的段码数据。当需要显 示某一个字符时,只要查询 table 数组即可,如:显示 A字符 ,直接调用 table10 即可。对于单片机控制 8255 ,实现依次点亮数码管的方法,可参照下例程序:18main m=1 ;PCTL=0x80;/ 设置 PA、 PB的工作方式while(1)/ 保证 0-5 字符能够稳定显示在数码管上for(i=0;i=5;i+)PA=tablei;/ 六个数码管依次点亮 0-5PB=255-(mi);/ 选通对应的数码管,如: 0 字符由数码管 1 点亮Delay(1);/ 延时 1ms对于 8255 芯片的控制字的各个位含义以及对应的方式
26、可查阅8255 芯片的资料。五、实验步骤1、实验连线: PA0PA7接 LED-ALED-DP,PB0PB5接 LED1LED6, 8255cs 接片选信号 CS0,LED JUMP 的帽全部去掉。2、按实验内容编写程序,实现八位数码管交替动态显示“012345”和“ ABCDE”F。3、仿真调试,观察数码管的显示情况。六、实验报告要求1、写出实验目的、实验设备、实验内容,分析实验原理,总结实验步骤。2、将实验源程序以附页的方式粘在报告上,并加上注释。3、对实验思考题加以分析,按照要求做出回答。七、实验思考题1、本实验如果实现“ 012345”从右向左依次进入六个数码管动态显示,该如何完成?编
27、写显示部分 函数。2、实验总结(实验调试过程中的问题和调试体会)。19实验六 8279 键盘显示扩展实验(综合性)、实验目的1、了解 8279 键盘/ 显示控制器的工作原理 , 掌握其编程方法。2、了解键盘电路工作原理及编程方法。3、熟悉 LED显示接口电路及工作原理和编程方法。、实验设备EL-MUT-III 型单片机实验箱、 8051CPU模块、 PC机、实验内容本实验的原理图如下所示:8279 与一个 16 个键的小键盘相连, 16 键的编码为 0、1、2、3、4、5、6、7、8、9、A、B、C、D 实 验要求和内容如下:1、如果按下的是数字键,则在显示器上将该数字依次显示。2、如果按下的
28、是“ C”键,则显示器全灭。 本实验中各个按键还可以实现其它的功能,可以自行设计安排,并编程实现。四、实验原理8279 是一种可编程键盘 /显示器接口芯片,利用它的扫描传感器阵列方式,可实现多路开关变位信号 采集及处理,然后将处理结果送到CPU ,这样可节省 CPU 资源。其功能有:接收来自键盘的输入数据,并作预处理; 数据显示的管理和数据显示器的控制等。 8279 的引脚功能、控制字以及对应的工作方式可查 阅 8279 芯片的资料。本实验中已经将键盘控制芯片 8279 的地址固定为 0xCFE8、 0xCFE9,即 8279 的数据端口地址对应200xCFE8, 8279 的命令字和状态字的
29、地址为 0xCFE9。可定义如下:#define com XBYTE0xCFE9#define dataport XBYTE0xCFE8实验中键盘接口与 8279 的回复线 RL0RL7、扫描线 SL0SL2 相连,组成键盘输入电路,六个数码管 与 8279 的 OUTA0 OUTA3、 OUTB0 OUTB3以及驱动电路组成显示回路。8279 芯片在 C51编程中是较为复杂的, 因为它有较多的控制命令字和状态字, 学会使用这些命令字是 很重要的 . 例如, 8279 初始化时首先需要执行清除命令:com=0xd1;/ 总清除命令doACC=com;/ 读取 8279 状态while(ACC7
30、=1)/ 等待清除结束 同时,需要设置键盘工作方式、显示方式、时钟分频等命令字,使 8279 工作在要求的方式中: com=0x00;/8 个字符显示,左入口;编码扫描键盘,双键锁定com=0x2a;/10 分频键盘有无键按下的判断可以如下判断:k=com;/ 读取状态字while(k&0f)=0);/ 判断是否为 0: =0 等待; 0 有键按下,往下执行实现读取键盘值的命令可参照如下例程:com=0x40;/ 读 FIFO RAM命令,地址 0x0000i=dataport;/ 读取一个键盘数据i=i&0x3f;/ 取低 6 位为键盘值8279 的显示功能的实现可借鉴如下程序:for(i=
31、0;i8;i+) com=i+80;/ 写显示 RAM命令,显示区地址由 i 控制dataport=tablei;/ 显示的字符编码输出到数据端口本实验,是上面各种命令字的一种综合应用的实例,大家可以查阅 8279 芯片资料,学会使用各种具 体的命令,从而完成对应的任务。五、实验步骤1、将键盘 KA10KA12接 8279 的 KA0KA2;RL10RL17接 8279 的 RL0RL7。2、按实验内容编写程序,实现按下数字键,则在显示器上将该数字依次显示,按下“C”键,则显示器全灭。3、仿真调试,按动键盘,观察显示的键值与给定键值是否相符。六、实验报告要求1、写出实验目的、实验设备、实验内容
32、,分析实验原理,总结实验步骤。2、将实验源程序以附页的方式粘在报告上,并加上注释。213、对实验思考题加以分析,按照要求做出回答。七、实验思考题1、假定实现按下 “D”键, 6 个 LED显示 123456 的功能。编写此功能函数。2、实验总结(实验调试过程中的问题和调试体会)。实验七 点对点异步串口实验(设计性)一、实验目的1、掌握串行口工作方式的程序设计,掌握单片机通讯程序的编制。2、了解实现串行通讯的硬件环境,数据格式、数据交换的协议。3、掌握串行通讯中波特率的设置。4、在给定通讯波特率的情况下,会计算定时时间常数。二、实验设备EL-MUT-III 型单片机实验箱、 8051CPU模块、
33、 PC机三、实验原理MCS-51单片机串行通讯的波特率随串行口工作方式选择的不同而不同,它除了与系统的振荡频率f ,电源控制寄存器 PCON的 SMOD位有关外,还与定时器 T1 的设置有关。1) 在工作方式 0 时,波特率固定不变,仅与系统振荡频率有关,其大小为f/12 。2) 在工作方式 2 时,波特率也只固定为两种情况:当 SMOD=1时,波特率 =f/32当 SMOD=0时,波特率 =f/643) 在工作方式 1 和 3 时,波特率是可变的:当 SMOD=1时,波特率 =定时器 T1 的溢出率 /16当 SMOD=0时,波特率 =定时器 T1 的溢出率 /32其中,定时器 T1 的溢出
34、率 =f/(12*(256-N) ,N为 T1 的定时时间常数。在实际应用中,往往是给定通讯波特率,而后去确定时间常数。例如: f=6.144MHZ, 波特率等于 1200 , SMOD=0时,则 1200=6144000/(12*32*(256-N) ,计算得 N=F2H。编程时注意两点:一是初始化,设置波特 率和数据格式, 二是确定数据传送方式。 数据传送方式有两种: 查询方式和中断方式。 在双机通信实验时, 为确保通讯成功,甲机和乙机必须有一个一致的通讯协议,同学们可以自行设定,也可按照我们设计的通 信协议来做,我们提供的通信协议如下:通讯双方均采用 2400 波特的速率传送,甲机发送数
35、据,乙机接收数据。双机开始通讯时,甲机发送 一个呼叫信号“ 06”,询问乙机是否可以接收数据;乙机收到呼叫信号后,若同意接收数据则发回“00”作为应答,否则发“ 15”表示暂不能接收数据;甲机只有收到乙机的应答信号“00”后才可把要发送的数据发送给乙机,否则继续向乙机呼叫,直到乙机同意接收。其发送数据格式为:字节数 n数据 1数据 2数据 3数据 n累加校验和字节数 n:甲机将向乙机发送的数据个数 数据 1数据 n:甲机将向乙机发送的 n 个数据22累加校验和:字节数 n,数据 1,数据 n 这( n+1)个字节内容的算术累加和。 乙机根据接收到的“校验和”判断已接收到的数据是否正确。若接收正
36、确,向甲机回发“0F”信号,否则回发“ F0”信号给甲机。甲机只有接到信号“ 0F”才算完成发送任务,否则继续呼叫,重发数据。在串行通信的 C51 编程当中,将会涉及到一系列的特殊寄存器的使用,如:TMOD、PCON、SCON、SBUF、TI 、RI、TH1、TL1、TR1等。它们的使用方法如下:PCON=0x00;/SMOD=0,串行波特率未加倍SCON=0x50;/ 方式 1;接收允许TMOD=0x20;/ 定时器 1 方式 2TL1=0xF2;/ 初始值,用于计算波特率TH1=0xF2;/ 初始值TR1=1;/ 开启定时器 1SBUF=0x11;/ 串口发送缓冲区赋值 0x11while
37、(TI!=1)/ 发送完成标志;TI=0;/ 清零while(RI!=1)/ 接收完成标志;RI=0;Data=SBUF; / 串口接收缓冲区数据保存四、实验方案实验题目: 1、单机设计实验。即完成一个单片机自身的串口发送数据和接收数据。2、双机设计实验。即完成两个单片机互相之间的串口发送和接收数据,实现一个发送数据,一个接 收数据。实验要求:具体实现功能如下: (可任选其一)(1)模拟一个循环彩灯。首先,设计循环彩灯的变化规律,并将变化规律数据由单片机串口发送, 然后由串口负责接收,同时驱动 8 个发光二极管模拟循环彩灯。其中,循环需利用定时器实现,而且使用 外部中断实现两种循环规律的切换。(2)利用 8279 将键盘的数值送入单片机,并由单片机串口发送出去
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CMA HG029-2021轮胎雪地抓着性能测试道路制作及道路验收和维护
- T/CIQA 2-2019检验鉴定从业人员行为规范
- T/CIES 016-2018电视演播室灯光系统运行维护标准
- T/CI 243-2023高层装配式钢结构建筑施工技术规程
- T/CHIA 28.1-2022儿童营养与健康评价指标第1部分:0~23月龄
- T/CGAS 025-2023城镇燃气系统智能化评价规范
- T/CECS 10127-2021燃气燃烧器具用风机
- T/CCAS 030-2023水泥企业智能化实验室建设指南
- T/CBJ 2113-2023董香型白酒
- 武汉孚创java面试题及答案
- (2023版)养老机构院内感染预防与控制规范解读课件
- 传统文化中国茶文化英语介绍
- 脑胶质瘤课件
- 铝合金铸件冒口尺寸与补缩距离的影响因素
- 统计局考试试题及答案
- 工厂防暑降温安全知识培训内容
- 统计与概率课标解读与案例分析
- 《马裤先生》阅读答案
- 人教版九年级数学上册《垂直于弦的直径》评课稿
- 渐开线花键计算(最全的花键计算公式)
- 数学中考模拟试卷双向细目表模板
评论
0/150
提交评论