单片机端口扩展的P1端口输出控制8个指示灯LED0~LED7,写出指示灯LED0到LED7依次流水灯显示的程序。

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
单片机大作业题目31-50.doc 6页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
单片机大作业题目31-50
你可能关注的文档:
··········
··········
1. 大作业的所有题目都应在PROTEUS 7.5(注意:只能使用7.5版本)仿真环境下运行通过。
(1)在keil IDE(μvision3)中完成应用程序设计、并编译;
(2)在PROTEUS 7.5下的ISIS Professional中完成电路设计、调试与仿真通过。
节日彩灯的制作
设计要求:
用单片机控制P1口上的8个发光二极管进行花样显示,显示规律为(1)8个LED依次左移点亮;(2)8个LED依次右移点亮,然后再依次左移点亮┉┉。
单片机P1口控制转弯灯实验
单片机P1.0上的开关接5V时,右转弯灯闪亮,P1.1上的开关接5V时左转弯灯闪亮。P1.0、P1.1 开关同时接5V或接地时,转弯灯均不闪亮。
单片机P1口实现的顺序控制
在工业生产中,象注塑机工艺过程大致按“合模注射延时开模产伸产退”顺序动作,用单片机的I/O来控制最易实现。
单片机的P1.0~P1.6控制注塑机的七道工序,七道工序用模拟控制七只发光二极管的点亮来模拟,低电平有效,设定每道工序时间转换为延时。P3.4(输入)接工作启动开关,高电平动作。P3.3为外部故障输入模拟开关,低电平为故障报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序3位有输出(P1.6、P1.5、P1.4点亮发光二极管)。
单片机通过82C55控制交通灯
用82C55作输出口,控制12个发光二极管燃灭,模拟交通灯管理。
82C55的PA0~PA7、 PB0~PB3接发光二极管L15~L13、L11~L9、L7~L5、L3~L1。
执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。
电话拨号键的LCD显示
设计一个单片机监控的电话拨号键盘,将电话键盘中拨出的某一电话号码,显示在LCD显示屏上。电话键盘共有12个键,除了“0”~ “9”10个数字键外,还有“*”键用于实现退格功能,即清除输入的号码;“#”键用于清除显示屏上所有的数字显示。还要求每按下一个键要发出声响,以表示按下该键。
发光二极管的从左到右的流水点亮
8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。编程来实现发光二极管的从左到右的流水点亮,即按照LED0→LED1→┉→LED7的顺序,每次点亮一个发光二极管,延时一段时间后熄灭这个发光二极管,然后点亮下一个发光二极管,重复循环。
左右来回循环的流水灯
8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。编程实现制作左右来回循环的节日彩灯,显示规律如下图所示。
节日彩灯的花样显示的规律
为了使显示效果更加绚丽多彩,P1端口8个引脚分别接有不同颜色的发光二极管。具体如题37表所示。
P1口 8个引脚的不同颜色的发光二极管
P1口引脚 发光二极管的颜色
P1.0 红色LED
P1.1 蓝色LED
P1.2 绿色LED
P1.3 黄色LED
P1.4 红色LED
P1.5 蓝色LED
P1.6 绿色LED
P1.7 黄色LED
开关量检测指示器1
AT89S51单片机的P1.4~P1.7接4个开关S0~S3,P1.0~P1.3接4个发光二极管LED0~LED3。编写程序,将P1.4~P1.7上的4个开关的状态反映在P1.0~P1.3引脚控制的4个发光二极管上。1个发光二极管的状态,对应一个开关的状态,例如P1.4引脚上开关S0的状态,由P1.0脚上的LED0显示,P1.6引脚上开关S2的状态,由P1.2脚上的LED2显示。凡是开关闭合的引脚,对应的LED发光二极管点亮。
开关量检测指示器2
AT89S51单片机P1.0和P1.1引脚接有两只开关S0和S1,两只引脚上的高低电平共有4种组合,这4种组合分别点亮P2.0~P2.3引脚控制的4只LED:LED0~LED3 (高电平点亮),编程实现此功能。
单一外中断的应用
在51单片机的P1口上接有8只LED。在外部中断0输入引脚P3.2()引脚接有一只按钮开关K1。要求将外部中断0设置为负跳沿触发。在程序启动时,P1口上的8只LED亮。按一次按钮开关K1,使
正在加载中,请稍后...手把手教你单片机流水灯实验(详解)
您现在位于:
云龙电子 →
单片机学习
手把手教你单片机流水灯实验(详解)
单片机轻松入门教学
---------------------------------------------------------------------------------------------------------------
  每当夜幕降临,我们可以看到大街各式各样广告牌上漂亮的霓虹灯,看起来令人赏心悦目,为夜幕中的城市增添了不少亮丽色彩。其实这些霓虹灯的工作原理和单片机流水灯是一样的,只不过霓虹灯的花样更多,看起来更漂亮一些。这一课我们就结合YL-51单片机开发板来手把手教你详细学习单片机的流水灯实验。
  首先介绍实验的硬件设备:YL-51单片机开发板
  YL-51单片机开发板上有8个高亮度发光二极管(见图1所示),可以用来做单片机流水灯、跑马灯。。。等实验,电路原理图见下图3。
  从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
  实现8个LED流水灯程序用中文表示为: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.0你变低,它就变低了。因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”机器代码。我们又怎样来使单片机按我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。这里的“程序语言”目前主要有汇编语言和C语言两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。
实现8个LED流水灯汇编语言程序 liu01.asm
    ;----- 主程序开始 -----
START: CLR   P1.0       ;P1.0输出低电平,使LED1点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.0       ;P1.0输出高电平,使LED1熄灭
    CLR   P1.1       ;P1.1输出低电平,使LED2点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.1       ;P1.1输出高电平,使LED2熄灭
    CLR   P1.2       ;P1.2输出低电平,使LED3点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.2       ;P1.2输出高电平,使LED3熄灭
    CLR   P1.3       ;P1.3输出低电平,使LED4点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.3       ;P1.3输出高电平,使LED4熄灭
    CLR   P1.4       ;P1.4输出低电平,使LED5点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.4       ;P1.4输出高电平,使LED5熄灭
    CLR   P1.5       ;P1.5输出低电平,使LED6点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.5       ;P1.5输出高电平,使LED6熄灭
    CLR   P1.6       ;P1.6输出低电平,使LED7点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.6       ;P1.6输出高电平,使LED7熄灭
    CLR   P1.7       ;P1.7输出低电平,使LED8点亮
    ACALL  DELAY      ;调用延时子程序
    SETB  P1.7       ;P1.7输出高电平,使LED8熄灭
    ACALL  DELAY      ;调用延时子程序
    AJMP  START      ;8个LED流了一遍后返回到标号START处再循环
    ;----- 延时子程序 -----
DELAY: MOV   R0,#255     ;延时一段时间
D1:   MOV   R1,#255
    DJNZ  R1,$
    DJNZ  R0,D1
    RET            ;子程序返回
    END           ;程序结束
  在上面主程序中用到了五条汇编语言指令:CLR、ACALL、SETB、LJMP、END。
  CLR: 是将其后面指定的位清为0,程序中使对应端口输出低电平
  ACALL:是子程序调用指令,程序中调用了DELAY延时子程序
  SETB:是将其后面指定的位置成1,程序中使对应端口输出高电平
  AJMP:是无条件跳转指令,意思是:跳转到指定的标号处继续运行
  END: 是程序结束的伪指令,意思是告诉编译器,程序到此结束。伪指令只告诉编译器此程序到此有何要求或条件,它不参与和影响程序的执行。
  在上面源程序中&ACALL  DELAY&指令的作用是调用DELAY延时子程序。为什么要使用这指令呢?如果不用该指令能够实现&流水&效果吗?答案是肯定的,一定要用该指令才能看到我们需要的&流水&效果。如果不用该指令,则由于8个LED发光与熄灭的时间都很短,我们肉眼无法看到LED的熄灭与点亮,凭我们肉眼看到的是LED1~LED8都同时亮(半亮),而看不到“流水”效果的!注:初学者可以将上面源程序中所有&ACALL  DELAY&指令行删除后再编译后烧写到单片机进行验证一下。
  产生这种现象主要是因为单片机执行每条指令的时间很短,我们知道实验板上单片机的时钟高达11.0592MHz,在这个时钟信号(即晶体振荡信号)下,一个“机器周期”仅大约1.08uS(微秒)。本程序中我们用到的SETB P.x和CLR P.x均属于单周期指令,也就是说,执行一句 SETB P.x 用时仅1.08uS(微秒),CLR P.x 也是1.08uS(微秒);也就是点亮和熄灭时间都为1.08uS(微秒),在如此高速的流水速度下,8个LED发光与熄灭的时间都很短,当然凭我们的肉眼看不到“流水”效果了!
  这里需要说明的是,按汇编语法要求,所编制的程序(下称源程序)之格式和书写要求必须依下列原则:
  1、源程序必须为纯文本格式文件,如用Windows“附件”中的“记事本”编写的文本文件或用UltraEdit文本编辑器编辑;
  2、源程序的扩展名应是 *.ASM;
  3、一行只能写一条语句,以回车作为本句的结束,每一语句行长度应少于80个字符(即40个汉字)。
  4、每行的格式应为:标号: 命令 参数 ;注释 。即一行由四部份组成,各部份的顺序不能搞错,依实际要求可以缺省其中的一部份或几部份,甚至全部省去,即空白行。需要使用标号时标号后面必须有“:”(冒号),而命令语句和参数之间必须用空格分开,如果命令有多个参数,则参数与参数之间必须用“,”(逗号)分开,需要注释时注释前必须用“;”(分号),“;”后面的语句可以写任何字符,包括汉字用于解释前面的汇编语句,它将不参与汇编,不生成代码。由于汇编程序对我们还不直观,所以在编写源程序时,应当养成多写注释的习惯,这样有助于今后源程序的阅读和维护。
  标号是标志程序中某一行的符号名,编译后标号的数值就是标号所在行代码的地址。在宏汇编ASM51中标号的长度不受限制,但标号中不能包含‘:'或其它的一些特殊符号,也不能用汉字,可以用数字作标号,但必须用字母开头。当标号作参数用(如标号作转移地址),在命令后面出现时,必须舍去‘:'(如上面程序中的 AJMP START中的START是不能再有:)。每行只能有一个标号,一个标号只能用在一处,如果有两行用了同一个标号,则汇编时就会出错。由于标号的长度没有限制,可以用有意义的英文或汉语拼音来说明行,使源程序读起来更方便。在源程序中的字母不区分大小写,也就是说 start 和 START 是一样的,请不要用大小写方式去区分不同的标号。
  好啦!我们知道了汇编语言程序的规则,现在就动手编辑源程序吧。马上启动Keil单片机集成开发环境,建立新工程liu01.UV2,将上面的源程序liu01.asm导入到工程中,设置好Keil工程的编译参数,编译得到HEX格式的目标文件liu01.hex, 将目标文件liu01.hex烧写到AT89S51单片机中,接下来就是将烧写好的AT89S51从编程器上取下,放到“
YL-51单片机开发板 ”上通电,我们就看到了LED1~LED8的&流水&效果了。
  到此,我们做的流水灯已成功,工作原理也清楚啦,若你完全掌握了上面程序,那么你就可以将“流水灯”的流向改变一下,可以将从&左向右流&改为从&右向左流&,也可以改为&两边向内流&、&内部向外流&......,我想你一定能用前面学到的方法实现这些功能。可能有些高手说,前面的编程方法是最最笨的!不错!但初学单片机初期可以不必讲究语言的简练,只要能实现预先要求就好,最主要的是学好基本指令(111条)的用法,清楚各个指令的功能,这是初学者要知道的。那么还有更好的编程思路吗?当然有!请跟随站长继续学习下面的内容。
  在前面学习的程序中我们让LED流水是去逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们就采用新的思路来编程。新的编程思路如下:我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后让这个数据向高位移动不就实现“流水”效果啦?的确如此!8051指令中没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指令,ACC在指令中常写为A,累加器A数据左移指令为&RL A&,累加器数据右移指令为&RR A&,累加器在数据传输和数据处理过程中作用十分重要,累加器ACC为8位。他可与片内所有单字节寄存器交换数据,实际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。下面程序就是采用新的编程思路源程序liu02.asm。
实现8个LED流水灯汇编语言程序 liu02.asm
    ;----- 主程序开始 -----
START: MOV   ACC,#0FEH   ;ACC中先装入LED1亮的数据(二进制的)
    MOV   P1,ACC     ;将ACC的数据送P1口
    MOV   R0,#7     ;将数据再移动7次就完成一个8位流水过程
LOOP:  RL   A       ;将ACC中的数据左移一位
    MOV   P1,A      ;把ACC移动过的数据送p1口显示
    ACALL  DELAY     ;调用延时子程序
    DJNZ  R0,LOOP    ;没有移动够7次继续移动
    AJMP  START     ;移动完7次后跳到开始重来,以达到循环流动效果
    ;----- 延时子程序 -----
DELAY: MOV   R0,#255    ;延时一段时间
D1:   MOV   R1,#255
    DJNZ  R1,$
    DJNZ  R0,D1
    RET          ;子程序返回
    END          ;程序结束
  接下来,我们将上述程序编译,并烧写到实验芯片中,放到实验板上可以看到程序的&流水&效果是一样的,但源程序看起来更加简洁,直观。其实8051单片机有111条指令,有的指令常用,有的指令不常用,只要遵守语法规则,你可以用这些指令“组合”成你想象到的任何程序。当然,有时一条指令可以替代很多条指令,这样会使程序简洁,程序代码减少,在编写较大程序时可以让程序存储器放得下你需要的代码,这也是单片机高手所追求的“程序简洁高效”。当然,初学者不必刻意去追求程序的简洁高效,主要是要全面地掌握各种指令的应用,只要你对基本指令都熟悉了,那么你也就可以编出简洁高效的程序了,不过这编程“内功”是需要你勤学苦练,日积月累的练习、实验才能达到的哦!马上拿起你的实验板,现在就开始动手吧:)
  上面我们学习的两个程序都是比较简单的流水灯程序,&流水&花样只能实现单一的&从左到右&流方式。下面介绍一个实用的流水灯程序,程序能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水。只要将下面的程序稍稍修改一下,通过S51增强型单片机实验板的扩展接口连接到霓虹灯高压驱动接口板就可以驱动真正的霓虹灯了。
实用的查表方式多功能流水灯程序 liu03.asm
    ;----- 主程序开始 -----
    ORG   0000H       ;上电复位,程序从0000H开始执行
START: MOV   SP,#60H      ;堆栈初始化为60H
    MOV   DPTR,#LIU_TAB   ;流水花样表首地址送DPTR
LOOP:  CLR   A
    MOVC  A,@A+DPTR
    CJNE  A,#0FFH,SHOW   ;检查流水结束标志
    AJMP  START       ;所有花样流完,则从头开始重复流
SHOW:  MOV   P1,A       ;将数据送到P1口
    ACALL  DELAY
    INC   DPTR
    AJMP  LOOP
    ;----- 延时子程序 -----
DELAY: MOV   R0,#255     ;延时一段时间
D1:   MOV   R1,#255
    DJNZ  R1,$
    DJNZ  R0,D1
    RET            ;子程序返回
    ;----- 下面是流水花样数据表 -----
    DB B       ;二进制表示的流水花样数据
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB B
    DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ;十六进制表示
    DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
    DB 7EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,7EH
    DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H
    DB 0FFH          ;流水花样结束标志0FFH
    END           ;程序结束
本站部分软件资料来源于网络,如有涉及版权问题,请及时联系站长删除您还可以使用以下方式登录
当前位置:&>&&>& > 单片机程序流水灯
单片机程序流水灯
一、实验目的及要求1、 学会如何将3个端口内每个对应的位组合在一起,形成一个控制字,用来定义相应I/O口位的输入输出状态和方式。2、 学会用按键控制LED灯的图案变化。3、 将IOA作为按键输入,IOB输出到LED。通过按键的设定来展示出不同的LED花样效果来,花样可如下:(a)所有八个LED循环闪烁;(b)依次点亮一个LED,从左至右循环;(c)依次点亮一个LED,从右至左循环;(d)依次点亮两个LED,从左至右循环;(e)其余可自由发挥。 二、仪器用具三、实验方法与步骤1、根据实验内容连接硬件电路并检查。2、画流程图并编写程序代码。3、编译程序,软件调试。4、通过硬件调试完成实验要求。 四、硬件设备 五、实验程序流程图和源程序 实验程序:#includeunsigned int saomiao(void);void delay(void);void youyi(void);void zuoyi(void);void lwyouyi(void);void lwzuoyi(void);void xiangw(void);void xiangn(void); int main(void){unsigned int key=0,temp=0; *P_IOA_Dir=0*P_IOA_Attrib=0*P_IOA_Data=0x0000;*P_IOB_Dir=0x0000;*P_IOB_Attrib=0x0000;*P_IOB_Data=0x0000; while(1){temp=saomiao();if(temp!=0){key=}switch(key){case 1: zuoyi();case 2: youyi();case 3: lwyouyi();case 4: lwzuoyi();case 5: xiangw();case 6: xiangn();default:}}}unsigned int saomiao(void)//按键扫描子函数{if(*P_IOB_Data==0x0001)n=1;else if(*P_IOB_Data==0x0002)n=2;else if(*P_IOB_Data==0x0004)n=3;else if(*P_IOB_Data==0x0008)n=4;else if(*P_IOB_Data==0x0010)n=5;else if(*P_IOB_Data==0x0020)n=6;elsen=0;}void zuoyi(void) //花样左移子函数{for(i=1;i<=128;){*P_IOA_Data=i;i=i*2;delay();*P_Watchdog_Clear=0x0001;}}void youyi(void)//花样右移子函数{for(i=128;i>=1;){*P_IOA_Data=i;i=i/2;//i>>=1;delay();*P_Watchdog_Clear=0x0001;}} void lwzuoyi(void)//花样两位左移子函数{for(i=3;i<=192;){*P_IOA_Data=i;i=i*2;//i<<=1;delay();*P_Watchdog_Clear=0x0001;}}void lwyouyi(void)//花样两位右移子函数{for(i=192;i>=3;){*P_IOA_Data=i;i=i/2;
//i>>=1;delay();*P_Watchdog_Clear=0x0001;}}void xiangw (void) //花样由内向外移动{unsigned int i,j;for(i=16,j=8;i=1;){*P_IOA_Data=i+j;i=i*2;//i<<=1;j=j/2;//j>>=1;delay();*P_Watchdog_Clear=0x0001;}}void xiangn (void) //花样由外向内移动{unsigned int i,j;for(i=1,j=128;i=16;){*P_IOA_Data=i+j;i=i*2;//i<<=1;j=j/2;//j>>=1;delay();*P_Watchdog_Clear=0x0001;}}void delay(void)//延时函数{unsigned int i,j;for(i=0;i<100;i++){for(j=0;j<100;j++)*P_Watchdog_Clear=0x0001;}}六、实验现象1、当按键1按下时:LED流水灯向左移动;2、当按键2按下时:LED流水灯向右移动;3、当按键3按下时:LED流水灯向右每次移动两位;4、当按键4按下时:LED流水灯向左每次移动两位;5、当按键5按下时:LED流水灯由内向外移动;6、当按键6按下时:LED流水灯由外向内移动; 七、实验收获 ? 通过对流水灯控制实验的完成,基本掌握了凌阳单片机I/O口的参数设置方法。? 基本掌握了按键的设置和使用方法。? 在控制流水花色变化的程序实现中,学会了左移与右移的两种算术和逻辑操作方法。? 基本掌握了程序的在线仿真操作方法。? 基本掌握了硬件按键与流水灯之间线路的连接。? 在程序的编写与调试过程中,学会了要用细心和谨慎的态度来完场实验的各个环节。 百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网92to.com,您的在线图书馆!
欢迎转载:
相关推荐:定时器T1每0.05秒中断一次,单片机P1口接8个发光二极管LED0~LED7,编写程序,使发光二极管按延时1,3,5,7S_百度知道
定时器T1每0.05秒中断一次,单片机P1口接8个发光二极管LED0~LED7,编写程序,使发光二极管按延时1,3,5,7S
例如:开机后,第一秒钟LED0、LED2亮延时1秒,LED1、LED3亮延时3秒,LED4、LED6亮延时5秒,LED5、LED7亮延时7秒,再从头开始一直循环下去。
我有更好的答案
sanne()//显示函数{
if(miao==1)
else if(miao==3)
else if(miao==5)
else if(miao==7)
P1=0x3f;}void time(void) interrupt 3{
TH1=()/256;
TL1=()%256;
if(++count==20)
if(miao==16)
miao=0;}你可以试下这
其他的主函数你自己去写吧
亮的时间相当的长。
说明白点。。。
大哥,我按你这个程序调试,灯亮的时间根本就不是 LED0 LED2亮1秒 而是很长的时间同样LED1 LED3也不是亮3秒 而是很长的时间!
采纳率:27%
说清楚点吧。LED灯延时1S,3s,5s,7s,是说灯亮1s,3s,5s,7s,还是延时1s,3s,5s,7s之后闪烁?
延时:void delay(int ms){while(ms--)for(j=0;j&120;j++) ;}利益for(——;——;)做循环
我就想要定时器来实现
LED1、3,4、6,5、7什么时候开始亮?
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
发光二极管的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 单片机端口初始化 的文章

 

随机推荐