ImageVerifierCode 换一换
格式:DOCX , 页数:89 ,大小:707.38KB ,
资源ID:25203095      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25203095.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《单片机技术》实验指导书.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《单片机技术》实验指导书.docx

1、单片机技术实验指导书单片机技术实验指导书机械电子工程系2011年9月实验一 数据传送(RAMXRAM)一、实验目的1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。2、掌握80C51内部RAM和外部RAM之间的数据传送方法;掌握这两部分RAM存贮器的特点与应用,掌握各种数据传送方法。3、熟悉80C51汇编指令,能自己编写简单的程序,掌握数据传输的方法。二、实验设备 STAR系列实验仪一套、PC机一台三、实验内容1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。2、编写并调试一个数据传送程序:将30H3FH数据送到数据存贮器1000H100FH中。实

2、现内外部数据段的传送、校验。四、实验框图五、实验步骤1、运行程序前,打开变量窗、二个存贮器窗(一个选择片内数据;一个选择片外数据,起始地址选择1000H)。2、在内部RAM 30H3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM的1000H100FH中的内容。3、熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。【注意】实验箱中已经将单片机最小电路(电源、时钟电路及复位电路)连接完成,因此,该部分不再需要连线。六、程序清单;将内部RAM Address1 开始的16个字节送到外部RAM从Address2开始的单元里,;再作比较。Address1DATA30H;内部

3、ROM存放数据起始地址Address2XDATA1000H;外部ROM存放数据起始地址ORG0000HLJMPSTARORG0100HSTAR:MOVSP,#60H;初始化堆栈指针MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR1:MOVA,R0;传送MOVXDPTR,AINCR0INCDPTRDJNZR7,STAR1MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR2:MOVB,R0;比较MOVXA,DPTRCJNEA,B,STAR3INCR0INCDPTRDJNZR7,STAR2SJMP$;传送正确STA

4、R3:SJMP$;传送错误END七、思考题编写程序分别实现以下功能:将外部数据存贮区1000H100FH中的数据送到80C51内部RAM 404FH中。将外部数据存贮区1000H100FH的内容写入外部RAM 3030303FH中。实验二 P1口数据输入、输出实验(跑马灯实验)一、实验目的1、通过实验了解单片机最小系统。2、了解P1口作为输入、输出方式使用时,CPU对P1口操作方法。3、学习延时子程序的编写和使用。二、实验设备 STAR系列实验仪一套、PC机一台三、实验内容1、P1口做输出口,接G6区的八个发光二极管(其输入端为低电平时发光二极管点亮),编写程序,使发光二极管循环点亮(瞬间只有

5、一个灯亮)。2、P1.0、P1.1作输入口接两个拨动开关S21、S22;P1.2,P1.3作输出口,接两个发光二极管DS35、DS36,编写程序读取开关状态,将此状态在发光二极管上显示出来。【注意】P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,编程时必须先对口的锁存器写“1”;若不先对它写“1”,读入的数据是不正确的。四、实验原理图【注意】本实验指导书中的原理图只给出了重要部分原理图,单片机最小系统均未给出,请学生参考教材补充完整。P1口循环点灯原理图P1口输入输出原理图五、实验流程图六、实验步骤 P1口输出实验1、连线说明:A3区:JP5

6、1G6区:JP65【注意】实验箱上单片机的P1口(A3区JP51插槽)分别接八个发光二极管(G6区JP65插槽),使用一根8线的扁平电缆连接即可。2、编写程序。3、实验结果:通过G6区的LED指示灯(8个指示灯轮流点亮),观察实验的输出结果是否正确。P1口输入、输出实验1、连线说明:A3区:JP51G6区:JP80JP55G6区:JP652、编写程序。3、实验结果:改变S21、S22两个拨动开关的状态,观察LED指示灯的变化。七、源程序P1口输出实验ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HMOVA,#0FFHMOVP1,A;P1口输出数据时,该句可省略

7、。;P1口输入数据时,该句必须保留。CLRCSTART1:RLCAMOVP1,AACALLDelaySJMPSTART1Delay:MOVR5,#2;延时Delay1:MOVR6,#0Delay2:MOVR7,#0DJNZR7,$DJNZR6,Delay2DJNZR5,Delay1RETENDP1口输入、输出实验【源程序略,由学生自行设计】八、思考题1、在80C51系统中,MOV指令需用1个机器周期,DJNZ指令需用2个机器周期,RET指令需用2个机器周期。STAR ES598PCI实验仪中单片机的晶振为12MHz,请计算源程序中软件延时(第12行第18行)的时长是多少秒?2、编程实现下表所示

8、的发光二极管点亮时序,注意延时时间的设置(采用软件延时)。时序8个发光LED的状态18个LED同时亮,延时0.5s28个LED同时灭,延时0.5s3自左向右,每隔0.5s循环点亮一个(单个亮)4自右向左,每隔0.5s循环点亮一个(单个亮)5自左向右,每隔0.5s循环相邻两个点亮一次(相邻两个亮,其余灭)实验三 P1口数据输出实验(交通灯控制实验)一、实验目的1、了解单片机的工作原理,熟悉其编程方法以及输入、输出程序设计技巧。学会使用并行口实现各种控制功能,如本实验(控制交通灯)等。2、熟悉单片机程序存储器的查表指令,熟悉表格的设计及使用技巧。熟练设计并使用软件延时子程序。二、实验设备STAR系

9、列实验仪一套、PC机一台三、实验内容1、编写程序:使用80C51的P1口控制8个LED指示灯,实现交通灯功能。2、连接线路、验证该功能,并熟悉P1口的使用方法。四、实验原理交通灯控制原理图该实验中单片机P1口与8个发光二极管相连。实验箱上的8个发光二极管的排列顺序是“绿、黄、红、红、绿、黄、红、红”,这相当于两组“绿、黄、红”交通指示灯,可以模拟十字路口的东西向和南北向交通灯。由于每组红灯有两个,可把将两个红灯看作是一个红色指示灯,让它们同时亮灭。一个周期内交通指示灯的所有状态,如下表所示:序号东西向交通灯南北向交通灯状态码P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0绿黄红

10、红绿黄红红0011111007CH1101111000BCH2110001110C7H3110010110CBH将状态码放入一段连续的ROM单元,可以构成一段数据表(用DB伪指令定义数据表,如“DB 7CH 0BCH 0C7H 0CBH”)。利用数据指针DPTR,将其指向数据表的首地址,再将各个状态的序号依次放入累加器A中,通过查表指令便可找到各个状态码,最后将状态码送入P1口显示并做相应的延时处理,发光二极管上即可反映出相应的交通指示灯状态。当一个周期结束后,再用一条长跳转指令返回首个状态,就可实现交通指示灯的连续工作。五、实验流程图六、实验步骤1、连线说明:A3区:JP51(P1口)G6区

11、:JP652、观察实验结果,验证模拟交通灯控制过程的正确性。七、源程序ORG0000HLJMPMAINORG0100HMAIN:MOVDPTR,#TABLE;数据指针指向表的首字节地址单元LOOP:MOVR7,#data8;data8由交通灯的状态个数定MOVR0,#0D1:MOVA,R0MOVCA,A+DPTR;查表取状态字节MOVP1,A;送P1口显示INCR0LCALLDELAYDJNZR7,D1LJMPLOOPTABLE:DB【略】;状态字节 【学生自行设计】DELAY:【略】;延时子程序【学生自行设计】END八、思考题1、如何使用该控制策略实现对霓虹灯或跑马灯的设计?2、如何实现对绿

12、灯、红灯和黄灯的时间分别进行控制,以及黄灯闪烁3次的实现?实验四 外部中断实验(急救车与交通灯)一、实验目的1、学习外部中断技术的基本使用方法。2、学习中断处理程序的编程方法。二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、编写程序:在实验四的基础上增加允许急救车优先通过的要求,有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。设急救车通过路口时间为10秒,急救车通过后,交通恢复正常。2、本实验用单次脉冲(由轻触按键产生)申请中断,表示有急救车通过。3、连接线路、验证该功能,并熟悉外部中断的使用方法。四、实验原理1、编制中断处理程序要注意的问题是:保护进入中断时的状态(保

13、护现场),并在退出中断之前恢复进入时的状态(恢复现场)。必须在中断程序中设定是否允许中断重入,即设置EX0位。2、本实验中使用了INT0中断,一般中断处理程序进入时应保护PSW、ACC以及中断处理程序使用但非其专用的寄存器。本实验的INT0程序中应保护PSW、ACC等,以便保护中断前红绿灯的状态(保护现场),并且在退出前恢复原来红绿灯状态(恢复现场)。3、INT0端(P3.2)接轻触按键K5。五、实验流程图六、实验步骤1、连线说明:A3区:JP51G6区:JP65JP61JP74【注意】当响应中断时,应按下JP74中K5按键。2、观察实验结果,验证模拟交通灯控制过程的正确性。七、源程序【源程序

14、略,由学生自行设计】实验五 8279键盘显示实验一、实验目的与要求1、了解8279与单片机的接口逻辑;掌握对8279的显示子程序Dispaly8的使用方法,掌握使用8279扩展显示器的方法。2、认真预习,做好实验前的准备工作,自行编写程序,填写实验报告。二、实验设备 STAR系列实验仪一套、PC机一台三、实验内容1、编写程序:利用8279实现对G5区的8位数码管的显示控制,要求最右边LED从09循环显示,其余7个LED均不显示。2、按图连线,运行程序,观察实验结果,能熟练运用8279的显示子程序Dispaly8。四、实验原理图五、实验流程图六、实验步骤1、连线说明:E5区:CS、A0A3区:C

15、S5、A0E5区:CLKB2区:2ME5区:A、B、C、DG5区:A、B、C、D2、运行程序,观察实验结果(8个LED显示器会按要求显示出来),可依此验证对8279芯片操作的正确性。七、源程序EXTRNCODE(Display8)BUFFERDATA30H;8字节显示缓冲区ORG0000HLJMPSTARORG0100HSTAR:MOVSP,#5FHMOVR0,#BUFFERMOVA,#10H;其余7位LED不显示CLRR:INCR0MOVR0,ACJNER0,#37H,CLRRLOOP:MOVR7,#10;循环次数,10次MOVR6,#0INCC:MOV30H,R6LCALLDELAYINC

16、R6MOVR0,#BUFFERLCALLDisplay8DJNZR7,INCCAJMPLOOPEND八、思考题1、如何实现8个LED数码管循环显示程序。2、不使用8279,编程实现数码管的显示功能。实验六 电子钟(定时器、中断综合实验)一、实验目的熟悉80C51中CPU的定时器、中断系统编程方法,了解定时器的应用、实时程序的设计和调试技巧。二、实验内容编写一个时钟程序,使用定时器产生一个50ms的定时中断,对定时中断计数,通过8279将时、分、秒显示在数码管上。三、程序框图四、实验步骤1、连线说明:E5区 :CLKB2区:2ME5区 :CSA3区:CS5E5区 :A0A3区:A0E5区 :A、

17、B、C、DG5区:A、B、C、D2、时间显示在数码管上五、程序清单ms50DATA31H;存放多少个50mssecDATA32H;秒min DATA33H ;分hourDATA34H ;时buffer DATA35H ;显示缓冲区EXTRNCODE(Display8)ORG0000HLJMPSTARORG000BH;定时器T0中断处理入口地址LJMPINT_Timer0ORG0100HSTAR:MOVSP,#60H;堆栈MOVms50,A;清零ms50MOVhour,#12;设定初值:12:59:50MOVmin,#59MOVsec,#50MOVTH0,#60;定时中断计数器初值MOVTL0,

18、#176;定时50msMOV TMOD,#1;定时器0:方式一MOV IE,#82H;允许定时器0中断SETBTR0;开定时器T0STAR1:LCALLDisplay;调用显示JNBF0,$CLRF0SJMPSTAR1;需要重新显示时间;中断服务程序INT_Timer0:MOVTL0,#176-5MOVTH0,#60PUSH01HMOVR1,#ms50INC R1;50ms单元加1CJNER1,#20,ExitIntMOVR1,#0;恢复初值INCR1INCR1;秒加1CJNER1,#60,ExitInt1MOVR1,#0INCR1INCR1 ;分加1CJNER1,#60,ExitInt1MO

19、VR1,#0INCR1INCR1 ;时加1CJNER1,#24,ExitInt1MOVR1,#0ExitInt1:SETBF0ExitInt:POP01HRETIHexToBCD:MOVB,#10DIVABMOVR0,BINC R0MOVR0,AINCR0RETDisplay:MOVR0,#bufferMOVA,secACALLHexToBCDMOVR0,#10H;第三位不显示INCR0MOV A,minACALLHexToBCDMOV R0,#10H;第六位不显示INC R0MOVA,hourACALLHexToBCDMOVR0,#bufferLCALLDisplay8RETEND 六、思考

20、题1、定时器0初始化时,为什么设置TL0为176,TH0为60?2、电子钟走时精度与哪些有关系?中断程序中给TL0赋值为什么与初始化程序中不一样?3、使用定时器方式二,重新编写该程序。4、如何利用定时、中断实现交通灯的控制功能?实验七 双机通讯实验一、实验目的与要求1、了解单片机串行口的内部结构、工作原理;使用串行口方式二进行两个单片机之间的串行通信。2、认真预习,做好实验前的准备工作,填写实验报告。二、实验设备 STAR ES598PCI实验仪两套、PC机两台三、实验内容1、编写程序:A机向B机发送一个字节的数据,B机接收到后,将该数据显示在B机P1口的发光二极管上,再将该数据发送给A机,A

21、机接收到B机发回的数据后,显示在A机P1口的发光二极管上。2、按图连线,运行程序,观察实验结果,掌握8250的各项功能及编程方法。四、实验原理图五、实验步骤1、连线说明:A、B机实验仪上均连线:A3区:JP51G6区:JP65A机与B机交叉连线:A机A3区:RXDB机A3区:TXDA3区:TXDA3区:RXDC1区:GNDC1区:GND2、运行程序3、改变传输数据的数目,重复实验,观察结果。六、源程序;A机程序ORG0000HLJMPMAINORG0100HMAIN:MOVSP,#5FHMOVSCON,#80H;设定串行口工作于方式2MOVPCON,#00H;SMOD=0SETBREN;允许串

22、行口接收MOVA,#55HMOVSBUF,AJNBTI,$CLRTIJNBRI,$CLRRIMOVA,SBUFMOVP1,AAJMP$END【注意】源程序中只给出A机程序,要求学生编写出B机程序。七、思考题1、单片机的其它三种串行口工作方式可否实现双机通讯?2、画出A机程序的流程图。3、如果要在B机上实现跑马灯的显示,A机的程序又该如何修改?4、若通过中断处理方式实现双机通信,程序该如何修改?实验八 RS232串口通讯实验一、实验目的与要求掌握单片机串行口的工作原理。掌握利用串行口实现单片机与计算机间的通讯方法。二、实验设备 STAR系列实验仪一套、PC机一台三、实验内容1、说明:80C51串

23、口经RS232电平转换后,与PC机串行相连。PC机使用“串口调试助手”(ComPort)应用程序,实现上位机与下位机的通讯。本实验使用查询法接收和发送资料,上位机发出指定字符,下位机收到后返回原字符。2、编写串口通讯程序。3、运行程序,通过串口调试助手以16进制向单片机发送一组数据,并观察结果。四、实验原理图五、实验步骤 1、连线说明:A3区:TXDE7区:TXDA3区:RXDE7区:RXD2、实验结果:打开串口调试助手应用程序,开串口,设置波特率为9600 Baud。在发送区内输入数据,单击“发送”。如果单片机接收到数据将会原样返回给计算机,并且显示在串口调试助手的接收框内。六、源程序Len

24、gthEQU10;一次性接收、发送数据的数目bufferDATA30H;接收、发送缓冲区,长度为8个字节ORG0LJMPSTARTORG0023HLJMPRI_TI_INTORG0100HSTART:MOVR0,#bufferMOVTMOD,#20H;定时器1工作方式2MOVTH1,#0FDH;设波特率9600MOVTL1,#0FDHMOVSCON,#50H;串口工作方式1,允许接收SETBTR1;选通定时器1,定时器开始工作SETBEASETBESSJMP$RI_TI_INT:JBTI,RI_TI_INT_1MOVA,SBUFMOVR0,AINCR0CLR RICJNER0,#buffer+Length,$+3JCRI_TI_INT_2MOVR0,#bufferCLRREN;不允许接收SETBTISJMPRI_TI_INT_2RI_TI_INT_1:CLR TICJNER0,#buffer+Length,$+3JCRI_TI_INT_3MOVR0,#bufferSETBRENSJMPRI_TI_INT_2RI_TI_INT_3:MOV A,R0MOVSBUF,AINC R0RI_TI_INT_2:RETIEND七、思考题1、画出

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1