您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 房地产 > 1130510323-强英-硬件实验
姓名:强英学号:1130510323班级:1305103同组人:释小松指导老师:报告日期:2015.4.29.硬件设计实验一:复杂IO口控制实验实验目的:熟练掌握汇编语言的设计和调试方法,掌握对单片机IO的复杂控制。实验内容:1.通过开关控制实现8个LED的两种流水灯工作方式;2.当开关为低电平时,依次循环点亮8个LED,时间间隔为0.2秒;3.当开关为高电平时,相互间隔的4个LED点亮并与另外4个交替闪烁,实验问答:1.实验箱上的8个LED共阴还是共阳,怎么判断?答:共阳,它们的阳极连接在一起,接高电平,当I/O口设置为低电平时,LED灯亮,反之,LED灯熄灭。2.对于两种状态,当间隔分别小于多长时间时,通过肉眼观察不到LED闪烁(常亮)?流水灯模式是20ms,间隔闪烁模式为10ms。实验程序:================================================$NOMOD51$INCLUDE(80C52.MCU);===============================================;DEFINITIONS;===============================================;===============================================;VARIABLES;===============================================;===============================================;RESETandINTERRUPTVECTORS;===============================================;ResetVectororg0000hjmpStart;===============================================;CODESEGMENT;===============================================org0100hStart:MOVC,P1.0JCSTART2START1:CLRCMOVR0,#08HMOVA,#0FEHLOOP1:MOVP0,AMOVR1,#04HACALLDELAYRLAMOVC,P1.0JCSTART2DJNZR0,LOOP1JMPStartSTART2:CLRCMOVR0,#02HMOVA,#0AAHLOOP2:MOVP0,AMOVR1,#0AHACALLDELAYCPLAMOVC,P1.0JCLSJMPSTART1L:DJNZR0,LOOP2JMPStartDELAY:MOVTMOD,#00010000BMOVTL1,#0B0HMOVTH1,#3CHSETBTR1JNBTF1,$CLRTF1DJNZR1,DELAYRET;=================================================Loop:jmpLoop;===============================================END**单个实验报告内容限制在两页之内,打印或转换为PDF格式姓名:强英学号:1130510323班级:1305103同组人:释小松指导老师:报告日期:2015.4.29.硬件设计实验二:定时器中断实验实验目的:了解与掌握定时器中断的使用方法。实验内容:1.设定定时器1为工作方式2,即能自动再装入的8位定时器;2.自定义定时器的初值,并开启总中断与定时器中断;3.通过定时器中断,使P1.0引脚电平高低变化,完成1个LED灯的闪烁。实验问答:1.简述定时器四种不同的工作方式的区别。方式0:13位,由TH0的8位和TL0的低5位构成方式1:16位定时器,其结构和操作与方式0相同,只有位数不同方式2:8位定时器,可自动重装初值方式3:T0分为两个独立的8位定时器,这时T1只能工作在方式0、1、2,且不能用于中断2.简述设计中断程序的一般方法。(1)现场保护和现场恢复(2)关中断与开中断(3)中断处理(4)中断返回实验程序:================================================$NOMOD51$INCLUDE(80C52.MCU);===============================================;DEFINITIONS;===============================================;===============================================;VARIABLES;===============================================;===============================================;RESETandINTERRUPTVECTORS;===============================================;ResetVectororg0000hjmpStart;===============================================;CODESEGMENT;===============================================ORG000BHJMPX0ORG001BHJMPX1org0100hStart:SETBEASETBET1SETBET0MOVTL1,#250MOVTH1,#250MOVTL0,#0B0HMOVTH0,#3CHMOVTMOD,#25HSETBTR1SETBTR0MAIN:SJMPMAINX0:MOVTL0,#0B0HMOVTH0,#3CHCPLP1.0RETIX1:CPLP3.4RETILoop:JMPLoop;===============================================;======================END**单个实验报告内容限制在两页之内,打印或转换为PDF格式。姓名:强英学号:1130510323班级:1305103同组人:释小松指导老师:报告日期:2015.4.29.硬件设计实验三:直流电机控制实验实验目的:了解单片机控制直流电机的工作原理。实验内容:1.编写程序查询P1.0引脚的电平,使其低电平时电机正转,反之,反转;2.使用P2.1与P2.2两个引脚控制电机IN1与IN2的电平。实验问答:1.电机的正反转是通过什么方式控制的?通过单片机I/O口设置,选用P2.1和P2.2,两者电平高低不同会出现电机转动,当P2.2为低,P2.1为高时,电机正转,反之,电机就会反转。2.如何控制电机的转速,给出一个可行的方案。通过设定定时器工作方式2,设置可重装定时器初值,能够输出确定占空比的PWM信号,通过改变预重装值,便可改变输出的PWM占空比,从而控制电机转速。实验程序:================================================$NOMOD51$INCLUDE(80C52.MCU);===============================================;DEFINITIONS;===============================================;===============================================;VARIABLES;===============================================;===============================================;RESETandINTERRUPTVECTORS;===============================================;ResetVectororg0000hjmpStart;===============================================;CODESEGMENT;===============================================START:JBP1.0,MODE2MODE1:CLRP2.2SETBP2.1AJMPSTARTMODE2:CLRP2.1SETBP2.2AJMPSTARTENDLoop:jmpLoop;===============================================END姓名:强英学号:1130510323班级:1305103同组人:释小松指导老师:报告日期:2015.4.29.硬件实验四:PC串口通信实验实验目的:了解与掌握串行通信的工作原理。实验内容:1.串行通信采用工作方式1,定时器采用工作方式2;2.单片机时钟频率为11.0592MHz,波特率为9600bit/s,设定定时器的初值;3.以查表的方式,发送字符串,如“!welcometoyou!”,完成串行通信;4.其中用寄存器R0记录发送的数据个数。实验问答:1.当串行通信工作在方式1的时候,是如何完成发送任务的?当CPU执行一条数据写发送缓冲器SBUF的指令时,就启动发送。TX时钟频率就是发送的波特率。发送开始时,内部发送控制信号变为有效。将起始位向TXD输出,此后每经过一个TX时钟周期,便产生一个移位脉冲,并由TXD输出一个数据位。8位数据位全部发送完后,置“1”中断标志位TI,并申请中断。2.当中断标志位TI置1的时候,为何要调用一段延时程序?为了使接受的数据速度不至于过快。实验程序:================================================$NOMOD51$INCLUDE(80C52.MCU);===============================================;DEFINITIONS;===============================================;===============================================;VARIABLES;===============================================;===============================================;RESETandINTERRUPTVECTORS;===============================================;ResetVectororg0000hjmpStart;===============================================;CODESEGMENT;===============================================org0100hStart:MOVSP,#30HMOVSCON,#50HMOVTMOD,#20HMOVTL1,#0FDHMOVTH1,#0FDHSETBTR1RETURN:MOVR0,#00HMOVA,R0DELAY05S:MOVR7,#05D1:MOVR6,#200D2:MOVR5,#250DJNZR5,$DJNZR6,D2DJNZR7,D1RETTAB:DB!welcometoyou!;===============================================ENDMOVDPTR,#TABGOON:MOVCA,@A+DPTRMOVSBUF,ALP:JBCTI,NEXTAJM
本文标题:1130510323-强英-硬件实验
链接地址:https://www.777doc.com/doc-5151293 .html