首页 单片机实验书汇编

单片机实验书汇编

举报
开通vip

单片机实验书汇编实验单片机I/O接口实验【实验目的】利用单片机的P1口作10口,学会利用P1口作为输入和输出口。一_-台一个【实验设备及器材】笔记本电脑HL-1单片机开发板【实验内容】编写一段程序,用P1口作为控制端口,使开发板上的LED轮流亮。【实验要求】学会使用单片机的P1口作10口,如果有时间也可以利用P3口作10口来做该实验。【实验步骤】1、实验原理如图1-1所示。20181?16151413叭FLODB1Pl.lDB?RD.pnDB3Pl.3D&1Pl4~DB?Pl.5DBS...

单片机实验书汇编
实验单片机I/O接口实验【实验目的】利用单片机的P1口作10口,学会利用P1口作为输入和输出口。一_-台一个【实验设备及器材】笔记本电脑HL-1单片机开发板【实验内容】编写一段程序,用P1口作为控制端口,使开发板上的LED轮流亮。【实验要求】学会使用单片机的P1口作10口,如果有时间也可以利用P3口作10口来做该实验。【实验步骤】1、实验原理如图1-1所示。20181?16151413叭FLODB1Pl.lDB?RD.pnDB3Pl.3D&1Pl4~DB?Pl.5DBSPl6DB7P:DBSitsrPS.O*HsP53INTIP34f—函5PV6GNI?yrP10P1.1P1.2P15P1.4P15P16P17RSTcot丄345百7VCPO.POPOPORPOPOR10RXD耳JI11TXDALE3012urroPSEN2913INTIP272814TO2715T1P2.516TOP2.42517TOP2324ISXTAL2P2223IPXTAL1P2120GNDP2021i53~FoT'Di~KTD2XI2"55~P03m?041D>PO?EX'PuriP~piT^ALE\VEP27DIE琢LCDENP25~FM~PTT1SB20-F22PI1T57T012345百789勺TJDo--^1-11.^1-«1^・VDID2-T5F"kkT57^OK■■■GND图上标注的为PCE网络编号,口丁以对应相关的外制;模块51单片机最小系统图1-13H-CTELL<|>2、用汇编语言编写好源程序。(在电脑上的编辑器软件中)3、将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、HEX文件)。4、用下载软件将目标程序写入到单片机中。5、写入后会自动运行目标程序。如果程序运行不正常、可以用人工检查、软件仿真器等技术排除所编程序中存在的各种错误。错误排除后,再重复上面的3、4步骤。【实验预习要求】理解该实验单片机开发板的硬件结构,可以预先把程序编好,然后在KeilC51环境下进行软件仿真。【实验参考程序】;放置数据在0100地址以后ORG0100TMP1:DB01H,02H,04H,08H,10H,20H,40H,80H,81H,82HDB84H,88H,90H,0A0H,0C0H,0C1H,0C2H,0C4H,0C8H,0D0HDB0E0H,0E1H,0E2H,0E4H,0E8H,0F0H,0F1H,0F2H,0F4H,0F8HDB0F9H,0FAH,0FCH,0FDH,0FEH,0FFH,0FFH,00H,0FFH,00HORG0000H;程序的开始LJMPMAIN;转入主程序ORG0200H;主程序的开始MAIN:MOVDPTR,#TMP1;得到数据存放的地址MOVR7,#50;设置循环40次M1:CLRAMOVCA,@A+DPTR;读取相应地址的数据CPLA;因发光二极管采用共阳极,所以将数据取反再输出MOVP1,AINCDPTR;进入下一个数据准备LCALLDELAY;转入延时子程序DJNZR7,M1;40次未完成继续LJMPMAIN;40次完成回到主程序循环DELAY:MOVR5,#255;延时子程序D1:MOVR6,#255DJNZR6,$DJNZR5,D1RETEND;程序体结束【实验思考题】想出几个实现以上功能的编程方法。实验二定时/计数器实验【实验目的】1、掌握定时器/计数器的使用方法。2、熟悉定时器/计数器的工作过程及编程。3、掌握定时时间常数的确定方法。一_-台一个【实验设备及器件】笔记本电脑HL-1单片机开发板【实验原理及内容】8051单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的定时/计数器的结构:定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,寄存器,控制T0、T1的启动和停止及设置溢出标志。T1引脚01/24。确定工作方式和功能;TCON是控制TQ引即9期时TLO5内部总钱TMOD外苗中斷相董位TI方式R方式TH17T1厂i1■■■F:'<7计数器初值的计算:设计数器的最大计数值为M(根据不同工作方式,M可以是213、216或28),则计算初值X的公式如下:X=M-要求的计数值(十六进制数)定时器初值的计算:在定时器模式下,计数器由单片机主脉冲fosc经12分频后计数。因此,定时器定时初值计算公式:X=M-(要求的定时值"(12/fosc)80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;Tcor用于控制其启动和中断申请。工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:也*35*%A2*字节地址:89H*GATEC/fMlMOGATEC/fMlMOTMODGATE门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了或引脚为高电平这一条件。M1M0工作方式设置位。定时/计数器有四种工作方式,由M1M(进行设置。定时/计数鋸工作方式设賢表」[IMOr工作方式说明门og13位定时/计数器卩方式w16位定时/计数器口1如方式2Q8位自动重裝定时财数器匚歳3卩TO分成两个独立的8位定时/计数器匸T1此方式停止计数乂实验内容:1、通过定时器延时实现P1口LED的闪亮。2、对按键S2按下的次数进行计数,当计数记到3时,第一个发光二极管被点亮。【实验步骤】用汇编语言编写好源程序。(在电脑上的编辑器软件中)将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、HEX文件)。用下载软件将目标程序写入到单片机中。写入后会自动运行目标程序。如果程序运行不正常、可以用人工检查、软件仿真器等技术排除所编程序中存在的各种错误。错误排除后,再重复上面的2、3步骤。【实验预习要求】1、参阅MCS-51有关定时器/计数器部分章节。2、弄清有关定时器/计数器控制寄存器的格式及设定方法。3、弄清实验中定时时间常数是如何确定的。【实验参考程序】定时器延时实现LED点亮:ORG0000HAJMPSTARTORG30HSTART:MOVP1,#0FFH;关闭所有的灯MOVTMOD,#00000001B;定时/计数器0工作于方式1MOVTH0,#0fHMOVTL0,#0A0H;以上两行预置计数SETBTR0;定时/计数器0开始运行LOOP:JBCTF0,NEXT;如果TFO等于1,则将TFO清0并转next处AJMPLOOP;否则跳转到LOOP处运行NEXT:CPLP1.0;点亮P1.0灯MOVTH0,#0fH;MOVTL0,#0A0H;重置定时/计数器的初值AJMPLOOPEND计数器计数实现LED点亮程序:#include#defineuintunsignedint//uintpp;sbitled=P1A0;voidmain(){TMOD=0x05;M0=1)。TR0=1;ET0=1;EA=1;while(1){if(TL0==3)sbits2=P3A4;//模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0,//打开计数器//开计数器0中断//开总中断//当计数为3时,led被点亮。当然,由于有按键抖动,故有时未按三下S2,灯已经亮了。led=0;/*voidtime0()interrupt1{pp++;}*/【实验思考题】想出几个实现以上功能的编程方法。实验三外部中断系统实验【实验目的】掌握51单片机中断的原理及使用方法。掌握51单片机外部中断的基本用法。【实验设备】笔记本电脑一台HL-1单片机开发板一个【实验原理及内容】1实验原理外部中断:由I/O设备产生的中断,也称I/O中断。I/O中断产生的时间事先不可知,但一旦有I/O请求就会向微处理器发出电信号,微处理器便自动测试I/O的状态,省去了大量判断I/O请求是否发生的时间,因此可以提高微处理器的效率。实验内容利用低电平中断触发使S12键每按下一次,P1口所接发光二极管的亮灭状态就发生一次改变。【实验步骤】用汇编语言编写好源程序。(在电脑上的编辑器软件中)将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、HEX文件)。用下载软件将目标程序写入到单片机中。写入后会自动运行目标程序。如果程序运行不正常、可以用人工检查、软件仿真器等技术排除所编程序中存在的各种错误。错误排除后,再重复上面的2、3步骤。实验参考程序】/**********************慧净电子51实验板例程************************平台:HL-1HJ-1GHJ-3GHJ-C52+KeilU4英文版本+STC89C52名称:HJ-C52按下K3产生中断信号,流水灯会加1HL-1HJ-3G要用杜邦线一端接到GND上,另一端接到P3.210口上,多次。操作:HL-1HJ-3G要产生中断信号,记得用杜邦线多次接到GND和P3.2上。******************************************************************/0RG0000HLJMPMAIN0RG0003H;中断入口LJMPINT0RG0200HMAIN:SETBEA;首先开启总中断SETBEX0;开启外部中断0,艮卩P32引脚CLRIT0;设置成低电平触发方式clrP3.7M1:SJMP$;主程序只等待中断INT:DECP1;外部中断0中断响应,将P1口内容减1LCALLDELAYRETI;中断结束返回DELAY:MOVR5,#255;延时子程序D1:MOVR6,#255DJNZR6,$DJNZR5,D1RETEND【实验思考题】想出几个实现以上功能的编程方法。实验四扳键,LED的接口与应用【实验目的】掌握51单片微机实验装置;学会使用其功能电路,连成实验需要的系统。学习扳键与单片机接口、应用的技能。学习LED与单片机接口、应用的技能。研究延时程序。学习键盘去抖方法。【实验设备】笔记本电脑一台HL-1单片机开发板一个【实验内容】用P3.4口作为信号采集输入口,与扳键连接;用P1.0口作为输出口,与LED连接。用扳键控制输入电路的电平,用LED反应电路的输出电平。实验中要注意键盘的去抖。【实验步骤】1.用汇编语言编写好源程序。(在电脑上的编辑器软件中)将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、HEX文件)。用下载软件将目标程序写入到单片机中。写入后会自动运行目标程序。如果程序运行不正常、可以用人工检查、软件仿真器等技术排除所编程序中存在的各种错误。错误排除后,再重复上面的2、3步骤。【实验参考程序】ORG0000HLJMPLOOP3ORG0030HLOOP3:SETBP3.0LOOP2:JNBP3.4,DELAYLJMPLOOP2LOOP4:CPLP1.0LJMPLOOP2DELAY:MOVR5,#255;延时子程序D1:MOVR6,#255DJNZR6,$DJNZR5,D1JBP3.4,LOOP4实验五单片机串行通讯实验【实验目的】1掌握串行口自发自收的原理及编程。2、掌握串行口方式1的使用及其波特率的计算。【实验设备】笔记本电脑一台HL-1单片机开发板一个【实验内容及原理】本实验为串行口自发自收实验,串行口设为工作方式2,发送数据块存放在RAM50H~5FH中,通过串行口发出,再通过串行口接收,接收数据块存放在RAM50H~5FH中。实验中数据传输通过程序查询控制,主要查询数据有否收到,因只要数据收到,则该数据肯定已发送完毕。本实验中将串行口波特率设置为2400bps,具体计算如下(fosc=12MHZ):波特率=(2smod/32)Xfosc/(12X(256-X))SMOD—c(2/326X12X10/(12X(256-243))=2400bps式中X取243(F3H),即T1的计数器TH1、TL1取值#0F3Ho【实验步骤】1、下载安装串口软件。2、用汇编语言编写好源程序。(在电脑上的编辑器软件中)3、将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、HEX文件)。4、用下载软件将目标程序写入到单片机中。5、启动串口软件,串口软件与单片机进行数据传送与接收。【参考程序】/**********************慧净电子51实验板例程*************************平台:HL-1HJ-1GHJ-3GHJ-C52+KeilU4英文版本+STC89C52*名称:串口调试程序,查询法接收数据*操作:运行本例子,打开本例子文件夹中的上位机软件,设置波特率数据,接收区返回接收内容2400,再进行发送*晶振:12MHZ其中HJ-1G采用12M晶振******************************************************************/ORG0000HLJMPMAIN;主程序的开始ORG0200HMAIN:MOVTMOD,#20H;设置定时器1为模式2,做为波特率发生器MOVTL1,#0FDH;9600波特率的初值,板子使用12M晶振MOVTH1,#0FDH;SETBTR1;启动波特率发生MOVSCON,#50H;串口的工作方式,设置为方式2M1:JNBRI,M1;查询是否有数据接收MOVA,SBUF;数据暂存于ACLRRI;允许接收MOVSBUF,A;将接收到的数据发送出去M2:JNBTI,M2;等待发送完成CLRTISJMPM1;循环扫描串行通讯接口数据END【实验思考】想出几个实现以上功能的编程方法。实验六单片机系统综合应用实验【实验目的】1掌握单片机51最小系统。2、用单片机51最小系统制作交通灯。【实验设备】笔记本电脑一台HL-1单片机开发板一个【实验内容】利用单片机的定时器定时,实现道路的红绿灯交替点亮和熄灭。以AT89C51单片机为核心,设计一个十字路口交通灯控制系统。用单片机控制LED灯模拟交通信号灯显示。假定东西、南北方向方向通行(绿灯)时间为3秒,缓冲(黄灯)时间6秒,停止(红灯)时间9秒。南北方向、东西方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。【实验步骤】1、用汇编语言编写好源程序。(在电脑上的编辑器软件中)2、将源程序(也叫源代码、源文件)编译成目标程序(也叫目标代码、机器码、目标文件、HEX文件)。3、用下载软件将目标程序写入到单片机中。4、写入后会自动运行目标程序。如果程序运行不正常、可以用人工检查、软件仿真器等技术排除所编程序中存在的各种错误。错误排除后,再重复上面的2、3步骤。【实验参考程序】ORG00HRED:MOVR4,#0BHSTART1:DECR4MOVDPTR,#200HMOVA,R4MOVB,#0AHDIVABMOV20H,BMOV21H,AMOVP1,#11111100BCALLDELAYCJNER4,#00H,START1JMPGREENSCAN1:MOVP0,#00HMOVA,21HMOVCA,@A+DPTRMOVP0,ACALLDELAY1MOVP0,#01HMOVA,20HMOVCA,@A+DPTRMOVP0,ACALLDELAY1RETGREEN:MOVR4,#07HSTART2:DECR4MOVDPTR,#200HMOVA,R4MOVB,#0AHDIVABMOV20H,BMOV21H,AMOVP1,#11001111BCALLDELAYCJNER4,#00H,START2JMPYELLOWSCAN2:MOVP0,#00HMOVA,21HMOVCA,@A+DPTRMOVP0,ACALLDELAY1MOVP0,#01HMOVA,20HMOVCA,@A+DPTRMOVP0,ACALLDELAY1RETYELLOW:MOVR4,#04HSTART3:DECR4MOVDPTR,#200HMOVA,R4MOVB,#0AHDIVABMOV20H,BMOV21H,ACALLSCAN3MOVP1,#11110011BCALLDELAY2MOVP1,#11111111BCALLDELAY2CJNER4,#00H,START3JMPREDSCAN3:MOVP0,#00HMOVA,21HMOVCA,@A+DPTRMOVP0,ACALLDELAY1MOVP0,#01HMOVA,20HMOVCA,@A+DPTRMOVP0,ACALLDELAY1RETDELAY:MOVR0,#5D1:MOVR1,#40D2:MOVR2,#248CALLSCAN3DJNZR2,$DJNZR1,D2DJNZR0,D1RETDELAY1:MOVR3,#2D3:MOVR5,#248DJNZR5,$DJNZR3,D3RETDELAY2:MOVR6,#100D0:MOVR7,#248CALLSCAN3DJNZDJNZRETR7,$R6,D0ORG0200HTABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND【实验思考】当有救护车经过时,怎样让交通灯全部变为红色,当救护车经过后,恢复正常。
本文档为【单片机实验书汇编】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_072127
暂无简介~
格式:doc
大小:58KB
软件:Word
页数:0
分类:
上传时间:2019-09-18
浏览量:2