单片机并行口实验报告

合集下载

2单片机IO口控制实验实验报告

2单片机IO口控制实验实验报告
ORG 80F0H ;硬件仿真调试程序
Main:
JB P1.7,SETLED ;按键没有按下时,跳转到SETLED
CLRLED:
CLR P1.0
CLR P1.1
CLR P1.2 ;P1.0~P1.2清零
SJMP Main
SETLED:
SETB P1.0
SETB P1.1
SETB P1.2 ;P1.0~P1.2置1
归纳为两条基本规则:
(1)低优先级可被高优先级中断,反之则不能。
(2)同级中断不会被它的同级中断源所中断。
若CPU正在执行高优先级的中断,则不能被任何中断源所中断。
中断优先级寄存器IP,其字节地址为B8H。
IP各个位的含义:
(1)PS——串行口中断优先级控制位
1:高优先级中断;
0:低优先级中断。
(2)PT1——定时器T1中断优先级控制位
16、INT0/1相关控制位:
IT0/IT1——触发方式选择位
0:低电平触发方式,-INT0/1低电平时IE0/IE1=0,
INT0/1高电平时IE0/IE1=1。
1:下降沿触发方式,检测到下降沿,则使IE0/IE1=1,CPU相应中断后自动清除IE0/IE1。
三、实验内容
(1)编写程序,用P1.0~P1.2口连LED,查询拨盘开关SW1的状态来控制LED的亮和灭(P1.7口接SW1)。

实验三 可编程并行接口报告

实验三 可编程并行接口报告

实验三可编程并行接口

一、实验目的

掌握8255方式0的工作原理及使用方法。

二、实验内容

1.实验电路如图3-1,8255的C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2.编程从8255的C口输入数据,再从A口输出。

3.由于DVCC卡使用PCI总线,所以分配的IO地址每台微机可能都不用,编程时需要了解当前的微机使用那段IO地址并进行处理。

L0

L1

L2

L3

L4

L5

L6

L7

K0

K1

K2

K3

K4

K5

K6

K7

图3-1

三、编程提示

1.8255控制寄存器端口地址28BH,A口的地址288H,C

口地址28AH。

四、参考流程图

如图3-2所示。

五、参考程序

源程序清单如下:ioport equ 0e400h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh io8255c equ ioport+28ah code segment

assume cs:code

start:

mov dx,io8255b

mov al,008bh

out dx,al

inout:

mov dx,io8255c

in al,dx

mov dx,io8255a

out dx,al

mov dl,0ffh

mov ah,06h

int 21h

jz inout

mov ah,4ch

int 21h

code ends

end start

实验总结:

通过本次试验,我掌握了可编程并行接口8253和微机的硬件连接方法,并加深理解了可编程并行接口8253的工作方式及编程方法。

MCS-51单片机并行口的结构与操作

MCS-51单片机并行口的结构与操作

华中科技大学光学与电子信息学院

单片机

( 2015 -- 2016学年度第一学期)

题目:MCS-51单片机并行端口

结构与操作

院系:光学与电子信息学院

班级:

学号:

学生姓名:

指导教师:

成绩:

日期: 2015年 9月 21日

MCS—51单片机并行口的结构与操作

一、MCS—51单片机简介

MCS—51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MCS—51单片机作为代表进行理论基础学习.

MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:8位CPU、4kbytes 程序存储器(ROM)、128bytes的数据存储器(RAM)、32条I/O口线、111条指令,大部分为单字节指令、21个专用寄存器、2个可编程定时/计数器、5个中断源,2个优先级、一个全双工串行通信口、外部数据存储器寻址空间为64kB、外部程序存储器寻址空间为64kB、逻辑操作位寻址功能、双列直插40PinDIP封装、单一+5V电源供电。

如图所示:

1。结构

(1)中央处理单元(8位)

数据处理、测试位,置位,复位位操作

(2)只读存储器(4KB或8KB)

永久性存储应用程序,掩模ROM、EPROM、EEPROM

(3)随机存取内存(128B、128B SFR)

在程序运行时存储工作变量和资料

微机原理实验---并行接口实验

微机原理实验---并行接口实验

微机原理实验---并行接口实验

并行接口(Parallel Port)是一种广泛使用的计算机外围设备接口。它通常用于连接打印机、扫描仪、摄像头等设备,以实现数据的传输和控制。

本实验旨在教授学生使用并行接口实现数据输入和输出的基本功能,以提高学生对计算机外围设备的理解和应用能力。具体实验步骤如下:

材料及设备:

1. 一台计算机

2. 并行数据线(Parallel Data Cable)

3. 并口测试器(Parallel Port Tester)

4. 8位开关(8-bit Switch)

5. LED 灯(LED Light)

实验步骤:

1. 将并行数据线连接至计算机的并行接口,并将另一端连接至并口测试器。

2. 使用并口测试器测试并行接口是否正常。若测试失败,可检查并行接口是否损坏或驱动程序是否正确安装。

3. 将 8 位开关连接至并口测试器的数据输出端,连接正确后,将 8 位开关的位置设置为 0。

4. 运行实验程序,将数据从计算机输出至并口测试器。

5. 将 LED 灯连接至并口测试器的数据输入端,将计算机输入的数据传输至 LED 灯并输出。

2.4 单片机并行IO口(实验2)

2.4 单片机并行IO口(实验2)

4
2.4 并行I/O模块
一、 A、B、E、K口
低功耗驱动寄存器(RDRIV:$000D)
按位控制输出引脚的功耗(与输入引脚无关): 0->正常功耗 1->正常功耗的1/5 5V供电时驱动能力相当于一个TTL晶体管,不能向外界提供功率,需要 靠外部供电来驱动输出设备;
7
654
321
0
RDPK 0 0 RDPE 0 0 RDPB RDPA
12
2.4 并行I/O模块
实现方法
1、硬件电路 (4) LED输出电路
College of Communication Engineering, Jilin University
13
2.4 并行I/O模块
实现方法
2、硬件连线
① DIP开关读入:DIP开关8个孔--A口8个引脚 ② A口状态送显示:A低4位--DIP的4位,A高位--红色LED灯 ③ 中断信号产生:中断信号源--IRQ(XIRQ)
上下拉使能寄存器
PERT:$0244
PERS:$024C
PERM:$0254
PERP:$025C
PERH:$0264
PERJ:$026C
按位控制输入引脚的上下拉电阻使能(与输出引脚无关):
0->上下拉禁止 1->上下拉使能
College of Communication Engineering, Jilin University

单片机及其接口技术实验报告

单片机及其接口技术实验报告

单片机及接口技术实验报告

实验一数据传送程序

一、实验目的

1、掌握汇编语言设计和调试方法。

2、掌握DVCC实验系统的操作步骤。

二、实验内容

1、编程实现,把7000H~70FFH单元的内容清零。

2、编程实现,把源地址为6000H开始的单元内容,传送到目的地址7000H开始的单元中,

传送个数为0FFFH个。

三、DVCC实验系统操作说明

1、接通DVCC实验系统电源,在DVCC实验箱上应显示闪动的“P”,否则按Reset

键。

2、运行DVCC软件。(程序DVCC598H实验系统DVCC实验系统)

3、单击工具栏上“新建”或“打开”按钮,编写源程序。单击“编译”按钮,

使其形成可执行文件。

4、单击工具栏上“联接”按钮,同时按下DVCC实验箱上PCDBG键(键盘上最

右边第2个),实现PC机和实验箱的联接。联机成功,屏幕上出现:.反汇编窗口、

寄存器标示位窗口。

5、在成功联机后,单击工具栏上“调试”按钮,把最终目标文件装载到实验系统

RAM区;或者通过单击菜单栏中的“动态调试”,选择“传送(.EXE)文件”来

实现。

6、单击工具栏上“运行”或“单步”按钮,运行实验程序。

7、单击工具栏上“窗口”,选择“显示内部数据窗口”或“显示外部数据窗口”

可显示数据窗口。鼠标右击数据窗口的数据,可设置数据块新地址;鼠标左键单

击数据,可修改数据数值。

8、运行完毕,先按实验箱上的复位按钮Reset键,再按PCDBG键,并且点击屏

幕上OK,即可退出运行状态。

四、实验程序代码

1、把7000H~70FFH单元的内容清零。

程序代码:

ORG 0000H

8155可编程并行IO扩展接口实验

8155可编程并行IO扩展接口实验

实验八、8155可编程并行I/O扩展接口实验

一、实验目的

1.熟悉8155并行接口芯片的基本工作原理及应用

2.掌握单片机与8155的接口电路设计和编程

二、实验设备

1.仿真器

2.8155可编程并行I/O扩展接口模块

3.单片机最小系统模块

4.数码管动态扫描显示模块

5.矩阵式键盘模块

三、实验要求

连接单片机最小系统、8155扩展接口实验模块、数码管动态扫描显示模块、矩阵式键盘模块,要求在键盘按下时,8位LED动态显示器上最低位显示相应的字符,以前的各位字符向高位推进1位。

四、实验原理

8155芯片内包含有256字节RAM,2个8位、1个6位的可编程并行I/O口,和1个14位定时器/计数器。由于8155既具有RAM又具有I/O口,因而是单片机系统中最常用的外围接口芯片之一。

4.1引脚说明

8155共40个引脚,采用了双列直插的封装,主要引脚功能如下:

◆AD7—AD0:地址数据总线;单片机和8155之间的地址、数据、命令、状态信息都是

通过它来传送的。

◆CE:片选信号线,低电平有效。

◆RD:存储器读信号线,低电平有效。

◆WR:存储器写信号线,低电平有效。

◆ALE:地址及片选信号锁存信号线,高电平有效。在下降沿时将地址及片选信号锁存到

器件中。

◆IO/M:IO接口与存储器选择信号线,高电平选择I/O,低电平选择存储器。

◆PA7—PA0:A口输出/输入线。

◆PB7—PB0:B口输出/输入线。

◆PC5—PC0:C口输出/输入或控制信号线,用作控制信号时其功能如下:

◆PC0:A INTR(A口中断信号线)

◆PC1:A BF(A口缓冲器满信号线)

I-O口输入输出,IO口并行电机运动控制

I-O口输入输出,IO口并行电机运动控制

深圳大学实验报告

课程名称微型计算机技术

实验项目名称I/O口输入/输出,IO口并行电机运动控制学院医学院专业生物医学工程

指导教师张会生尹力

报告人谢智杰学号2010222043班级生工2班

实验时间2012年月日

实验报告提交时间2012年月日

单片机并口工作

单片机并口工作

单片机并口工作

1. 什么是单片机并口?

单片机并口(Parallel Port),也称为并行接口,是一种用于连接计算机和外部

设备的接口。它通过多个并行数据线同时传输数据,相比于串口(Serial Port)

来说,传输速度更快。

在单片机中,我们可以使用并口进行输入和输出操作。通过控制这些数据线的电平状态,我们可以实现与外部设备的通信。

2. 单片机并口的工作原理

单片机并口通常由8根数据线(D0-D7)、3根控制线(Strobe、Acknowledge、Busy)和5V电源线组成。

•数据线(D0-D7):用于传输8位二进制数据。

•控制线:

–Strobe:用于触发数据传输。

–Acknowledge:用于确认接收到的数据。

–Busy:指示外部设备是否可接收新的数据。

•5V电源线:为外部设备提供电源。

当我们要向外部设备发送数据时,首先将要发送的数据写入到8根数据线中。然后,通过将Strobe线拉低再拉高来触发数据传输。外部设备接收到数据后,会将Acknowledge线拉低表示已经成功接收到了数据。

而当我们要从外部设备读取数据时,首先将Strobe线拉低再拉高,通知外部设备

准备好数据。然后,通过读取8根数据线的电平状态来获取数据。如果外部设备正在发送数据,Busy线会被拉低,我们需要等待Busy线恢复高电平后再读取数据。

3. 单片机并口的应用

单片机并口广泛应用于各种外部设备的控制和通信中。下面介绍几个常见的应用场景:

3.1 打印机

在过去,单片机并口最常见的应用就是连接打印机。通过并口,我们可以向打印机发送打印任务,并获取打印机状态信息。

2单片机 实验报告并行口的应用

2单片机 实验报告并行口的应用

2单片机实验报告并行口的应用

6P1.5单脉冲——

7P1.6K61、学习P1口作为输入输出的使用方法。

8P1.7K72、学习延时子程序的编写和使用。

3、学习用‘与’、‘或’运算对51系列单片机的变量进行位操作。1、汇编语言

操作步骤如下:

(1)创建一个项目目录:shiyan31。1、Lab6000通用微控制器实验系统。

(2)如实验一的七.2,修改编译器为汇编语言编译器。2、计算机,WAVE集成调试软件。

(3)执行“新建文件”命令,在开发环境程序窗口中按汇编语言格式输入汇编语言源

程序。将程序文件名取为shiyan31.asm保存到目录“shiyan31”。

BuzB equ01、P1.6、P1.7作为输入接2个拨动开关K6、K7;BuzOut equ P1.4

Key1equ P1.5P1.5作为输入接“单脉冲”按键;Key2equ P1.6

Key3equ P1.7P1.0、P1.1、P1.2、P1.3作为输出接4个发光LED;

org0

P1.4作为输出接1个喇叭。;主程序

Start:程序开始运行时,4只LED闪;然后当按“单脉冲”键,4只LED闪;当拨“K6”

SLoop1:

开关至低电平时,4只LED从右到左逐个亮;当拨“K6”开关至高电平,拨“K7”开call LEDallflash

setb Key1关至低电平时,相隔的2只LED亮。jb Key1,SLoop1

SLoop2:

setb Key1jb Key1,SLoop3

call LEDallflash

sjmp SLoop2

SLoop3:

setb Key2jb Key2,SLoop4

8255并行接口实验

8255并行接口实验

XX学院

实验报告

实验名称

姓名

学号

班级

教师

日期

一、实验内容与要求

1.1 实验内容

本次实验分为如下2个子实验:

(1)方式0练习实验:A,B口方式0输出,C口输入。K0上推:16个LED灯从左到右

流水。K1上推:16个LED等从右向左流水。K2上推:中间向两侧流水。K3上推:

两侧向中间流水。

(2)方式1练习实验:A口方式1输出,B口不用,C口控制口,每按KK1开关一下,LED

灯流水一下,8次后程序结束。

1.2 实验要求

本次实验中2个子实验的实验要求如下:

(1)方式0练习实验:要求A,B口以方式0输出,并且C口输入。当K0上推的时候,16

个LED灯从左到右流水。当K1上推的时候,16个LED等从右向左流水。当K2上推的时候,16个LED灯从中间向两侧流水。当K3上推的时候,16个LED灯从两侧向

中间流水;

(2)方式1练习实验:要求A口以方式1输出,C口作为控制口。要求每当按KK1开关一

下,LED灯流水一下,按8次后程序结束。

二、实验原理与硬件连线

2.1 实验原理

I/O

PA7-PA0

I/O

PC7-PC4

I/O

PC3-PC0

I/O

PB7-PB0

D0-D7

图3-1 8255内部结构及外部引脚图

并行接口是以数据的字节为单位与I/O设备或被控制的对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片

是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用

+5V单电源供

电,能在以下三种方式下工作:方式0—基本输入/输出方式、方式1—选通输入/输出方式、方式2—双向选通工作方式。8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。

单片机实验 实验一 P1口实验

单片机实验 实验一  P1口实验
LED显示 82 79 接 口 电 路
8279键盘/显示接口
电源电路
CPLD编码器单元
8255并行接口 8237接口 时钟端口
CPU板座
D/ A 接 口
LCD显示电路 8253接口 A/D接口
键盘输入电路
8259接口
244/273接口
输入输出电路
正负单脉冲源
复位键
实验一
一、实验目的
1、学习P1口的使用方法。
END
2、P1口作为输入口
开始
设置P1口为输入口
将P1口读入累加器A
A输出到27来自百度文库所指地址单元
开始
注:273的控制端CS273接到CS0上,其地址为0CFA0H
2、P1口作为输入口实验程序 ORG 0000H
LJMP START ORG START: MOV 4100H P1, #0FFH ;复位P1口为输入状态
1、P1口作为输出口实验程序
ORG 0000H LJMP START ORG 4100H START: MOV A, #0FEH LOOP: MOV P1, A LCALL DELAY RL A JMP LOOP
DELAY: MOV DEL1: MOV DEL2: DJNZ DJNZ RET R1, R2, R2, R1, #127 #200 DEL2 DEL1
P1口实验

单片机实验报告

单片机实验报告

目录

一、实验一 (1)

二、实验二 (7)

三、实验三 (11)

四、实验四 (15)

实验一定时/计数器验证实验

一、实验目的

熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时;

二、实验设备及器件

IBMPC机一台PROTEUS硬件仿真软件KeilC51;

三、实验内容

用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始;

四、实验要求

要求采用Proteus软件实现上述实验;

五、实验步骤

1.打开ProteusISIS编辑环境,按照表1-1所列的元件清单添加元件;

元件全部添加后,在ProteusISIS的编辑区域中按图1-1所示的原理图连接硬件电路;

图1-1电路原理图

2.根据参考程序绘出流程图,并辅以适当的说明;

流程图如图1-2所示:

图1-2程序流程图

3.打开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考程序导入到

“SourceGroup1”中;在“OptionsforTarget”对话窗口中,选中“Output”选项卡中的“CreateHEXFile”选项和“Debug”选项卡中的“Use:ProteusVSMSimulator”选项;

编译汇编源程序,改正程序中的错误;

4.在ProteusISIS中,选中AT89C51并单击鼠标左键,打开“EditComponent”对话窗口,

设置单片机晶振频率为12MHz,在此窗口中的“ProgramFile”栏中,选择先前用Keil生成的.HEX文件;在ProteusISIS的菜单栏中选择“File”→“SaveDesign”选项,保存设计,在ProteusISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中

单片机《输入输出口》实验报告

单片机《输入输出口》实验报告

实验一I/O口输入输出实验

一、实验目的

1. 掌握单片机的并行I/O口的接口结构、驱动能力特点和应用处理方法;

2. 掌握单片机I/O引脚作为输出引脚的使用方法;

3. 掌握单片机I/O口配置方法

4. 掌握利用单片机I/O口设计单片机应用程序用输入控制输出的方法;

5. 掌握单片机控制程序的结构。

二、实验原理及实验内容

实验要求:利用单片机并行口做不规则花样流水灯,流水花样不低于16个。

实验原理:

1.LED原理图

2.STC15的IO口原理

P6m0为0时,P6m1为0时,IO口模式为准双向口(传统8051 I/O口模式,弱上拉)灌电流可达20mA,拉电流为270微安,由于制造误差,实际为270~150微安

* P6m0为0时,P6m1为1时,为推挽输出(强上拉输出,可达20mA,要加限流电阻)* P6m0为1时,P6m1为0时,(为高阻输出电流既不能流入也不能流出)

P6m0为1时,P6m1为1时,为开漏(Open Drain),内部上拉电阻断开。开漏模式即可读取外部状态也可以对外输出(高低电平)。

按照表格寄存器内容,我们对8个LED1,也就是P6口进行配置,当P6输出低电平时LED被点亮。所以配置如下:

P6M1 &= 0x00;

P6M0 &= 0x00; //作为普通IO口,为弱上拉

sbit KEY1=P2^0;

sbit KEY2=P2^1;//定义两个按键

由于STC15F2K60S2寄存器初始化时默认是:P6M1=0x00;

P6M0 = 0x00;

3.程序流程图

主循环程序流程图

三、实验程序

#include <STC15.h>

单片机自动测试设计实验 课程实验报告

单片机自动测试设计实验    课程实验报告

西安电子科技大学

单片机自动测试设计实验课程实验报告

实验名称输出口实验

机电工程学院学院班Array姓名学号

同作者

实验日期 2020 年月日

输出口实验

一、实验目的:

(1)学习Keil软件的使用

(2)学习P1口的使用方法。

(3)学习软件延时函数的编写。

二、实验原理

1、Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。

2、本实验中延时函数采用指令循环来实现,机器周期(系统晶振12MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

三、实验仪器

1.计算机

2.单片机系统和仿真机

3.Keil uVision2调试软件

四、实验步骤

1)设置:关闭实验仪电源,MON51K卡上跳线帽分别短接至MON、片内、FOSC;

系统设置(JF)→总线(598),JK→系统,KB6→59(单“51”无此项);

2)接线:

☞ P1.0~P1.7→L1~L8。

☞实验箱主板CZ1/USB口→电脑串口/USB口。

3)运行:开启实验仪电源,双击“Keil uVision2”图标启动keil软件,选择通信端口、硬件仿真,编程、编译下载、开始调试,全速运行程序后,观察L1…L8流水灯循环。

五、实验内容:

1.P1输出口接八只发光二极管,编写程序,使发光二极管循环点亮。

2.实现状态指示灯的驱动

3.按照实验要求编写控制程序,进行在线调试,并进一步修改完善,最终完成可按一

定0.1S的时间顺序依次点亮发光二极管的控制程序。(要求写出程序)

六、实验结果

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文

一、实验目的

通过本次实验,掌握单片机的基本原理与编程方法,熟悉单片机的开发环境,技能,了解单片机的必要电路原理。

二、实验器材和软件

器材:STC89C52单片机板、开发环境、PC机、线路板、电源、按钮开关、LED灯、蜂鸣器等。

软件:Keil uVision4编译器。

三、实验内容

1.点亮一个LED灯

将LED灯连接到单片机的1号引脚,通过编写程序点亮LED灯。

2.使用按钮开关控制LED灯

将按钮开关连接到单片机的2号引脚,编写程序使按钮开关控制LED 灯的亮灭。

3.通过串口将数据发送给PC机

设置单片机与PC机进行串口通信,通过编写程序将单片机中的数据发送给PC机。

四、实验步骤

1.按照实验器材和软件的要求搭建实验电路。

五、实验结果与分析

实验中点亮一个LED灯、使用按钮开关控制LED灯、通过串口将数据发送给PC机的实验均取得了预期的结果,显示出了单片机的基本原理与编程方法。

六、实验总结

通过这次实验,我深入了解了单片机的工作原理和编程方法,掌握了单片机的开发环境和技能,学会了使用单片机将数据发送到PC机,并能通过编程控制LED灯的亮灭。实验过程中也遇到了一些问题,如电路连接不正确、程序代码错误等,但通过仔细排查和调试,最终解决了问题。这次实验使我对单片机的实际应用有了更深的认识,也为今后进一步学习和应用提供了基础。

参考资料:

无。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机并行口实验报告

实验二并行口实验报告

班级:

学号:

姓名:

教师:

一、实验目的

通过实验了解8051并行口输入方式和输出方式的工作原理及编程方法。

二、实验内容

1、输出实验

如图4-1所示。以8031的P2口为输出口。通过程序控制发光二极管的亮灭。

2、输入实验

如图4-1所示。以8031的P1口为输入口。用开关向P1.0~P1.3输入不同的状态,控制P2口P2.4~P2.7发光二极管的亮灭。

3、查询输入输出实验

如图1-1所示。以8051的P1.6或P1.0为输入位,以P2口为输出,二进制计数记录按键的次数。

图1-1

三、编程提示

1、输出实验程序

(1)设计一组显示花样,编程使得P2口按照设计的花样重复显示。

(2)为了便于观察,每一状态加入延时程序。

2、输入实验程序

开关打开,则输入为1;开关闭合,则输入为0。读取P1.0~ P1.3的状态,并将它们输出到P2.4~ P2.7,驱动发光二极管。所以发光二极管L1~L4的亮灭应与开关P1.0~ P1.3的设置相吻合。

3、查询输入输出程序

(1)编程计数P1.0按键次数,按键不去抖动。

(2)编程计数P1.6按键次数,按键不去抖动。

(3)编程计数P1.0按键次数,按键软件延时去抖动。

观察(1)、(2)、(3)、的结果。

四、实验器材

计算机,目标系统实验板

五、实验步骤

1、在KEILC中按要求编好程序,编译,软件调试,生成.HEX文件。

2、断开电源,按图1-1所示,连好开关及发光二极管电路。

3、下载程序。

4、调试运行程序,观察发光二极管状态。

六、C源程序清单

1、#include

#define uchar unsigned char

#define ON 0

#define OFF 1

sbit led1=P2^0;

sbit led2=P2^1;

sbit led3=P2^2;

sbit led4=P2^3;

sbit led5=P2^4;

sbit led6=P2^5;

sbit led7=P2^6;

sbit led8=P2^7;

void delay1(void);

void main(void)

{

led1=led2=led3=led4=led5=led6=led7=led8=O FF;

while(1)

{

led1=led8=ON;

delay1();

led2=led7=ON;

delay1();

led3=led6=ON;

delay1();

led4=led5=ON;

delay1();

led1=led8=OFF;

delay1();

led2=led7=OFF;

delay1();

led3=led6=OFF;

delay1();

led4=led5=OFF;

delay1();

}

}

void delay1(void)

{

uchar i,j,k;

for(i=0;i<10;i++)

for(j=0;j<100;j++)

for(k=0;k<255;k++);

}

2、#include

#define uchar unsigned char

sbit k8=P1^0; sbit k7=P1^1; sbit k6=P1^2; sbit k5=P1^3; sbit led5=P2^4; sbit led6=P2^5; sbit led7=P2^6; sbit led8=P2^7; void main(void) {

while(1)

{

if(!k8)

led5=0;

if(!k7)

led6=0;

if(!k6)

led7=0;

if(!k5)

led8=0;

if(k8)

led5=1;

if(k7)

led6=1;

if(k6)

led7=1;

if(k5)

led8=1;

}

}

3、(1)和(2)

#include

#define uchar unsigned char sbit k8=P1^0;

sbit k2=P1^6;

void main(void)

{

uchar num1,num2;

n um1=0;

num2=0;

while(1)

{

if(!k8)

{

num1++;

P2=~num1;

}

if(!k2)

{

num2++;

P2=~num2;

}

}

}

3、(3)

#include

#define uchar unsigned char

void delay(uchar);

sbit k8=P1^0;

sbit k7=P1^1;

sbit k6=P1^2;

sbit k5=P1^3;

sbit k4=P1^4;

sbit k3=P1^5;

sbit k2=P1^6;

sbit k1=P1^7;

void main(void)

{

uchar num;

n um=0;

while(1)

{

if(!k3||!k4||!k5||!k6||!k7)

{

相关文档
最新文档