南昌大学单片机实验报告及程序_第1页
南昌大学单片机实验报告及程序_第2页
南昌大学单片机实验报告及程序_第3页
南昌大学单片机实验报告及程序_第4页
南昌大学单片机实验报告及程序_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实 验 报 告实验课程: 单片机原理与应用实验 学生姓名: 吴晓峰 学 号: 6100311019 专业班级: 电力系统及其自动化111班 2013年 12 月 16 日 南昌大学实验报告学生姓名: 吴晓峰 学 号: 6100311019 专业班级: 电力系统111班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩: 实验一、I/O口的应用1、 实验要求单片机P1.0口外接8个LED灯,P3.0口接开关,电路图如下,当开关断开时,流水灯从L1到L7依次间隔0.2秒循环点亮,在任意位置当开关合上时,流水灯便从L7灯开始,按照L7到L6的顺序点亮,晶振选用11.0592MH。二、选择元器

2、件1 80C512 Crystal3 CAP4 22p ceramic22p5 3watt10k6 LED-BIRG7 SWITCH 三、放置元器件及连线用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。4、 实验程序程序要求:用延时程序设计灯每间隔0.2秒循环点亮1、汇编程序: ORG 0000H LJMP STARTSTART: MOV SP,#60H; 设置堆栈 JB P3.0,ZY; 若开关断开,P3.0为1,转到左移子程序 JNB P3.0,YY; 若开关合上,P3.0为0,转到右移子

3、程序YY: MOV A,#7FH; 右移程序 ACALL YY1 RETZY: MOV A,#0FEH; 左移程序 ACALL ZY1 RETYY1: MOV P1,A; 将A送入P1,灯从L7开始亮 ACALL DELAYS; 延时 RR A; 右移一位 JNB P3.0,YY1; 判断开关是否合上,若合上,P3.0为0,转到YY1,继续右移 JB P3.0,START; 若开关断开,P3.0为1,转到START,重新从L1灯开始左移 RETZY1: MOV P1,A; 将A送入P1,灯从L1开始亮 ACALL DELAYS; 延时 RL A; 左移一位 JNB P3.0,START; 若开

4、关合上,P3.0为0,转到START,重新从L7灯开始右移 JB P3.0,ZY1; 若开关断开,P3.0为1,转到ZY1,继续左移 RET DELAYS: MOV R6,#2; 延时0.2sDELAYS2: MOV R4,#100; 延时100msDELAYS1: MOV R5,#230; 延时1ms LOOP: NOP NOP DJNZ R5,LOOP DJNZ R4,DELAYS1 DJNZ R6,DELAYS2 RET END四、实验心得 通过本次对实验程序进行了仿真与调试,因此实验顺利完成,但有些时候还是有问题,本次试验,是我们更加对I/O口有进一步了解,是我们更好地掌握所学的知识现

5、象:打开开关,我们观察到L1到L7灯循环亮。 南昌大学实验报告学生姓名: 吴晓峰 学 号: 6100311019 专业班级: 电力系统111班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩:实验二、外部中断实验一、实验目的 学习外部中断技术的基本使用方法。 二、实验内容 INT0 端接单次脉冲发生器。 按一次脉冲产生一次中断,CPU 使P1.0 状态发生一次反转,P1.0接 LED 灯,以查看信号反转。 三、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。 四、实验说明1)外部中断的初始化设置共有三项内容:中断总允许即 EA=1,外部中断允许即 EXi=1(i=0或1)

6、,中断方式设置。中断方式设置一般有两种方式:电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚 INT0(P3.2)和 INT1(P3.3)引入。 2)中断服务的关键:a、保护进入中断时的状态。 堆栈有保护断点和保护现场的功能使用 PUSH 指令, 在转中断服务程序之 前把单片机中有关寄存单元的内容保护起来。 b、必须在中断服务程序中设定是否允许中断重入,即设置 EX0 位。 c、用 POP 指令恢复中断时的现场。 3)中断控制原理:中断控制是提供给用户使用的中断控制手段。实际上就是控制一些寄存器,

7、51 系列用于此目的的控制寄存器有四个:TCON 、IE 、SCON 及 IP。 4) 中断响应的过程: 首先中断采样然后中断查询最后中断响应。 采样是中断处理的第一步,5) 对于本实验的脉冲方式的中断请求, 若在两个相邻周期采样先高电平后低电平则中断请求有效,6) IE0 或 IE1 置“1” ;否则继续为“0” 。所谓查询就是由 CPU 测试 TCON 和 SCON 中各标志位的状7) 态以确定有没有中断请求发生以及是那一个中断请求。中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。 8) 本实验需要用到 CPU 模块(F3 区)和八位逻辑电平显

8、示模块(B5 区) 、单次脉冲模块(E3区)。 五、实验预习要求 学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。 六、实验步骤 1) 系统各跳线器处在初始设置状态, 用导线连接单次脉冲模块的输出端到 CPU 模块的 P32;CPU 模块的P10 接八位逻辑电平显示模块的灯。 2)启动PC机,打开 THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 3)连续按动单次脉冲产生电路的按键,发光二极管 L0 每按一次状态取反,即隔一次点亮。 七、实验程序 1.汇编程序 ORG 0000H LJMP MAIN ORG 0003H LJMP ITOP ORG 10

9、00HMAIN: MOV SP,#60H SETB EX0 SETB IT0 SETB EAHERE: SJMP HERE ITOP: CPL P1.0 RETI END2、C语言程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED=P10;void main()IE0=1;IT0=1;EX0=1;EA=1;while(1);void zhongduan() interrupt 0LED=!LED; /取反八、结果分析:运行程序后,连续按动单次脉冲产生电路的按键,发光二极管L0

10、 每按一次状态取反,即隔一次点亮,综合分析,本实验主要有2个模块:中断模块和主程序模块,主程序主要是用来初始化中断的,包括中断模式的选择,中断开关的打开,当脉冲变化时触发中断,硬件自动产生ACALL指令,跳转到中端口执行程序。九、实验心得 通过这次实验,我学到了如何通过外部的控制,对单片机实现中断的处理,外部中断首先要初始化设置,中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式的选择可以选择电平方式或者脉冲方式。本次试验外部中断,通过程序的仿真与调试,我们完成了实验,本次试验,是我们了解外部中断的原理及如何应用,让我们去掌握学到的知识,印象更深刻,学以致用。 现

11、象:按一次脉冲产生一次中断,CPU 使P1.0 状态发生一次反转,P1.0接 LED 灯,以查看信号反转。 南昌大学实验报告学生姓名: 吴晓峰 学 号: 6100311019 专业班级: 电力系统111班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩:实验三、定时器计时器的应用1、 实验目的学习51单片机内部计数器的使用和编程方法。二、实验内容单片机P1.0口外接8个LED灯,P3.0口接开关,电路图如下,当开关断开时,流水灯从L1到L7依次间隔0.5秒循环点亮,在任意位置当开关合上时,流水灯便从L7灯开始,按照L7到L6的顺序点亮,晶振选用11.0592MH。三、实验要求根据实验

12、内容编写一个程序,并在实验仪上调试和验证。四、实验说明 关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为0.2秒钟。 定时器有关的寄存器有工作方式寄存器 TMOD 和控制寄存器 TCON。TMOD 用于设置定时器/计数器的工作方式 0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是 12 个振荡器周期。假设实验系统的晶振是 11.0592MHZ,程序工作于方式1, 定时器50m

13、S,中断一次。中断10次为0.5秒。 五、选择元器件8 80C519 Crystal10、CAP11、22p ceramic22p12、3watt10k13、LED-BIRG14、SWITCH六、放置元器件及连线仿真电路图:七、实验步骤1) 先画出仿真电路图,载入程序进行仿真2) 在实验箱上,系统各跳线器处在初始设置状态,用导线连接 CPU 模块 P10到八位逻辑电平显示模块的L0. 启动PC机,打开 THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 3) 运行程序观察实验现象。八、实验程序程序要求:用定时器0采用方式1使灯每间隔0.5秒循环点亮汇编程序 ORG 0

14、000H LJMP STRAT ORG 000BH LJMP ITOP ORG 0100HSTRAT: JB P3.0,MAIN1 JNB P3.0,MAIN2 CHUSHI: MOV B,#0AH MOV SP,#60H MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH SETB TR0 SETB ET0 SETB EA RETMAIN1: MOV A,#0FEH MOV P1,A ACALL CHUSHIHERE: SJMP HERE ;等待中断MAIN2: MOV A,#7FH MOV P1,A ACALL CHUSHI SJMP HERE; 等待中断ZY:

15、 RL A MOV P1,A JB P3.0,RETURN RETYY: RR A MOV P1,A JNB P3.0,RETURN RET ITOP: MOV TL0,#00H MOV TH0,#4CH DJNZ B,RETURN MOV B,#0AH JB P3.0,ZY JNB P3.0,YYRETURN: RETI END七、结果分析运行程序后,发光二极管L0 每隔一秒点亮一次,实验主要有2个模块:定时初始化模块和中断模块,主程序主要是用来初始化定时的,包括定时模式的选择,为方式2模式,该模式精度高能够准确定时,还包括定时器的初值设定,设定为100us,当定时标志位高电位时自动跳转到中

16、断程序中,如果未满10000次就还得继续返回主程序无法实现CPL LEDBuf 指令。而要实现本功能,最重要的是 orl a, C100us+1 这条语句,只有当计数单元的高位和低位都位0才使得a为0,也就是说只有计满10000次才能跳转。否则跳转到exit。九、实验心得 本次实验室定时器与计数器,通过实验程序的仿真与调试,我顺利完成实验。本次试验,我们了解定时器与计数器的工作原理与应用,使我们更好在编程中如何去应用定时器,让我们学到的知识更深刻。 南昌大学实验报告学生姓名: 吴晓峰 学 号: 6100311019 专业班级: 电力系统111班 实验类型: 验证 综合 设计 创新 实

17、验日期: 实验成绩:实验四、交通灯控制实验一、实验目的 掌握十字路口交通灯控制方法。 二、实验内容 利用系统提供的双色 LED 显示电路, 和四位静态数码管显示电路模拟十字路口交通信号灯。4 位 LED数码管显示时间,LED显示红绿灯状态。 三、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。 四、实验说明和电路原理图 交通信号灯控制逻辑如下:假设一个十字路口为东西南北走向。开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后 (20 秒) ,东西路口的绿灯,闪烁若干次后(3 秒) ,东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段

18、时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。 双色 LED是由一个红色 LED管芯和一个绿色 LED管芯封装在一起,共用负极,当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。 本实验需要用到 CPU 模块(F3 区)、静态数码管/双色 LED 显示模块(B4 区)。双色 LED显示电路原理参见图 18-1

19、。五、实验步骤 1)系统各跳线器处在初始设置状态。 P10 同时接G1、G3;P11同时接 R1、R3;P1.2 同时接 G2、G4;P1.3 同时接R2、R4; P1.6、P1.7分别接静态数码显示的 DIN、CLK。 2)启动PC机,打开 THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 3)观察十字路口交通灯效果。 六、实验程序;/*;功能:双色LED模拟交通灯信号,并通过调用静态数码显示状态时间。;接线:P1.0同时接G1、G3,P1.1接R1、R3,P1.2接G2、G4,P1.3同时接R2、R4,; P1.6、P1.7接静态数码显示的DIN、CLK。;/*

20、 SECOND1 EQU 30H ;东西秒寄存器 SECOND2 EQU 31H ;南北秒寄存器 DBUF EQU 40H ;显示缓冲1 TEMP EQU 44H ;显示缓冲2 LED_G1 BIT P1.0 ;东西绿灯 LED_R1 BIT P1.1 ;东西红灯 LED_G2 BIT P1.2 ;南北绿灯 LED_R2 BIT P1.3 ;南北红灯 Din BIT P1.6 ;串行显示数据 CLK BIT P1.7 ;串行显示时钟 ORG 0000H LJMP START ORG 0100HSTART: LCALL STATE0 ;调用状态0 LCALL DELAY ;调用延时 MOV TM

21、OD,#01H ;置T0工作方式1 MOV TH0, #3CH ;置T0定时初值50mS MOV TL0, #0B0H SETB TR0 ;启动T0 CLR EALOOP: MOV R2,#20 ;置1S计数初值 50mS*20=1S MOV R3,#20 ;红灯20S MOV SECOND1,#25 ;东西秒显示初值25S MOV SECOND2,#25 ;南北秒显示初值25S LCALL DISPLAY LCALL STATE1 ;调用状态1WAIT1: JNB TF0,WAIT1 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0,

22、 #0B0H SETB TR0 ;启动T0 DJNZ R2,WAIT1 ;判1S到否?未到继续状态1 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT1 ;状态1维持20S;* MOV R2,#5 ;置50mS计数初值 5*4=20 MOV R3,#3 ;绿灯闪3S MOV R4,#4 ;闪烁间隔200mS MOV SECOND1,#5 ;东西秒显示初值5S MOV SECOND2,#5 ;南北秒显示初值5S LCALL DISPLAYWAIT2: LCALL S

23、TATE2 ;调用状态2 JNB TF0,WAIT2 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R4,WAIT2 ;判200mS到否?未到继续状态2 CPL LED_G1 ;东西绿灯闪 MOV R4,#4 ;闪烁间隔200mS DJNZ R2,WAIT2 ;判1S到否?未到继续状态2 MOV R2,#5 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT2 ;状态2维持3S;* MOV R2,#20

24、 ;置50mS计数初值 MOV R3,#2 ;黄灯2S MOV SECOND1,#2 ;东西秒显示初值2S MOV SECOND2,#2 ;南北秒显示初值2S LCALL DISPLAYWAIT3: LCALL STATE3 ;调用状态3 JNB TF0,WAIT3 ;查询30mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R2,WAIT3 ;判1S到否?未到继续状态3 MOV R2,#20 ;置50mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLA

25、Y DJNZ R3,WAIT3 ;状态3维持2S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#20 ;红灯20S MOV SECOND1,#25 ;东西秒显示初值25S MOV SECOND2,#25 ;南北秒显示初值25S LCALL DISPLAYWAIT4: LCALL STATE4 ;调用状态4 JNB TF0,WAIT4 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值50mS MOV TL0, #0B0H DJNZ R2,WAIT4 ;判1S到否?未到继续状态4 MOV R2,#20 ;置50mS计数初值 DEC SECOND1

26、 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT4 ;状态4维持20S;* MOV R2,#5 ;置50mS计数初值 5*4=20 MOV R4,#4 ;闪烁间隔200mS MOV R3,#3 ;绿灯闪3S MOV SECOND1,#5 ;东西秒显示初值5S MOV SECOND2,#5 ;南北秒显示初值5S LCALL DISPLAYWAIT5: LCALL STATE5 ;调用状态5 JNB TF0,WAIT5 ;查询50mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值100mS MOV TL0, #

27、0B0H DJNZ R4,WAIT5 ;判200mS到否?未到继续状态5 CPL LED_G2 ;南北绿灯闪 MOV R4,#4 ;闪烁200mS DJNZ R2,WAIT5 ;判1S到否?未到继续状态5 MOV R2,#5 ;置100mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT5 ;状态5维持3S;* MOV R2,#20 ;置50mS计数初值 MOV R3,#2 ;黄灯2S MOV SECOND1,#2 ;东西秒显示初值2S MOV SECOND2,#2 ;南北秒显示初值2S LCAL

28、L DISPLAYWAIT6: LCALL STATE6 ;调用状态6 JNB TF0,WAIT6 ;查询100mS到否 CLR TF0 MOV TH0, #3CH ;恢复T0定时初值100mS MOV TL0, #0B0H DJNZ R2,WAIT6 ;判1S到否?未到继续状态6 MOV R2,#20 ;置100mS计数初值 DEC SECOND1 ;东西秒显示减一 DEC SECOND2 ;南北秒显示减一 LCALL DISPLAY DJNZ R3,WAIT6 ;状态6维持2S LJMP LOOP ;大循环STATE0: ;状态0 MOV P1,#0 CLR LED_G1 SETB LED

29、_R1 ;东西红灯亮 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE1: ;状态1 SETB LED_G1 ;东西绿灯亮 CLR LED_R1 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE2: ;状态2 CLR LED_R1 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE3: ;状态3 SETB LED_G1 SETB LED_R1 ;东西黄灯亮 CLR LED_G2 SETB LED_R2 ;南北红灯亮 RETSTATE4: ;状态4 CLR LED_G1 SETB LED_R1 ;东西红灯亮 SET

30、B LED_G2 ;南北绿灯亮 CLR LED_R2 RETSTATE5: ;状态5 CLR LED_G1 SETB LED_R1 ;东西红灯亮 CLR LED_R2 RETSTATE6: ;状态6 CLR LED_G1 SETB LED_R1 ;东西红灯亮 SETB LED_G2 SETB LED_R2 ;南北黄灯亮 RETDISPLAY: ;数码显示 MOV A, SECOND1 ;东西秒寄存器 MOV B, #10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+1,A MOV A,B MOV DBUF, A MOV A, SECOND2 ;南北秒寄存器 MOV B, #

31、10 ;16进制数拆成两个10进制数 DIV AB MOV DBUF+3, A MOV A,B MOV DBUF+2, A MOV R0,#DBUF MOV R1,#TEMP MOV R7,#4DP10:MOV DPTR,#LEDMAP MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R0 INC R1 DJNZ R7,DP10 MOV R0,#TEMP MOV R1,#4DP12:MOV R7,#8 MOV A,R0DP13:RLC A MOV DIN,C CLR CLK SETB CLK DJNZ R7,DP13 INC R0 DJNZ R1,DP12 RETLED

32、MAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , -Delay: mov r5, #5DLoop0:mov r6, #0DLoop1:mov r7, #0DLoop2 NOP NOP djnz r7, DLoop2 djnz r6, DLoop1 djnz r5, DLoop0 ret END七、结果分析运行程序后,开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时

33、间后(20 秒),东西路口的绿灯,闪烁若干次后(3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2 秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。要实现以上功能还必须知道双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。也正是

34、源于此,才能够产生黄色信号 分析:本实验共分为5个模块,交通灯初始模块,6种交通状态的调用模块,6种交通状态和1个初始状态模块,显示模块,以及延时模块,每一个状态的原理如下:首先调用交通状态模块中的各状态,以此达到各I/O端口的设置,然后进行延时,设置定时器的工作方式,初值,接着采用中断查询的方式来判断状态是否结束,最后调用显示模块,当然,在每隔状态也是需要进行循环设置和显示的。另外在说显示模块,采用动态显示的方式,利用数据线和控制线串行显示数码管,节约了导线成本。八,实验心得 通过本次实验,我对交通灯有了更进一步的了解,交通灯是有6中状态的。本实验由于功能强大,所以我也学会和巩固了

35、很多以前的知识,这是对定时器与计数器的应用,使我们更加对它们应用的了解,如何去应用定时器与计数器。 南昌大学实验报告学生姓名: 吴晓峰 学 号: 6100311019 专业班级: 电力系统111班 实验类型: 验证 综合 设计 创新 实验日期: 实验成绩:实验五 串转并与并转串实验一、实验目的1掌握使用74LS164 扩展输出的方法。2掌握使用74LS165 扩展输入的方法。二、实验内容使用74LS165 扩展输入数据,使用74LS164 扩展输出数据。74LS165 的并行口接八位逻辑电平输出(开关),CPU 使用P1.0、P1.1 和P1.2 串行读入开关状态;74LS164 的并行口接一

36、只数码管,CPU 使用P1.3 和P1.4 串行输出刚读入的开关状态,使之在数码管上显示出来。三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。四、实验说明和电路原理图1)74LS165 为8 位移位寄存器,其引脚功能如下:S/L:移位/置数端,低电平有效。P0P7:并行数据输入端。QH、QH:串行数据输出端。CLK、CKLINH:时钟信号输入端。2)74LS164 为串行输入并行输出移位寄存器,其引脚功能如下:A、B:串行输入端;Q0Q7:并行输出端;MR:清零端,低电平有效;CLK:时钟脉冲输入端,上升沿有效。3)用P1 端口输出数据时,要编程位移数据,每操作一个数据位,对应一

37、个移位脉冲。4)本实验需要用到CPU 模块(F3 区)、八位逻辑电平输出模块(E4 区)和静态数码管显示模块(B4 区)。74LS165 电路原理图参见图5-1,74LS164 电路原理图参见图8-2。注:74LS164 集成电路芯片在主板反面。图5-1 74LS165 电路 16图5-2 74LS164电路五、实验预习要求学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。六、实验步骤1)系统各跳线器处在初始设置状态。用导线对应连接八位逻辑电平输出模块的QH165、CLK165、SH/LD 到CPU 模块的P10、P11、P12。用导线对应连接静态数码管显示模块的DIN、CLK 到

38、CPU 模块的P13、P14。2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。3)观察数码(八段码)管的亮灭与拨动开关的状态是否一致。拨动开关拨下输出为低电平,段码点亮。七、实验参考程序本实验参考程序“8_164165”位于THGMW软件文件夹下THGMWExp51文件夹。;/*;/*文件名:164165 串转并,并转串实验程序;功能:把开关量通过74*165串行输入到内存,并通过74*164串行输出到数; 码管上显示。;接线:P1.0接QH165,P1.1接CLK165,P1.2接SH_LD,; P1.3、P1.4接静态数码显示的DIN、CL

39、K。;/* QH165 BIT P1.0 CLK165 BIT P1.1 SH_LD BIT P1.2 DAT164 BIT P1.3 17 CLK164 BIT P1.4 MEMORY EQU 30H ORG 0000H AJMP START ORG 00B0H START: setb CLK165 clr SH_LD setb SH_LD mov r7, #8Input: rr a mov c, QH165 mov ACC.7, c clr CLK165 nop setb CLK165 djnz r7, Input mov MEMORY,A mov A,MEMORY mov r6,#8Ou

40、tput: rrc A mov DAT164,C clr CLK164 setb CLK164 djnz r6, Output acall DELAY sjmp STARTDELAY: mov R0,#5DD2: mov R1,#0FFH djnz R1,$ djnz R0,DD2 RET END七、结果分析程序运行之后,串行信号成功转为并行输出信号,数码管被点亮,试验取得成功。通过程序的编写和电路的连接基本上实现的实验的要求。实验通过使用74LS165 扩展输入数据,使用74LS164 扩展输出数据,达到了串转并、并转串的实验目的。八、心得体会 通过本次对程序的仿真与调试,我完成了实验,使我们了解了串转并与并转串的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论