单片机-实验指导书_第1页
单片机-实验指导书_第2页
单片机-实验指导书_第3页
单片机-实验指导书_第4页
单片机-实验指导书_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与应用实验指导书编写人:吕宏强物理系2012年9月前 言单片机原理与应用实验课程是面向电子类专业开设的一门必修技术基础课。通过本课程的各个实践教学环节,将使学生初步掌握MCS51单片机的基本原理及内部资源,在单片机开发设计方法和常用基本电路设计、程序设计方面得到系统训练;使学生了解本课程的性质、特点、内容以及单片机技术在经济建设中的重要作用,熟悉通用的单片机接口集成电路的类型、结构特点、工作原理、常用电路及应用场合;了解凌阳单片机的特性、61板结构、IED软件及编程、编译、下载的方法等;系统掌握基于单片机的基本设计理论、设计方法和步骤,初步具备嵌入式系统设计的能力。为今后从事单片机系

2、统、外设与接口电路的设计工作打下基础。为了加深学生对单片机结构的理解,掌握单片机内部资源,培养汇编语音的程序设计能力,学会单片机的开发流程及基本开发方法,特开设以下实验:MCS-51汇编语言与程序设计(验证性)、定时器/计数器及中断应用(设计性)、串口通信(设计性)、*基于单片机的动态扫描显示(设计性)、基于单片机的数字钟(综合性)、*语音报时钟(综合性)等。教学大纲要求总学时58,其中理论教学54学时 .实验18学时,必修实验个数6个(打*者为选修)。对于“MCS-51汇编语言与程序设计”实验,要求在熟悉89S51资源的基础上,熟悉WAVE编译系统的操作,掌握汇编指令,养成按结构化模块化要求

3、设计程序的习惯。对于单片机“I/O口的应用”实验,要求掌握端口的输入输出设置方式,掌握对端口的字节操作和位操作的方法。对于“定时器/计数器及中断应用”,要求熟悉单片机89S51的最小系统,熟悉中断的声明、设置及中断响应子程序的结构,定时器初值的计算,学会WAVE的模拟仿真的用法,尝试ISP下载,用LED等观测运行状况。对于“串口通信”,要求熟悉串口通信方式的设置及波特率的设置方法,编写简单的读P口状态并串口发关、接收的程序。对于“基于单片机的动态扫描显示”,在读懂电路图的基础上,理解动态扫描的原理与方法,编写出数码管显示程序。对于“基于单片机的数字钟”,在前面实验的基础上,要求读懂目标电路板,

4、按照结构化的方式,编写出数字钟完整程序,并能正确运行。对于“语音报时钟”,要求在熟悉凌阳单片机特性的基础上,学会凌阳IDE软件的用法,能打开语音时钟的项目,能粗略看懂主程序结构,学会ICE仿真、下载运行。本指导书是为学生在理论学习的基础上、为完成实验内容而编写的指导性文本,对有汇编语言基础的同学都适用。目 录一 MCS-51汇编语言与程序1二 I/O口的应用5三 外中断应用9四 定时器/计数器应用12五 串口通信15六 *基于单片机的动态扫描显示18七 数字钟21八 *语音报时钟23一 MCS-51汇编语言与程序一、实验学时:3二、实验类型:验证性三、开出要求:必修四、实验目的:通过本实验的学

5、习,使学生熟悉WAVE编译系统及操作,掌握汇编指令,熟悉程序结构及模块化程序设计,为今后继续在单片机的开发应用方面的学习奠定基础。五、实验内容、实验原理、方法和手段及实验组织运行要求:(一)熟悉伟福编译环境:启动WAVE软件,窗口如图所示,1、熟悉菜单:如:文件中的新建项目、新建文件等,项目中的编译、加入文件模块等,执行中的执行到光标处等,仿真器中的仿真器设置等 2、熟悉工具栏:如:仿真器设置、打开文件、编译、复位、单步执行、CPU窗口等。 3、熟悉打开的窗口:如:编程窗口,CPU窗口,DATA窗口(二)熟悉汇编语言指令:1、新建一个项目,新建一个文件,在文件中输入:ORG 0000H,END

6、,保存项目,保存文件(注意:拓展名为ASM),观察编程窗口文本颜色的变化。2、在文件中加入如下代码(在ORG与END之间),编译并查看信息窗口,除错(主要是语法的),编译通过后单步运行(进行模拟仿真运行:复位后,按F8键),观察CPU及DATA窗口的变化;要观察子程序的运行,可先将光标放在子程序第一条指令前,再按F4键;用注释形式对每条指令的功能、作用及引起的寄存器或RAM的变化做出说明。 LOOP:MOV P1,#0H;CALL DELAYMOV P1,#0FFH;JMP LOOP3、搭建单片机最小系统,并与来自电脑的下载器的插头连接好,如图所示。将1K电阻与LED串连后,接到Vcc与P1.

7、0(1脚)之间。4、启动电脑上的下载器的程序,窗口如下。先做“芯片选择”,再点“读取”,这时能看到更新的芯片特征字,表明下载器工作正常。点击“装载 Flash”,找到编译好的机器语言文件(.HEX或.BIN),选好编程选项,点击“编程”,程序就立即装入了单片机,并开始运行,能看到LED的变化!5、自己编写一个子程序,其中包含有加(ADDC)、减(SUBB)、乘(MUL)、除(DIV)、与(ANL)、或(ORL)、异或(XRL)等运算。在主程序中调用该子程序;将程序段编排好后,编译,除错,编译通过后单步运行,观察相应窗口的变化,用注释形式对每条指令的功能、作用及引起的寄存器的变化做出说明。6、编

8、写控制转移类的程序语句,观察分析执行过程;编写位操作的程序语句,观察分析执行过程;7、实验总结:对编写程序、编译出错处理、单步仿真运行的具体情况做认真总结!附:所编写的原程序及对应说明。(三)实验组织运行:集中授课。六、实验条件:PC机,WAVE软件,下载器及51单片机。七、实验步骤:(一)熟悉WAVE编译环境1、启动WAVE软件,浏览菜单,工具栏2、打开CPU、DATA窗口,打开一个示例程序。(二)熟悉汇编指令1、按实验内容1到4的要求,录入程序指令,保存,编译,记录错误,排错,运行,记录结果。2、按实验内容5的要求,将程序段变为子程序,并在主程序中调用。注意做好实验记录。3、按实验内容6、

9、7的要求,编写无语法错误的子程序。注意做好实验记录。注意记录自己所有的原始程序,并写到实验报告中。八、思考问题:1、怎样能观察到位操作的变化?2、CODE与XDATA窗口中显示的是什么内容?3、编译的机器语言程序的扩展名是什么?九、实验成绩评定办法:主要评分点:做实验:专心认真做实验(40分),各种操作严谨规范(20分),结果正确性与纠错能力(10分);实验报告:原理描述、实验流程及调试过程(10分),数据记录、实验结果、实验效果、解决问题的能力(10分),报告的完整、表述及资料搜集(10分)。十、其它说明:请勿动其它不相关设备,保洁室内卫生。二 I/O口的应用一、实验学时:3二、实验类型:设

10、计性三、开出要求:必修四、实验目的:通过本实验的学习,使学生熟悉单片机4个P口的程序设计,为今后继续在单片机P口驱动数字设备应用方面的学习奠定基础。五、实验内容、实验原理、方法和手段及实验组织运行要求:(一)实验原理与方法:1、硬件电路:单片机电路如图所示,在89S51的最小系统上接上LED(或用实验板上已有的LED、数码管等),P1口接上按键,当P0和P2口有输出时,点亮(或熄灭)LED,以指示端口工作状态。Vcc EA P0.0 P2.7P1.0 89S51 X1 X2红ISP接口12MHzVcc红红共16个LED按键2、程序设计指导:读P1口,让LED的亮灭交替变换。3、WAVE模拟仿真

11、的方法:先在仿真器设置中选好芯片8751,选工作频率为12MHZ(与实验电路相同),选择软件模拟仿真,OK。单步执行:复位后,每按F8键(或点、选工具栏菜单,下同)一次,就执行一行汇编程序,同时CPU、DATA窗口有变化的显示为红色,窗口下方状态栏有运行时间显示(S)。注意:将要执行的当前行为浅蓝底色、行首带三角符(下同)。执行到光标处:将光标放在指定的汇编语句前,按F4键,则程序从执行的当前行,全速执行到光标处暂停,窗口下方状态栏有执行此的总计时间显示,执行到此CPU、DATA窗口有变化的显示为红色。例如,要知道定时中断一次所用的时间,可将光标放在定时中断服务程序入口处,反复按F4键,观察窗

12、口下方状态栏的运行时间显示(S)即知。全速运行与暂停:点击工具栏中三角形工具,则从要执行的当前行开始全速执行程序,直到点击暂停(当然要适时暂停)才停在某行。应用:全速运行一段时间(窗口下方状态栏有运行时间显示)后,各种寄存器及RAM的数据发生了变化,暂停之后再结合F8、F4键,可查看之后的程序运行的具体状况,以分析判断程序运行的正确性。(二)实验内容与要求:请原则上遵循以下要求,编写程序:ORG 0000H跳转到主程序主程序:调用子程序1;调用子程序2;调用子程序3;保持主程序循环运行;子程序1:让P2口的LED按二进制数递增,亮为0灭为1;注意调用延时程序,使LED变化清晰可见。子程序2:1

13、6个LED做成一个亮点的跑马灯;注意调用延时程序。子程序3:读P1口状态,用P0口显示,用P2口做位移循环显示。延时子程序:延时约0.5S。学习WAVE的模拟运行,注意观察端口变化。在Proteus中仿真运行。最后将程序下载到芯片上,实时运行,排错。 注意记录自己所有的原始程序,仿真电路,一并写到实验报告中。(三)实验组织运行:集中授课。六、实验条件:PC机,WAVE、Proteus、AVR-fighter,ISP下载线,面包板及器件(或单片机实验板)。七、实验步骤:(一)搭建识读电路:1、在面包板上接好AT98S51的最小应用系统,晶振为12MHZ,在P1.0口接上按键,接好LED,接好IS

14、P接口,注意:31脚(EA)接VCC。2、或识读实验板上元器件的连接关系,确认可用的LED及按键。(二)编程实验:1、新建一个汇编文件;2、按实验内容要求写好程序;3、编译,排错,模拟仿真,直到无错;注意做好记录。4、在Proteus中仿真。5、接好单片机电路电源,接好下载线,下载程序。6、实时运行,排错,直到无错;注意做好记录。八、思考问题:1、程序设计:让P1.0从高电平跳到低电平,并延时480微秒之后,转换为输入口,捕捉到低电平后,再延时450微秒,结束。2、设计。九、实验成绩评定办法:主要评分点:做实验:专心认真做实验(30分),各种操作严谨规范(20分),结果正确性与纠错能力(20分

15、);实验报告:原理描述、实验流程及调试过程(10分),数据记录、实验结果、实验效果、解决问题的能力(10分),报告的完整、表述及资料搜集(10分)。十、其它说明:请注意用电安全;请勿动其它不相关设备,保洁室内卫生。附录:AT89S51的资料:8-bit Microcontroller with 4K Bytes In-System Programmable Flash AT89S51Features Compatible with MCS-51 Products 4K Bytes of In-System Programmable (ISP) Flash Memory Endurance: 1

16、000 Write/Erase Cycles 4.0V to 5.5V Operating Range Fully Static Operation: 0 Hz to 33 MHz Three-level Program Memory Lock 128 x 8-bit Internal RAM 32 Programmable I/O Lines Two 16-bit Timer/Counters Six Interrupt Sources Full Duplex UART Serial Channel Low-power Idle and Power-down Modes Interrupt

17、Recovery from Power-down Mode Watchdog Timer Dual Data Pointer Power-off Flag Fast Programming Time Flexible ISP Programming (Byte and Page Mode) Green (Pb/Halide-free) Packaging Option Description The AT89S51 is a low-power, high-performance CMOS 8-bit microcontroller with 4K bytes of In-System Pro

18、grammable Flash memory. The device is manufactured using Atmels high-density nonvolatile memory technology and is compatible with the indus-try-standard 80C51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory

19、pro-grammer. By combining a versatile 8-bit CPU with In-System Programmable Flash on a monolithic chip, the Atmel AT89S51 is a powerful microcontroller which provides a highly-flexible and cost-effective solution to many embedded control applications. The AT89S51 provides the following standard feat

20、ures: 4K bytes of Flash, 128 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, two 16-bit timer/counters, a five-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89S51 is designed with static logic for operat

21、ion down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM con-tents but freezes the oscillator, disabling all oth

22、er chip functions until the next external interrupt or hardware reset.三 外中断应用一、实验学时:3二、实验类型:设计性三、开出要求:必修四、实验目的:通过本实验的学习,使学生熟悉熟悉外中断的设置与响应子程序的设计,为今后继续在单片机的中断应用方面的学习奠定基础。五、实验内容、实验原理、方法和手段及实验组织运行要求:(一)实验原理与方法:1、硬件电路:单片机电路如图所示,在89S51的最小系统上接上LED(或用实验板上已有的LED、数码管等),当响应外中断时,点亮(或熄灭)LED,以指示中断工作状态。P1.0 EA X1 X

23、2 89S51 INT0 INT1绿ISP接口12MHzVcc2、程序设计指导:设置单片机的IE,可使单片机能响应送到INT0或INT1引脚上的外来中断请求;在中断服务程序中,让LED的亮灭交替变换,则可判断外中断是否被响应。3、WAVE模拟仿真的方法:先在仿真器设置中选好芯片8751,选工作频率为12MHZ(与实验电路相同),选择软件模拟仿真,OK。单步执行:复位后,每按F8键(或点、选工具栏菜单,下同)一次,就执行一行汇编程序,同时CPU、DATA窗口有变化的显示为红色,窗口下方状态栏有运行时间显示(S)。注意:将要执行的当前行为浅蓝底色、行首带三角符(下同)。执行到光标处:将光标放在指定

24、的汇编语句前,按F4键,则程序从执行的当前行,全速执行到光标处暂停,窗口下方状态栏有执行此的总计时间显示,执行到此CPU、DATA窗口有变化的显示为红色。例如,要知道定时中断一次所用的时间,可将光标放在定时中断服务程序入口处,反复按F4键,观察窗口下方状态栏的运行时间显示(S)即知。全速运行与暂停:点击工具栏中三角形工具,则从要执行的当前行开始全速执行程序,直到点击暂停(当然要适时暂停)才停在某行。应用:全速运行一段时间(窗口下方状态栏有运行时间显示)后,各种寄存器及RAM的数据发生了变化,暂停之后再结合F8、F4键,可查看之后的程序运行的具体状况,以分析判断程序运行的正确性。(二)实验内容与

25、要求:请原则上遵循以下要求,编写程序:ORG 0000H跳转到主程序声明外中断0入口;跳转到中断子程序;主程序:调用初始化子程序;保持主程序循环运行;在初始化子程序中:开放外中断0(EA,EX0);设置为下跳沿触发;其它初始赋值。外中断0的子程序:将A、PSW、B等压栈;点亮(或息灭)LED弹栈中断返回程序写好后,先编译,排错,然后进行模拟运行,注意进入中断的方法是:在程序运行到任意行暂停后,将P3.2(INT0)置为0,再将光标放到中断程序的开头的某一行,按F4键(执行到光标处),再将P3.2(INT0)置为1。在Proteus中仿真运行。最后将程序下载到芯片上,实时运行,排错;外中断请求信

26、号可用信号发生器的单次触发脉冲,或用一接地线碰触P3.2(INT0)引脚来替代。注意记录自己所有的原始程序,仿真电路,一并写到实验报告中。(三)实验组织运行:集中授课。六、实验条件:PC机,WAVE、Proteus、AVR-fighter,ISP下载线,面包板及器件(或单片机实验板)。七、实验步骤:(一)搭建识读电路:1、在面包板上接好AT98S51的最小应用系统,晶振为12MHZ,在P1.0口接上LED,接好ISP接口,注意:31脚(EA)接VCC。2、或识读实验板上元器件的连接关系,确认可用的LED。(二)外中断实验:1、新建一个汇编文件;2、按实验内容要求写好程序;3、编译,排错,模拟仿

27、真,直到无错;注意做好记录。4、在Proteus中仿真。5、接好单片机电路电源,接好下载线,下载程序。6、实时运行,排错,直到无错;注意做好记录。八、思考问题:1、响应INT0最多需要几个机器周期?2、设计一个用INT0响应多个外中断的方案。九、实验成绩评定办法:主要评分点:做实验:专心认真做实验(30分),各种操作严谨规范(20分),结果正确性与纠错能力(20分);实验报告:原理描述、实验流程及调试过程(10分),数据记录、实验结果、实验效果、解决问题的能力(10分),报告的完整、表述及资料搜集(10分)。十、其它说明:请注意用电安全;请勿动其它不相关设备,保洁室内卫生。四 定时器/计数器应

28、用一、实验学时:3二、实验类型:设计性三、开出要求:必修四、实验目的:通过本实验的学习,使学生熟悉熟悉定时器/计数器的设置、中断响应子程序的设计,为今后继续在单片机的时间测量、脉冲计数方面的学习奠定基础。五、实验内容、实验原理、方法和手段及实验组织运行要求:(一)实验原理与方法:1、硬件电路:单片机电路如图所示,在89S51的最小系统上接上LED(或用实验板上已有的LED、数码管等),当响应中断时,点亮(或熄灭)LED,以指示中断工作状态。P1.0 EA X1 X2 89S51 T0 T1绿ISP接口12MHzVcc2、程序设计指导:设置单片机的TMOD,使T0或T1工作在方式1,则等待一次定

29、时中断的时间为T=(65536-初值)Tcy其中Tcy为晶振频率的1/12。若确定了定时中断的时间T,则可算出计数器中所预装的初值。如:T=50Ms,则初值为3CB0H。计数中断为十次时,让LED的亮灭交替变换,则可实现LED的秒闪烁。设置单片机的IE,可使单片机能对送到T0或T1引脚上的外来脉冲进行计数;在中断服务程序中,让LED的亮灭交替变换,则可判断计数器中断是否被响应。3、WAVE模拟仿真的方法:先在仿真器设置中选好芯片8751,选工作频率为12MHZ(与实验电路相同),选择软件模拟仿真,OK。单步执行:复位后,每按F8键(或点、选工具栏菜单,下同)一次,就执行一行汇编程序,同时CPU

30、、DATA窗口有变化的显示为红色,窗口下方状态栏有运行时间显示(S)。注意:将要执行的当前行为浅蓝底色、行首带三角符(下同)。执行到光标处:将光标放在指定的汇编语句前,按F4键,则程序从执行的当前行,全速执行到光标处暂停,窗口下方状态栏有执行此的总计时间显示,执行到此CPU、DATA窗口有变化的显示为红色。例如,要知道定时中断一次所用的时间,可将光标放在定时中断服务程序入口处,反复按F4键,观察窗口下方状态栏的运行时间显示(S)即知。全速运行与暂停:点击工具栏中三角形工具,则从要执行的当前行开始全速执行程序,直到点击暂停(当然要适时暂停)才停在某行。应用:全速运行一段时间(窗口下方状态栏有运行

31、时间显示)后,各种寄存器及RAM的数据发生了变化,暂停之后再结合F8、F4键,可查看之后的程序运行的具体状况,以分析判断程序运行的正确性。(二)实验内容与要求:1、定时器/计数器实验:请原则上遵循以下要求编写模块化程序:在主程序中声明T0或T1中断;在主程序中调用子程序;保持主程序循环运行在初始化子程序中:设置TMOD,选择工作方式1,开放中断;给THx,TLx装初值。要求中断时间为50mS。启动T0或T1。其它初始赋值。在T0或T1中断的响应程序(即中断子程序)中要求重装初值;将A、PSW、B等压栈;计中断次数0.5S点亮(或息灭)LED(提示:计数十次后CPL P1.0)弹栈中断返回程序写

32、好后,编译,排错,做模拟仿真运行,排错。2、外部脉冲计数实验:请原则上遵循以下要求,重新编写一个模块化程序:在主程序中声明T0中断;调用子程序;保持主程序循环运行;在初始化子程序中:设置TMOD,选工作方式2,开放外脉冲计数。开放T0中断;其它初始赋值。在写外T0中断的响应程序(即中断子程序)中要求将A、PSW、B等压栈;点亮(或息灭)LED弹栈中断返回程序写好后,编译,排错;做模拟仿真运行,排错。在Proteus中仿真运行。然后将程序下载到芯片上,实时运行,排错;外脉冲信号可用信号发生器的单次触发脉冲,或用一接地线碰触T0引脚来替代。注意记录自己所有的原始程序,并写到实验报告中。(三)实验组

33、织运行:集中授课。六、实验条件:PC机,WAVE、Proteus,ISP下载线,面包板及器件(或单片机实验板)。七、实验步骤:(一)搭建识读电路:1、在面包板上接好AT98S51的最小应用系统,晶振为12MHZ,在P1.0口接上LED,接好ISP接口,注意:31脚(EA)接VCC。2、或识读实验板上元器件的连接关系,确认可用的LED。(二)定时器/计数器实验:1、启动WAVE,新建一个汇编文件;2、按实验内容要求写好程序;3、编译,排错,直到无错;注意做好记录。4、模拟仿真运行,排错,直到无错;注意做好记录。5、在Proteus中仿真。6、接通单片机电路电源,接好下载线,下载程序。7、实时运行

34、,排错,直到无错;注意做好记录。(三)外脉冲计数实验:1、新建一个汇编文件;2、按实验内容要求写好程序;3、编译,排错,直到无错;注意做好记录。5、在Proteus中仿真。6、接通单片机电路电源,接好下载线,下载程序。7、实时运行,排错,直到无错;注意做好记录。八、思考问题:1、怎样用T1计数来计T0的中断次数?2、若晶振频率为11.0592MHz,则定时50mS时,计数器的初值为多少?3、设计一个测量方波频率的方案。九、实验成绩评定办法:主要评分点:做实验:专心认真做实验(30分),各种操作严谨规范(20分),结果正确性与纠错能力(20分);实验报告:原理描述、实验流程及调试过程(10分),

35、数据记录、实验结果、实验效果、解决问题的能力(10分),报告的完整、表述及资料搜集(10分)。十、其它说明:请注意用电安全;请勿动其它不相关设备,保洁室内卫生。五 串口通信一、实验学时:3二、实验类型:设计性三、开出要求:必修四、实验目的:在掌握串口通信协议的基础上,要求设计一个单片机的串口发送、接收程序,熟悉单片机串口通信的方法,更好地掌握程序设计方法,为今后的单片机的开发应用奠定基础。五、实验内容、实验原理、方法和手段及实验组织运行要求:(一)实验原理与方法:1、两片89S51单片机间串口通信的电路如图所示:晶振均为12MHZ,RXDTXDP3.2P3.3P3.4P3.5P0数码管RXDT

36、XDP3.2P3.3P3.4P3.5P0数码管发收VCC发送TXD接收RXDRXD、TXD与对方交叉接连,就完成了双向通信电路的连接;P0口接数码管做为发、收数码的指示;四个按键可改变发送数码的数值。做为一种无线通信方案,发送方的TXD串1K电阻接到9012的基极(B),红外发射管串100电阻接于集电极(C)到地之间,9012发射极(E)接VCC;接收方的红外接收管,串100K电阻接于VCC与9018的基极(B),VCC串10K电阻接到集电极(C),集电极再接到接收方的RXD,9018的发射极(E)接地。2、实验方案说明:发送方读入P3口状态后,送P0口显示,并串行发送出去;接收方收到后,也送

37、P0口显示;若接收方与发送方显示的状态相同,则说明通信成功。实验时,两组同学互相合作,一组做串口发送,另一组做串口接收,各自完成后联合试验串口收发通信,成功后交换内容再做。3、波特率:串口有四种工作方式,其中方式1的波特率由定时器T1的溢出率和SMOD决定: 波特率=2SMODX(T1的溢出率)/32而T1的溢出率的倒数即溢出周期=(T1的状态数 - T1的初值) (机器周期);由此,在确定波特率后,可计算T1的初值。例如:取波特率为1200,T1工作在方式2,机器周期为1S,SMOD为0,则T1的初值为E6H。ORG 0000HMOV TMOD,#20HMOV TL1,#0E6HMOV TH

38、1,#0E6HMOV SCON,#40HSETB TR1MOV P3,#0FFHLOOP:MOV A,P3XRL A,#0FFHJZ LOOPMOV A,P3MOV SBUF,AMOV P0,AMOV P2,#0FEHJNB TI,$CLR TIAJMP LOOP(二)实验内容与要求:1、取波特率为3125,试计算T1的初值。2、发送程序设计要求:设置串口为工作方式1;设置T1为工作方式2;T1装初值并启动。读入P3口状态,并串行发送;同时送P0口,选一个数码管来显示等待串口中断标志TI;清除TI,跳回“读入P3口”3、接收程序设计要求:ORG 0000HMOV P2,#0FFHMOV TMO

39、D,#20HMOV TL1,#0E6HMOV TH1,#0E6HSETB TR1MOV P0,#7FHMOV P2,#0FEHLOOP:MOV SCON,#50HJNB RI,$SCC:MOV A,SBUFCLR RIMOV P0,AMOV P2,#0FEHAJMP LOOP设置T1为工作方式2;T1装初值并启动。选中显示数码管的COM设置串口为接收方式并启动;等待接收中断标志RI清除RI将收到的数送P0口显示;跳回到“设置串口为接.”3、将发送或接收改为中断服务方式;注意记录好所有原始程序。(三)实验组织运行:集中授课。六、实验条件:PC机,WAVE、双龙软件,ISP下载线,面包板及器件(或

40、单片机实验板)。七、实验步骤:(一)识读硬件电路读电路结构,记录IO与数码等的连接关系、收发端的对应连接。(二)程序设计:1、相邻两组协作,一组设计发送程序,另一组设计接收程序;在主程序框架内编写完整的收或发的汇编程序。2、经过模拟仿真后,下载运行,按下不同按键,观察收发状况,排错、修改,直到收发状况完全一至。注意记录排错的情况。3、两组任务交换,继续以上的工作。记录好所有程序。八、思考问题:1、串口的工作方式3与方式1有何不同?2、在此实验基础上,能否做成一个八位的加密通信? 3、简述多机串口通信的原理与方法。九、实验成绩评定办法:主要评分点:做实验:专心认真做实验(30分),各种操作严谨规

41、范(10分),结果正确性与纠错能力(30分);实验报告:原理描述、实验流程及调试过程(10分),数据记录、实验结果、实验效果、解决问题的能力(10分),报告的完整、表述及资料搜集(10分)。十、其它说明:请注意用电安全;请勿动其它不相关设备,保洁室内卫生。六 *基于单片机的动态扫描显示一、实验学时:3二、实验类型:综合性三、开出要求:选修四、实验目的:通过本实验的学习,使学生熟悉单片机中数字显示的动态扫描的原理与方法,了解按键识别的原理与方法,掌握程序结构及模块化程序设计,为今后继续在单片机的开发应用方面的学习奠定基础。五、实验内容、实验原理、方法和手段及实验组织运行要求:(一)实验原理与方法

42、:单片机电路如图所示,P0接数码管的a-h,p2.0-p2.4的高低电平,通过9012分别控制四个数码管的COM端与VCC的断通。P1口接按键。AT89S518 8 8 8P0.0COMP2.0P2.1P2.2P2.39012 x412MHzISP端口 Vcc四位共阳数码管P0.7AH3308.EARST Vcc动态扫描的原理:在p2.0-p2.4依次轮流循环输出一个低电平的同时,P0口输出对应的字型码,则相应的数码管显示正确的数字,如此循环、永不停息,则四位数码管看上去都能显示相应正确的数字。参考流程图如下:自定义变量,启点中断入口DISN=0?调用SUB2-动态显示子程序调用SUB1初始化

43、SBB2:取出七段LED数码显示的字形码首址显示位数DISN=4取出显缓中的BCD码及对应的字形码字形码送P0口,P2口选通相应LED管的COMDISN减1NOYES字形码:SEG7:DB xx . xx(二)实验内容与要求:1、依据电路图,写出共阳数码管09对应的字形码。2、按以下要求编写模块化程序:定义显示缓冲的存储器(RAM);存放好09对应的字形码;主程序中:初始化子程序(含显缓赋初值)无限循环的调用显示子程序等;显示子程序:压栈取得字型码的首地址显缓内容送AA中对应字型码送AA中内容送P0P2驱动COM(重复上述过程,能正确显示显缓内容)。3、编写如下要求的子程序,并在主程序中调用该

44、程序及显示程序:读入P1口的状态(P1口按键可改变读入的数据);将其换为三位BCD码,送入显缓中。注意记录自己所有的原始程序,并写到实验报告中。(三)实验组织运行:学生自主实验,预约开放、辅导。六、实验条件:PC机,WAVE、Proteus,ISP下载线,面包板及器件(或单片机实验板)。七、实验步骤:(一)识读硬件电路读电路结构,记录IO与数码管、按键等的连接关系。写出共阳数码管09对应的字形码。(二)程序设计:1、依据实验内容写出定义、主程序框架、所有子程序框架。2、写出动态扫描的显示子程序;显缓中存入已知数,如5、6、7、8。3、编译排错,下载运行,排错,直到显示完全正确。做好所有记录。4

45、、编写实验内容3所要求的子程序,编译排错,下载。5、运行程序:接一地线,将P1口某引脚拉到地电平,数码管显示0-255的相应数。6、排错,直到显示完全正确。做好所有记录。注意记录好所有原程序!八、思考问题:1、画出共阴数码管的动态扫描示意图2、若要用一位P口设计四个扫描按键,应如何设计?3、怎样估算扫描的频率?九、实验成绩评定办法:主要评分点:做实验:专心认真做实验(30分),各种操作严谨规范(20分),结果正确性与纠错能力(20分);实验报告:原理描述、实验流程及调试过程(10分),数据记录、实验结果、实验效果、解决问题的能力(10分),报告的完整、表述及资料搜集(10分)。十、其它说明:请

46、注意用电安全;请勿动其它不相关设备,保洁室内卫生。七 数字钟一、实验学时:3二、实验类型:综合性三、开出要求:必修四、实验目的:综合前面实验的内容,要求设计一个走时准确的显示分秒的数字钟,更好地掌握程序结构及模块化程序设计,为今后的单片机的开发应用奠定基础。五、实验内容、实验原理、方法和手段及实验组织运行要求:(一)实验原理与方法:1、单片机电路可采用前面实验所用的动态扫描实验板:AT89S518 8 8 8P0.0COMP2.0P2.1P2.2P2.39012 x412MHzISP端口 Vcc四位共阳数码管P0.7AH3308.EARST Vcc图中按键接P3口,也可采用扫描识别。2、程序设

47、计指导:在前面定时中断的秒闪烁的程序后,添加秒计数,当计满60秒后做分计数,当计满60分后时计数,注意再送初值;这样就完成了时钟的计时走时工作。显示程序:动态扫描显示与前面实验相同。时分秒的转换:任务是将正在走时的时分秒变量转换为两位BCD码,依次存入对应显缓中;方法:变量除以10,商和余即是。(二)实验内容与要求:1、写出完整的汇编程序框架,包括:RAM定义定时中断声明主程序:调用初始化子程序调用分秒换算子程序调用显示子程序主程序的循环。子程序:初始化子程序定时中断子程序显示子程序分秒换算子程序2、完善主程序及所有子程序,可将前面实验中相关程序复制过来,经过修改,做为子程序。编译,排错。3、

48、模拟仿真:验证中断:将光标放在定时中服务程序的入中处,按F4键(执行到光标处),观察运行时间,判定并修改中断时间的准确性;验证显示或换算:复位,全速运行,停止,注意记录运行时间,然后用F4、F8键,仔细分析换算结果、显示输出是否正确。4、下载运行,观察显示,有错时再分析程序,排错,反复调试,直到走时正确。5、简单测量一下走时误差。注意记录自己所有的原始程序,并写到实验报告中。(三)实验组织运行:集中授课。六、实验条件:PC机,WAVE、Proteus,ISP下载线,面包板及器件(或单片机实验板)。七、实验步骤:(一)识读硬件电路读电路结构,记录IO与数码管、按键等的连接关系。(二)程序设计:1

49、、依据实验内容写出定义、主程序框架、所有子程序框架。2、完善初始化、显示子程序,用模拟仿真验证。3、再完善定时中断子程序,注意时分秒计数的方法与程序设计;然后编译排错,下载运行,排错,直到显示完全正确。做好所有记录。4、选做内容:设计秒位的点做秒闪烁的程序。5、走时误差测量:引出秒信号,用频率计测量;或用自己的计时工具,做几分钟的校验。做好所有记录。记录好所有原程序!八、思考问题:1、简述做时分显示的程序设计思想。2、在此实验基础上,能否做成作息时间控制器?3、在此实验基础上,能否做成万年历?九、实验成绩评定办法:主要评分点:做实验:专心认真做实验(30分),各种操作严谨规范(10分),结果正确性与纠错能力(30分);实验报告:原理描述、实验流程及调试过程(1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论