51单片机实验-实验二 P1口输入、输出实验

合集下载

单片机实验报告

单片机实验报告

单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。

2 熟悉循环结构程序的编写。

3 熟悉编程环境和程序的调试。

二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。

例如将4000H开始的10个字节内容清零或全部赋值为33H。

注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。

2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。

5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。

三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。

(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。

3、运行和调试过程。

外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。

同时,学习掌握汇编程序的编写和调试过程。

实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。

2 熟悉循环结构程序的编写,进一步熟悉指令系统。

3 熟悉编程环境和程序的调试。

二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。

数字量输入输出实验

数字量输入输出实验

数字量输入输出实验一、实验目的了解P1口作为输入输出方式使用时,CPU 对P1口的操作方式。

二、实验环境1、软件环境要求Windows XP操作系统以及Keil C51 单片机集成开发环境。

2、硬件环境要求电脑一台,TD-51单片机系统,开关及LED显示单元,单次脉冲单元。

三、实验内容编写实验程序,将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。

提高部分:LED灯控制要求:通过KK1实现LED灯工作方式即时控制,完成LED灯左循环、右循环、间隔闪烁功能。

四、实验分析P1口是8位准双向口,每一位均可独立定义为输入输出,输入位置1。

通过A的左/右移位及赋值55H、0AAH,再将A值送入P1,可实现LED灯左循环、右循环、间隔闪烁功能。

五、实验步骤(一)基础实验程序及实验程序流程图如下。

实验程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV P1,#0F0H ;将开关状态送入P1高位MOV A,P1 ;送入ASWAP A ;高低位互换MOV P1,A ;将开关状态送入P1低位JMP MAIN ;循环SJMP $END程序流程图:图1 LED开关控制显示功能图图2 实验接线图实验步骤:1. 按图2所示,连接实验电路图,图中“圆圈”表示需要通过排线连接;2. 编写实验程序,编译链接无误后进入调试状态;3. 运行实验程序,观察实验现象,验证程序正确性;4. 按复位按键,结束程序运行,退出调试状态;5. 自行设计实验,验证单片机其它IO 口的使用。

(二)提高实验程序及实验程序流程图如下。

实验程序:实验程序流程图:ORG 0000HLJMP MAINORG 0100HMAIN:KT: ;检查KK1SETB P3.3JNB P3.3,KTCLR P3.3LL1: ;左循环MOV A,#01HX1:MOV P1,ACALL DELAYRL ASETB P3.3JNB P3.3,X1CLR P3.3LL2: ;右循环MOV A,#80HX2:MOV P1,ACALL DELAYRR ASETB P3.3JNB P3.3,X2CLR P3.3LL3: ;间隔闪烁MOV A,#55HMOV P1,ACALL DELAYMOV A,#0AAHMOV P1,ACALL DELAYSETB P3.3JNB P3.3,LL3CLR P3.3JMP KTDELAY: ;延时子程序MOV R2,#00H图3 实验流程图MOV R3,#00HABC:DJNZ R2,ABCDJNZ R3,ABCRETSJMP $END实验步骤:(1)按图4连接实验电路;(2)编写实验程序,编译、链接无误后启动调试;(3)运行实验程序,每按一次KK1+,观察实验现象;(4)验证程序功能,实验结束按复位按键退出调试。

p1口输入输出实验报告

p1口输入输出实验报告

p1口输入输出实验报告p1口输入输出实验报告引言:计算机科学领域的发展使得我们能够使用各种各样的设备与计算机进行交互。

而在这个过程中,输入输出接口的设计和实现显得尤为重要。

本篇文章将围绕p1口输入输出接口展开讨论,介绍其原理、实验过程以及实验结果。

一、p1口输入输出接口的原理p1口是一种通用输入输出接口,它可以连接各种外部设备,如键盘、鼠标、打印机等。

p1口的原理是通过电信号的传输来实现与外部设备的交互。

具体来说,p1口通过发送和接收电压信号来进行通信,从而实现输入输出的功能。

二、实验过程1. 准备工作在进行实验前,我们需要准备一台计算机和一些外部设备,如键盘、鼠标和打印机。

将这些设备连接到计算机的p1口上。

2. 输入实验首先,我们进行输入实验。

在连接好设备后,我们可以通过键盘向计算机输入一些字符。

计算机会将这些字符接收并进行处理。

我们可以通过编写一个简单的程序来实现字符的显示和处理。

在程序中,我们可以使用相应的函数来获取键盘输入,并将其显示在屏幕上。

通过这个实验,我们可以验证p1口的输入功能是否正常工作。

3. 输出实验接下来,我们进行输出实验。

在程序中,我们可以使用相应的函数来控制打印机输出指定的内容。

通过这个实验,我们可以验证p1口的输出功能是否正常工作。

4. 实验结果通过实验,我们可以得出以下结论:- p1口的输入功能正常工作,可以准确地接收键盘输入的字符。

- p1口的输出功能正常工作,可以控制打印机输出指定的内容。

三、实验总结p1口作为一种通用输入输出接口,具有广泛的应用。

通过本次实验,我们对p1口的原理和功能有了更深入的了解。

p1口的输入功能可以使计算机接收外部设备的输入信号,从而实现与用户的交互。

p1口的输出功能可以使计算机控制外部设备进行相应的操作,从而实现对外部环境的影响。

在今后的学习和工作中,我们可以进一步探索p1口的应用,提高计算机与外部设备的交互效率。

结语:通过本次实验,我们对p1口输入输出接口有了更深入的理解。

单片机实验报告

单片机实验报告

单片机实验报告班级:09050541学号:0905054116姓名:王昆鹏实验1 P1口实验一、实验目的:1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

二、实验设备:CPU挂箱、8051CPU模块三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

软件延时,如果用c编程时,通过使用keil的软件模拟,调试观察子函数(delay)延时时间。

(具体延时可以自行设定)使用汇编语言的软件延时,可以计算其指令的周期数,大概估算其软件延时。

五、实验原理图:P1口输出、输入实验六、实验步骤:执行程序:P1.0~P1.7接发光二极管L1~L8。

七、程序框图:循环点亮发光二极管(具体延时可以自行设定)八、程序代码NAME T1_1ORG 0000HLJMP STARTORG 0030HSTART: MOV A,#0FEH //将1111 1110赋给A LOOP: RL A //A循环左移MOV P1,A //把A赋给端口P1LCALL DELAY //延时0.16sJMP LOOP //循环;延时函数DELAY: MOV R1,#200DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND实验2 中断口实验一、实验目的:1.学习外部中断技术的基本使用方法。

2.学习中断处理程序的编程方法。

二、实验设备:CPU挂箱、8051CPU模块三、实验内容:通过设定两个中断使能和触发方式,并编写相应的中断服务子函数,改变led灯的变化情况。

当按下KEYBOARD的按键时8个led都灭,当把k1向上拉再复位后,4个led亮,4个灭。

四、实验原理:参考《单片机原理及接口技术》第三版,北京航空航天大学出版社。

北京理工大学单片机实验报告

北京理工大学单片机实验报告

北京理工大学实验选修课程《单片机原理与应用》课程实验报告姓名:学号:**********专业:信息工程班级:05111003实验一 P1口基本实验一、实验目的1.掌握如何建立项目,并用Keil C51软件调试程序。

二、实验内容1. P1口基本实验P1口做输出口,接八只发光二极管(如图1-1),编写程序,使发光二极管从左到右依次单个点亮,再从右至左依次单个点亮,以此循环。

各发光二极管的阳极通过保护电阻接到+5V 的电源上,阴极接到接线端口上,因此使其点亮应使相应接线端口为低电平。

三、实验原理1. P1口实验原理P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”。

2. 延时原理及计算方法常用的延时程序有两种方法,一种是用定时器中断来实现,另一种是用指令循环来实现。

用C 语言编写的延时子程序,计算延时时间时需转化为汇编语言。

针对不同的编译环境,C51编译后生成的代码不同。

针对本实验系统,若延时时间大于255ms,用C51实现可大致写出如下:unsigned int i;unsigned char j;while(i--){ for(j=0;j<60;j++){;}}若延时时间不大于255ms ,可将循环变量(i,j )定义为unsigned char ,并将内循环体中参数改为75。

四、实验代码#include<reg51.h>unsigned char L; /*L 传递亮灭的数值*/或 unsigned int i, ms; unsigned char j; for(i=0;i<ms;i++) { for(j=0;j<60;j++) {;} }delay(unsigned int ms) /*延时子程序*/{unsigned char j;unsigned int i;for(i=0;i<ms;i++){for(j=0;j<60;j++) /*内循环空操作*/{;}}}void display() /*显示输出子程序*/{P1=~L; /*LED共阳极,L取反输出*/delay(1000); /*延时1秒*/}main(){unsigned char i;L=0xFF; /*全亮*/display();L=0x00; /*全灭*/display();while(1) /*进入死循环,重复执行程序*/{L=0x01; /*LED1亮*/display();for(i=0;i<8;i++) /*LED右移8次点亮*/{L=L<<1; /*L左移1位*/display();}L=0x80; /*LED8亮*/display();for(i=0;i<8;i++) /*LED左移8次点亮*/{L=L>>1; /*L右移1位*/display();}}}五、实验心得通过这次实验我们熟悉了专用的调试环境,并练习了编写代码、编译链接、烧写程序、调试运行等一系列的实验步骤,对C51单片机有了一个初步的直观认识。

单片机实验P3.3输入、P1口输出和步进电机控制实验

单片机实验P3.3输入、P1口输出和步进电机控制实验

单⽚机实验P3.3输⼊、P1⼝输出和步进电机控制实验南昌航空⼤学实验报告⼆0⼀⼀年⼗⽉⼀⼗七⽇课程名称:单⽚微型机实验名称:P3.3输⼊、P1⼝输出和步进电机控制实验班级: 080611 学⽣姓名:学号: 08061108 指导教师评定:签名:⼀、实验⽬的1、掌握P3⼝、P1⼝简单使⽤;2、学习延时程序的编写和使⽤;3、了解步进电机控制的基本原理;4、掌握步进电机转动编程⽅法。

⼆、实验内容及要求1、P3.3输⼊、P1⼝输出实验1)P3.3⼝做输⼊⼝,外接⼀脉冲,每输⼊⼀个脉冲,P1⼝按⼗六进制加⼀。

P1⼝做输出⼝,编写程序,使P1⼝接的8个发光⼆极管L1—L8按16进制加⼀⽅式点亮发光⼆极管。

2)P1⼝是准双向⼝,它作为输出⼝时与⼀般的双向⼝使⽤⽅法相同,由准双向⼝结构可知:当P1⼝作为输⼊⼝时,必须先对它置⾼电平,使内部MOS管截⽌,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输⼊产⽣影响。

若不先对它置⾼,且原来是低电平,则MOS管导通,读⼊的数据是不正确的。

3)延时⼦程序的延时计算问题。

对于延时程序:DELAY :MOV R6, #00HDELAY1:MOV R7, #80HDJNZ R7, $DJNZ R6, DELAY1查指令表可知MOV、DJNZ指令均需⽤两个机器周期,⽽⼀个机器周期时间长度为12/ 6.0MHZ,所以该段指令执⾏时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms。

图1 P3.3输⼊、P1图2 实验电路原理图2、步进电机控制实验1)从键盘上输⼊正、反转命令,转速参数和转动步数显⽰在显⽰器上,CPU再读取显⽰器上显⽰的正、反转命令,转速级数(16级)和转动步数后执⾏。

转动步数减为零时停⽌转动。

2)步进电机驱动原理是通过对它每相线圈中的电流和顺序切换来使电机作步进式旋转。

驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。

P1、P3口输入输出实验

P1、P3口输入输出实验

实验二 P1、P3口输入输出实验一、实验目的进一步熟悉keil仿真软件、proteus仿真软件的使用。

了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。

掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

二、实验原理MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。

每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。

四组并行I/O端口即可以按字节操作,又可以按位操作。

当系统没有扩展外部器件时,I/O端口用作双向输入输出口;当系统作外部扩展时,使用P0、P2口作系统地址和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。

P1口的位结构如图1所示。

P1口用作双向输入输出端口。

这时图中多路开关的控制信号为低电平,输出与锁存器的反向输出端相连,同时上面的场效应管由于与门输出为低电平而截止。

三、实验设备与器件硬件:微机、单片机仿真器、单片机实验板、连线若干软件:KEIL C51单片机仿真调试软件,Proteus系列仿真调试软件四、实验内容及结果分析用Proteus仿真软件设计流水灯电路,分别实现下列功能:P3口作为输入口读取开关状态,P1口作为输出口,连续运行程序,发光二极管显示开关状态。

如果是下载式实验仪,在程序装载前,必须使P3口的拨动开关处于高电平状态。

并且不能单步调试,只能连续执行。

完整的电路图如图所示。

2)利用keil软件编写相应的程序:a、运行keil 2软件,启动后,点击Project菜单新建项目,如图6所示。

b 、新建项目后,选择仿真单片机的型号,如图7所示:c、单击File菜单的“New”新建程序文件,再右击“Source Group1”添加文件,如图 8、图9所示:d、在软件的程序编写界面编写相应的程序。

点击按钮运行程序,确认无误后,点击,图5 完整电路图图6 新建项目界面图7 单片机型号选择图8 新建程序文件图9 添加文件在弹出的窗口中选择Output 选项卡,勾选选项,之后点击按钮,最后再点击按钮,生成hex 文件。

P1口输入输出实验

P1口输入输出实验

实验一 P1口输入输出一.实验目的(1)进一步熟悉51单片机外部引脚线路连接;(2)验证常用的51指令;(3)学习简单的编程方法;(4)掌握单片机全系统调试的过程及方法;(5)学习P1口的有关功能作用以及使用方法。

二.实验说明P1口由于有内部上拉电阻,没有高阻抗输入状态,称为准双向口。

作为输出口时,不需要在片外接上拉电阻,P1口“读引脚”输入时,必须先向锁存器写1;三.实验内容P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来四.实验原理以实验机上74LS273做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

循环时间由定时器控制。

五.实验流程六.实验源程序ORG 0000H ;程序入口AJMP RIGHT ;跳向标号RIGHT处ORG 0030H ;程序RIGHT: MOV R0,#08H ;置移位次数MOV A,#0FFH ;置全1CLR C;将Cy清零RIGHT1: RRC A ;由于进位Cy=0,所以带进位的循环右移会出现灯的亮灭MOV P1,A ;输出至P1口,控制LEDCALL DELAY ;调用延时子程序DJNZ R0,RIGHT1 ;R0-1,不为0则转移到标号RIGHT1处AJMP RIGHT ;绝对转移至RIGHT处;***************************************************************************** ; /*延时子程序*/;***************************************************************************** ;使用不停的跳转来实现延时,DELAY: MOV R5,#10DELAY1: MOV R6,#50DELAY2: MOV R7,#250DJNZ R7,$DJNZ R6,DELAY2 ;R6-1,不为0则转移至DELAY2,执行2*200*10usDJNZ R5,DELAY1 ;R5-1,不为0则转移至DELAY1,执行2*10usRET ;退出子程序执行END七.硬件设计(1)P1口某一I/O口线反转输出电路(2) P1口输出电路八.实验连接图九.实验原理图:十.仿真器的设置步骤:仿真模式设置:8752 模式。

P1口、P3口输入、输出实验

P1口、P3口输入、输出实验

P1口、P3口输入、输出实验1P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1口做输入口,接八个拨动开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。

二.实验目的1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

三. 实验电路及连线三. 实验电路及连线实验一时,P1.0-P1.7接L0-L7。

实验二时,P1.0-P1.7接K0-K7,PO0-PO7接L0-L7。

CS273接第7 模块地址译码的F200。

四.实验说明1.P1口是准双向口。

它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题对于程序 DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知 MOV ,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz ,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS五.实验框图程序框图:六 程序P1口输入:ORG 0000HAJMP MAINORG 0100HMAIN: MOV A,#0FEHLOOP1: MOV P1,AACALL DELAYRL ACJNE A,07FH,LOOP1AJMP MAINDELAY: MOV R7,#10HDELAY0:MOV R6,#7FHDELAY1: MOV R5,#7FHDELAY2: DJNZ R5,DELAY2DJNZ R6,DELAY1DJNZ R7,DELAY0RETENDP1口输出:ORG 0000HLJMP STARTSTART: MOV DPTR,#0F200HMOV P1, #0FFHMOV p0, #0FFHREAD: MOV A, P1CPL AMOVX @DPTR, AAJMP READEND2P3口输出控制继电器实验一.实验要求利用P3.5输出高低,控制继电器的开合,实现对外部装置的控制。

单片机实验报告2

单片机实验报告2

《单片机应用系统设计》实验报告院系:仪器科学与工程学院专业:测控技术与仪器实验室:机械楼5楼同组人员:评定成绩:审阅教师:硬件实验一I/O口输入/输出及控制实验Ⅰ、I/O口输入/输出实验一、实验目的1、学习单片机I/O口的使用方法2、学习延时子程序的编写和使用二、实验内容1、I/O口输出:P1口做输出口,接八只发光二极管,编写程序让发光二极管循环点亮。

2、I/O口输入/输出:P1.0、P1.1做输入口接两个拨动开关;P1.2、P1.3做输出口,接两个发光二极管。

编写程序读取开关状态,将此状态在发光二极管上显示出来。

编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。

三、实验步骤1、I/O口输出硬件连接连线连接孔1 连接孔21 P1.0 L02 P1.1 L13 P1.2 L24 P1.3 L35 P1.4 L46 P1.5 L57 P1.6 L68 P1.7 L7MCS51的P1口循环点灯2、I/O口输入/输出硬件连接连线连接孔1 连接孔21 K4 P1.02 K5 P1.13 P1.2 L44 P1.3 L5MCS51的P1口输入/输出3、实验说明(1)对于MCS51,P1口是准双向口。

它作为输出口时与一般的双向口使用方法想同;但准双向口用作输入口时,因其结构特点必须对它置“1”,否则读入的数据容易产生错误。

(2)8051延时子程序的延时计算问题,对于程序DELAY:MOV R6, #0HMOV R7, #0HDELAYLOOP:DJNZ R6, DELAYLOOPDJNZ R7, DELAYLOOPRET查指令表可知MOV和DJNZ指令均需两个指令周期,在12MHz晶振时,一个机器周期时间为:12/12MHZ=1ms,该延时子程序延时:(256X255+2)X2X1us=130ms。

4、分别连接硬件并执行相关程序,记录结果。

四、提高要求修改I/O口输出程序,先1、3、5、7灯亮,延时后2、4、6、8灯亮,交替点亮。

单片机实验(仿真版)指导书

单片机实验(仿真版)指导书

实验一 I/O口实验1. 实验内容P1口做为输入、输出口完成汽车转向灯控制。

当开关SW2连接到P1.0上,右转弯灯以一定频率闪烁;当开关SW2连接到P1.1上,左转弯灯以一定频率闪烁;当开关在空档时,左右转弯指示灯全灭。

2. 实验目的(1)熟悉仿真软件Keil、proteus的使用。

(2)学习P1口既做为输入,又作为输出的使用方法。

(3)学习数据输入、输出程序的设计方法。

3. 实验电路4、实验要求(1)完成实验电路设计(2)完成实验程序设计(3)实现要求的实验结果实验二定时器实验1. 实验内容使用AT89C51内部定时器1,按方式1工作、即作为十六位定时器使用每0.1秒钟T1溢出中断一次。

P1口的P1.0—P1.7分别接八个发光二极管。

要求编写程序模拟一时序控制装置。

开机后第一秒种D1、D3亮,第二秒D2、D4亮,第三秒种D5、D7亮,第四秒种D6、D8亮,第五秒D1、D3、D5、D7亮,第六秒D2、D4、D6、D8亮,第七秒全亮,第八秒种全灭,以后又从头开始,D1、D3亮,然后D2、D4亮,……一直循环下去。

2. 实验目的学习AT89C51内部定时器的使用和编程方法。

进一步掌握中断处理程序的编程方法。

3.实验原理(1) 定时常数的确定定时器/计数器的输入脉冲周期与机器周期一样,为振荡器频率的1/12。

本实验中时钟频率为6.144MHZ,现要采用中断方法来实现1秒延时,要在定时器1中设置一个时间常数,使其每隔100ms产生一次中断,CPU响应中断后将R0中计数值减一,令(RO)=10,即可实现1s延时。

时间常数可按下法确定:机器周期= 12÷晶振频率= 12÷6.144×106 = 1.953125*10-6 s需设初值为X,则(216 - X)*1.953125*10-6 = 0.1216-X=100000 X = 655366 – 100000/1.953125 = 14336化为十六进制:X=3800H,故初始值为TH1=38H,TL1=00H(2) 初始化程序包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应为进行正确的设置,并将时间常数送入定时器中。

单片机并行口实验报告

单片机并行口实验报告

单片机并行口实验报告实验二并行口实验报告班级:学号:姓名:教师:一、实验目的通过实验了解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 1sbit 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 charsbit 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 charvoid 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和其他的键并不一样,这两个键在硬件上已经去抖动了,。

单片机(C51)实验报告

单片机(C51)实验报告

实验一熟悉ADEK单片机教学实验系统一、实验目的1.熟悉 ADEK 单片机教学实验系统和仿真器的结构和功能。

2.了解如何安装 51MINI 仿真器驱动程序。

二、ADEK 单片机教学实验系统组成图 1-1 AEDK 单片机教学实验系统外观图如图 1-1 所示, ADEK-EAT598 单片机教学实验系统遵循了模块化的设计思路,有丰硕的接口,而且具有良好的扩展性,以下为组成模块和利用的要紧芯片。

1.步进电机2.直流电机3.温度操纵( DS18B20、热敏电阻 B3470)4.模数转换( ADC0809)5.串行实验区( EEPROM X25045、 AT24C08、时钟芯片 HT1380、数模转换 TLC5615、模数转换 TLC1543)6. RAM( HM62256)7. ROM( M27C512)8.地址译码( 74LS138)9.数模转换( DAC0832)10.仿真机通信口:原厂仿真器的串口通信口,这部份功能已不用。

11.串并转换( 74LS164)12.频率源( CD4020)213.扩展输出( 74LS273)14.扩展输入(74LS244)15.电源开关16.液晶显示(MSC-G12232DYEW-7N)17.语音录放(ISD1730)18.扩展通信口(D8251、HIN232)19.八位开关20.交通灯21.单脉冲(HD74LS240)22.继电器(946H-1C-5D)23.电辅音调(9012)24.蜂鸣器25.光耦(TLC521)26.电位器27.点阵显示28.PS2 接口29.并行接口(8255)30.键盘显示(8279)31.扩展实验区32.打印机接口33.单片机核心板(EAT598_31)34.带USB 接口的51MINI 仿真器三、实验内容1.熟悉整个实验箱的硬件资源。

2.利用51MINI仿真器连接电脑,在电脑的设备治理器中可找到以下图所示的COM口。

实验二Keil集成开发环境练习一、实验目的1.把握开发环境Keil的安装方式。

51单片机原理及应用实验指导书

51单片机原理及应用实验指导书

51单片机原理及应用实验指导书天津大学仁爱学院2010年10月实验须知一、预习要求1.实验前认真阅读实验教程中有关内容,明确实验目的和实验任务。

2.每次实验前应有预习报告,未预习者不允许参加实验。

3.预习报告中:对软件实验,要求画出程序流程图,编好上机程序。

二、实验要求1.实验是学习“汇编语言程序设计”这门课程的重要环节,实验课请勿迟到,缺席。

2.爱护设备,保持清洁,不随意更换设备。

3.认真完成实验任务,实验结果经教师检查,教师对实验内容提问,对完成者做记录。

4.做实验时,发生事故,应立即切断电源,并马上向教师报告,检查原因,吸取教训。

5.实验完毕,请整理实验设备,再离开实验室。

三、报告要求每次实验后,应递交一份实验报告,报告中应包括下列内容:1.实验名称、实验人姓名、学号、班级、所用的设备号。

2.实验目的、任务。

3.程序流程图、程序清单(应加适量注释)。

4.记录和分析实验结果。

5.根据实验目的认真做小结第一章51单片机实验系统简介1.1实验系统的特点EL-MUT-III 型单片机/微机教学实验系统具有开发、应用、实验相结合的高科技实验设备,系统具有以下特点:1、CPU可选用80C31、8086、中任一种CPU,系统功能齐全,涵盖了微机/单片机教学实验课程的大部分内容。

(本课程选用80C31 CPU)2、系统采用开放式模块化结构设计,通过两组相对独立的总线最多可同时扩展2块应用实验板,用户可根据需要购置相应实验板,降低了成本,提高了灵活性,便于升级换代。

3、配有两块可编程器件:EPM7128被系统占用。

另一块EPM7032供用户实验用。

两块器件皆可通过JTAG接口在线编程。

使用十分方便。

4、灵活的电源接口:配有PC机电源插座,可由PC提供电源。

另外还配有外接开关电源,提供所需的+5V,±12V,其输入为220V的交流电。

5、系统的联机运行模式:即配有系统调试软件,系统调试软件分DOS版和WINDOWS 版两种,均为中文多窗口界面。

单片机实验报告

单片机实验报告

单⽚机实验报告单⽚机原理及接⼝技术实验报告班级学号:姓名:实验⼀P1⼝输⼊输出实验与P1、P3⼝输⼊输出实验⼀、实验⽬的及任务学习P1、P3⼝的使⽤⽅法,熟练HICE单⽚机试验系统的操作步骤。

⼆、实验总体设计本实验分为两部分:P1⼝和P1、P3⼝输⼊输出实验。

1、P1⼝是⼀个准双向⼝,外接⼋个发光⼆极管,连续运⾏程序,发光⼆极管循环点亮2、P3⼝作为输⼊读取开关状态,P1⼝作为输出⼝,连续运⾏程序,发光⼆级管显⽰开关状态。

3、设计思路如下:(1)、开始——>P1⼝初始化——>点亮⼀位发光⼆极管——>右移⼀位——>循环;(2)、开始——>初始化——>P3⼝开关状态送到P1⼝——>驱动发光⼆极管——>延时三、试验程序框图及实验电路(实验电路及连线详见附录)四、软件设计⼀、P1⼝输⼊输出程序代码:#inc lud e#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intucha r r rc(uch ar a,n);ucha r r rc(uch ar a,n) //循环右移⼦程序{ucha r b,c;b=a<<(8-n);c=a>>n;a=c|b;retu rn(a);}void ma in(){ucha r i,te mp;uint j;P1=0xff;loop:temp=0x7f;for(i=0;i<8;i++){P1=r rc(tem p,i);for(j=0;j<30000;j++);//延时}}⼆、和P1、P3⼝输⼊输出实验。

#i ncl ude#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intvoid ma in(){uint j;loop:P1=0XFF;P1=P3;//读取P3⼝状态送P1⼝for(j=0;j<5000;j++);//延时goto lo op;}五、硬件设计1、仿真模式设置:8752模式,仿真存储器模式选择:内程序存储器外数据存储器;2、仿真器P3.6/P3.7短路块设置在WR/RD状态(见仿真器说明书跳线设置)。

C51单片机P1口输出实验报告

C51单片机P1口输出实验报告

C51单片机P1口输出实验报告引言C51单片机是一种经典的8位微控制器,广泛应用于嵌入式系统和电子设备中。

在这个实验中,我们将学习如何使用C51单片机的P1口(端口1)作为输出口,控制外部设备。

本实验旨在帮助我们理解C51单片机的IO口控制和程序设计。

实验目的本实验旨在通过实际操作了解以下内容: - 了解C51单片机P1口(端口1)的基本知识; - 学习如何通过P1口输出高低电平信号; - 熟悉使用C语言编写单片机程序来控制P1口的操作; - 实践中了解C51单片机的驱动程序编写和调试技巧。

实验材料•C51单片机开发板;•电脑;•USB数据线。

实验步骤步骤1: 准备工作1.将C51单片机开发板插入电脑USB接口,确保驱动程序正确安装;2.打开Keil µVision软件,创建新的C语言项目;3.配置项目设置,选择C51单片机作为目标设备,并设置相应的时钟频率;4.在项目根目录下创建一个新的源文件,命名为main.c。

步骤2: 程序编写在main.c源文件中编写以下代码:#include <reg51.h>void delay(unsigned int count) {while(count--);}void main() {P1 = 0x00; // 将P1口置为低电平delay(10000); // 延迟一段时间P1 = 0xFF; // 将P1口置为高电平delay(10000); // 延迟一段时间}步骤3: 烧写程序1.点击Keil µVision软件的烧写按钮,将程序烧写到C51单片机开发板;2.确认烧写成功后,断开开发板与电脑的连接。

步骤4: 连接外部设备1.准备一个LED灯和一个220欧姆的限流电阻;2.将LED的长脚连接到C51单片机的P1口,将LED的短脚通过限流电阻连接到单片机的GND端。

步骤5: 实验现象1.连接好外部设备后,重新将开发板与电脑连接;2.单片机上的LED灯将会开始闪烁,每隔一段时间从亮变暗、从暗变亮;3.若实验现象与预期相符,说明实验成功。

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

实验二 P1口输入、输出实验
一、实验目的
学习Pl口的使用方法。

学习延时子程序的编写和使用。

进一步熟悉星研Star16L仿真器系统的操作,和EL-Ⅱ型通用接口板实验电路结构,学习使用PROTEUS仿真软件实现单片机的虚拟仿真。

掌握虚拟仿真与实际系统仿真的有机衔接。

二、实验仪器和设备
PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路,PROTEUS仿真软件。

三、实验内容
1)P1口做输出口,经过74LS04反相器接八只发光二极管,编写程序,使发光二极管循环点亮。

2)(选作)P1口既做输入又做输出,在P1.0~P1.3口接四个平推开关,通过开关的不同位置向P1.0~P1.3输入不同的状态,然后利用输入指令读取所设开关状态,为验证输入结果的正确与否,将它们输出到P1.4~P1.7,经过74LS04反相器驱动发光二极管。

四、实验结果
1)循环点亮八只发光二极管。

取P1.0口接出第一个二极管,以此类推,第八个接P1.7口。

Proteus 仿真图
①循环左移,即从第一个二极管开始点亮到第八个二极管
实验程序:
ORG 0000H
START:MOV R2,#8
MOV A,#01H ;先让第一个发光二极管点亮
LOOP: MOV P1,A ;从P1口输出到发光二极管
LCALL DELAY
RL A ;循环左移(从第一个发光二极管开始一直往下一个二极管)DJNZ R2,LOOP ;判断移动是否超过8位,未超过则继续循环
LJMP START ;循环发光
DELAY:MOV R5,#5 ;延时0.5秒子程序
DEL1: MOV R6,#200
DEL2: MOV R7,#126
DEL3: DJNZ R7,DEL3
DJNZ R6,DEL2
DJNZ R5,DEL1
RET
END
仿真结果:发光二极管从D1开始发光,依次往下到D8,然后循环这一过程。

实验结果:发光二极管从第一个开始发光,依次往左到第八个,然后循环这一过程。

②循环右移,即从第八个二极管开始放光,依次到第一个。

实验程序:
ORG 0000H
START:MOV R2,#8
MOV A,#80H ;先让第八个发光二极管点亮
LOOP: MOV P1,A ;从P1口输出到发光二极管
LCALL DELAY
RR A ;循环右移(从第八个发光二极管开始一直往前一个二极管)
DJNZ R2,LOOP ;判断移动是否超过8位,未超过则继续循环
LJMP START ;循环发光
DELAY:MOV R5,#5 ;延时0.5秒子程序
DEL1: MOV R6,#200
DEL2: MOV R7,#126
DEL3: DJNZ R7,DEL3
DJNZ R6,DEL2
DJNZ R5,DEL1
RET
END
仿真结果:发光二极管从D8开始发光,依次往上到D1,然后循环这一过程。

实验结果:发光二极管从第八个开始发光,依次往右到第一个,然后循环这一过程。

③循环左移,延时时间从0.5秒调整为2秒。

实验程序:
ORG 0000H
START:MOV R2,#8
MOV A,#01H ;先让第一个发光二极管点亮
LOOP: MOV P1,A ;从P1口输出到发光二极管
LCALL DELAY
RL A ;循环左移(从第一个发光二极管开始一直往下一个二极管)
DJNZ R2,LOOP ;判断移动是否超过8位,未超过则继续循环
LJMP START ;循环发光
DELAY:MOV R5,#20 ;延时2秒子程序
DEL1: MOV R6,#200
DEL2: MOV R7,#126
DEL3: DJNZ R7,DEL3
DJNZ R6,DEL2
DJNZ R5,DEL1
RET
END
仿真结果:发光二极管从D1开始点亮,依次往下,每次间隔2秒,直到D8,然后循环。

实验结果:二极管从第一个开始点亮,依次往右,每次点亮时间间隔为2秒,然后循环。

2)P1口做输入/输出口
仿真电路图:
实验程序:
ORG 0000H
STAR2: MOV A, #0FFH ;将P1口置成全1
MOV P1, A
MOV A, P1 ;读开关状态
SWAP A ;将输入数据换到高位
MOV P1, A ;驱动相应灯泡发亮
LCALL DELAY ;延时 0.5秒
LJMP STAR2 ;重做
DELAY: MOV R5, #5 ;延时0.5秒子程序
DEL1: MOV R6, #200
DEL2: MOV R7, #126
DEL3: DJNZ R7, DEL3
DJNZ R6, DEL2
DJNZ R5, DEL1
RET
END
仿真结果:通过控制开光SW1~4可以控制发光二极管D1~D4的发光和熄灭。

实验结果:同仿真结果,拨动开关1~4可以控制接好的4个二极管的点亮和熄灭。

相关文档
最新文档