单片机并行口实验报告

合集下载

C51单片机实验:流水灯

C51单片机实验:流水灯

实验二单片机并行I/O口应用实验
一、实验目的:
1.熟悉keil软件的使用方法;
2. 熟悉单片机应用电路的设计方法
3. 掌握用单片机并行接口控制外部设备的方法;
4.掌握单片机应用程序的设计和调试的方法
二、实验仪器:
单片机开发板、下载线、应用软件及微机
三、实验原理
单片机I/O口的基本输入输出功能。

四、实验内容
1.在p1.0至1.7口线上分别接LED0~LED7八个发光二级管。

2. 编写程序:要求LED0~LED7要求以秒速率循环右移
2.编写程序:要求LED0~LED7要求以秒速率循环左移
3.连接开发板,观察实验现象,并用Keil uVision仿真程序的执行过程;
五、实验报告要求
1、实验目的和要求
2、实验的原理
3、电路原理图
4、实验程序流程框图和实验程序清单
5、实验总结
6、实验思考题
六、思考题
1、思考如何实现LED0~LED7两个灯同时循环左移或右移?
2、如何同时实现循环左移后再循环右移?。

实验二_并行I_O口

实验二_并行I_O口

一、实验目的1、熟悉Proteus软件和Keil软件的使用方法。

2、熟悉单片机应用电路的设计方法。

3、掌握单片机并行I/O口的直接应用方法。

4、掌握单片机应用程序的设计和调试方法。

二、设计要求1、用Proteus软件画出电路原理图。

要求在P1.0至P1.7口线上分别接LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。

2、编写程序:要求LED0至LED7以秒速率循环右移。

3、编写程序:要求LED0至LED7以秒速率循环左移。

4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。

三、电路原理图四、实验程序流程框图和程序清单/***********(1)LED0~LED7以秒速率循环右移**************/MAIN: MOV A, #11111110BLOOP: MOV P1, A ;LED0灯亮,其他全灭LCALL DELAY1s ;调用1s延时子程序RL A ;累加器内容循环左移LJMP LOOP ;继续循环/***********1s延时子程序*******************/DELAY1s:MOV R7, #0A7HDL1: MOV R6, #0ABHDL0: MOV R5, #10HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1NOPRETEND/***********(2)LED0~LED7以秒速率循环左移**************/ORG 0000HMAIN: MOV A, #01111111BLOOP: MOV P1, A ;LED7灯亮,其他全灭LCALL DELAY1s ;调用1s 延时子程序RR A ;累加器内容循环右移 LJMP LOOP ;继续循环 /********************1s 延时子程序**********************/ DELAY1s:MOV R7, #0A7HDL1: MOV R6, #0ABHDL0: MOV R5,#10HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1NOP RETEND/**********(3)要求在灯循环移动的同时,蜂鸣器逐位报警 **************/ORG 0000HMAIN: MOV A, #11111110BLOOP: MOV P1, A ;LED0灯亮,其他全灭CPL P3.0 ;开蜂鸣器 LCALL DELAY05s ;调用0.5秒延时子程序 SETB P3.0 ;关蜂鸣器 LCALL DELAY05s ;调用0.5秒延时子程序 RL A ;累加器内容循环左移 LJMP LOOP ;继续循环/*********0.5s 延时子程序****************/DELAY05s:MOV R7, #17H DL1: MOV R6, #98HDL0: MOV R5, #46H DJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETEND六、实验总结通过本次实验,我熟悉了Proteus软件和Keil软件的使用方法,熟悉了单片机应用电路的设计方法。

简单并行接口实验报告

简单并行接口实验报告

实验一一、实验题目:简单并行接口74LS273二、实验目的掌握简单并行接口的工作原理及使用方法。

三、实验内容1、按下图连接线路。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

四、程序流程图五、源程序ioport equ 0d400h-0280hls273 equ ioport+2a8hcode segmentassume cs:codestart:mov ah,2 ;回车符mov dl,0dhint 21hmov ah,1 ;等待键盘输入int 21hcmp al,27 ;判断是否为ESC键je exit ;若是则退出mov dx,ls273 ;若不是,从2A8H输出其ASCII码out dx,aljmp start ;转startexit: mov ah,4ch ;返回DOSint 21hcode endsend start六、实验结果分析按上述的代码执行,观察LED灯的状态,可以发现实验结果和预期的相同:键盘输入数字“1”,L0、L4、L5亮,L1、L2、L3、L6、L7不亮,为00110001,31H,即为数字“1”的ASCII值。

键盘输入字符“=”,L0、L2、L3、L4、L5亮,L1、L6、L7不亮,为00111101,3DH,即为字符“=”的ASCII值。

键盘输入字符“N”,L1、L2、L3、L6亮,L0、L4、L5、L7不亮,为01001110,4EH,即为字符“N”的ASCII值。

键盘输入回车键,L0、L2、L3亮,L1、L4、L5、L6、L7不亮,为00001101,0DH,即为回车键的ASCII值。

七、实验心得1、通过本次实验,掌握了简单并行接口的工作原理及使用方法。

2、本次实验前,自己认真地做了预习,实验过程中,认真思考,积极探索,实验后,查阅资料,提炼总结。

总的来说,基本完成了实验要求和任务。

微机接口技术实验报告并行接口实验

微机接口技术实验报告并行接口实验

微机接口技术实验报告并行接口实验系别: 计算机科学与技术完成时间:2012-5-15一、实验目的1.熟悉并行接口电路;2.掌握8255并行接口芯片及8253定时器的应用及其编程技术。

二、实验内容及要求通过对8255芯片的编程,使得实验台上的步进电机按顺时针或逆时方向转动,同时扬声器(模拟电子琴)做高8度和低8度循环发音:1. 控制步进电机转动和电子琴发音;2.使用K0控制步进电机顺逆时针转动和电子琴发高低音;3.使用K1控制步进电机和电子琴速度(分快和慢两种速度);4.使用K2启动和停止步进电机转动和电子琴发音。

三、实验原理1、可编程并行芯片8255A并行接口即同时在多根I/O线上,以数据字节或字为单位实现CPU通过I/O端口与I/O 设备或被控制对象之间的信息传递,如计算机与打印机,A/D和D/A转换器,开关量接口等。

8255及其改进型8255A是最广泛应用的并行I/O接口。

8255A的主要性能参数如下:(1)8255A内共有4个端口,分别为口A、口B、口C和控制端口。

前三个端口为8位并行I/O端口,常用于传送数据信息;控制端口是用于接收CPU送来的控制命令,即控制字。

(2)8255A芯片可以三种不同的工作方式与I/O设备进行数据传输,具体方式由控制字来设定。

(3)8255与CPU之间交互信息可以使用中断方式进行。

它内部有三个中断源,分别产生与方式1(1个)和方式2(2个)中。

(4)8255A所有信号与TTL信号兼容,可直接与CPU的三总线连接使用。

(5)8255A使用单一的+5V电源,单项时钟。

8255A的三种工作方式:方式0——基本的输入/输出方式,方式1——选通的输入/输出方式,方式2——双向的输入/输出方式。

本次实验采用方式0,将口A和口B作为输出,分别控制步进电机的旋转和电子琴的发音,口C作为控制输入端。

根据端口编址及寻址方式,设定端口A的地址为288H,端口B地址为289H,端口C地址为28AH,控制端口的地址为28BH。

51单片机并行io口工作原理

51单片机并行io口工作原理

51单片机并行io口工作原理51单片机是一种常用的嵌入式系统开发平台,具有强大的并行IO 口功能。

本文将介绍并行IO口的工作原理及其在51单片机中的应用。

我们来了解一下什么是并行IO口。

并行IO口是指可以同时进行多个输入输出操作的接口。

在51单片机中,通过并行IO口可以实现与外部设备的数据交互,如控制LED灯、读取按键状态等。

在51单片机中,有两种类型的IO口:通用IO口和特殊功能IO口。

通用IO口可以进行输入输出操作,而特殊功能IO口则有特定的功能,如串口通信、定时器等。

并行IO口的工作原理是通过对寄存器的写入和读取来控制IO口的状态。

在51单片机中,有4个8位寄存器,分别是P0、P1、P2、P3。

P0口的每一位对应一个IO口,P1、P2、P3口则是通过外部扩展芯片来实现更多的IO口。

通过向寄存器中写入数据,可以控制IO口的输出状态。

例如,向P0寄存器写入0x55,即二进制01010101,可以控制P0口的1、3、5、7位输出高电平,2、4、6、8位输出低电平。

通过读取寄存器中的数据,可以获取IO口当前的输入状态。

例如,读取P1寄存器的值,可以获取P1口每一位的输入状态。

在51单片机中,可以通过对寄存器的位操作来实现对单个IO口的控制。

例如,通过设置P2口的某一位为1,可以将对应的IO口设置为输出模式;通过设置P2口的某一位为0,可以将对应的IO口设置为输入模式。

通过对寄存器的位操作,可以实现对多个IO口的同时控制。

除了通过编程对寄存器进行操作外,51单片机还提供了一些特殊功能IO口,可以直接使用这些IO口来实现一些常见的功能。

例如,P3.0和P3.1口可以作为外部中断输入口,P3.3和P3.4口可以作为定时器输入口,P3.5和P3.6口可以作为串口通信口。

在实际应用中,我们可以根据需要将不同的外部设备连接到51单片机的IO口上,通过对寄存器的编程,控制外部设备的状态。

例如,我们可以将LED灯连接到P0口的某一位上,通过对P0寄存器的位操作,控制LED灯的亮灭;我们也可以将按键连接到P1口的某一位上,通过读取P1寄存器的值,获取按键的状态。

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

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

单片机及接口技术实验报告实验一数据传送程序一、实验目的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 0000HAJMP STARTORG 70HSTART: MOV P2, #70H ;送地址高8位到P2端口MOV R0, #00H ;R0=00H,表地址低8位CLR A ;将累加器A清0LOOP: MOVX @R0, A ;将A送入以R0内容为地址的外部RAM.INC R0 ;R0+1-->R0CJNE R0,#00H,LOOP;比较条件转移指令,若R0不等于0,则跳转到LOOPAJMP $ ;暂停END2、编程实现,将源地址为6000H开始的单元,传送到目的地址7000H开始的单元,传送个数为0FFFH个。

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

2.4 单片机并行IO口(实验2)
上拉使能寄存器;
College of Communication Engineering, Jilin University
9
2.4 并行I/O模块
实验二 I/O+IRQ应用实例
任务:(1) 在PORTB口的小灯上循环显示跑马灯。 (2) 将PORTA口接8位DIP开关,在PORTB口的小灯上显示其状态。 (3) 利用IRQ作为中断源,采用中断方式,按动IRQ键后显示跑马灯。 (4) 利用IRQ作为中断源,采用中断方式, 利用8位DIP开关控制跑马 灯的循环速度。 (5) 利用XIRQ作为中断源,采用中断方式, 利用8位DIP开关控制跑马 灯的循环速度。 (6) 将PORTA口低4位接DIP开关,高4位接LED,将开关的状态显示在 LED灯上,重复(5)。
数据方向寄存器
DDRT:$0242
DDRS:$024A
DDRM:$0252
DDRP:$025A
DDRH:$0262
DDRJ:$026A
按位控制:0->输入 1->输出,复位后清0,默认为输入口
数据寄存器
PTT:$0240
PTS:$0248
PTM:$0250
PTP:$0258
PTH:$0260
3、程序 IO-IRQ.doc ① 跑马灯实现的算法(查表、移位) ② 可变时间的延时 ③ 端口状态的LED显示 ④ 中断
College of Communication Engineering, Jilin University
14
PTIS:$0249 PTIJ:$0269
PTIM:$0251
PTIP:$0259
低功耗驱动寄存器
RDRT:$0243
RDRS:$024B

单片机实验报告

单片机实验报告

单片机原理与应用实验报告学校:合肥工业大学班级:计算机科学与技术学号:姓名:第一章MC51 单片机原理及应用软件实验实验1:系统认识实验1.实验目的(1)了解ZY15MCU12BC2单片机实验开发装置的接线与安排。

掌握实验箱内拨位开关KF,KC的使用方法。

(2)通过实例程序的编辑、编译、链接及调试,熟悉Keil C51软件的使用方法和基本操作。

(3)教育学生爱抚实验装置,养成良好的实验习惯。

2.试验设备(1)ZY15MCU12BC2单片机实验开发装置一台。

(2)PC系列微机及相关软件。

3.试验内容(1)使用串行通讯电缆将实验开发装置与PC机相连。

(2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境。

(3)确认拨位开关KF的开关为A端,确认89C51处于仿真状态。

(4)在uVision2开发平台上建立并编辑示例程序:计算N个数求和程序。

其中N个数分别放在片内RAM区50H到55H单元中,N=6,求和的结果放在片内RAM区03H(高位)和04H(低位)单元中。

题目:1)32H+41H+01H+56H+11H+03H=?2)895H+02H+02H+44H+48H+12H=?(5)编译连接源程序。

(6)在Keil uVision2主菜单窗口进入DEBUG调试环境,打开存储器窗口输入数据至片内RAM区50H到55H单元中,全速运行程序,并检查程序的运行结果,即观察在存储器窗口片内RAM区03H(高位)、04H(低位)单元中的数据是否正确。

(7)实验结束,撤出接线,将一切整理复原。

4.实验源程序ORG 0000HLJMP MAINORG 1000HMAIN: MOV R2,#06HMOV R3,#03HMOV R4,#04HMOV R0,#50HL1: MOV A,R4ADD A,@R0MOV R4,AINC R0CLR AADDC A,R3MOV R3,ADJNZ R2,L1END5. 实验结果截图6. 实验总结这次试验,熟悉了单片机开发的基本流程,对于实验的两道题目1)32H+41H+01H+56H+11H+03H=?2)895H+02H+02H+44H+48H+12H=?实验结果如上图所示50H~54H存放数据,第一道题计算出来是0x00DEH,第二道题目计算出来是0x0137H,实验结果和预期相符,成功的完成了实验。

单片机并行接口实验

单片机并行接口实验

实验报告课程名称:单片机原理实验项目:并行接口实验专业班级:姓名:学号:实验室号:实验组号:实验时间:2014.5.4 批阅时间:指导教师:成绩:沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验名称:并行接口实验附件A 沈阳工业大学实验报告(适用计算机程序设计类)专业班级:学号:姓名:实验步骤或程序:步骤:1.执行程序1(T1_1.ASM)时:P1.0~P1.7接发光二极管L1~L8。

2.执行程序2(T1_1.ASM)时:P1.0~P1.7接平推开关K1~K8;74LS273的O0~O7接发光二极管L1~L8;74LS273的片选端CS273接CS0(由程序所选择的入口地址而定,与CSO~CS7相应的片选地址请查看第一部分系统资源,以后不赘述)。

程序1:ORG 0000HLJMP STARTORG 4000HSTART: MOV A,#0FEHLOOP: RL AMOV P1,ALCALL DELAYJMP LOOPDELAY: MOV R1,#127DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND程序2:OUT_PORT EQU 0CFA0HCSEG AT 0000HLJMP STARTCSEG AT 4100HSTART: MOV P1,#0FFH ;复位P1口为输入状态MOV A,P1 ;读P1口的状态值入累加器AMOV DPTR,#OUT_PORT ;将输出口地址赋给地址指针DPTRMOVX @DPTR,A ;将累加器A的值赋给DPTR指向的地址JMP START ;继续循环监测端口P1的状态END。

单片机P1口输入输出实验.

单片机P1口输入输出实验.

单片机P1口输入输出实验
单片机可靠的复位是保证单片机正常运行的关键因素。 因此,在设计复位电路时,通常要使RST引脚保持10ms以上 的高电平。当RST从高电平变为低电平之后,单片机就从 0000H地址开始执行程序。本电路是上电自动复位。 将8个LED接在单片机P1端口的P1.0-P1.7引脚上,注意 LED有长短两个引脚,分别表示正负极,其中较短的负极接 单片机,较长的为正极,通过限流电阻R与Vcc相连。 本实验只需将8个LED与P1口相连。单片机的P0、P1、 P2、P3端口都可以用来控制LED。(反过去再看设备)
8、思考题
1)说明单片机各个引脚的功能及作用,比较P0,P3端口的异同? 2)时钟周期、机器周期的关系是什么?在单片机外部晶振为12M时,下面 的延时子程序延时了多少时间?当晶振为6M时呢? DELAY: MOV R5,#08H DL1: MOV R6,#00H DL2: MOV R7,#80H DJNZ R7,$ DJNZ R6,DL2 DJNZ R5,DL1 RET
ห้องสมุดไป่ตู้
单片机4个并行端口P0、P1、P2、P3有着不同 的结构特点和功用。
单片机P1口输入输出实验
LED循环轮流点亮设计电路如图2所示。将51单片 机第40脚Vcc接电源+5V,第20脚Vss接地,为单片机工作 提供能源。 将第19脚XTAL1与18脚XTAL2分别接外部晶体两个引 脚,由石英晶体组成振荡器,保证单片机内部各部分有 序地工作。对外部C1、C2的取值虽然没有严格的要求, 但电容的大小会影响到振荡器频率的高低、振荡器的稳 定性、起振的快速性。C1、C2通常取值C1=C2=30PF左右。 8051的晶振最高振荡频率为12M,AT89C51的外部晶振最 高频率可到24M。

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

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

实验一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>#include <intrins.h>#define Uchar unsigned char#define Uint unsigned intint LED[]={0xfc,0xf3,0xcf,0x3f,0xe7,0xdb,0xbd,0x7e,0x7e,0xbd,0xdb,0xe7, 0xfe,0xfb,0xef,0xbf,0xfd,0xf7,0xdf,0x7f};void P6Init()//IO口初始化函数{P6M0=0X00;P6M1=0X00;}void delay3s(void) //误差0us{unsigned char a,b,c;for(c=189;c>0;c--)for(b=230;b>0;b--)for(a=33;a>0;a--);}void main(){Uchar i=0;P0Init();while(1){for(i=0;i<20;i++){P6=LED[i];delay3s();}}}四、实验仪器和设备4.使用了keil软件Proteus 8 Professional软件。

并行接口实验报告

并行接口实验报告

课程实验报告实验名称:并行接口实验专业班级:学号:姓名:同组人员:指导教师:报告日期:、实验一1. 实验目的 (3)2. 实验内容 (3)3. 实验原理 (3)4. 程序代码 (6)5. 实验体会 (9)实验一1.实验目的熟悉并行接口电路,掌握并行接口芯片8255A的应用及其编程技术。

2.实验内容通过对8255芯片的编程,使得实验台上的步进电机按顺时针或逆时方向转动,同时数码管做0-9的加计数和减计数操作:1.使用K0控制步进电机顺逆时针转动和数码管加减计数;2.使用K1控制步进电机转速和数码管显示速度(分快和慢两种速度)。

3.使用K2启动和停止步进电机转动和数码管计数显示;3.实验原理1.将8255的A、B、C端口都设置在0工作方式(基本输出/输入方式),A口输出信号控制步进电机转动和方向,B口输出信号控制数码管显示,C口输入信号控制步进电机和数码管的启动/停止,运动方向/加或减计数,运动速度/计数速度。

2.PA0-PA3输出的一个4位二进制数值用于驱动步进电机;PB0-PB7输出的一个8位二进制数值控制数码管的计数显示;PC4-PC7输出作为数码管的位选信号;PC0-PC3分别输入3个控制信号。

3.步进电机工作原理:步进电机采用两项驱动方式,每次对电机的四组线圈中的两组施加脉冲信号,并进行顺序切换使步进电机旋转,调节脉冲信号施加的顺序和频率可改变电机的旋转方向和旋转速度。

4.数码管工作原理数码管一组共4只(位)组成,每只数码管由a、b、c、d、e、f、g共7个段组成,加上小数点dp共8个段。

数码管要正常显示需要用驱动信号来驱动数码管的各个段码,从而显示我们需要的数字。

数码管的每一个段都由8255输出端口的一位信号控制,如果我们将b和c段接上正电源,其他段接地或悬空,那么b 和c段发光,此时数码管显示数字“1”,其他字形显示以此类推。

5 实验中的连线1用导线将8255芯片的PA0-PA3端口分别与步进电机的BA、BB、BC和BD连接。

实验一 51单片机并行输入输出实验——查询和中断方式

实验一  51单片机并行输入输出实验——查询和中断方式

实验一51单片机并行输入/输出实验——查询和中断方式
班级:车辆151 学号:姓名:
一、实验目的:掌握51单片机并行口输入/输出功能,并对比查询和中断方式编程方法。

二、实验内容:采用51单片机并行口P0~P3,通过1路或2路开关或按钮的状态,切换4个或8个LED的闪烁规律。

规律可以是循环点亮、全闪全灭、交替闪烁等。

并对比查询和中断方式对输入编程的区别。

实验题目:查询方式,P1.0~P1.3作为按钮输入,P0.0~P0.3作为输出到LED同步显示三、实验原理图:
四、实验源程序
五、流程框图
六、总结
程序设计思路是不断查询P1.0~P1.3的状态,从而决定P0.0~P0.3的电平高低,由于是准双向口,读入时应该写1再读。

使用查询方式时,CPU一直在查询输入信号的状态,从而决定输出信号,而使用中断方式时,则只需要等待事件触发,未触发时,CPU可以执行其它操作,效率高。

由于人眼的辨别能力有限,使用延时观察LED灯的状态时应该保证时间足够长。

单片机实验报告书

单片机实验报告书

并行 I/O 接口实验一、实验目的熟习掌握单片机并行 I/O 接口输入和输出的应用方法。

二、实验设施及器件个人计算机 1 台,装载了 Keil C51 集成开发环境软件。

单片机仿真器、编程器、实验仪三合一综合开发平台 1 台。

三、实验内容(1)P1口做输出口,接八只发光二极管, 编写程序,使发光二极管延时(秒)循环点亮。

实验原理图以下图。

VCCU1P1. 0 1 3 9P1. 1 P10 P002 3 8P1. 2 P11 P013 3 7P1. 3 P12 P0243 6LED1LED2LED8P13P03P1.4 53 5P1. 5P14 P0463 4P1. 6 P15 P05 7 3 3P1. 7 P16P0683 21 k 1k1kP17P07......1 32 1INT1P201 22 2INT0P212 31 5P222 4P1. 0P1. 1P1. 7T1 P231 42 5T0P242 63 1P252 7EA/VP P262 81 9P27X11 8X291 0RESETRXD1 11 7TXD3 0RD ALE/P1 62 9WR PSEN8 031图单片机并行输出原理图实验程序及仿真ORG 0000H LJMP STARTORG 0100HSTART:MOV R2,#8MOV A,#0FEH LOOP:MOV P1,ALCALL DELAYRL ADJNZ R2,LOOPLJMP START DELAY:MOV R5,#20D1:MOV R6,#20D2:MOV R7,#248D3:DJNZ R7,D3DJNZ R6,D2DJNZ R5,D1RETEND中止实验一、实验目的熟习并掌握单片机中止系统的使用方法,包含初始化方法和中止服务程序的编写方法。

二、实验设施及器件个人计算机 1 台,装载了 Keil C51集成开发环境软件。

单片机仿真器、编程器、实验仪三合一综合开发平台 1 台。

简单并行接口实验报告

简单并行接口实验报告

简单并行接口实验报告班级:电信1001 姓名:张贵彬学号:201046830213实验一锁存器74LS273一、实验目的掌握简单并行接口的工作原理及使用方法。

二、实验内容1、按简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。

74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

三、编程提示上述并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电路输出数据需要3条指令:MOV AL,数据MOV DX,2A8HOUT DX,AL通过上述并行接口输入数据需要2条指令:MOV DX,2ADHIN AL,DX四、实验电路图五、实验流程图六、实验程序ls273 equ2a8hcode segmentassume cs:codestart:mov ah,2;回车符mov dl,0dhint21hmov ah,1;等待键盘输入int21hcmp al,27;判断是否为ESC键je exit ;若是则退出mov dx,ls273 ;若不是,从2A8H输出其ASCII码out dx,aljmp start ;转startexit: mov ah,4ch;返回int21hcode endsend start七、实验结果实验二数据缓冲器74LS244一、实验目的掌握简单并行接口的工作原理及使用方法。

二、实验内容1、按下面图2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。

74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。

2、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。

单片机并行口实验报告.doc

单片机并行口实验报告.doc

单片机并行口实验报告.doc一、实验目的1、了解单片机67H12并行口通用输入输出线的原理和方法,熟悉控制并行口信号的方法。

2、学会使用单片机并行口控制LED灯的亮暗,是学生更好的掌握单片机输入输出操作,进一步了解单片机硬件原理和软件控制方法,提高实际操作和掌握单片机硬件设计和单片机应用能力。

二、实验原理⑴分地址和数据对于并行口的控制,要分开地址和数据才能在不同地址和数据端口进行数据输入/输出,控制不同的硬件设备。

⑵输出控制并口控制器在接收中央处理器(CPU)输出的指令之后,由于需要向输出口写一些位控制口上的各种状态,就产生了输出控制状态。

输出控制状态是一个位控制(3 位)控制字,其分别控制计算机输出口端口的数据总线的三个状态。

⑶输入输出并口输出是完成CPU向外工作环境(也就是并口通用接口器件)输出。

并口输入是完成CPU从外部环境获取数据的功能。

三、实验电路LED灯通过电阻限流后接在P0口和地之间,并行接有8个灯,通过控制每个灯P0输出端口的高低电平,完成灯亮或灭的操作,电路图如图1所示。

四、实验过程及结果1. 硬件连接图2.实验程序#include<reg52.h>sbit LED1=P0^0;sbit LED2=P0^1;sbit LED3=P0^2;sbit LED4=P0^3;sbit LED5=P0^4;sbit LED6=P0^5;sbit LED7=P0^6;sbit LED8=P0^7;3.实验结果实验由8个LED序列的闪烁组成,可以看到相邻的LED互相闪烁。

五、实验心得本次实验主要了解了单片机并行口通用输入输出线的原理和方法,熟悉控制并行口信号的方法。

在实际实验过程中,通过控制使8个LED依次闪烁,使得实验的结果更为直观性。

总之,本次实验使我深入了解了单片机并行口控制LED灯的亮暗的控制方法,有助于提高实际操作和掌握单片机硬件设计和单片机应用能力。

单片机P1口输入输出实验

单片机P1口输入输出实验
•9
单片机P1口输入输出实 验
单片机可靠的复位是保证单片机正常运行的关键因素。 因此,在设计复位电路时,通常要使RST引脚保持10ms以 上的高电平。当RST从高电平变为低电平之后,单片机就从 0000H地址开始执行程序。本电路是上电自动复位。
将8个LED接在单片机P1端口的P1.0-P1.7引脚上,注意 LED有长短两个引脚,分别表示正负极,其中较短的负极接 单片机,较长的为正极,通过限流电阻R与Vcc相连。
单片机P1口输入输出实 验
单片机端口是集数据输入缓冲、数据输出驱动及 锁存等多项功能一体I/O的电路,特别是把握它准 双向、多功能的特点。单片机4个并行端口是P0、 P1、P2、P3。本实验只讨论P1端口。
1、实验目的
通过实验了解P1口作为输入输出方式使用 时,CPU对P1口操作方式。
•1
单片机P1口输入输出实 2、验实验要求(1)、2)为必做,3)为选做)
•11
单片机P1口输入输出实验
图3 P1端口的一位结构
•12
单片机P1口输入输出实验
5、程序设计
P1口输出控制程序的设计主要包括控制输出程序设计与延时程序设计。 (1)输出控制:当P1.5端口输出低电平,即P1.5=0,这时LED亮,反 之,LED灭,可以使用P1.5=0指令使P1.5端口输出低电平,同样利用指 令使P1.5端口输出高电平。
灭;
状态3:8个LED发光二极管
全灭后,从左右两边开始同时点亮LED发光二极管,全亮
后,8个LED发光二极管再明暗一起闪烁2次 ?
•3
单片机P1口输入输出实 验
3、实验设备与仪器 单片机应用与仿真开发实验台,PC机,
E6000/L仿真器+POD-51仿真头、 Wave软硬件仿真软件。

单片机IO口实验

单片机IO口实验

微机原理实验报告实验名称:单片机IO口控制实验姓名:学号:座位号:指导教师:实验原理:MCS-51单片机的内部结构:Mcs-51单片机的内部结构图如上所示,而且IO口作为单片机的重要组成部分,是连接单片机与外部设备的桥梁。

单片机IO口双列直插封装的管脚图:并行IO接口及其应用:MCS-5系列单片机内部有4个8位的并行I/O接口i,分别命名为P0,P1,P2和P3。

每个并行I/O接口的各位均可作为输入或者输出。

由于他们都属于地址号可被8整除的特殊功能寄存器,故可以通过位寻址或者直接寻址方式对其进行按位或字节型的I/O操作。

印象位地址或字节地址表:PO口的结构及其功能:(1)1个输出锁存器,用于进行输出数据的锁存;(2)2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;(3)1个多路开关MUX,它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输出。

在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;(4)由两只场效应管组成的输出驱动电路。

(5)除具有与P1口相同的功能外,在系统扩展时作为低8位地址与数据分时复用总线,既此时P0为地址/数据分时复用端口。

低8位由ALE信号的下跳沿锁存到外部地址锁存器中,而高8位地址由P2口输出。

P0口的特点:(1)P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;(2)具有高电平、低电平和高阻抗3种状态的I/O端口称为双向I/O端口。

P0口作地址/数据总线复用口时,相当于一个真正的双向I/O口。

而用作通用I/O口时,由于引脚上需要外接上拉电阻,端口不存在高阻(悬空)状态,此时P0口只是一个准双向口;(3)为保证引脚上的信号能正确读入,在读入操作前应首先向锁存器写1;(4)单片机复位后,锁存器自动被置1;(5)一般情况下,如果P0口已作为地址/数据复用口时,就不能再用作通用I/O口使用;(5)P0口能驱动8个TTL负载。

P1口的结构及其功能:(1)一个数据输出锁存器,用于输出数据的锁存;(2)两个三态输入缓冲器,BUF1用于读锁存器,BUF2用于读引脚;(3)数据输出驱动电路,由场效应管VT和片内上拉电阻R组成P1口的特点:(1)P1口由于有内部上拉电阻,没有高阻抗输入状态,所以称为准双向口。

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

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

单片机IO口控制实验一、实验目的1、熟悉MCS-51的I/O结构;2、掌握MCS-51 I/O的使用方法;3、掌握MCS-51的中断机制。

二、实验原理1、MCS-51单片机的硬件结构片内结构:2、内部数据存储器(字节地址为00H~0FH):3、SFR的名称及其分布:4、I/O端口地址:5、P0~P3端口功能总结:(1)P0~P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MUX,以进行转换。

而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无MUX。

P0口的MUX的一个输入端为“地址/数据”信号。

P2口的MUX的一个输入信号为“地址”信号。

(2)在4个口中只有P0口是一个真正的双向口,P1~P3口都是准双向口。

原因:P0口作数据总线使用时,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。

为此,P0口的输出缓冲器应为三态门。

P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。

P1~P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的-准双向口。

(3)P3口的口线具有第二功能,为系统提供一些控制信号。

因此P3口增加了第二功能控制逻辑。

这是P3口与其它各口的不同之处。

6、P0口结构及特点:⑴ P0口结构与运作1个输出锁存器,用于进行输出数据的锁存;2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;1个多路开关MUX,它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输出。

在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;由两只场效应管组成的输出驱动电路。

⑵ P0口的特点P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;具有高电平、低电平和高阻抗3种状态的I/O端口称为双向I/O端口。

P0口作地址/数据总线复用口时,相当于一个真正的双向I/O口。

  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 <STC12C5A60S2.h>
#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<STC12C5A60S2.H>
#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<STC12C5A60S2.H>
#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<STC12C5A60S2.H>
#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)
{
num++;
P2=~num;
delay(100);
}
if(!k8)
{
num=0;
P2=~num;
delay(100);
}
}
}
void delay(uchar k )
{
uchar x,y,z;
for(x=k;x>0;x--)
for(y=20;y>0;y--)
for(z=250;z>0;z--);
}
七、总结
对于这次的实验来说,还是不难的,因为看懂了图1-1后,在加上原来学过的C语言,所以这三个程序还是很容易搞定的,在按键去抖动的程序中,由于k1和k2和其他的键并不一样,这两个键在硬件上已经去抖动了,。

相关文档
最新文档