实验1:P1口输出及软件练习
实验一 开关量输入输出实验
实验一开关量输入输出实验
一、实验要求
1.利用ATC89C51单片机的P1口作开关量输出口,连接8个LED发光二极管;
2.在单步模式(debug菜单下的step over,F10)下,循环点亮这8个LED管(流水灯);
3.画出AT89C51实现上述功能的完整电路图,包括单片机电源、复位电路、晶振电路和控制电路。
4.完成全部程序和电路调试工作。
5. 先在proteus下运行程序,有时间再尝试用keil 与proteus联调。
二、实验目的
1.掌握AT89C51单片机的最基本电路的设计;
2.了解单片机I/O端口的使用方法;
三、设计提示
1. 硬件电路图
可参考switch controll.DSN,请删除无关电路。
2. 程序框架
start:
mov r0,0
again:
….. ;从tab表中获取相应数值(请补充相应指令)
mov p1,a
inc r0 ;r0+=1
jmp again
tab: db 01h,02h,04h,08h,10h,20h,40h,80h; 数值表(具体数值可自行修改)
feh,fdh,fbh,f7h,efh,dfh,bfh,7fh
(db是伪指令,定义一个byte的内容单元,上述的语句是定义了包含8个元素的数组,每个元素占据1个byte)。
end
四、主要元件。
单片机实验实验指导书
目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
延时时间500ms。
2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。
四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。
单片机实验
实验一 I/O口实验1.P1口输出实验一、实验目的学习51单片机的32 根I/O口的基本输出功能,以P1口为例,P0,P2,P3口均同理。
学习延时子程序的编写和应用。
二、实验条件TMD-2 模块化单片机实验仪主机一台,串口线一条,PC机一台。
三、实验原理如图3.1所示,MAX708为看门狗电路。
CYAL2为6MHz晶振。
SW8为下载开关。
将DZ2 组的8个短路帽全部短接上,使P1口接74LS244的输入端,74LS244的输出端接发光二极管LD0-LD7。
图3.1 P1口输出实验原理图四、实验内容与要求1.使8个LED发光二极管循环闪亮,时间间隔为1秒。
2.使8个LED 发光二极管同时亮、灭,时间间隔为1秒。
五、实验步骤1.将短路帽组DZ2的8个短路帽短接,其余短路帽不短接。
2.给TMD-2加电,运行程序。
注意:TMD-2的所有实验都必须短接DZ4,用来连接PC机与单片机的RXD,下载程序用。
另外,涉及到短路帽短接的实验,除实验步骤中要求短接的短路帽,没提到的均不接。
六、参考程序1. 8个发光二极管循环闪亮,间隔时间为1秒。
ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#60HMOV A,#01H ;先让第一个发光二极管亮LOOP: MOV P1,A ;从P1 口输出到发光二极管LCALL DELAY ;延时1秒RL A ;左移一位,下一个发光二极管亮SJMP LOOP ;循环DELAY: M OV R0,#10 ;延时1秒子程序,使用参数R0、R7、R6 DELY0: MOV R7,#100 ;延时0.1 秒DELY1: MOV R6,#250 ;延时1mSDJNZ R6,$DJNZ R7,DEL Y1DJNZ R0,DEL Y0RETEND2. 8个发光二极管同时亮、灭,间隔时间为1秒。
ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#60HMOV A,#0FFH ;先让发光二极管全亮LOOP: MOV P1,A ;从P1 口输出到发光二极管LCALL DELAY ;延时1秒CPL A ;取反SJMP LOOP ;循环DELAY: M OV R0,#10 ;延时1秒子程序,使用参数R0、R7、R6 DELY0: MOV R7,#100 ;延时0.1 秒DELY1: MOV R6,#250 ;延时1mSDJNZ R6,$DJNZ R7,DEL Y1DJNZ R0,DEL Y0RETEND2.P2口输入实验一、实验目的学习51单片机的32根I/O口的基本输入功能,以P2口为例,P0,P1,P3口均同理。
P1口输入、输出实验
实验一 P1口输入、输出实验一、实验要求1. P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2. P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
二、实验目的1. 学习P1口的使用方法。
2. 学习延时子程序的编写和使用。
三、实验连线实验1: P1口循环点亮 实验2: P1口输入输出四、实验说明1. 8051延时子程序的计算延时程序的实现常用两种方法,一种用定时器中断来实现,另一种是用指令循环实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振频率为6MHz ,执行一个机器周期时间为12/6MHZ=2µS,现在写一个延时0.1S 的程序如下:查指令表可知MOV 需要一个机器周期,DJNZ 指令需用两个机器周期,所以执行该段程序所需时间是:[ 1 + ( 1 + 2 × 200 + 2 ) X ] × 2×10-6= 0.1S 指令(1) (2) (3) (4) 所需时间 所需时间 所需时间 所需时间求出X =124,将X =124代入上式可知实际延时约0.099946≈0.1S 。
2. P1口准双向口它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用为Delay :MOV R6,#X (1) DE1: MOV R7, #200 (2) DE2: DJNZ R7,DE2 (3)DJNZ R6,DE1 (4)输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据是不正确的。
六、硬件电路1、LED电平显示电路图1:LED电平显示电路2、逻辑电平开关电路实验仪上有8只开关K0―K7,并有与之相对应的K0―K7引线孔为逻辑电平输出端。
开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。
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口实验
实验一 P1口实验(一)一、实验目的1.学习P1口的使用方法。
2.学习延时子序的编写和使用。
二、实验原理P1口为准双向口,P1的每一位都能独立地定义为输出线或输入线,作为输入的口线,必须向锁存器相应位写入“1”,该位才能作为输入。
8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“1”使它再成为一个输入。
可以用第二个实验做一下试验。
先按要求做好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1作输入口,会有什么结果。
延时程序的实现,现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振为6.144MHZ,则一个机器周期为 12÷6.144u s即 1÷0.512 u s 。
现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#200 (1)DE1:MOV R6,#X (2)DE2:DJNZ R6, DE2 (3)DJNZ R7, DE1 (4)上面M0V、DJNZ指令均需两个机器周期,所以每执行一条指令需1÷0.256u s现求出X值:(X×1÷0.256+1÷0.256+1÷0.256) × 200+1÷O.256=0.1×10 6指令(3) (2) (4) (1)所需时间需时间需时间需时间得出X=126。
代入上式可知实际延时约0.100004s,很精确了。
三、实验仪器TSC-51/98 单片机实验开发系统一套数字万用表一快连接导线若干四、实验内容及步骤注意:在联线时,要把实验箱的交流电源和直流电源开关关上才能进行连接。
1、实验内容程序1:P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
程序2:P1口做输入口,接八个钮子开关,以实验台上74LS 273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
《MCS-51单片机原理及应用》实验指导书涛
《MCS-51单片机原理与应用》实验指导书新疆水利水电学校水电机电系2010年9月前言:任务与要求一.单片机原理与应用实验的任务单片机原理与应用实验是单片机原理与应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计基础。
3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。
二.实验设备单片机实验所使用的设备由计算机、DP-51PRO单片机综合仿真试验仪,其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机综合仿真试验仪是硬件开发平台,是基于80C51单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。
图1 单片机原理实验设备在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的MCS-51单片机原理与应用课程实验都在这套综合仿真试验仪上完成。
三.实验要求和成绩考核1.遵守实验室纪律,在实验室内不得随意走动、大声喧哗。
2.实验前,按实验要求事先复习与实验有关的理论知识,明确实验目的,了解实验内容和方法。
在实验过程中务必带上教材和实验文档,认真听讲,以调试为主要目的,注意观察思考,记录有关数据和程序,每次实验成绩根据完成情况给予评分。
3.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。
小心使用机器,以免出现意外故障,若机器出现硬件故障,可报告并请求老师协调维护,勿喧哗和起哄。
4.禁止在实验室中做与实验无关的事情,特别是玩游戏者,一经发现本课程实训总成绩将减10分,发现两次实训总成绩按0分处理。
5.按规定时间完成并上交实验报告。
实验报告字迹要清楚,结论要明确,并写出程序流程图、程序、并分析实验结果、完成思考题等。
6.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。
第一部分 Keil C51 软件使用说明Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编、PLM语言和C 语言的程序设计,界面友好,易学易用。
P1口实验报告
P1 口输入、输出实验报告班级姓名学号日期一、实验目的和要求:1、学习P1 口的使用方法。
2、学习延时子程序的编写和使用。
3、学习用‘与’‘或’运算对MCS96系列CPU的变量进行位操作。
二、实验内容1、P1 口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2、P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
编程时应注意P1.0,P1.1作为输入口时应先置1,才能正确读入值。
三、程序及运行结果Flash equ 0 ; LED状态STOP equ 1SR equ p1.0 ; 南北红灯SY equ p1.1 ; 南北黄灯SG equ P1.2 ; 南北绿灯ER equ P1.3 ; 东西红灯EY equ P1.4 ; 东西黄灯EG equ p1.5 ; 东西绿灯ljmp Startorg 0003hsetb STOP ; 南北, 东西均红灯retiStart:mov SP, #70mov TCON, #01h ; down edge IT0mov IE, #81h ; enable EA, EX0setb SR ; 南北, 东西均红灯clr SYclr SGsetb ERclr EYclr EGclr STOPLoop:jb STOP, AllRedsetb SR ; 南北红灯, 东西绿灯clr SYclr ERclr EYsetb EGmov a, #20call Delayjb STOP, AllRedsetb SR ; 南北红灯, 东西黄灯闪clr SYclr SGclr ERclr EYclr EGclr Flashmov r7, #9Loop1:mov c, Flashmov EY, cmov a, #1call Delaycpl Flashdjnz r7, Loop1jb STOP, AllRedclr SR ; 南北绿灯, 东西红灯clr SYsetb SGsetb ERclr EYclr EGmov a, #20call Delayjb STOP, AllRedclr SR ; 东西红灯, 南北黄灯闪clr SYclr SGsetb ERclr EYclr EGclr Flashmov r7, #9Loop2:mov c, Flashmov SY, cmov a, #1cpl Flashdjnz r7, Loop2ljmp LoopAllRed:setb SRclr SYclr SGsetb ERclr EYclr EGclr STOPmov a, #10call Delayljmp LoopDelay: ; 延时子程序mov r1, #80Hmov r0, #0 DelayLoop:jb STOP, ExitDelaydjnz r0, DelayLoopdjnz r1, DelayLoopdjnz ACC, Delay ExitDelay:retend四、实验过程中遇到的主要问题五、实验后的心得体会。
单片机实验报告
单⽚机实验报告单⽚机原理及接⼝技术实验报告班级学号:姓名:实验⼀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状态(见仿真器说明书跳线设置)。
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 0000HMAIN: MOV SP,#60H ; 设置堆栈指针SP为60HMOV P1,#0FFH ;当P1口用作输入时,所有位对应的锁存器必须先置1 LOOP: ;CLR P1.3MOV C,P1.3 ;读P1.3JC LIGHTCLR P1.2 ;LED灭SJMP LOOPLIGHT: SETB P1.2 ;LED 亮SJMP LOOPRETEND若在执行读P1.3之前,先执行CLR P1.3,观察结果将会不正确。
单片机P1口输入输出实验
单片机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软硬件仿真软件。
P1口输入输出实验
P1口输入输出实验实验目的:(1)掌握P1口同时做输入/输出口使用方法(2)学习数据输入、输出程序的设计方法方法一:用CJNE A,#DATA,LP指令实现CSEG A T 0000HLJMP START 无条件转移到STARTCSEG A T 4100HSTART:MOV P1,#0FFH 读P1口LP:MOV A,P1 将P1送AANL A,#00000011B 进行”与”运算,屏蔽高六位CJNE A,#00,LP0 比较转移指令,判断A是否等于0否则跳转到LP0CLR P1.2 P1.2口清零LJMP START 无条件转移到START LP0:CJNE A,#01,LP1 比较转移指令,判断A是否等于1否则跳转到LP1CLR P1.3 P1.3清零LJMP START 无条件转移到START LP1:CJNE A,#02,LP2 比较转移指令,判断A是否等于2否则跳转到LP2CLR P1.4 P1.4清零LJMP START 无条件转移到START LP2:CLR P1.5 P1.5清零LJMP START 无条件转移到STARTEND 结束标志方法二:用MOVC A,@A+DPTR指令实现CSEG A T 0000HLJMP STARTCSEG A T 4100HSTART:MOV P1,#0FFH 读P1口LP:MOV A,P1 将P1送AMOV DPTR,#4200H 创建表格的起始地址ANL A,#00000011B 进行”与”运算,屏蔽高六位MOVC A,@A+DPTR 查表指令MOV P1,A A送P1LJMP LP 无条件转移到LPCSEG A T 4200HDB 0FBH,0EFH,0F7H,0DFH 建表END 结束标志定时计数器CSEG A T 0000HLJMP STARTCSEG A T 4100HSTART:MOV A,#0FFH /* 先给累加器A赋一个值*/CLR C /*将进位标志清0*/MOV TMOD,#01H /*设定时器T0工作在方式1*/MOV TH0,#3CH /*设定T0初始值*/MOV TL0,#0B0HSETB TR0 /*开定时器T0*/MOV R0,#4 /*给R0一个初值*/LP1:MOV P1,A /*将A的值送给P1口*/RRC A /*将A的内容带进位标志向右循环移一位*/ LP2:JNB TF0,LP2 /*判断定时器T0溢出了没,没有就等待*/ MOV TH0,#3CH /*重新给定时器T0赋值*/MOV TL0,#0B0HCLR TF0 /*将溢出标志位清0*/DJNZ R0,LP2 /*判断R0等于0了没*/MOV R0,#4 /*重新给R0赋值*/LJMP LP1 /*跳到LP1*/END /*结束*/(此程序利用查询定时计数器的溢出标志位来定时。
单片机P1口输入输出实验
单片机P1口输入输出实验
单片机可靠的复位是保证单片机正常运行的关键因素。 因此,在设计复位电路时,通常要使RST引脚保持10ms以上 的高电平。当RST从高电平变为低电平之后,单片机就从 0000H地址开始执行程序。本电路是上电自动复位。 将8个LED接在单片机P1端口的P1.0-P1.7引脚上,注意 LED有长短两个引脚,分别表示正负极,其中较短的负极接 单片机,较长的为正极,通过限流电阻R与Vcc相连。 本实验只需将8个LED与P1口相连。单片机的P0、P1、 P2、P3端口都可以用来控制LED。(反过去再看设备)
单片机I/O口输入输出实验 (或单片机数字量输入输出实验)
单片机P1口输入输出实验
实验重点:硬件设计、程序设计、现象分析 实验难点:实际应用
指导教师:刘美俊 李世军
单片机P1口输入输出实验
单片机端口是集数据输入缓冲、数据输出驱动 及锁存等多项功能一体I/O的电路,特别是把握它 准双向、多功能的特点。单片机4个并行端口是P0、 P1、P2、P3。本实验只讨论P1端口。
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口输入输出实验
4、硬件设计
89C51
C1 C2
图2 P1口某一I/O口线反转输出电路
单片机P1口输入输出实验
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口输入输出1(第一个)ORG 0000HLJMP LOOPLOOP: MOV A,#0FEH ;赋初值,只有一盏灯亮√MOV R2,#8 ;设计数值,左移8次OUTPUT:MOV R3,#4 ;设计数值,每管熄灭4*50ms=200msOUTPUT1: MOV P1,A ;送P1口输出.ACALL DELAY ;调用延时子程序DJNZ R3, OUTPUT1 ;(R3)-1≠0时,跳转RL A ;A左移DJNZ R2,OUTPUT ;判断8管是否循环一遍,若是,则从P1.0重新开始循环LJMP LOOP ;循环;子程序名:DELAY;子程序功能:延时50ms;出/入口参数:无;占用资源:R6 R7DELAY: MOV R6, #200 ;延时子程序,延时时间为0DELAY1: MOV R7, #125DELAYLOOP:DJNZ R6, DELAYLOOPDJNZ R7, DELAY1RETEND2(第二个)ORG 0000HLJMP LOOPLOOP:SETB P1.0 ;P1.0先置1,才能正确读入值SETB P1.1 ;P1.1先置1,才能正确读入值CLR C ;进位位清零,为接受P1口的值做准备MOV P1.0,#00H ;赋值,全灭MOV C,P1.0 ;P1.0口值送进位位MOV P1.2,C ;进位位C送值到P1.2口,输出ACALL DELAY ;调用延时子程序ACALL DELAYCLR C ;重复上面操作MOV P1.1,#00HMOV C,P1.1MOV P1.3,CACALL DELAYACALL DELAYLJMP LOOPDELAY: MOV R6, #1 ;延时子程序.DELAY1:MOV R7, #1 DELAYLOOP:DJNZ R6, DELAYLOOPDJNZ R7, DELAY1RETEND。
exp5
P1口输入、输出实验
实验要求
1、P1口做输出口,接八只发光二极管, 编写程序,使发光二极管循环点亮。
2、P1.0,P1.1作输入口接两个拨动开关, P1.2,P1.3作输出口,接两个发光二极 管,编写程序读取开关状态,将此状 态,在发光二极管上显示出来。编程 时应注意P1.0,P1.1作为输入口时应先 置1,才能正确读入值。
实验目的
• 1、学习P1口的使用方 法。
• 2、学习延时子程序的 编写和使用。
实验电路及连线
实验1:P1口循环点灯
实验2:P1口输入输出实验
程序框图
开始 设置初始值
设移位次数
数据输出
左移一位
延时
是
否Hale Waihona Puke 移位次数完成?开始 P1.0,P1.1置1 读入P1.0口值 将读入的值输出到P1.2 读入P1.1口值 将读入的值输出到P1.3
程序清单
实验2:P1口输入输出 KeyLeft equ P1.0 KeyRight equ P1.1 LEDLeft equ P1.2 LEDRight equ P1.3 setb KeyLeft setb KeyRight Loop: mov c, KeyLeft mov LEDLeft, c mov c, KeyRight mov LEDRight, c ljmp Loop end
(A) P1口循环点灯程序框图 (B) P1口输入输出程序框图
程序清单
实验1: P1口循环点灯 Loop: mov a, #01h mov r2, #8 Output: mov P1, a rl a call Delay djnz r2, Output ljmp Loop Delay: mov r6, #0 mov r7, #0 DelayLoop: djnz r6, DelayLoop djnz r7, DelayLoop ret end
单片机P1口输入输出实验共21页
16、人民应该为法律而战斗,就像为 了城墙 而战斗 一样。 ——赫 拉克利 特 17、人类对于不公正的行为加以指责 ,并非 因为他 们愿意 做出这 种行为 ,而是 惟恐自 己会成 为这种 行为的 牺牲者 。—— 柏拉图 18、制定法律法令,就是为了不让强 者做什 么事都 横行霸 道。— —奥维 德 19、法律是社会的习惯和思想的结晶 。—— 托·伍·威尔逊 20、人们嘴上挂着的法律,其真实含 义是财 富。— —爱献 生
END
16、业余生活要有意义,不要越轨。——华盛顿 17、一个人即使已登上顶峰,也仍要自强不息。——罗素·贝克 18、最大的挑战和突破在于用人,而用人最大的突破在于信任人。——马云 19、自己活着,就是为了使别人过得更美好。——雷锋 20、要掌握书,莫被书掌握;要为生而读,莫为读而生。——布尔沃
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WAVE仿真软件操作步骤
五、打开计算机,启动WAVE软件, ⑴输入源程序, ⑵编译成功后 ⑶运行。
WAVE仿真软件介绍
计
伟
算
福
机
仿
桌
真
面
软
件
WAVE仿真软件介绍
仿
真
器
设
是
置
否使用Fra bibliotek模拟
器
WAVE仿真软件介绍
新
建
文
件
并
保
保存为.ASM格式
存
WAVE仿真软件介绍
编译
保存文件
运行
WAVE仿真软件介绍
实验练习一
子程序
; ==== 二进制转换十进制子程序 ========
; 入口:A存0~99二进制数 ; 出口:转换结果压缩送A,高4位是十位,低4位是个位
ESZH: MOV B,#10
DIV AB
;除以10得十位数
SWAP A
;余数为个位数
ORL A, B ;BCD码合并
RET
实验练习一
子程序
;===== 延时子程序 ====== DELAY:MOV R6,#250 DELA1: MOV R7, #250 DELA2:NOP
DJNZ R7,DELA2 DJNZ R6,DELA1 RET NOP ;====================== END
实验一
实验目的:P1口输出及软件练习及实验系统的连接 实验要求:画出实验电路,编写调试实验程序。 题目:编写二十进制转换子程序,延时子程序, 使主程序30H内存的数据从0~99循环增1,每次增1 后把30H内存的数据经二十转换子程序转换后送 P1口,P1口输出经74LS373驱动送至8只LED显 示。
实验台左侧单面 片机试验台介绍
逻辑指示灯
220V开关
电
源
开 关
±5V/12V电源输出
单片机试验台介绍
报
警
电
路
点阵显示 逻辑指示灯
LED显示继电器控制接口
I/O扩展口
EEPROM
I2C总线接口 A/D转换D/A转换 V/F转换
拨码开关输出
按键模块
单片机试验台介绍
电压表 数字电压表 直流电机步进电机 打印机
主程序
实验练习一
MAIN: LOOP:
LOP1:
ORG 0000H LJMP MAIN MOV SP,#50H MOV 30H,#0 INC 30H MOV A,30H CJNE A,#100,LOP1 MOV 30H,#0 MOV A,30H LCALL ESZH CPL A MOV P1,A ACALL DELAY LJMP LOOP
CPLD
步进电机 频率计
温度控制 IC卡 USB接口
信号灯控制
WAVE仿真软件操作步骤
一、连接在线仿真电路
单片机试验台介绍
仿真头
仿真器
DB9插头 接计算机串口
仿真器工作电源(220V)
单片机试验台介绍
四三二、、、打打插开开仿试试真验验器台台电有电源关源实验模块电源
单片机试验台介绍
单片机I/O口
内 部 数 据 窗 口
WAVE仿真软件介绍
内部寄存器 特殊功能寄存器
实验一
实验目的:P1口输出及软件练习及实验系统的连接 实验要求:画出实验电路,编写调试实验程序。 题目:编写二十进制转换子程序,延时子程序, 使主程序30H内存的数据从0~99循环增1,每次增1 后把30H内存的数据经二十转换子程序转换后送 P1口,P1口输出经74LS373驱动送至8只LED显 示。