贵 州 大 学 实 验 报 告 纸
教师教师
一、实验目的
掌握单片机P1口、P3口的使用方法。
二、实验内容
以P1口为输出口,接八位逻辑电平显示,LED显示跑马灯效果。以P3口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图
P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区),八位逻辑电平输出电路原理图参见图1-1。八位逻辑电平显示电路原理图参见图1-2。
图1-1 八位逻辑电平输出
图1-2 八位逻辑电平显示
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);
用8位数据线连接八位逻辑电平显示模块的JD4B到CPU模块的JD8(P1口)。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0可改变跑马灯的方向。
七、实验参考程序
本实验参考程序“1_Port.ASM”位于THGMW软件文件夹下THGMW\Exp\51文件夹。
DIR BIT P3.0
ORG 0000H ;程序起始地址0000H
LJMP START ;跳转到主程序
ORG 0100H ;主程序地址为0100H
START:
Output1:
mov a, #0fEH ;设置P3.0位输入口
mov r5, #8 ;把8送给寄存器
loop1:
CLR C ;清零进位位
mov C,DIR ;把输入送给C
JC Output2 ;有进位转Output2
mov P1, a ;送P1口输出
rl a ;累加器循环右移
Acall Delay ;调用延时子程序
djnz r5, loop1 ;减一不为零转loop1
Sjmp Output1 ;跳转到Output1
Output2:
mov a, #07fH ;设置P3.7为输入
mov r5, #8 ;把8送给寄存器
loop2:
CLR C ;清零进位位
mov C,DIR ;把输入送给C
JNC Output1 ;无进位转Output1
mov P1, a ;送P1口输出
rr a
Acall Delay ;调用延时子程序
djnz r5,loop2 ;减一不为零转loop2
Sjmp Output2 ;跳转到Output2
Delay: ;延时子程序
mov r6,#0 ;0送给r6
DelayLoop1:
mov r7,#0 ;0送给r7
DelayLoop2:
NOP ;空操作
NOP ;空操作
djnz r7,DelayLoop2 ;r7减一不为零转DelayLoop2
djnz r6,DelayLoop1 ;r6减一不为零转DelayLoop1
Ret ;子程序返回
end
一、实验目的
1.掌握单片机P0口扩展74LS244输入数据的方法。
2.掌握单片机P0口扩展74LS273输出数据的方法。
二、实验内容
P0口扩展74LS244输入数据,P0口扩展74LS273输出数据。输入端接八位逻辑电平输出,输出端接八位逻辑电平显示,编写一个程序,读入开关状态并输出显示。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图
当P0口总线负载达到或超出P0最大负载能力8个TTL门时,必须接入总线驱动器。
1.74LS244介绍:74LS244是三态输出的八缓冲器,由2组、每组四路输入、输出构成。每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开。74LS244的引脚如图2-1A所示。
图2-1A 74LS244 图2-1B 74LS273
2.74LS273介绍:74LS273是八D型触发器,带清除端。本实验用74LS273输出数据,通过片选信号和写信号将数据总线上的值锁存在74LS273中,同时在74LS273的输出端口输出数据,当数据总线上的值撤消以后,由于74LS273能锁存信号,74LS273的输出端保持不变,直到有新的数据被锁存。74LS273的引脚如图2-1B所示。
图2-2 74LS244扩展输入电路
3.本实验需要用到CPU模块(F3区)、八位逻辑电平输出模块(E4区)、八位逻辑电平显示模块(B5区)、扩展输入模块(F2区)、扩展输出模块(F1区)。扩展输入电路原理图参见图2-2,扩展输出电路原理图参见图2-3。
图2-3 74LS273扩展输出电路
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
1)系统各跳线器处在初始设置状态。
用8位数据线连接八位逻辑电平输出模块的JD1E到扩展输入模块的JD2C;
八位逻辑电平显示模块的JD4B到扩展输B出模块的JD1C;
用导线连接扩展输入模块的CS_244到CPU模块的8000H(面板标注为8000,其它片选地址标注亦与此类同);
扩展输出模块的CS_273到CPU模块的8100H。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)观察发光二极管的亮灭与拨动开关的状态是否一致。设拨动开关拨下输出为低电平,发光二极管点亮。改变拨动开关的状态,发光二极管的亮灭随之变化。
七、实验参考程序
本实验参考程序“2_In_Out.ASM”位于THGMW软件文件夹下THGMW\Exp\51文件夹。
ADDR_in EQU 8000H
ADDR_out EQU 8100H
ORG 0000H
LJMP START
ORG 0100H
START:
mov DPTR,#ADDR_in ;并行输入口地址
movx a,@DPTR ;输入数据,读开关状态
Output:
mov DPTR,#ADDR_out ; 并行输出口地址
movx @DPTR, a ;输出数据
ACALL Delay ;调用延时子程序
Sjmp START ;跳转换主程序循环执行
Delay: ;延时子程序标号
mov r6,#10 ;把立即数10送给
DelayLoop1:
mov r7,#0 ;把立即数0送给
DelayLoop2:
NOP ;空操作
NOP ;空操作
djnz r7,DelayLoop2 ;减一不为零转DelayLoop2
djnz r6,DelayLoop1 ;减一不为零转DelayLoop1
Ret ;延时子程序完成,返回主程序
END
一、实验目的
1.掌握51单片机扩展外部RAM的方法。
2.掌握SRAM 62256读写数据的方法。
二、实验内容
对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。读写数据的选用,可采用的是55(0101,0101)与AA(1010,1010)。一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察的等方法,来观察程序执行的流程和各中间变量的值。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图
MCS-51单片机内有128B的RAM,只能存放少量数据,对一般小型系统和无需存放大量数据的系统已能满足要求。对于大型应用系统和需要存放大量数据的系统,则需要进行片外扩展RAM。
MCS-51单片机在片外扩展RAM的地址空间为0000H~FFFFH共64KB。读写外RAM时用MOVX指令,用RD选通RAM OE端,用WR选通RAM WE端。本实验使用SRAM 62256芯片进行片外RAM扩展。62256具有32KB(256Kbit)空间,因此它需要15位地址(A0~A14)。62256的全部地址空间为0000H~7FFFH。
本实验需要用到CPU模块(F3区)和SRAM模块(B7区)。SRAM扩展电路原理图参见图3-1。
图3-1 SRAM扩展电路
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
1)系统各跳线器处在初始设置状态。
用导线连接SRAM模块的CS_RAM到地;
P1.0接到八位逻辑电平显示模块的L0。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序。
3)对RAM数据进行读写,若L0灯闪烁说明RAM读写正常。
七、实验参考程序
本实验参考程序“3_SRAM.ASM”位于THGMW软件文件夹下THGMW\Exp\51文件夹。
ADDR EQU 0000H
ORG 0000H
LJMP START
ORG 0100H
START:
MOV SP,#60H ;设置堆栈指针
MOV DPTR,#ADDR ;置外部RAM读写地址
MOV A,#55H ;测试的数据一
MOV B,A
MOVX @DPTR,A ;写外部RAM
MOVX A,@DPTR ;读外部RAM
XRL A,B ;比较读回的数据
JNZ ERROR ;累加器A不为零转ERROR
MOV A,#0AAH ;测试的数据二
MOV B,A
MOVX @DPTR,A
MOVX A,@DPTR
XRL A,B
JZ PASS ;测试通过
ERROR: SETB P1.0 ;测试失败,点亮LED
SJMP $
PASS: CPL P1.0 ;LED状态(亮/灭)转换
MOV R1,#00H ;延时
DELAY: MOV R2,#00H
DJNZ R2,$
DJNZ R1,DELAY
LJMP START ;循环测试
END
一、实验目的
学习MCS-51内部计数器的使用和编程方法。
二、实验内容
使用MCS-51内部定时/计数器,定时一秒钟,CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明
关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为一秒钟。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。假设实验系统的晶振是12MHZ,程序工作于方式2,即8位自动重装方式定时器, 定时器100uS中断一次, 所以定时常数的设置可按以下方法计算:
机器周期=12÷12MHz=1uS
(256-定时常数)×1uS=100uS
定时常数=156。然后对100uS中断次数计数10000次,就是1秒钟。
在本实验的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。
本实验需要用到CPU模块(F3区)和八位逻辑电平显示模块(B5区)。
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
1)系统各跳线器处在初始设置状态,用导线连接CPU模块P10到八位逻辑电平显示模块的L0。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)运行程序观察发光二极管隔一秒点亮一次,点亮时间为一秒。
七、实验参考程序
本实验参考程序“5_Timer.ASM”位于THGMW软件文件夹下THGMW\Exp\51文件夹。
Tick equ 10000 ; 10000 x 100us = 1s
T100us equ 156 ; 100us时间常数(6M)
C100us equ 30h ; 100us记数单元
LEDBuf bit 20h
org 0
ljmp Start
org 000bh
T0Int:
push PSW ; 保护现场 把psw压人堆栈保护
mov a, C100us+1
jnz Goon
dec C100us
Goon:
dec C100us+1
mov a, C100us
orl a, C100us+1
jnz Exit ; 100us 记数器不为0, 返回
mov C100us, #27H ; #high(Tick)
mov C100us+1, #10H ; #low(Tick)
cpl LEDBuf ; 100us 记数器为0, 重置记数器
; 取反LED
Exit:
pop PSW
reti
Start:
mov TMOD, #02h ; 方式2, 定时器
mov TH0, #t100us
mov TL0, #t100us
mov IE, #10000010b ; EA=1, IT0 = 1
setb TR0 ; 开始定时
clr LEDBuf
clr P1.0
mov C100us, #27H ;#high(Tick)
mov C100us+1, #10H ;#low(Tick)
Loop:
mov c, LEDBuf
mov P1.0, c
ljmp Loop
end
一、实验目的
了解8253定时器的硬件连接方法及时序关系,掌握8253工作方式以及编程方法。
二、实验内容
编程将8253定时器0设定为方式3,定时器1设定在方式2,定时器2设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出作为定时器2的输入,定时器2的输出接在一个LED上,运行后可观察到该LED在不停闪烁。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图
本实验需要用到CPU模块(F3区)、8253模块(C4区)、频率发生器模块(E6区)、八位逻辑电平显示模块(B5区),8253电路原理图参见图6-1。频率发生器电路原理图参见图6-2。
图6-1 8253
图6-2 频率发生器
8253是一种可编程计数器/定时器,它是用软、硬技术结合的方法实现定时和计数控制。其主要有以下特点:
①有3个独立的16位计数器,每个计数器均以减法计数。
②每个计数器都可按二进制计数或十进制(BCD码)计数。
③每个计数器都可由程序设置6种工作方式。
④每个计数器计数速度可以达2MHz。
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
1)系统各跳线器处在初始设置状态。
用导线连接CPU模块的8000H到8253模块的CS_8253;
频率发生器模块的153.6kHz接8253模块的CLK0;
8253模块的CLK1接OUT0,CLK2接OUT1,GATE0、GATE1、GATE2接+5V,
OUT2接八位逻辑电平显示模块的L0灯。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)观察L0灯的闪烁情况。
七、实验参考程序
本实验参考程序“6_8253.ASM”位于THGMW软件文件夹下THGMW\Exp\51文件夹。
TIM_CTL EQU 8003H ;8253 状态/命令口地址
TIMER0 EQU 8000H
TIMER1 EQU 8001H
TIMER2 EQU 8002H
MODE03 EQU 00110110B
MODE12 EQU 01110100B
MODE22 EQU 10110100B
ORG 0000H ; 该程序的起始地址为0000H
LJMP START ;跳转到主程序
ORG 0030H ;主程序的起始地址为0030H
START:
MOV DPTR,#TIM_CTL ; 定时器0工作在方式3
MOV A,#MODE03 ;把00110110B送到累加器A
MOVX @DPTR,A ;把00110110B送到8003H
MOV DPTR,#TIMER0 ;把8000H送到dptr
MOV A,#00H ;把00H送到累加器A
MOVX @DPTR,A ;把00H送到8000H
MOV A,#01H ; 把01H送到累加器A
MOVX @DPTR,A ;计数初值为0100H,100分频
MOV DPTR,#TIM_CTL ;定时器1工作在方式2
MOV A,#MODE12 ;把01110100B送到累加器A
MOVX @DPTR,A ;把01110100B送到8003H
MOV DPTR,#TIMER1 ;把8001H送到DPTR
MOV A,#18H ;把00011000B送到累计器A
MOVX @DPTR,A ;把00011000B送到8001H
MOV A,#00H ;把00H送到累计器A
MOVX @DPTR,A ;计数初值为0018H,24分频
MOV DPTR,#TIM_CTL ;定时器2工作在方式2
MOV A,#MODE22 ;把10110100B送到累加器A
MOVX @DPTR,A ;把10110100B送到8003H
MOV DPTR,#TIMER2 ;把8002H送到DPTR
MOV A,#0AH ;把00001010B送到累加器A
MOVX @DPTR,A 把00001010B送到8002H
MOV A,#00H ; 把00H送到累计器A
MOVX @DPTR,A ;计数初值为000AH,10分频
SJMP $ ; 原地循环
END ; 程序结束
一、实验目的
学习外部中断技术的基本使用方法。
二、实验内容
INT0端接单次脉冲发生器。按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图
1)外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。中断方式设置一般有两种方式:电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入。
2)中断服务的关键:
a、保护进入中断时的状态。
堆栈有保护断点和保护现场的功能使用PUSH指令,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。b、必须在中断服务程序中设定是否允许中断重入,即设置EX0位。c、用POP指令恢复中断时的现场。
3)中断控制原理:中断控制是提供给用户使用的中断控制手段。实际上就是控制一些寄存器,51系列用于此目的的控制寄存器有四个:TCON 、IE 、SCON 及IP。
4)中断响应的过程:首先中断采样然后中断查询最后中断响应。采样是中断处理的第一步,对于本实验的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,IE0或IE1置“1”;否则继续为“0”。所谓查询就是由CPU测试TCON和SCON中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。
本实验需要用到CPU模块(F3区)和八位逻辑电平显示模块(B5区)、单次脉冲模块(E3区)。
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
1)系统各跳线器处在初始设置状态,用导线连接单次脉冲模块的输出端到CPU模块的P32;
CPU模块的P10接八位逻辑电平显示模块的灯。2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。3)连续按动单次脉冲产生电路的按键,发光二极管L0每按一次状态取反,即隔一次点亮。
七、实验参考程序
本实验参考程序“7_EXint.ASM”位于THGMW软件文件夹下THGMW\Exp\51文件夹。
LED BIT P1.0 ; 把P1.0的输入电平送到LED
LEDBuf BIT 20H ;把24H.0送到LEDBuf
org 0 ;程序起始地址0000H
ljmp Start ;长跳到主程序开始
org 3 ;主程序起始0003H
Interrupt0:push PSW ; 保护现场 把psw压人堆栈保护
cpl LEDBuf ; 取反LED
mov c, LEDBuf ; 把24H.0送入进位标志
mov LED, c ;把24.0H送入LED
pop PSW ;恢复现场 从堆栈弹出psw
reti ;返回中断前的程序
Start: clr LEDBuf ;把LEDBuf清0
clr LED ;把LED清0
mov TCON, #01h ;把00000001B送入TCON,使INT0为跳变触发
mov IE, #81h ;把10000001B送入IE,使中断允许标志EA置数,允许中断,同时使IE0置数,允许外部中断0
OK: ljmp OK ; 原地循环
end ; 程序结束
贵州大学实验报告 附 页贵州大学实验报告 附 页
贵州大学实验报告
单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实…
通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日…
题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握K…
51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机…
海南大学届单片机实验报告4份论文题目学生姓名学号所在院系专业班级授课教师完成时间蜂鸣器实验实验目的1熟悉实验板中蜂鸣器工作原理掌握…
福建农林大学计算机与信息学院信息工程类实验报告课程名称:单片机技术姓名:系:电子信息工程系专业:电子信息工程年级:学号:指导教师:…
HEFEIUNIVERSITY单片机实验报告系别电子信息与电气工程系专业班级学号姓名指导老师完成时间实验一构建单片机最小系统和实验…
1福建农林大学计算机与信息学院信息工程类实验报告课程名称姓名系专业年级学号指导教师职称单片机技术詹缓辉电子信息工程系电子信息工程2…
华中科技大学单片机实验报告MCS51系列单片机单片机原理及应用实验根据20xx年电气与电子工程学院单片机实验课程改编专业电气工程及…
实验课程名称自动控制综合实验2》姓名学院自动化学院专业班级学号、班内序号指导教师20##年月单片机部分一、仿真软件的使用以及跑马灯…
时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。在学习单片机这门课程之前,就早早的听各种任课老师和学长学…