实验一演示实验用P1口输出管理8个发光二极管(精)
此程序是用单片机的p1口接八个led灯作跑马灯试验
拆字程序Org 0000hMov A , 2000HAdd A ,#F0HMOV 2001H ,AMOV A ,2000HADD A , #0FHMOV 2002H , AMOV A , 2001HADD A , 2002HEND拆分BCD 码?***************************************************************************;此程序是用单片机的p1口接八个led灯作跑马灯试验,八个led依次亮了又熄灭,形成漂亮;的跑马灯。
本人已经试验成功。
;单片机教程网 原创;该8路单片机跑马灯程序代码简单,电路也容易搭建,只需把led接在p1口上就可以了,希望大家能试验成功顺利的完成跑马灯报告;***************************************************************************org 0000hloop0:cjne r0 ,#01h,rel,loop0 ;判断开关打开情况ajmp start;跳转到程序开始org 0030h;定义起始汇编地址start:mov a,#0ffh ;clr c ;mov r2,#08h ;循环八次。
loop: rlc a ;带进位左移。
mov p1,a ;此时led灯开始有反映了。
call delay ;延时djnz r2,loop ;循环(djnz条件判断)mov r2,#07h ;loop1: rrc a ;带进位右移mov p1,a ;此时led灯开始有反映了。
call delay ;djnz r2,loop1 ;反复循环jmp start ;回到程序的开头delay: mov r3,#20 ;延时子程序d1: mov r4,#20d2: mov r5,#248djnz r5,$djnz r4,d2```````````````````````````````````````````````---------3路单片机跑马灯程序---------------------------------------ORG 0000HLJMP MAINORG 030HMAIN: MOV P1,#0DBH ;化为2进制为11011011--0状态时led灯亮ACALL DELayMOV P1,#06DH ;化为2进制为01101101ACALL DELay ;MOV P1,#0B6H ;化为2进制为10110110ACALL DELayAJMP MAINdelay: mov r7,#255d1: mov r6,#255d2: djnz r6,d2djnz r7,d1retend。
实验一 P1口输入、输出实验
实验一P1口输入、输出实验一.实验要求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接8300H。
四.实验说明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五.实验框图程序框图:TP1A.ASM主程序框图TP1B.ASM主程序框图六.附加实验内容1、用P1口的P1.0-P1.3作输出口接4个发光二极管,P1.4-P1.7作输入口接4个拨动开关,将开关的状态读进来并在发光二极管上显示。
七.实验报告要求1、书写实验目的、实验内容、实验连线、以及实验中的观察结果;2、画出流程图、编写实验程序,写出实验的心得体会。
控制P1口的8只LED每0.5s闪亮1次
单片机课程设计报告题目:控制P1口的8只LED每0.5s闪亮一次学生姓名:王张海陈启新学生学号: 1314050230 1314050203 年级: 13级专业:电气工程及其自动化班级:电气(2)班指导教师:徐峰机械与电气工程学院制2015年11月现当今,单片机的应用无处不在。
利用单片机控制灯具的实例也不胜枚举,可控制灯具的芯片也相当之多,而利用单片机控制灯具,达到人们预想效果的方法最为广泛。
它有功能多、价格优、外部电路简单的特点,深受单片机爱好者及灯具控制制造商的青昧,用80C51 单片机及少数外部电路控制LED灯光,使LED灯产生明暗效果,并在灯光达到最亮与最暗时伴随响亮的告警音。
通过硬件电路的制作以及软件程序的编制,使灯光的亮度与告警音配合得当。
LED又称为发光二极管,是一种新型光源,具有高效节能、绿色环保、使用寿命长等其他光源无法比拟的优点。
作为绿色照明光源产品,国家绿色照明推广使用的产品,代表着未来照明技术的发展方向。
本文介绍了以STC89C52为控制核心,利用PWM调光技术,通过调整PWM的周期、PWM的占空比从而控制电流,进而达到对LED进行光度亮暗的控制调节的效果,实现对LED灯的PWM调光控制。
关键词:单片机;LED灯;软件程序摘要........................................................................一目录........................................................................二前言........................................................................三1:制P1口8只LED灯每0.5秒闪亮一次原理图 (2)1.1原理图 (2)1.2原理图器件 (2)1.3原理图参数设置说明 (3)1.4 PCB板图 (4)2:制P1口8只LED灯每0.5秒闪亮一次程序 (5)2.1 程序 (5)2.2 程序原理详细介绍 (5)3:件流程图 (7)3.1流程图的优点 (7)3.2流程图采用的符号 (7)3.3软件流程图制作软件 (7)3.4流程图 (7)4:软件仿真 (9)4.1 Proteus仿真原理图 (9)参考文献 (11)单片机技术飞速发展,单片机的应用已经渗透到了国民经济的各个领域,处处影响着人们的生活,它的出现给现代工业测控领域带来了一次新的技术革命。
八路发光二极管轮流点亮的实验
八路发光二极管轮流点亮的实验八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了,在焊接前要看仔细哦~~~下面我们来完成软件编程设计,这里我们没有采用高深的编程技巧,而是用了最直接的向端口送数的办法来实现,一来程序比较简单,没必要玩深沉,而且初学者看起来直观易懂。
ORG 0000HSTART:MOV P1,#01111111B;最下面的LED点亮LCALL DELAY;延时1秒MOV P1,#10111111B;最下面第二个的LED点亮LCALL DELAY;延时1秒MOV P1,#11011111B;最下面第三个的LED点亮(以下省略)LCALL DELAYMOV P1,#11101111BLCALL DELAYMOV P1,#11110111BLCALL DELAYMOV P1,#11111011BLCALL DELAYMOV P1,#11111101BLCALL DELAYMOV P1,#11111110BLCALL DELAYMOV P1,#11111111B;完成第一次循环点亮,延时约0.25秒AJMP START;反复循环;延时子程序,12M晶振延时约250毫秒DELAY:MOV R4,#2L3: MOV R2 ,#250L1: MOV R3 ,#250L2: DJNZ R3 ,L2DJNZ R2 ,L1DJNZ R4 ,L3RETEND这是上面程序汇编以后获得的编程器烧写文件:201.hex下载烧写文件的方法:将鼠标移到烧写文件的超级键连处,点击鼠标的右键,选择“目标另存为(A)...”保存文件类型中不要选择“文本文件”,应该选择“所有文件”,这样就能获得*.hex文件了。
单片机实验
单片机实验第二次实验:图见实验题1.P1.0~P1.7这八个发光二极管全部点亮#include#define uchar unsigned char#define uint unsigned intsbit greenLed=P1^0;Delay(uint cnt){ uchar i;do{for(i=0;i<165;i++);}while(cnt--);}main(){ while(1){ greenLed=0;Delay(1000);greenLed=1;Delay(1000);}}2. P1.0~P1.7这八个发光二极管循环点亮#include delay(unsigned char cnt){ unsigned int i;do{for(i=0;i<6000;i++);}while(cnt--);}main(){ unsigned char a;P1=~a;while(1){if(a!=0){ delay(5);a<<=1;P1=~a;}else{a=0x01;P1=~a;}}}3.通过外部中断控制八盏灯分别右移,左移,闪烁,双灯同时左移。
#include#define uchar unsigned charuchar code LedTable[]= {0x03,0x0c,0x30,0xc0};uchar led_flag = 4;uchar a; Delay(uchar cnt){ unsigned int i;do{ for(i=0;i<6000;i++);}while(cnt--);}void Led_rr(void)//led右移函数{ uchar i;for(i=0;i<8;i++){ if(a == 0) a= 0x80;P1 = ~a;a >>= 1;}}void Led_rl(void)//led左移函数{ uchar i;for(i=0;i<8;i++){ if(a == 0) a= 0x01;P1 = ~a;a <<= 1;Delay(10);}}void Led_spark(void){ P1 = 0xff;Delay(10);P1 = 0;Delay(10);}void Led_lr_doble(){ uchar i;for (i=0;i<4;i++){ P1= ~LedTable[i];Delay(10);}}void int1(void) interrupt 2 //中断服务函数{ led_flag++;if(led_flag >= 3) led_flag = 0;}void main(void){ EA = 1;EX1 = 1;IT1 = 1;while(1){ if(led_flag ==4){ Led_spark();}if(led_flag == 0){ Led_rl();}if(led_flag == 1){ Led_rr();}if(led_flag == 2){ Led_lr_doble();}}第三次实验:1.设单片机的=12MHz,要求用定时器/计数器T0以方式1在P1.0脚上输出周期为4ms的方波。
51单片机P1口亮灯实验
微机原理及单片机应用实
验
实验报告
实验P1亮灯
一、实验内容
P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
二、实验步骤
P1.0~P1.7用插针连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。
三、实验原理图
实验程序框图:
实验接线图:
四.实验程序清单
ORG 0000H
LJMP SE18
ORG 0790H
SE18: MOV P1,#0FFH ;送P1口
LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,A
LCALL SE19 ;延时
RL A ;左移位
SJMP LO33 ;循环
ORG 07A0H
SE19: MOV R6,#0A0H
LO36: MOV R7,#0FFH
LO35: DJNZ R7,LO35
DJNZ R6,LO36 ;延时
RET
END
五、实验总结
1、通过实验我们熟悉了51单片机的仿真开发系统,熟悉了编译连接的过程。
2、通过实验了解了P1口的工作原理,通过程序编写调试使LED灯循环点亮。
实验一 开关量输入输出实验
实验一开关量输入输出实验
一、实验要求
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
四、主要元件。
定时器计数器中断综合实验
报告成绩:教师签字:批改日期:评语:学生实验报告课程名称单片机原理及接口技术姓名实验名称定时器/计数器、中断综合实验班级实验目的掌握51系列单片机中断系统及定时器的工作原理及使用技巧学号实验日期实验内容(1)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个. 方向循环点亮8只LED,每个LED点亮时间为50ms;(2)在以上基础上加外部中断内容,由外部中断请求时,8只LED全亮(3)P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间改为2s实验地点实验组号实验设备计算机 wave6000程序 lab2000p试验箱同组人1.实验电路及连线本次试验不做要求2.程序流程图本次实验无3.源程序(1 ORG 0000H MOV TL0,#58HLJMP MAIN SETB EAORG 0003H SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EHMAIN: MOV A,#01H MOV TL0,#58HLOOP: MOV P1,A RL AMOV TMOD,#01H MOV P1,AMOV TH0,#9EH RETIEND(2ORG 0000H SER0:MOV TH0,#9EHLJMP MAIN MOV TL0,#58HORG 0003H RL ALJMP SER1 MOV P1,AORG 000BH RETILJMP SER0 SER1:PUSH ACCORG 1000H PUSH PSWMAIN: MOV A,#01H MOV A,#0FFH LOOP: MOV P1,A MOV P1,AMOV TMOD,#01H LCALL DELAY MOV TH0,#9EH POP PSWMOV TL0,#58H POP ACCSETB EA RETISETB ET0 DELAY:MOV R7,#0FFH SETB TR0 L1:MOV R6,#0FAH SETB EX0 DJNZ R6,$SETB IT0 DJNZ R7,L1SJMP $ RETEND(3 ORG 0000H SETB EALJMP MAIN SETB ET0ORG 000BH SETB TR0LJMP SER0 SJMP $ORG 1000H SER0:MOV TH0,#9EH MAIN: MOV A,#01H MOV TL0,#58H LOOP: MOV P1,A DJNZ R0,EXIT MOV R0,#28H MOV R0,#28HMOV TMOD,#01H RL AMOV TH0,#9EH MOV P1,AMOV TL0,#58H EXIT:RETIEND4.结果记录及分析(1)结果: P1 口做输出口,接八只发光二极管,高电平点亮,控制一个方向循环点亮8只LED,每个LED点亮时间为50ms;分析:用定时器方式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.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,通过发光二极管显示出来。
编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
二、实验目的1. 学习P1口的使用方法。
2. 学习延时子程序的编写和使用。
三、实验电路及连线四、实验说明1. P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据是不正确的。
2. 8051可以将位变量通过C 标志位赋值给其它位。
3. 8051延时子程序的延时计算问题,对于程序查指令表可知MOV ,DJNZ 指令均需用两个机器周期,在6MHz 晶振时,一个机器周期时间长度为12/6MHZ ,请算出该段程序执行时间为:五、程序流程图Delay :MOV R6,#0H MOV R7, #0H DelayLoop :DJNZ R6,DelayLoop DJNZ R7,DelayLoop RET六、实验步骤(1). 把实验平台与PC 机串行口连起来,把实验平台左上角P1.0-P1.3用连线连至L0-L3,打开电源。
(2).在PC 机上用鼠标点击“Wave ”图标,进入WINDOWS 调试环境,而后进行初始化设置。
点击[仿真器\仿真器设置]出现“仿真器设置”窗,进行仿真器的设置。
(3).用鼠标点一下[文件\打开文件],输入文件名*.asm ,创建新文件,进入编辑窗口,注意对发光二极管是输出“1”点亮,在该窗口中输入事先编好的程序。
(4). 用鼠标点[项目\全部编译]窗,对当前源文件进行编译,反复修改好程序,直到编译通过为止。
(5).运行程序后,观察发光二极管闪亮移位情况。
七、实验报告要求1.请根据程序流程图(A )补充完整下面程序,并注释: Loop:mov a, #01h mov r2, #8 Output:(A) P1口循环点灯程序框图(B) P1口输入输出程序框图mov P1, arlcalldjnz r2, Outputljmp LoopDelay:mov r6, #0mov r7, #0DelayLoop:djnz r6, DelayLoopdjnz r7, DelayLoopretend2.请根据程序流程图(B)写出实现“实验要求”2的程序,调试运行程序并注释:硬件实验二 继电器控制实验一、实验要求用单片机的端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。
单片机实验一发光二极管实验
单片机实验一发光二极管实验实验一发光二极管实验一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。
2、掌握用查表方式实现AT89C51 单片机IO 口的控制。
3、练习单片机简单延时子程序的编写。
4、熟练运用Proteus 设计、仿真AT89C51 系统。
二、实验原理1、单片机最小系统由单片机芯片、时钟电路以及复位电路构成。
2、I/O 口P0 口:8 位双向I/O 口。
在访问外部存储器时,P0 口可用于分时传送低8 位地址总线和8 位数据总线。
能驱动8 个LSTTL 门。
P1 口:8 位准双向I/O 口(“准双向”是指该口内部有固定的上拉电阻)。
能驱动4 个LSTTL门。
P2 口:8 位准双向I/O 口。
在访问外部存储器时,P2 口可用于高8 位地址总线。
能驱动4 个LSTTL 门。
P3 口:8 位准双向I/O 口。
能驱动4 个LSTTL 门。
P3 口还有第二功能。
P1 口作为输出口时与一般的双向口使用方法相同。
当P1 口用为输入口时,必须先对它置“1”。
若不先对它置“1”,读入的数据可能是不正确的。
三、设计步骤:【PROTEUS 电路设计】在ISIS 中进行电路图设计,发光二极管流水灯实验装置电路原理图如下图所示。
图一1、按照元件清单从PROTEUS 库中选取元器件,进行第2、3、4、5、6 步,完3、放置电源和地;4、连线;5、参照原理图进行元件属性设置;6、电气检查。
【源程序设计】1、流程图:2、在KeilC 中进行源程序设计:3、编译、生成目标代码【PROTUES 仿真】1、在AT89C51 属性页中加载KeilC 中生成的目标代码;2、仿真、调试代码3、注意使用观察窗口四、实验内容1、编写延时子程序,延时时间为0.1S。
void delay(){uint i,j;for(i=0;i<100;i++)for(j=0;j<128;j++)}2、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。
控制P1口的8只LED灯每0.5秒闪亮一次
单片机课程设计论文题目:控制P1口的8只LED灯每0.5秒闪亮一次系部电子信息工程学院专业通信工程学号姓名指导教师程亮亮2015年6月25日摘要现当今,单片机的应用无处不在。
利用单片机控制灯具的实例也不胜枚举,可控制灯具的芯片也相当之多,而利用单片机控制灯具,达到人们预想效果的方法最为广泛。
它有功能多、价格优、外部电路简单的特点,深受单片机爱好者及灯具控制制造商的青昧,用80C51 单片机及少数外部电路控制LED灯光,使LED灯产生明暗效果,并在灯光达到最亮与最暗时伴随响亮的告警音。
通过硬件电路的制作以及软件程序的编制,使灯光的亮度与告警音配合得当。
LED又称为发光二极管,是一种新型光源,具有高效节能、绿色环保、使用寿命长等其他光源无法比拟的优点。
作为绿色照明光源产品,国家绿色照明推广使用的产品,代表着未来照明技术的发展方向。
本文介绍了以STC89C52为控制核心,利用PWM调光技术,通过调整PWM的周期、PWM的占空比从而控制电流,进而达到对LED进行光度亮暗的控制调节的效果,实现对LED灯的PWM调光控制。
关键词:单片机;LED灯;软件程序AbstractNowadays, the application of single chip microcomputer. SCM is used to control the lamps and lanterns of examples are numerous, control the lamps and lanterns of chip is quite much, and using single chip computer control lamps and lanterns, achieve expected effect of the method is the most widely used. It has multi functions, excellent prices, the characteristics of the external circuit is simple, by the Qing Mei single-chip lovers and lamp control manufacturers, with 80C51 microcontroller and a few external circuit to control the LED light, LED lamp has the effect of light and shade, and the light to the brightest and darkest with loud alarm sound. Through the production of the hardware circuit and software program, the brightness of the lighting and sound alarm.LED is also known as light-emitting diode, is a new type of light source, with high efficiency, energy saving, environmental protection, long service life and other light source can not match the advantages. As a green light source products, national green lighting to promote the use of products, representing the development direction of future lighting technology. STC89C52 as control core, using PWM dimming technology, by adjusting the PWM cycle, PWM accounted for empty than to control electric current, thus achieving the photometric light and dark control and regulation of the effect of the LED, LED lamp dimming with PWM control is introduced in this paper.Key words: single chip microcomputer; LED; software program目录摘要 (Ⅱ)Abstract (Ⅲ)目录 (Ⅳ)前言 (1)1:制P1口8只LED灯每0.5秒闪亮一次原理图 (2)1.1原理图 (2)1.2原理图器件 (2)1.3原理图参数设置说明 (3)1.4 PCB板图 (4)2:制P1口8只LED灯每0.5秒闪亮一次程序 (5)2.1 程序 (5)2.2 程序原理详细介绍 (5)3:件流程图 (7)3.1流程图的优点 (7)3.2流程图采用的符号 (7)3.3软件流程图制作软件 (7)3.4流程图 (7)4:软件仿真 (9)4.1 Proteus仿真原理图 (9)参考文献 (11)前言:单片机技术飞速发展,单片机的应用已经渗透到了国民经济的各个领域,处处影响着人们的生活,它的出现给现代工业测控领域带来了一次新的技术革命。
八只LED灯做流水灯实验报告
51八只LED灯做流水灯实验第一节:单片机在上电初始后,其各端口输出为高电平。
如果我们现在想让接在P1.0口的LED1亮,那么我们只要把P1.0口的电平变为低电平就可以了。
想让LED1灭,LED0亮,只需将P1.0升高,P1.1变低,LED1就熄灭LED2随后既点亮!依始类推如下所示8只LED变会一亮一暗的做流水灯了。
本实验在“SP-51实验板”学习套件上的相关图纸:P1.0低、P1.0高、P1.1低、P1.1高、P1.2低、P1.2高、P1.3低、P1.3高、P1.4低、P1.4高、P1.5低、P1.5高、P1.6低、P1.6高、P1.7低、P1.7高、返回到开始、程序结束。
我们不能说P1.1你变低,它就变低了。
因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”代码。
我们又怎样来用二进制语议论使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。
今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。
这里的“程序语言”目前主要有汇编和C两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。
前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。
现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。
“汉语”语言汇编语言开始:star:P1.0低clr p1.0P1.0高setb p1.0P1.1低clr p1.1P1.1高setb p1.1这里用到了四条汇编指令:clr、setb、ljmp 、end;clr:是将其后面指定的位清为0;setb:是将其后面指定的位置成1;ljmp:是无条件跳转指令,意思是:跳转到指定的标号处继续运行。
实验一 P1口亮灯实验
• 硬件定时与软件计数结合方式解题思路: • 让T0作定时器用,如T0可以定时50ms,当定时时间 到,在T0中断处理程序中一个寄存器内容加1,同 时判断是否加到2000/50=40,如果不到40,则直接 返回,如果计到40,说明2s时间到,使P1口循环点 亮8个发光二极管后再返回。 • T0工作在方式1,控制字01H,计数初值(12MHz): (216–X)×1×10 -6 =50×10 -3S 即216–X=50000 X=216-50000=10000H-C350H =3CB0H 所以,初值为: TH1=3CH,TL1=B0H 若6MHZ课用原来的子程序!
;T0为方式1 ;初值 ;允许中断 ;启动定时 ; LED0先亮 ; ;等待中断 ;重新设置初值 ;依次点亮
中断处理 INTT0: MOV TH0,#9EH MOV TL0,#58H 程序: RL A RETI
拓展实验:每个LED点亮时间为2s
1.定时器/计数器应用实训 实训内容:利用T0定时,产生2s定时,使得P1 口输出信号,控制8个发光二极管循环点亮,设 fOSC=12MHz, 。 1.难点:P1口输出信号,控制8个发光二极管循环 点亮。由于定时时间长达2s,所以单靠一个定 时器不能解决问题。 2.可以采取硬件定时和软件计数(或硬件计数) 结合方式。
实验一 P1口亮灯实验
实验要求
1.分别用2种方式使P1口输出信号,轮流点 亮8个LED,每个LED点亮时间约为50ms。 方法1:利用调用延时子程序方式; 方法2:利用定时器定时50ms,设晶振频率 为12MHz。 2.拓展实验:每个LED点亮时间为2s。 3.选做P1口转弯灯实验。
思路: 1.通过P1.0P~1.7分别送“1”给8个LED指示灯; 2.每次持续时间20分之一秒,即50ms, 由定时器T0来定时,用方式1 , 又知fOSC =6MHz。 8051
单片机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软硬件仿真软件。
项目二单片机控制8位发光二极管课件
单片机在现实生活中的应用案例
智能家居
单片机在智能家居系统中发挥着 重要作用,如智能照明、智能安
防等。
工业自动化
在生产线控制、机器人等领域,单 片机是实现自动化控制的关键元件 。
汽车电子
汽车中的许多功能,如发动机控制 、安全气囊等,都离不开单片机的 支持。
注意事项
确保发光二极管的阳极和 阴极正确连接,避免短路 或断路。
步骤二
打开电脑和单片机开发板 的电源,将开发板通过 USB数据线与电脑连接。
实验操作步骤与注意事项
注意事项
确保电源电压与单片机开 发板的要求一致,避免烧 毁电路。
步骤三
打开编程软件,编写控制 程序,实现8位发光二极管 的亮灭、闪烁等功能。
3
分段驱动
将LED灯珠分成若干组,分别控制每组的亮灭, 以实现复杂的显示效果。
03
单片机控制8位发光二极管原理
单片机与发光二极管的接口连接
发光二极管正极接单片机P1口
发光二极管正极需要接高电平才能点亮,因此需要将发光二极管正极接到单片 机的高电平端口上。
发光二极管负极接地
发光二极管负极需要接地才能形成回路,因此需要将发光二极管负极接到单片 机的地线端口上。
02
8位发光二极管介绍
发光二极管的工作原理
发光二极管是一种电子器件,利 用电子与空穴结合时释放能量的
原理发光。
发光二极管具有单向导电性,正 向导通时发光,反向截止时不发
光。
发光二极管的发光颜色取决于制 造材料,常见的有红、绿、蓝等
颜色。
8位发光二极管的排列与连接
P1口外接8只LED发光二极管模拟彩灯
寻找存放操作数的地址或位 置,并将其提取出来的方法
返回本章首页
1 立即寻址
• 指令中直接给出操作数的寻址方式。立即操作数用 前面加有#号的8位或16位数来表示。
例如:MOV A,# 60H ;(A)←#60H MOVDPTR,# 3400H ;(DPTR)←#3400H MOV30H,# 40H ;30H单元←#40H
• 累加器A中数据为立即数据60H; • DPTR寄存器中数据为3400H; • 30H单元中数据为立即数40H。 • 寻址范围:程序存储器
返回本节
2 直接寻址
• 指令中直接给出操作数地址的寻址方式。 • 例1:MOV PSW,# 20H ;
( PSW)←20H PSW为直接寻址寄存器的符号地址。 例2: MOV A,30H ;(A)←(30H) • 寻址范围:内部RAM低128B(00H--7FH)
MOV P1, A ;累加器A中的数送P1端口 SJMP LOOP ;转移到LOOP
END
相关知识
1.单片机是怎样使二极管发亮的? 单片机内部的端口寄存器与片外引脚是直接相连的,数 据通过单片机内部数据总线传送到端口寄存器(用指令 完成),结合发光二极管硬件电路,二极管便发亮了。 2. 什么是指令?MCS-51单片机有哪些指令?
;取书 ,A中
20H
此例中,20H就当成是那本书;30H就当成是甲抽屉;
R0就当成是乙抽屉,执行的结果就是将20H这个立即数装入A中。 期间也经历了两次寻址,即间接寻址。
返回本节
5 变址寻址
• 又称为基址寄存器加变址寄存器寻址,以基址寄存器 内容加变址寄存器内容作为操作数的地址。 基址寄存器:PC、DPTR 变址寄存器:A
• 汇编语言指令:用有一定含义的助记符来 表示机器码的指令