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

上传人:b****6 文档编号:16187170 上传时间:2022-11-21 格式:DOCX 页数:5 大小:21.86KB
下载 相关 举报
《单片机技术》实验指导书Word下载.docx_第1页
第1页 / 共5页
《单片机技术》实验指导书Word下载.docx_第2页
第2页 / 共5页
《单片机技术》实验指导书Word下载.docx_第3页
第3页 / 共5页
《单片机技术》实验指导书Word下载.docx_第4页
第4页 / 共5页
《单片机技术》实验指导书Word下载.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《《单片机技术》实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《《单片机技术》实验指导书Word下载.docx(5页珍藏版)》请在冰豆网上搜索。

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

外部ROM存放数据起始地址ORG0000HLJMPSTARORG0100HSTAR:

MOVSP,#60H;

初始化堆栈指针MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR1:

MOVA,@R0;

传送MOVX@DPTR,AINCR0INCDPTRDJNZR7,STAR1MOVR0,#Address1MOVDPTR,#Address2MOVR7,#10HSTAR2:

MOVB,@R0;

比较MOVXA,@DPTRCJNEA,B,STAR3INCR0INCDPTRDJNZR7,STAR2SJMP$;

传送正确STAR3:

SJMP$;

传送错误END七、思考题  编写程序分别实现以下功能:

  ①将外部数据存贮区1000H~100FH中的数据送到80C51内部RAM40~4FH中。

②将外部数据存贮区1000H~100FH的内容写入外部RAM3030~303FH中。

  -2-  实验二P1口数据输入、输出实验  123一、实验目的1、通过实验了解单片机最小系统。

2、了解P1口作为输入、输出方式使用时,CPU对P1口操作方法。

3、学习延时子程序的编写和使用。

二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、P1口做输出口,接G6区的八个发光二极管,编写程序,使发光二极管循环点亮(瞬间只有一个灯亮)。

2、、作输入口接两个拨动开关S21、S22;

,作输出口,接两个发光二极管DS35、DS36,编写程序读取开关状态,将此状态在发光二极管上显示出来。

【注意】P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。

....准双向口结构可知当口用作输入口时,编程时必须先对口的锁存器写“1”;

若不.P1..........................先对它写“1”,读入的数据是不正确的。

四、实验原理图【注意】本实验指导书中的原理图只给出了重要部分原理图,单片机最小系统均未给出,请学生参考教材补充完整。

//////////VPPALE/37L3R113DS38L4R114DS39L5R115DS40L6P1口循环点灯原理图R116DS41L7R117DS42L8VCCR1181011121314151617181920-3-

  

      //////////VPPALE/五、实验流程图开始开始P1口循环点灯框图六、实验步骤㈠P1口输出实验1、连线说明:

A3区:

JP51——G6区:

JP65【注意】实验箱上单片机的P1口分别接八个发光二极管,使用一根8线的扁平电缆连接即可。

  2、编写程序。

  3、实验结果:

通过G6区的LED指示灯,观察实验的输出结果是否正确。

  ㈡P1口输入、输出实验  1、连线说明:

  A3区:

JP80JP55——G6区:

JP652、编写程序。

改变S21、S22两个拨动开关的状态,观察LED指示灯的变化。

七、源程序  ㈠P1口输出实验ORG0000HLJMPSTARTORG0100HSTART:

MOVSP,#60HMOVA,#0FFHMOVP1,A;

P1口输出数据时,该句可省略。

  ;

P1口输入数据时,该句必须保留。

  CLRCSTART1:

RLCAMOVP1,A  ACALLDelay  SJMPSTART1Delay:

MOVR5,#2;

延时Delay1:

MOVR6,#0Delay2:

MOVR7,#0DJNZR7,$DJNZR6,Delay2DJNZR5,Delay1RET  END㈡P1口输入、输出实验  【源程序略,学生自行设计】八、思考题  1、在80C51系统中,MOV指令需用1个机器周期,DJNZ指令需用2个机器周期,RET指令需用2个机器周期。

STARES598PCI实验仪中单片机的晶振为12MHz,请计算源程序中软件延时的时长是多少秒?

    -5-  2、编程实现下表所示的发光二极管点亮时序,注意延时时间的设置。

时序12345  8个发光LED的状态8个LED同时亮,延时8个LED同时灭,延时自左向右,每隔循环点亮一个自右向左,每隔循环点亮一个自左向右,每隔循环相邻两个点亮一次-6-  实验三P1口数据输出实验一、实验目的1、了解单片机的工作原理,熟悉其编程方法以及输入、输出程序设计技巧。

学会使用并行口实现各种控制功能,如本实验等。

2、熟悉单片机程序存储器的查表指令,熟悉表格的设计及使用技巧。

熟练设计并使用软件延时子程序。

二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、编写程序:

使用80C51的P1口控制8个LED指示灯,实现交通灯功能。

2、连接线路、验证该功能,并熟悉P1口的使用方法。

四、实验原理//////////VPPALE/交通灯控制原理图该实验中单片机P1口与8个发光二极管相连。

实验箱上的8个发光二极管的排列顺序是“绿、黄、红、红、绿、黄、红、红”,这相当于两组“绿、黄、红”交通指示灯,可以模拟十字路口的东西向和南北向交通灯。

于每组红灯有两个,可把将两个红灯看作是一个红色指示灯,让它们同时亮灭。

一个周期内交通指示灯的所有状态,如下表所示:

R112DS37L3R113DS38L4R114DS39L5R115DS40L6R116DS41L7R117DS42L8VCCR1181011121314151617181920-7-东西向交通灯序号0123绿0111黄1011红1100红1100绿1101南北向交通灯黄1110红0011红00117CH0BCH0C7H0CBH状态码将状态码放入一段连续的ROM单元,可以构成一段数据表。

利用数据指针DPTR,将其指向数据表的首地址,再将各个状态的序号依次放入累加器A中,通过查表指令便可找到各个状态码,最后将状态码送入P1口显示并做相应的延时处理,发光二极管上即可反映出相应的交通指示灯状态。

当一个周期结束后,再用一条长跳转指令返回首个状态,就可实现交通指示灯的连续工作。

  五、实验流程图  开始初始化堆栈设定数据表指针DPTR,设定循环变量R7查表并显示在P1口调用延时子程序NR7=R7-1,R7=0?

Y设定循环变量R7六、实验步骤  1、连线说明:

JP51——  G6区:

JP65-8-

      LOOP:

MOVR7,#10;

循环次数,10次MOVR6,#0INCC:

MOV30H,R6LCALLDELAYINCR6MOVR0,#BUFFERLCALLDisplay8DJNZR7,INCC  AJMPLOOP  END八、思考题  1、如何实现8个LED数码管循环显示程序。

2、不使用8279,编程实现数码管的显示功能。

  -14-  实验六电子钟(定时器、中断综合实验)  一、实验目的  熟悉80C51中CPU的定时器、中断系统编程方法,了解定时器的应用、实时程序的设计和调试技巧。

二、实验内容  编写一个时钟程序,使用定时器产生一个50ms的定时中断,对定时中断计数,通过8279将时、分、秒显示在数码管上。

三、程序框图  开始初始化堆栈给时钟单元赋初值使用定时器方式一,相关寄存器赋初值开中断,开定时器调显示秒单元=60?

刷新标志=1?

Y清0刷新标志主程序中断处理NY秒单元复位0分单元+1中断返回中断开始恢复定时器初值50ms单元+1NN时单元=24?

Y时单元复位0N1→刷新显示标志N分单元=60?

Y分单元复位0时单元+150ms单元=20?

Y50ms单元复位0秒单元+1  四、实验步骤  1、连线说明:

E5区:

CLKE5区:

CSE5区:

A0E5区:

A、B、C、D2、时间显示在数码管上五、程序清单ms50DATAsecDATA    ——B2区:

2M——A3区:

CS5——A3区:

A0——G5区:

A、B、C、D31H  32H  -15-  ;

存放多少个50ms;

秒  minDATA33H;

分hourDATA34H;

时bufferDATA35H;

显示缓冲区EXTRNCODE(Display8)ORGLJMPORGLJMPORGSTAR:

MOVMOVMOVMOVMOVMOVMOVMOVMOVSETBSTAR1:

LCALLJNBCLRSJMP;

中断服务程序INT_Timer0:

MOVMOVPUSHMOVINCCJNEMOVINCINCCJNEMOVINCINCCJNE  0000HSTAR000BH;

定时器T0中断处理入口地址INT_Timer00100HSP,#60H;

堆栈ms50,A;

清零ms50hour,#12;

设定初值:

12:

59:

50min,#59sec,#50TH0,#60;

定时中断计数器初值TL0,#176;

定时50msTMOD,#1;

定时器0:

方式一IE,#82H;

允许定时器0中断TR0;

开定时器T0Display;

调用显示F0,$F0STAR1;

需要重新显示时间TL0,#176-5TH0,#6001HR1,#ms50@R1;

50ms单元加1@R1,#20,ExitInt@R1,#0;

恢复初值R1@R1;

秒加1@R1,#60,ExitInt1@R1,#0R1@R1;

分加1@R1,#60,ExitInt1  -16-  MOV@R1,#0INCR1INC@R1;

时加1CJNE@R1,#24,ExitInt1MOV@R1,#0ExitInt1:

SETBF0ExitInt:

POP01HRETIHexToBCD:

MOVB,#10DIVABMOV@R0,BINCR0MOV@R0,AINCR0RETDisplay:

MOVR0,#bufferMOVA,secACALLHexToBCDMOV@R0,#10H;

第三位不显示INCR0MOVA,minACALLHexToBCDMOV@R0,#10H;

第六位不显示INCR0MOVA,hourACALLHexToBCDMOVR0,#bufferLCALLDisplay8RET  END  六、思考题  1、定时器0初始化时,为什么设置TL0为176,TH0为60?

2、电子钟走时精度与哪些有关系?

中断程序中给TL0赋值为什么与初始化程序中不一样?

  3、使用定时器方式二,重新编写该程序。

  4、如何利用定时、中断实现交通灯的控制功能?

  -17-  123实验七双机通讯实验一、实验目的与要求1、了解单片机串行口的内部结构、工作原理;

使用串行口方式二进行两个单片机之间的串行通信。

2、认真预习,做好实验前的准备工作,填写实验报告。

二、实验设备STARES598PCI实验仪两套、PC机两台三、实验内容1、编写程序:

A机向B机发送一个字节的数据,B机接收到后,将该数据显示在B机P1口的发光二极管上,再将该数据发送给A机,A机接收到B机发回的数据后,显示在A机P1口的发光二极管上。

2、按图连线,运行程序,观察实验结果,掌握8250的各项功能及编程方法。

四、实验原理图//////////VPPALE/五、实验步骤1、连线说明:

①A、B机实验仪上均连线:

JP51A机A3区:

RXDA3区:

TXDC1区:

GND②A机与B机交叉连线:

——B机————A3区:

TXDA3区:

RXDC1区:

GND-18-R112DS37L3R113DS38L4R114DS39L5——G6区:

JP65R115DS40L6R116DS41L7R117DS42L8VCCR1181011121314151617181920

      kpTH1  DAC0832AD  EXTRNDATA3EHXDATA0F000H    CODE(GetKeyA,Display8)  ;

DAC0832片选地址  CSEGATLJMPCSEGATLJMPCSEGATLJMPCSEGATSTART:

MOV  LCALLMAIN:

LCALLJNC  JNZKey0:

MOVADDCJNEJNC  MOVKey0_1:

MOVLCALL  SJMPKey1:

MOVCLRSUBBJNC  CLRKey1_1:

MOV  LCALLMain1:

JNBCLRLCALL  JMP;

主程序初始化    0000HSTART000BHTIME00013HiINT10100HSP,#60HMainINITGetKeyAMain1Key1A,#VoltageOffsetA,VOLTAGEA,VOLTAGE,$+3Key0_1A,#0FFHVOLTAGE,ADACMain1A,VOLTAGECA,#VoltageOffsetKey1_1AVOLTAGE,ADACF0,MAINF0  RateTestMAIN  -34-    ;

定位0  ;

用于定时  ;

光电开关产生脉冲,触发中断  ;

初始化;

按键扫描  ;

0号键按下,转速提高    ;

最大;

D/A  ;

1号键按下,转速降低    ;

最小;

F0=1,定时标志,刷新转速  ;

计算转速/显示  ;

循环进行实验内容介绍与测速功能测试  MainINIT:

CLRMOVF0  VOLTAGE,#99HA,VOLTAGEDAC  MOVLCALL;

定时器/计数器初始化MOV  MOVMOV  ;

清读取转速标志  ;

初始化转换电压输入值,  ;

初始D/A  MOVMOVMOVMOVMOVMOVMOVSETBSETBSETBSETBSETBSETBRET  ;

定时器0中断服务程序TIME0:

PUSHACCMOVTL0,#0D5H;

产生的定时(采用晶振)MOVTH0,#4BHDJNZR4,TIMER0_1SETBF0;

*4s间隔标志F0MOVR4,#5*4MOVA,NowCountLRRARRAANLA,#3FHMOVCount,AMOVA,NowCountH    -35-  TMOD,#11H  ;

开定时器0:

定时方式1,定时器1:

定时方式1R4,#5*4;

定时5x50x4ms  TL0,#0D4H  ;

初始化定时器0,定时50ms()TH0,#4BHTL1,#00H;

初始化器定时1TH1,#00HkpTL1,#00H;

保存上一次定时器1的值kpTH1,#00HNowCountL,#0;

计数器NowCountH,#0TR0;

开始定时TR1;

开始定时ET0;

开定时器0中断EX1;

开外部中断1IT1;

边沿触发EA;

允许中断  RRARRAANLA,#0C0H  ;

转一圈,产生四个脉冲,Count=NowCount/4ORLCount,A  MOVMOVTIMER0_1:

POPRETIiINT1:

PUSHPUSHCLRMOVCLRSUBBMOVMOVSUBBJNZMOVCJNEJCiINT1_1:

INCMOVJNZINCiINT1_3:

MOViINT1_2:

MOVSETBPOPPOPRETI;

转速测量/显示RateTest:

MOVMOVDIVJNZMOVRateTest1:

MOV  NowCountL,#0NowCountH,#0ACCPSWACCTR1A,TL1CA,kpTL1kpTL1,AA,TH1A,kpTH1iINT1_1A,kpTL1A,#30H,$+3iINT1_2NowCountLA,NowCountLiINT1_3NowCountHkpTL1,TL1kpTH1,TH1TR1ACCPSWA,CountB,#10ABRateTest1A,#10Hbuffer+1,A-36-  ;

光电开关产生脉冲,触发中断  ;

过滤干扰脉冲  ;

高位为0,不需要显示  MOVbuffer,BMOVA,VOLTAGE;

给0832送的数据ANLA,#0FHMOVbuffer+4,AMOVA,VOLTAGEANLA,#0F0HSWAPAMOVbuffer+5,AMOVbuffer+2,#10H;

不显示MOVbuffer+3,#10HMOVbuffer+6,#10HMOVbuffer+7,#10HMOVR0,#bufferLCALLDisplay8;

显示转换结果RET;

数模转换,A-转换数字量DAC:

MOVDPTR,#DAC0832ADMOVX@DPTR,ARET  END七.思考题  在日光灯或白炽灯下,将转速调节到25、50、75,观察转盘有什么现象出来?

  -37-  实验十三LED16*16点阵实验一、实验目的与要求1、熟悉8155、8255的功能,了解点阵显示的原理及控制方法;

2、学会使用LED点阵,通过编程显示不同字符;

3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。

二、实验设备STAR系列实验仪一套、PC机一台。

三、实验内容1、编写程序,用8255的PA、PB口控制16×

16点阵的行;

8255的PC口、8155的PA口控制16×

16点阵的列;

显示字符。

2、按图连接线路;

运行程序,观察实验结果,学会控制LED点阵显示字符。

四、实验原理图JP338255JP3481551017151311864219110171513118642A8A7A6A5A4A3A2A1U48SN74LS240NPA0PA1PA2PA3PA4PA5PA6PA7OE2OE1VCCGNDOE2OE120VCCVCCLED387314212115R1R2R3R4R5R6R7R8LED487314212115R1R2R3R4R5R6R7R8PC0PC1PC2PC3PC4PC5PC6PC7R

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

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

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