当前位置:文档之家› 单片机实验指导书(1)

单片机实验指导书(1)

图3.1P1口输出实验原理图六、实验程序1.8个发光二极管循环闪亮,间隔时间为1秒。

ORG0000HLJMP MAINORG0100HMAIN:MOV SP,#60HMOV A,#01H;LOOP:MOV P1,A;LCALL DELAY;RL A;SJMP LOOP;DELAY:MOV R0,#10;DELY0:MOV R7,#100;DELY1:MOV R6,#250;DJNZ R6,$DJNZ R7,DELY1DJNZ R0,DELY0RETEND2.8个发光二极管同时亮、灭,间隔时间为1秒。

ORG0000HLJMP MAINORG0100HMAIN:MOV SP,#60HMOV A,#0FFH;LOOP:MOV P1,A;LCALL DELAY;CPL A;SJMP LOOP;DELAY:MOV R0,#10;DELY0:MOV R7,#100;DELY1:MOV R6,#250;DJNZ R6,$DJNZ R7,DELY1DJNZ R0,DELY0RETEND2.P2口输入实验一、实验目的学习51单片机的32根I/O口的基本输入功能,以P2口为例,P0,P1,P3口均同理。

二、实验条件TMD-2模块化单片机实验仪主机一台,串口线一条,PC机一台。

三、实验原理如图3.2所示,将16个短路帽(DZ1组和DZ2组)全部都短接上,8个拨动开关(SW0~SW7)接P2口,8个发光二极管(LD0~LD7)接P1口。

图3.2P2口输入、P1口输出实验原理图四、实验内容与要求拨动8个开关,单片机通过P2口读入其状态数据,然后输出到P1口控制8个LED指示灯。

五、实验步骤1.将短路帽组DZ1、DZ2的16个短路帽短接,其余短路帽不短接。

2.给TMD-2加电,运行程序。

六、实验程序ORG0000HLJMP MAINORG0030HMAIN:MOV SP,#30HMOV P1,#0FFH;MOV P2,#0FFH;LOOP:MOV A,P2;MOV P1,A;MOV20H,A;SCAN:MOV A,P2;CJNE A,20H,LOOP;SJMP SCAN;END实验二定时器实验一、实验目的学习51单片机中定时器的功能和应用,学习蜂鸣器的使用。

二、实验条件TMD-2模块化单片机实验仪主机一台,串口线一条,PC机一台。

三、实验原理如图3.3、3.4所示,CPU通过输出端口(8700H)将数码管的字形码锁存在74LS374的输出端,再通过74LS244驱动数码管显示数据。

B1为蜂鸣器,T0通过正与门驱动器DS75451控制蜂鸣器。

当DS75451(U29B)输出低电平时,蜂鸣器鸣叫。

T1通过DS75451控制共阴极数码管(LED)的公共端。

当DS75451(U29A)输出低电平时,数码管显示。

图3.3定时器报警实验原理图四、实验内容与要求编写定时16秒的程序,由数码管实时显示定时时间,16秒定时时间到则停止计数,同时蜂鸣器鸣叫。

五、实验步骤1.短路帽组DZ1、DZ2均不短接。

2.给TMD-2主机加电,运行程序。

六、实验程序ADRLED EQU8700H;ORG0000HLJMP MAINORG1BHLJMP T1INT;ORG0100HMAIN:MOV SP,#60HMOV R0,#0AH;ANL TMOD,#0FH;ORL TMOD,#10HMOV TL1,#0B0H;MOV TH1,#3CHORL IE,#88H;MOV R2,#0;MOV R5,#16;SETB P3.4;CLR P3.5; NEXT:MOV DPTR,#TAB;MOV A,R2MOVC A,@A+DPTR;MOV DPTR,#ADRLED;MOVX@DPTR,A;SETB TR1; LOOP:CJNE R0,#00H,LOOP;INC R2MOV R0,#0AH;DJNZ R5,NEXT;CLR P3.4;MOV A,#0FFH;MOV DPTR,#ADRLED;MOVX@DPTR,A;CLR TR1;SJMP$;T1INT:CLR TR1;DEC R0;MOV TL1,#0B0H;MOV TH1,#3CHSETB TR1;RETITAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;DB7FH,6FH,77H,7CH,58H,5EH,79H,71HEND图3.4数码管显示原理图实验三外部中断实验一、实验目的学习51单片机的外部中断功能。

二、实验条件TMD-2模块化单片机实验仪主机一台,串口线一条,PC机一台。

三、实验原理图3.5中断实验原理图如图3.5所示,KPUS为中断按键。

在中断(/INT0)服务子程序中读取SW0,SW1,SW2这三位开关(端口地址8400H)的状态数据。

然后将开关状态数据送一位数码管显示(端口地址8700H)。

单片机的P3.5(T1)引脚通过正与驱动门芯片DS75451控制共阴极数码管的公共端。

四、实验内容与要求通过拨动开关SW0~SW7的低3位开关SW0~SW2置不同的数,然后按中断按钮,产生一个低电平脉冲,经反相器反相后向单片机申请中断(外部中断0),单片机在中断服务程序中读取开关状态数据并通过数码管显示。

五、实验步骤1.短路帽DZ1、DZ2均不短接。

2.给TMD-2主机通电,运行程序。

3.拨动开关SW0、SW1、SW2,4.按TMD-2上的中断键,数码管显示开关SW2~SW0的状态数据。

六、实验程序ADRLED EQU8700H;ADRSWT EQU8400H;ORG0000HJMP MAINORG0003HLJMP INTORG0030HMAIN:MOV SP,#60HMOV IE,#81H;CLR P3.5;MOV DPTR,#ADRLED;MOV A,#0FFH;MOVX@DPTR,ASETB IT0MOV R0,#0;STAR:CJNE R0,#1,STAR;MOV R0,#0ANL A,#07HMOV DPTR,#TABMOVC A,@A+DPTR;MOV DPTR,#ADRLED;MOVX@DPTR,ASJMP STARINT:MOV DPTR,#ADRSWT;MOVX A,@DPTRJNB ACC.3,JUMP;LOOP1:MOV DPTR,#ADRSWT;MOVX A,@DPTRJB ACC.3,LOOP1MOV R0,#1JUMP:RETITAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;END实验四单片机与PC机串口通讯实验一、实验目的学习单片机串口通讯程序的设计和调试。

二、实验条件TMD-2模块化单片机实验仪主机一台,串口线一条,PC机一台。

三、实验原理图3.6串口实验原理图如图3.6所示,2个与非门(U24A和U24D)组成RS触发器。

当按键KPUS按下时,PULSE端输出正脉冲。

PULSE经非门(U10A)反相后,通过/INT0向单片机申请中断。

在单片机中断服务子程序中读数据端口(端口地址为8400H),读入按键SW0,SW1,SW2三位开关的状态,再把这三位开关当前的状态转化为数字“0”~“7”,然后通过数码管显示。

U6是芯片MAX233,它将CPU发出的TTL电平信号(“0”电平为0V~0.35V,“1”电平为2V~5V)转化为RS232C电平信号(“1”电平为-3V~-15V,“0”电平为+3V~+15V)。

收、发信号通过RS232电缆传送到PC机。

四、实验内容与要求1.TMD-2通过串口向PC机发送数据。

2.TMD-2通过串口接收PC机发送的数据。

五、实验步骤1.用串口线把TMD-2和PC机连接起来。

2.打开TMD-2电源,下载并运行“发数”程序。

3.在PC机上打开串口调试助手软件。

4.TMD-2通过串口向PC机发送数据:拨动开关SW0、SW1、SW2,然后按中断键,数码管显示所发数据,同时PC机的串口调试助手软件接收到TMD-2发送的数据。

5.在串口调试助手中关闭串口,下载并运行“接数”程序(Flash Magic可始终不关)。

6.PC机通过串口向TMD-2发数:通过串口调试助手软件发送数据(十进制数据或十六进制数据均可),TMD-2接收并在数码管显示。

六、实验程序1.拨动开关SW0、SW1、SW2,按中断按钮发送数据,PC机通过串口调试助手接收数据。

ADRLED EQU8700H;ADRSWT EQU8400H;DATEQU21H;ORG0000HLJMP MAINORG0003HLJMP INTORG0100HMAIN:MOV SP,#60HMOV IE,#81H;MOV PSW,#00HSETB IT0;CLR P3.5;MOV DPTR,#ADRLED;MOV A,#0FFH;MOVX@DPTR,AMOV SCON,#52H;MOV TMOD,#20H;MOV TH1,#0F3H;MOV TL1,#0F3HSETB TR1;STAR:JNB PSW.5,STAR;CLR PSW.5MOV A,DAT;ANL A,#07H;MOV DAT,AMOV DPTR,#TABMOVC A,@A+DPTR;MOV DPTR,#ADRLEDMOVX@DPTR,AJNB TI,$;CLR TI;MOV A,DATADD A,#30H;MOV SBUF,A;SJMP STARINT:PUSH DPH;PUSH DPLPUSH ACCMOV DPTR,#ADRSWT;MOVX A,@DPTRJNB ACC.3,JUMP;LOOP1:MOV DPTR,#ADRSWT;MOVX A,@DPTRJB ACC.3,LOOP1MOV DAT,A;SETB PSW.5;JUMP:POP ACCPOP DPLPOP DPHRETITAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;END2PC机通过串口调试助手向TMD-2发送数据0到9,TMD-2接收并通过数码管显示。

ADRLED EQU8700H;ORG0000HLJMP MAINORG0100HMAIN:MOV SP,#60HMOV SCON,#52H;MOV TMOD,#20H;MOV TH1,#0F3H;MOV TL1,#0F3HSETB TR1;CLR P3.5;MOV DPTR,#ADRLED;MOV A,#0FFHMOVX@DPTR,A;WAIT:JNB RI,WAIT;CLR RI;MOV A,SBUF;CJNE A,#30H,J1;SJMP J3J1:JC WAIT;CJNE A,#40H,J2SJMP WAIT;J2:JNC WAIT;J3:CLR C;SUBB A,#30HMOV DPTR,#TABMOVC A,@A+DPTRMOV DPTR,#ADRLED;MOVX@DPTR,ASJMP WAITTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;END。

相关主题