文档介绍:《单片机应用系统设计》实验报告院系:仪器科学与工程学院专业:测控技术与仪器实验室:机械楼5楼同组人员:评定成绩:审阅教师:硬件实验一I/O口输入/输出及控制实验Ⅰ、I/O口输入/输出实验一、实验目的 1、学****单片机I/O口的使用方法 2、学****延时子程序的编写和使用二、实验内容 1、I/O口输出:P1口做输出口,接八只发光二极管,编写程序让发光二极管循环点亮。 2、I/O口输入/输出:、;、,接两个发光二极管。编写程序读取开关状态,将此状态在发光二极管上显示出来。、,才能正确读入值。三、实验步骤1、I/、I/O口输入/、实验说明(1)对于MCS51,P1口是准双向口。它作为输出口时与一般的双向口使用方法想同;但准双向口用作输入口时,因其结构特点必须对它置“1”,否则读入的数据容易产生错误。(2)8051延时子程序的延时计算问题,对于程序 DELAY: MOVR6,#0H MOVR7,#0H DELAYLOOP: DJNZR6,DELAYLOOP DJNZR7,DELAYLOOP RET查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器周期时间为:12/12MHZ=1ms,该延时子程序延时:(256X255+2)X2X1us=130ms。4、分别连接硬件并执行相关程序,记录结果。四、提高要求修改I/O口输出程序,先1、3、5、7灯亮,延时后2、4、6、8灯亮,交替点亮。五、程序框图六、实验程序I/O口输出(P1口循环点灯)LOOP:MOVA,#01HMOVR2,#8OUTPUT:MOVP1,ARLACALLDELAYDJNZR2,OUTPUTLJMPLOOPDELAY:MOVR6,#0MOVR7,#0DELAYLOOP:DJNZR6,DELAYLOOPDJNZR7,DELAYLOOPRETENDI/O口输入/输出(P1口输入/输出):MOVC,KEYLEFTMOVLEDLEFT,CMOVC,KEYRIGHTMOVLEDRIGHT,CLJMPLOOPEND七、实验结果 I/O口输出实验:运行程序后可以看到8个LED从右向左循环点亮; I/O口输入/输出实验:运行程序后,拨动某一个开关后会看到对应LED发光。八、实验提高部分修改I/O口输出程序,改成先1,3,5,7灯亮,再2,4,6,8灯亮。LOOP:MOVA,#55H;55H即B,对应1、3、5、7灯亮MOVR2,#8OUTPUT:MOVP1,ARLA;对B作右移,对应2、4、6、8灯亮CALLDELAYDJNZR2,OUTPUTLJMPLOOPDELAY:MOVR6,#0MOVR7,#0DELAYLOOP:DJNZR6,DELAYLOOPDJNZR7,DELAYLOOPRETEND九、实验思考查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器周期时间:12/12MHZ=1ms,该延时子程序延时:(256X256+2)X2X1us=130ms。由于DJNZ指令是先对寄存器内容减1再与0比较,所以给R6R7赋值0可以获得最长延时。Ⅱ、继电器控制实验一、实验目的 1、学****I/O端口的使用方法; 2、掌握继电器控制的基本方法; 3、了解用弱电控制强电的方法。二、实验内容 用单片机端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。三、实验步骤1、、实验说明 现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(如电动机、电磁铁、电灯等),另一方面又要为电子电路与电气电路提供良好的电气隔离,以保护电子电路和人身的安全。继电器便能完成这一作用。 本实验采用的继电器其控制电压是5V,控制端为高电平时,继电器工作常开触点吸合,连接触点的LED灯被点亮。当控制端为低电平时,继电器不工作,LED灯灭。3、分析并执行程序四、提高要求1、修改程序,改变继电器吸合的时间间隔;2、查询资料,了解其他弱电控制强电的方法。程序框图六