200811102109 刘永权 简单IO口扩展实验一

200811102109 刘永权  简单IO口扩展实验一
200811102109 刘永权  简单IO口扩展实验一

昆明理工大学(单片机原理)实验报告

实验名:简单I/O口扩展实验一 (交通灯控制实验) 姓名:刘永权学号:200811102109

专业:电信实验时间:2011年11月14日

成绩:教师签名:

一、实验目的:

1.学习在单片机系统中扩展简单I/O接口的方法。

2.学习数据输出程序的设计方法。

3.学习模拟交通灯控制的实现方法。

二、实验设备:

EL-MUT-III型单片机实验箱、8051CPU模块

三、实验内容:

扩展实验箱上的74LS273做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。

四、实验原理:

要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(红)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。

五、实验原理图

六、实验步骤:

74LS273的输出O0~O7接发光二极管L1~L8,74LS273的片选CS273接片选信号CSO,此时74LS273的片选地址为CFA0H~CFA7H之间任选。

运行实验程序,观察LED显示情况是否与实验内容相符。

七、程序框图:

八、参考程序:T3.ASM

NAME T3 ;I/O口扩展实验一

PORT EQU 0CFA0H ;片选地址CS0

CSEG AT 0000H

LJMP START

CSEG AT 4100H

START: MOV A,#11H ;两个红灯亮,黄灯、绿灯灭

ACALL DISP ;调用273显示单元(以下雷同)

ACALL DE3S ;延时3秒

LLL: MOV A,#12H ;东西路口绿灯亮;南北路口红灯亮

ACALL DISP

ACALL DE10S ;延时10秒

MOV A,#10H ;东西路口绿灯灭;南北路口红灯亮

ACALL DISP

MOV R2,#05H ;R2中的值为黄灯闪烁次数

TTT: MOV A,#14H ;东西路口黄灯亮;南北路口红灯亮

ACALL DISP

ACALL DE02S ;延时0.2秒

MOV A,#10H ;东西路口黄灯灭;南北路口红灯亮

ACALL DISP

ACALL DE02S ;延时0.2秒

DJNZ R2,TTT ;返回TTT,使东西路口黄灯闪烁五次 MOV A,#11H ;两个红灯亮,黄灯、绿灯灭

ACALL DISP

ACALL DE02S ;延时0.2秒

MOV A,#21H ;东西路口红灯亮;南北路口绿灯亮

ACALL DISP

ACALL DE10S ;延时10秒

MOV A,#01H ;东西路口红灯亮;南北路口绿灯灭

ACALL DISP

MOV R2,#05H ;黄灯闪烁五次

GGG: MOV A,#41H ;东西路口红灯亮;南北路口黄灯亮

ACALL DISP

ACALL DE02S ;延时0.2秒

MOV A,#01H ;东西路口红灯亮;南北路口黄灯灭

ACALL DISP

ACALL DE02S ;延时0.2秒

DJNZ R2,GGG ;返回GGG,使南北路口;黄灯闪烁五次 MOV A,#03H ;两个红灯亮,黄灯、绿灯灭

ACALL DISP

ACALL DE02S ;延时0.2秒

JMP LLL ;转LLL循环

DE10S: MOV R5,#100 ;延时10秒

JMP DE1

DE3S: MOV R5,#30 ;延时3秒

JMP DE1

DE02S: MOV R5,#02 ;延时0.2秒

DE1: MOV R6,#200

DE2: MOV R7,#126

DE3: DJNZ R7,DE3

DJNZ R6,DE2

DJNZ R5,DE1

RET

DISP: MOV DPTR,#PORT ;273显示单元

CPL A

MOVX @DPTR,A

RET

END

九、实验总结:

1、首先最基本的是查找器件和连线。在Proteus的库中查找器件比较方便,只要输入相应的单词或其一部分就能快速定位。在连线时注意不要将两个元件的端脚直接相连,这样在很多时候实际上是没有连接上的。在连线时也要注意不要将不相干的线相交了或者将两条线完全重合了。

2、使用元器件一些注意事项。对于电阻、电容或者是它们的其他形式,如RX8等,要记得为它们设定值,否则系统可能将其设为默认值,大多数时候这样可能导致电路无法正常工作。要使用系统可以仿真的元件,如某些人在本来要用74LS系列的元件的地方使用了74ALS系列的元件,这样会导致无法进行仿真,也就看不出程序运行的结果。一些人在使用BUTTON时可能无法正常使用,一般情况下是将BUTTON锁定了,这时需要先将其解除锁定。很多时候感觉一切连接正常,但是无法得到理想的结果,这时候可以逐步排查,锁定某个元件,因为可能是因为你某个不经意的操作改变了元件的属性。

3、一些技巧。这里先以总线为例。使用总线时需要将其所连接的两端连线进行标号,并且需要一一对应,当然我们可以通过放置网络标号的方式进行,但这样效率太低了。我们可以在对总线相关部分操作后,点击:工具——属性设置工具,在字符串中输入“NET=P1#”(这里以对P1口连接的线进行分配为例,其它类似),先对某一边的连线进行分配,然后再重新点击,再进行另一边的连线的分配工作。在连接线路时,如果连接的线和上一次的相同,这时直接左键双击元件的端脚即可。这样的技巧还有很多,就不再一一赘述,这需要我们在实验中不断发现、总结、运用,如果掌握了这些技巧可以大大提高我们连接电路的速度。

4、有时候程序说没有载入代码,这时候应该是还没有添加hex文件。有时CPU无法实时、正确的仿真,可能需要我们在程序中加一些内容来调节一下。有时程序运行较快,我们可能需要将延时子程序延时的时间改得更长一点。

51单片机P1口输入输出实验实验报告

实验一P1口输入输出实验 一实验目的 1 掌握P1口作为I/O口时的使用方法。 2 理解读引脚和读锁存器的区别。 二实验原理 由 AT89C51 组成的单片机系统,通常情况下 P0 口分时复用作为地址、数据总线, P2 口提供 A15-A8 即高 8 位地址, P3 口用作第二功能,只有 P1 口用作 I/O 口。 P1 口是 8 位准双向口,它的每一位都可独立地定义为输入或输出。既可作为 8 位的并行 I/O 口,也可作为 8 个不同的输入输出端。 P1 口的结构如图 2.1 所示,当其工作在输入方式时,对应锁存器必须先写 1 ,才能正确地读到引脚上的信号,否则,若对应锁存器的值为 0 ,执行读引脚指令时,读到的结果永远为 0 。每个 I/O 端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以 I/O 端口为源操作数的指令,如 MOV C , P1.3 ,而读锁存器指令一般为“读 - 修改 - 写”指令,如 ANL P1.3 , C 指令,请同学们在实验中体会。图 2 中, P1.2 作为输出口, P1.3 作为输入口。

三实验内容与要求 1.编写程序实现当P1.3为低电平时(SW1闭合),发光管亮;P1.3为高电平时发光管灭。 修改程序在执行读P1.3之前,先执行CLR P1.3,观察结果是否正确,分析在第二种情况下程序为什么不能正确执行,理解读引脚和读锁存器区别。 四实验内容 实验程序: ORG 0000H MAIN: MOV SP,#60H ; 设置堆栈指针SP为60H MOV P1,#0FFH ;当P1口用作输入时,所有位对应的锁存器必须先置1 LOOP: ;CLR P1.3 MOV C,P1.3 ;读P1.3 JC LIGHT CLR P1.2 ;LED灭 SJMP LOOP LIGHT: SETB P1.2 ;LED 亮 SJMP LOOP RET END 若在执行读P1.3之前,先执行CLR P1.3,观察结果将会不正确。 五实验结论 1、当P1口用作输入时,所有位对应的锁存器必须先置1 2、在执行读P1.3之前,先执行CLR P1.3,观察结果不正确,程序不能正确执行,因为系统读取的是锁存器的状态。 3、读引脚和读锁存器区别:第一种方式是将引脚作为输入,那是真正地从外部引脚读进输入的值,第二种方式是该引脚处于输出状态时,有时需要改变这一位的状态,则并不需要真正地读引脚状态,而只是读入锁存器的状态,然后作某种变换后再输出。

实验 并行IO口8255扩展

实验三并行I/O口8255扩展 一、实验目的 1、了解8255A芯片的结构以及编程方法 2、掌握通过8255A并行口读取开关数据的方法 二、实验说明 本次实验用通过8255扩展接口,仅通过P0端口控制8只集成式7段数码管的显示控制。8255A的PA、PB 端口分别连接8位数码管的段码和位码,程序控制数码管滚动显示一串数字。 三、实验线路图 四、实验步骤 1、先建立文件夹“ex3”,然后建立“ex3”工程项目,最后建立源程序文件“ex3.c”,输入如下源程序;/******************************************* 实验3:用8255实现接口扩展 ******************************************/ #include #include #define uchar unsigned char

#define uint unsigned int //PA,PB,PC端口及命令端口地址定义 #define PA XBYTE[0x0000] //定义8255A地址 #define PB XBYTE[0x0001] //定义8255B地址 #define PC XBYTE[0x0002] //定义8255B地址 #define COM XBYTE[0x0003] //定义8255B控制寄存器地址 //待显示字符队列编码 uchar code DSY_CODE_Queue[ ]= {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xA4,0xC0,0xC0,0x80,0xC0,0x80,0xF9,0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; //共阳极的7段集成式数码管对应编码 // 0:0xc0 // 1:0xcf // 2:0xa4 // 3:0xb0 // 4:0x99 // 5:0x92 // 6:0x82 // 7:0xf8 // 8:0x80 // 9:0x90 // A:0x88 // B:0x83 // C:0xc6 // D:0xa1 // E:0x86 // F:0x8e // DOT:0x7f //数码管选通 uchar DSY_Index[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //延时 void DelayMS (uint ms) {uchar i; while(ms--) for (i=0;i<120;i++); } /********主程序********/ void main( ) { uchar i,j,k; //8255工作方式选择:PA,PB均输出,工作方式0 COM=0x80; while(1)

电子技术实验报告—实验4单级放大电路

电子技术实验报告 实验名称:单级放大电路 系别: 班号: 实验者姓名: 学号: 实验日期: 实验报告完成日期: ?

目录 一、实验目的 (3) 二、实验仪器 (3) 三、实验原理 (3) (一)单级低频放大器的模型和性能 (3) (二)放大器参数及其测量方法 (5) 四、实验内容 (7) 1、搭接实验电路 (7) 2、静态工作点的测量和调试 (8) 3、基本放大器的电压放大倍数、输入电阻、输出电阻的测量 (9) 4、放大器上限、下限频率的测量 (10) 5、电流串联负反馈放大器参数测量 (11) 五、思考题 (11) 六、实验总结 (11)

一、实验目的 1.学会在面包板上搭接电路的方法; 2.学习放大电路的调试方法; 3.掌握放大电路的静态工作点、电压放大倍数、输出电阻和通频带测量方法; 4.研究负反馈对放大器性能的影响;了解射级输出器的基本性能; 5.了解静态工作点对输出波形的影响和负载对放大电路倍数的影响。 二、实验仪器 1.示波器1台 2.函数信号发生器1台 3. 直流稳压电源1台 4.数字万用表1台 5.多功能电路实验箱1台 6.交流毫伏表1台 三、实验原理 (一) 单级低频放大器的模型和性能 1. 单级低频放大器的模型 单级低频放大器能将频率从几十Hz~几百kHz的低频信号进行不失真地放大,是放大器中最基本的放大器,单级低频放大器根据性能不同科分为基本放

大器和负反馈放大器。 从放大器的输出端取出信号电压(或电流)经过反馈网络得到反馈信号电压(或电流)送回放大器的输入端称为反馈。若反馈信号的极性与原输入信号的极性相反,则为负反馈。 根据输出端的取样信号(电压或电流)与送回输入端的连接方式(串联或并联)的不同,一般可分为四种反馈类型——电压串联反馈、电流串联反馈、电压并联反馈和电流并联反馈。负反馈是改变房卡器及其他电子系统特性的一种重要手段。负反馈使放大器的净输入信号减小,因此放大器的增益下降;同时改善了放大器的其他性能:提高了增益稳定性,展宽了通频带,减小了非线性失真,以及改变了放大器的输入阻抗和输出阻抗。负反馈对输入阻抗和输出阻抗的影响跟反馈类型有关。由于串联负反馈实在基本放大器的输入回路中串接了一个反馈电压,因而提高了输入阻抗,而并联负反馈是在输入回路上并联了一个反馈电流,从而降低了输入阻抗。凡是电压负反馈都有保持输出电压稳定的趋势,与此恒压相关的是输出阻抗减小;凡是电流负反馈都有保持输出电流稳定的趋势,与此恒流相关的是输出阻抗增大。 2.单级电流串联负反馈放大器与基本放大器的性能比较 电路图2是分压式偏置的共射级基本放大电路,它未引入交流负反馈。 电路图3是在图2的基础上,去掉射极旁路电容C e,这样就引入了电流串联负反馈。

简单IO口扩展实验报告样本

计算机与信息技术学院综合性实验报告 专业:通信工程年级/班级:09级 2011—2012学年第一学期课程名称单片机原理及应用指导教师祝天龙 学号姓名张乐 0908224061 实验地点计科楼 214 实验时间周二第三节课 项目名称简单I/O口扩展(交通灯) 实验类型综合性 一、实验目的 1.学习在单片机系统中扩展简单I/O接口的方法。 2.学习数据输出程序的设计方法。 3.学习模拟交通灯控制的实现方法。 二、实验仪器或设备 CPU挂箱、AT89S51CPU模块 三、实验内容 扩展实验箱上的74LS273做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。 四、总体设计(设计原理、设计方案及流程等) 首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(红)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。 五、实验步骤(包括主要步骤、代码分析等) 1、实验箱244/273 PORT单元的O0~O7接实验箱上发光二极管L1~L8; 2、74LS273的片选CS273接片选信号CSO(CPLD ENCODER UNIT),此时74LS273的片选地址为CFA0H~CFA7H之间任选; 3、运行实验程序,观察LED显示情况是否与实验内容相符;

实验三单片机IO口控制实验

实验三单片机I/O口控制实验 一、实验目的 利用单片机的P1口作I/O口,学会利用P1口作为输入和输出口。 二、实验设备及器件 PC机一台 https://www.360docs.net/doc/328666437.html,单片机仿真器、编程器、实验仪三合一综合开发平台一台 三、实验内容 1.编写一段程序,用P1口作为控制端口,使D1区的LED轮流亮。 2.编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED亮,不按时LED灭)。 四、实验要求 学会使用单片机的P1口作为I/O口,如果有时间用户也可以利用P3口作I/O口来做该试验。 五、实验步骤 1.用导线把A2区的J61接口与D1区的J52接口相连。原理如图所示。 2.先编写一个延时程序。 3.将LED轮流亮的程序编写完整并使用TKStudy ICE仿真器调试运行。 4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连。原理如上图所示。 5.编写P1.7控制LED的程序,并调试运行。(按下K1看是否全亮) 6.A2区J61接口的P1.7与D1区的J54的SW1相连。然后再使用TKStudy ICE仿真器运行程序,查看结果。 六、实验预习要求 仔细阅读实验箱介绍中的各个接口内容,理解该实验的硬件结构。还可以先把程序编好,然后在Keil C51环境下进行软件仿真。

七、实验参考程序 程序1: ORG 0000H LJMP Main ORG 0100H Main: MOV A,#0FFH CLR C MainLoop: CALL Delay RLC A MOV P1,A SJMP MainLoop Delay: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop RET END 程序2: ORG 0000H LJMP Main ORG 0100H Main: JB P1.7,SETLED CLRLED: CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP Main SETLED: SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3

存储器和IO扩展实验,计算机组成原理

科技学院 课程设计实验报告 ( 2014--2015年度第一学期) 名称:计算机组成原理综合实验题目:存储器和I/O扩展实验 院系:信息工程系 班级: 学号: 学生姓名: 指导教师:李梅王晓霞 设计周数:一周 成绩: 日期:2015 年1 月

一、目的与要求 1. 内存储器部件实验 (1)熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处;学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。 (2)理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案; (3)了解静态存储器系统使用的各种控制信号之间正常的时序关系; (4)了解如何通过读、写存储器的指令实现对58C65 ROM芯片的读、写操作; (5)加深理解存储器部件在计算机整机系统中的作用。 2. I/O口扩展实验 学习串行口的正确设置和使用。 二、实验正文 1.主存储器实验内容 1.1实验的教学计算机的存储器部件设计(说明只读存储器的容量、随机读写器的容量,各选用了什么型号及规格的芯片、以及地址空间的分布) 在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括唯读存储区(ROM,存放监控程序等) 和随读写存储区(RAM)两部分,ROM存储区选用4片长度8位、容量8KB 的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片 实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分 成3组,其地址空间分配关系是:0-1777h用于第一组ROM,固化监控程序, 2000-2777h用于RAM,保存用户程序和用户数据,其高端的一些单元作为监 控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩 展内存容量(存储器的字、位扩展)的教学实验。 1.2扩展8K字的存储空间,需要多少片58C65芯片,58C65芯片进行读写时的特殊要求 要扩展8K字的存储空间,需要使用2片(每一片有8KB容量,即芯片内由8192个单元、每个单元由8个二进制位组成)存储器芯片实现。对 58C65 ROM芯片执行读操作时,需要保证正确的片选信号(/CE)为低点平, 使能控制信号(/OE)为低电平,读写命令信号(/WE)为高电平,读58C65 ROM 芯片的读出时间与读RAM芯片的读出时间相同,无特殊要求;对58C65 ROM 芯片执行写操作时,需要保证正确的片选信号(/CE)为低电平,使能控制信 号(/OE)为高电平,读写命令信号(/WE)为低电平,写58C65 ROM芯片的 维持时间要比写RAM芯片的操作时间长得多。为了防止对58C65 ROM芯片执 行误写操作,可通过把芯片的使能控制引脚(/OE)接地来保证,或者确保读 写命令信号(/WE)恒为高电平。 1.3在实验中思考为何能用E命令直接写58C65芯片的存储单元,而A命令则有时不正确;

串联电路实验报告

串联电路实验报告 篇一:实验报告:组成串联电路和并联电路a 连接串联电路和并联电路 一、实验目的:掌握_____________、______________的连接方式。 二、实验器材: __________、__________、__________、__________、___________。 三、步骤: (一).组成串联电路 1.按图1-1的电路图,先用铅笔将图1-2中的电路元件,按电路图中的顺序连成实物电路图(要求元件位置不动,并且导线不能交叉)。在连接实物电路过程中,开关是 2.经电路连接无误后,闭合和断开结果填入表格中。 3.把开关改接到L1和L2之间,再改接到L2和电池负极间,观察开关控制两只灯泡的情况。将观察结果填入表格中。 (二)组成并联电路 1、在图方框中画出由两只灯泡L1、L2组成的并联电路。要求三个开关中的开关S控制干 路,开关S1和S2分别控制两个支路,并按电路图连接实物及实物图。 2、经检查电路连接无误后,把

3、闭合S1和S2,断开与闭合干路中的开关S,观察它控制哪个灯泡?将观察结果填入表 格中。 4、闭合S和S2,断开与闭合支路中的开关S1,观察它控制哪个灯泡?将观察结果填入表 格中。 5、闭合S和S1,断开与闭合支路开关S2,观察它控制哪个灯泡?将观察结果填入表格中。 (三)实验结论 串联电路:在串联电路里只有条电流路径;用电器)工作,它们之间(选填“会”或“不会”)相互影响;开关控制_____ ____用电器;如果开关的位置改变了,开关的控制作用_________. 并联电路:在并联电路里有条电流路径;用电器)工作,它们之间(选填“会”或“不会”)相互影响;干路开关控制_________用电器,支路开关控制_________用电器(四)、结束实验,整理仪器,把器材分类放好,依次推出实验室。 电学实验规则: 1.实验开始时:首先要依据实验要求,能正确地画出电路图。 2.选择器材时:要依据画出(含“给出”)的电路图,

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机实验一,I/O端口实验报告(2)

单片机原理与接口技术实验 实验一 I/O端口实验(2) 系别:通信工程系 专业:通信工程系11级 学号:233201122041 姓名: 实验时间:2014年3月6日 撰写日期:2014年3月9日

实验一 I/O端口实验(2) 一、实验目的 1、掌握单片机通用I/O端口的使用方法; 2、掌握I/O端口数据输入/输出的方法。 二、实验内容(与本次实验报告标题括号中的数字对应) 2、当开关状态为0101(K5K6K7K8)时,四个灯循环右移;当开关状态为1010(K5K6K7K8)时,四个灯循环左移;当开关为其它状态时,在LED1~LED4上显示开关状态。程序运行时,拨动开关,显示立即跟着变化。【基础,周四下午每人做】 三、实验设计思路 对于该题,因为有3种情况,所以参考课本P68程序,在while循环结构内添加if-else条件判断语句,分别区分右移、左移、与开关状态一致3种情况。 四、电路原理图及接线说明 绘制本次实验用到的部分完整电路原理图如下: 开关K5K6K7K8与P2.0~P2.3相连线;

LED:1~8和P1.0~P1.7相连线。 五、实验流程图 见下图: 六、调试过程及实验现象 对于第该题,一开始运行灯全亮,经按F8逐步调试后,发现P2的值怎么也无法赋给变量b,导致无论如何拨动开关,b的值都不会改变,一直等于FF,使灯全亮。后来经助教指点方知是P2口没有设置为I/O模式,以致于无法将P2的值传输给b。修改设置后,一切运行正常。 七、总结 本次实验的实验难度不大,第一题参考课本的8位左移右移例子稍作修改便可运行,因为实验原理一样;但却因为一开始自己不够细心导致的一些软件设置

实验2+++并行IO口的使用

实验二并行I/O端口的使用 一、实验目的 1.进一步熟悉Keil C、proteus软件的使用方法。 2.掌握分支结构语句、运算符和数组的运用。 3.掌握LED数码管的结构和静态显示工作原理。 二、实验内容 1.程序一:按键K0~K3,用分支语句实现P0口的多值输出。 2.程序二:用循环语句实现P0口的多值输出。 3.程序三:用数组方式控制跑马灯。 4程序四:在P2口连接的LED数码管上循环显示“0”,“1”,“2”,“3”,“4”。 三、实验仿真硬件图 在Proteus软件中建立如下图所示仿真模型并保存。 图2-1 并行I/O端口应用原理图 四、编程提示 程序一:分别用if语句、if-else-if语句、switch语句来实现当按下按键K0~K3时,对应D1~D4点亮。 程序二:运用三种基本的循环语句: for语句、while语句和do-while语句,实现D1~D8循环点亮。 程序三:用数组方式控制跑马灯。将跑马灯的全部状态用数组表达,然后用循环语句依次读取数组各元素,送P0口显示。 程序四:在P2口连接的LED数码管上循环显示“0”,“1”,“2”,“3”,“4”。思路同程序一,只不过数组元素是由共阴极数码管所对应的字形码所组成。 五、调试运行 1.四个程序在proteus仿真通过。

分别用if语句、if-else-if语句、switch语句来实现当按下按键K0~K3时,对应D1~D4点亮。 if语句的一般形式: if ( 表达式1 ) { 语句组1; } if ( 表达式 2) { 语句组2; } ... if-else-if语句的一般形式: if ( 表达式 1) { 语句组1; } else if( 表达式 2) { 语句组2; } ... else if( 表达式 n) { 语句组n; } else { 语句组n+1; } switch语句的一般形式为: switch(表达式) { case常量表达式1: 语句序列1;break; case常量表达式2: 语句序列2;break; ... case常量表达式n: 语句序列n;break; default : 语句序列n+1 } 2.运用三种基本的循环语句: for语句、while语句和do-while语句,实现D1~D8循环点亮。 for语句的一般形式:

实验一 简单IO口扩展实验

实验一简单I / O口扩展实验 一、实验目的 1、熟悉74LS273,74LS244的应用接口方法。 2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。 二、实验设备 CPU挂箱、8086CPU模块。 三、实验内容 逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。 五、实验步骤 1、实验接线: CS0 :CS244 CS1 :CS273 K1~K8 :I0~I7(对应连接) O0~O7 :LED1~LED8 2. 编辑程序,单步运行,调试程序。 3. 用K1控制LED1、LED2,K2控制LED3、LED4,K3控制LED5、LED6, K4控制LED7、LED8 4. 调试通过后,全速运行程序,观看实验结果。 5..编写实验报告。 六、实验提示 74LS244或74LS273的片选信号可以改变,如连接CS2,此时应同时修改程序中相应的地址;LED发光二极管为共阴结构,注意电平逻辑。

七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。 程序框图如下: 程序源代码清单: assume cs:code code segment public org100h start:mov dx,04a6h mov ax,90h out dx,ax mov al,0feh start1: mov dx,04a0h in al,dx test ax,01h

实验四 简单IO口扩展实验

实验四简单I/O口扩展实验 4.1实验目的 1. 熟悉74LS273,74LS244的应用接口方法。 2. 掌握用锁存器、三态门扩展简单并行输入、输出接口的方法。 4.2实验条件 1. 北京达盛科技有限公司“缔造者”电子电气技术综合实验台、CPU挂箱、8086CPU模块。 2. PC机1台,已安装实验台8086开发调试软件。 3. 万用表。 4.3实验内容 本实验用到CPU挂箱两部分电路:开关量输入输出电路、简单I/O口扩展电路。实验要求:采用74LS244输入逻辑电平开关K1~K8的状态,然后通过74LS273锁存输出,利用LED 显示电路作为输出的状态显示。 4.4实验步骤 1. 实验接线 将CPU挂箱上简单I/O口扩展电路中的CS244、CS273分别与地址译码电路的CS0、CS1 相连,简单I/O口扩展电路中的IN 0~IN 7 、 O ~O 7 分别与开关量输入输出电路的K1~K8、 LED1~LED8相连。 2. 建立PC机与8086CPU模块间的通讯连接 将8086CPU模块正确地放在CPU挂箱上的CPU插槽中,系统上电后按下RESET键,几秒钟之后如果显示“P_”,说明CPU挂箱上的8086系统复位及8086CPU模块监控程序运行正常。在PC机上打开8086开发调试软件,根据提示按下RESET键,几秒种后如果显示“C_”,说明与PC机通讯正常,同时8086开发调试软件用户界面提示通讯成功。如果通讯不成功,试着选择串口COM2。 3. 编辑汇编语言源程序 8086开发调试软件是将编辑、汇编、连接和调试集成在一起的综合开发环境,同时具有断点设定、程序下载到实验台等功能。选择“文件”→“新建”选项,建立一个源文件,输入源程序并保存。 4. 编译源程序 选择“编译”→“编译”选项,8086开发调试软件的此项功能完成对源程序的汇编、连接,生成可执行程序。 5. 下载可执行程序到实验台 选择“编译”→“链接”选项,8086开发调试软件的此项功能是将可执行程序下载到

电子电路综合设计实验报告

电子电路综合设计实验报告 实验5自动增益控制电路的设计与实现 学号: 班序号:

一. 实验名称: 自动增益控制电路的设计与实现 二.实验摘要: 在处理输入的模拟信号时,经常会遇到通信信道或传感器衰减强度大幅变化的情况; 另外,在其他应用中,也经常有多个信号频谱结构和动态围大体相似,而最大波幅却相差甚多的现象。很多时候系统会遇到不可预知的信号,导致因为非重复性事件而丢失数据。此时,可以使用带AGC(自动增益控制)的自适应前置放大器,使增益能随信号强弱而自动调整,以保持输出相对稳定。 自动增益控制电路的功能是在输入信号幅度变化较大时,能使输出信号幅度稳定不变或限制在一个很小围变化的特殊功能电路,简称为AGC 电路。本实验采用短路双极晶体管直接进行小信号控制的方法,简单有效地实现AGC功能。 关键词:自动增益控制,直流耦合互补级,可变衰减,反馈电路。 三.设计任务要求 1. 基本要求: 1)设计实现一个AGC电路,设计指标以及给定条件为: 输入信号0.5?50mVrm§ 输出信号:0.5?1.5Vrms; 信号带宽:100?5KHz; 2)设计该电路的电源电路(不要际搭建),用PROTE软件绘制完整的电路原理图(SCH及印制电路板图(PCB 2. 提高要求: 1)设计一种采用其他方式的AGC电路; 2)采用麦克风作为输入,8 Q喇叭作为输出的完整音频系统。 3. 探究要求: 1)如何设计具有更宽输入电压围的AGC电路; 2)测试AGC电路中的总谐波失真(THD及如何有效的降低THD 四.设计思路和总体结构框图 AGC电路的实现有反馈控制、前馈控制和混合控制等三种,典型的反馈控制AGC由可变增益放大器(VGA以及检波整流控制组成(如图1),该实验电路中使用了一个短路双极晶体管直接进行小信号控制的方法,从而相对简单而有效实现预通道AGC的功能。如图2,可变分压器由一个固定电阻R和一个可变电阻构成,控制信号的交流振幅。可变电阻采用基极-集电极短路方式的双极性晶体管微分电阻实现为改变Q1电阻,可从一个由电压源V REG和大阻值电阻F2组成的直流源直接向短路晶体管注入电流。为防止Rb影响电路的交流电压传输特性。R2的阻值必须远大于R1。

单片机实验-单片机并行IO口的应用实验

单片机并行I/O口的应用实验 一、实验目的 1、熟悉Proteus软件和Keil软件的使用方法。 2、熟悉单片机应用电路的设计方法。 3、掌握单片机并行I/O口的直接应用方法。 4、掌握单片机应用程序的设计和调试方法。 二、实验内容或原理 1、利用单片机并行I/O口控制流水灯。 2、利用单片机并行I/O口控制蜂鸣器。 三、设计要求 1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口 线上分别接LED0至LED7八个发光二极管,在P3.0口线上 接一蜂鸣器。 2、编写程序:要求LED0至LED7以秒速率循环右移。 3、编写程序:要求LED0至LED7以秒速率循环左移。 4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、实验程序流程框图和程序清单。 4、电路原理图。 5、实验结果 6、实验总结。 7、思考题。 五、思考题 1、编程实现LED0至LED7以十六进制计数规律亮灯? 原理图:

程序清单: /*(1)LED0~LED7以秒速率循环右移 蜂鸣器逐位报警*/ ORG 0000H MAIN:MOV A, #11111110B;赋初值 LOOP:MOV P1,A ;赋值给P1口 CPL P3.0 ;低电平有效 LCALL DELAY ;调用延时电路 SETB P3.0 ;控制蜂鸣器叫的时间间隔 LCALL DELAY RL A LJMP LOOP DELAY:MOV R7,#0FFH LOOP1:MOV R6,#0F4H LOOP2:MOV R5,#02H DJNZ R5,$ ;"$"当前的PC值,R5的内容减1不为零,继续执行该语句 DJNZ R6,LOOP2 DJNZ R7,LOOP1 RET END /*(2)LED0~LED7以十六进制计数规律亮灯*/ ORG 0000H MOV A,#0FFH LOOP: MOV P1,A LCALL DELAY DEC A CJNE A, #0FFH,LOOP MOV A, #0FFH LJMP LOOP DELAY:MOV R7, #0A7H LOOP1:MOV R6, #0ABH LOOP2:MOV R5, #10H DJNZ R5, $ ;"$"当前的PC值。R5的内容减1不为零 DJNZ R6, LOOP2 DJNZ R7, LOOP1 RET END

单片机---简单IO口扩展实验一.

实验三简单 I/O口扩展实验一 ——交通灯控制实验 一、实验目的: 1. 学习在单片机系统中扩展简单 I/O接口的方法。 2. 学习数据输出程序的设计方法。 3. 学习模拟交通灯控制的实现方法。 二、实验设备: EL-8051-III 型单片机实验箱 三、实验内容: 扩展实验箱上的 74LS273做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。四、实验原理: 要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将 L1(红、 L2(绿、 L3(黄做为东西方向的指示灯,将 L5(红、 L6(绿、 L7(黄做为南北方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮, 东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到 +5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。 五、实验原理图 六、实验步骤:

1. 实验箱 244/273 PORT单元的 O0~O7接实验箱上发光二极管 L1~L8; 2.74LS273的片选 CS273接片选信号 CSO (CPLD ENCODER UNIT ,此时74LS273的片选地址为 CFA0H ~CFA7H 之间任选 ; 3.运行实验程序,观察 LED 显示情况是否与实验内容相符 ; 七、程序框图:

电路分析基础实验报告

实验一 1. 实验目的 学习使用workbench软件,学习组建简单直流电路并使用仿真测量仪表测量电压、电流。 2.解决方案 1)基尔霍夫电流、电压定理的验证。 解决方案:自己设计一个电路,要求至少包括两个回路和两个节点,测量节点的电流代数和与回路电压代数和,验证基尔霍夫电流和电压定理并与理论计算值相比较。 2)电阻串并联分压和分流关系验证。 解决方案:自己设计一个电路,要求包括三个以上的电阻,有串联电阻和并联电阻,测量电阻上的电压和电流,验证电阻串并联分压和分流关系,并与理论计算值相比较。 3.实验电路及测试数据 4.理论计算 根据KVL和KCL及电阻VCR列方程如下: Is=I1+I2, U1+U2=U3, U1=I1*R1,

U2=I1*R2, U3=I2*R3 解得,U1=10V,U2=20V,U3=30V,I1=5A,I2=5A 5. 实验数据与理论计算比较 由上可以看出,实验数据与理论计算没有偏差,基尔霍夫定理正确; R1与R2串联,两者电流相同,电压和为两者的总电压,即分压不分流; R1R2与R3并联,电压相同,电流符合分流规律。 6. 实验心得 第一次用软件,好多东西都找不着,再看了指导书和同学们的讨论后,终于完成了本次实验。在实验过程中,出现的一些操作上的一些小问题都给予解决了。 实验二 1.实验目的 通过实验加深对叠加定理的理解;学习使用受控源;进一步学习使用仿真测量仪表测量电压、电流等变量。 2.解决方案 自己设计一个电路,要求包括至少两个以上的独立源(一个电压源和一个电流源)和一个受控源,分别测量每个独立源单独作用时的响应,并测量所有独立源一起作用时的响应,验证叠加定理。并与理论计算值比较。 3. 实验电路及测试数据 电压源单独作用:

单片机实验报告二 单片机IO口实验

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:?验证?综合?设计?创新实验日期:2019.4.16 实验成绩: 实验二单片机I/O口实验 (一)实验目的 1.掌握单片机最小系统的构成,学习如何控制I/O口来驱动发光二极管,掌握移位和软件延时 程序的编写。 2.熟练掌握STC型开发板的使用方法和注意事项。 3.掌握应用STC_ISP烧录过程; (二)设计要求 利用51单片机及4个LED发光二极管,设计一个单片机流水灯程序,P4.7 /P4.6/ P1.6/ P1.7 来演示跑马灯。其中流水灯的变化形式多样。 (三)实验原理 STC实验箱单片机型号为IAP15W4K32S4-Student,其在线编程与在线仿真可由Keil uVision4集成开发环境和STC系列单片机在线可编程(ISP)电路实现: 1.设置STC仿真器:运行STC-ISP在线编程软件,选择“keil 仿真设置”选项,如图1 所示,单击“添加型号和头文件到keil中/ 添加STC仿真器驱动到keil中”,弹出“浏 览文件夹”对话框,在浏览文件夹中选择keil的安装目录,单击“确定”按钮即完成添 加。根据所用芯片,单击“将IAP15W4K32S4-Student设置为仿真芯片”。 图1 2.Keil uVision4环境设置:选择菜单命令Project →Options for Target →Debug,选中 “STC Monitor-51 Driver”,勾选“Load Application at Startup”选项和“Run to main()” 选项,如图2所示。单击图2右上角的“settings”按钮,弹出硬件参数设置对话框,如 图2所示,根据仿真电路所使用的串口号(本机所用为串口5)选择串口端口,如图3 所示:

实验七 8255 并行IO扩展实验

实验七8255 并行I/O扩展实验 一、实验要求 利用8255 可编程并行口芯片,实现输入、输出实验,实验中用8255PA 口作读取开关状态输入,8255PB 口作控制发光二极管输出。 二、实验目的 1、了解8255 芯片结构及编程方法。 2、了解8255 输入、输出实验方法。 三、实验电路及连线 1、Proteus 实验电路 2、硬件验证实验 硬件连接表 四、实验说明

1、8255A 芯片简介:8255A 可编程外围接口芯片是INTEL 公司生产的通用并行接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作: 方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式 方式2:双向选通工作方式 2、使8255A 端口A 工作在方式0 并作为输入口,读取Kl-K8 个开关量,PB 口工作在方式0作为输出口。 五、实验程序流程图 六、实验步骤 1、Proteus 仿真 a.在Proteus 中打开设计文档8255_STM.DSN; b.建立实验程序并编译,仿真; c.如不能正常工作,打开调试窗口进行调试。 参考程序: CODE SEGMENT

ASSUME CS:CODE IOCON EQU 8006H IOA EQU 8000H IOB EQU 8002H IOC EQU 8004H START: MOV AL,90H MOV DX,IOCON OUT DX,AL NOP START1: NOP NOP MOV AL,0 MOV DX,IOA IN AL,DX NOP NOP MOV DX,IOB OUT DX,AL JMP START1 CODE ENDS END START

单片机io口实验报告

实验一 以下所有KEIL工程、程序均命名为自己姓名的拼音 一、实验目的: 熟悉KEIL软件的开发,掌握程序下载流程 二、实验环境: 1.硬件:PC微机、单片机开发板 2.软件:KEIL 三、实验步骤: 1.在KEIL中新建工程文件,在工程文件下新建C文件“姓名首字母.c”并加入到工程 中(注意C语言编程时,工程中要保留STARTUP.A51汇编文件)。 2.编写程序,初始化内部数据寄存器0x40开始的100个地址单元,写入0x55,然后复 制到0x60开始的存储器中,使用软件仿真的方式调试程序,观察程序模拟运行的结果: #include "reg52.h" unsigned char *p,*q; unsigned char i; int main(){ p=0x40; for(i=0;i<10;i++) { *p=0x55; p++; } for(i=0;i<10;i++) { *p=*q;

q++; p++; while(1); } } 调试时,在调试界面中依次找到 a) 变量观察窗口 b) 存储器窗口 c) 单步运行 d) 全速运行 程序运行结果(存储器窗口截图): 3.编写程序,控制实验板上的LED灯:D1-D3点亮,D4-D7熄灭,D8点亮#include”reg52.h” sbit P1_4=P1^4; int main() { P1_4=0; P0=0x1E;

While(1); } 4.编写C语言程序,实现LED灯循环点亮 #include "reg52.h" void delay (unsigned z) { while(z--); } int main() { unsigned char i; P1&=~(0x01<<4); P0=0xff; i=0x01; while (1) { P0=~i; i=i<<1; if(i==0x0) i=0x01; delay(10000); } } 四、实验总结

单片机实验报告 (3)

单片机原理及接口技术 学院:光电信息科学与技术学院班级:——实验报告册 083-1 实验一系统认识实验 1.1 实验目的 1. 学习keil c51集成开发环境的操作。 2. 熟悉td-51系统板的结构和使用。 1.2实验仪器 pc 机一台,td-nmc+教学实验系统。 1.3实验内容 1. 编写实验程序,将00h—0fh共16个数写入单片机内部 ram 的30h—3fh空间。 2.编写实验程序,将00h到0fh共16个数写入单片机外部ram的1000h到100fh空间。 1.4 源程序 https://www.360docs.net/doc/328666437.html, 0000h mov r1,#30h mov r2, #10h mov a, #00h mov @r1, a inc r1 inc a djnz r2,loop sjmp $ end 2. org 0000h mov dptr, #1000h mov r2, #10h mov a, #00h movx @dptr, a inc dptr inc a djnz r2,loop sjmp $ end loop: loop: 1.5 实验步骤 1.创建 keil c51 应用程序 (1)运行 keil c51 软件,进入 keil c51 集成开发环境。 - 3 -(2)选择工具栏的 project 选项,弹出下拉菜单,选择 newproject 命令,建立一个新的μvision2 工程。选择工程目录并输入文件名 asm1 后,单击保存。 (3)工程建立完毕后,弹出器件选择窗口,选择 sst 公司的 sst89e554rc。(4)为工程添加程序文件。选择工具栏的 file 选项,在弹出的下拉菜单中选择 new 目录。 (5)输入程序,将 text1 保存成asm1.asm。 (6)将asm1.asm源程序添加到 asm1.uv2 工程中,构成一个完整的工程项目。 2.编译、链接程序文件(1)设置编译、链接环境 (2)点击编译、链接程序命令,此时会在 output window 信息输出窗口输出相关信息。 3.调试仿真程序 (1)将光标移到 sjmp $语句行,在此行设置断点。 (2)运行实验程序,当程序遇到断点后,停止运行,观察存储器中的内容,验证程序功能。 1.6 实验结果. 2. 4 实验二查表程序设计实验 2.1实验目的 学习查表程序的设计方法,熟悉 51 的指令系统。 2.2实验设备 pc 机一台,td-nmc+教学实验系统 2.3实验内容 1.通过查表的方法将 16 进制数转换为 ascii 码; 2.通过查表的方法实现y=x2,其中x为0—9的十进制数,以bcd码表示,结果仍以bcd 码形式输出。

相关文档
最新文档