p1out bit0=~j; //依次循环点亮8位LED的1位 求详细解释 本人菜菜鸟

求一c51单片机,8位流水灯程序_百度知道
求一c51单片机,8位流水灯程序
要求:c51单片机8位流水灯点亮的憨龚封夹莩蝗凤伟脯连顺序为:,,7012.可循环。延时要求可以清晰的看出延时效果
你们的程序在单片机上 试验过吗
憨龚封夹莩蝗凤伟脯连 你们弄错了,0123不是同时亮 而是0 1 2 3 按顺序亮
再1234按顺序亮
提问者采纳
//C51点亮8位LED流水灯:,;//P1口接LED灯。假设高电平为点亮。#include&reg51.h&#define LED P1char code light[]={0x1e,0x3c,0x78,0x87};void delay(unsigned int i){
憨龚封夹莩蝗凤伟脯连while(--i){j=100;while(--j);}}void main(){
for(i=0;i&4;i++)LED=light[i];
delay(1000);
}}//已编译通过。//我qq在的:
其他类似问题
为您推荐:
其他4条回答
下列程序调试成功。使用晶振为12M。
//软件延时,使P1口外接的8个发光二极管,以每秒1位的速度,轮流发光。
//发光顺序:,,,。循环。
//----------------------------
#include&reg52.h&
#include&intrins.h&
void main()
unsigned char
while(1) {
//假设8个发光二极管接在P1口.
a = _crol_(a, 1);
for(i = 8; i & 0; i--)
for(j = 250; j & 0; j--)
for(k = 250; k & 0; k--);
//----------------------------
补充提问:0123不是同时亮,而是0 1 2 3 按顺序亮,再1234按顺序亮...
回答补充提问,改动如下:
#include...
解题思路:1、假设你P1口接的led灯为共阳极的,且已经串联8个限流电阻。2、间隔1s,闪烁一次。3、使用晶振为12M。#include&reg52.h&#define uchar unsigned charuchar temp,num=0;void delay(uchar z){ uchar x,y; for(x=z;x&0;x--)
for(y=255;y&0;y--) }void main(){
temp=0xf0;
while(1)
delay(255);
if(num==5)
temp=0xf0;
temp=_crol_(temp,1);}}
#include &reg51.h&#include &intrins.h&void delay(void){
unsigned char a,b,c;
for(c=167;c&0;c--)
for(b=171;b&0;b--)
for(a=16;a&0;a--);}void main(){
char a=0xf0,i; while(1) {
for(i=0;i&3;i++)
a=_crol_(a,1);
a=0xf0; }}延时一秒,可以清楚 看出来,P1口接八个灯
这个很简单啊~~你可以用查表法
实现你的功能~~ 把你要的代码放到表格里,运行一个延时,查一次表,再输出到端口~~
流水灯的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何用单片机实现流水灯,从一依次亮到八,再从八依次亮回一,一直循环?_百度知道
如何用单片机实现流水灯,从一依次亮到八,再从八依次亮回一,一直循环?
提问者采纳
123;1;8;i++);
temp=temp&reg51;简单一点#include&&gt/j&#define uchar unsigned char#define uint unsigned intvoid delay(uint ms){
delay(500); while(1) {
uchar temp=0x01;i&
temp=temp&8;&}void main(){j++)
for(j=0; while(ms--) for(i=0;
for(j=0;j++)
P1=temp.h&/1;
delay(500);
temp=0x80; P1=0x00;j&lt
提问者评价
其他类似问题
7人觉得有用
为您推荐:
其他1条回答
可位寻址、还没试过有个想法,每200ms对字节LED值做左移1位指令(汇编可循环)。主程序中位寻址判断字节LED的bit(0-7)点亮相应的灯, 放一个字节LED做标志位。对字节LED附初值1,感觉好玩。。 好像上述灯流的方式不对,呵呵,做一个200mS的时钟。。 每一位代表一个灯。或者直接P0=LED纯想法,不过可以改
额,我是新学的,貌似,有点看不懂…
饿。。今天有热心网友给出程序了,看程序吧。自已再加些申明就可以了
流水灯的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁实现单片机信号灯1-8依次循环点亮的程序怎么写_百度知道
实现单片机信号灯1-8依次循环点亮的程序怎么写
include &quot,从P1口输出
delay02s( ); 延时0,j;i<
/& 包含头文件#define uchar unsigned charvoid
delay02s(void)
//&0;/8;1; 主函数{// for循环语句,左移初始值
for(i=0;/
j= j<i-- )
for (j=200;/k-- );8;
delay02s( ); 死循环 {
j=0x01;j&//0;i>
j= j& 延时0; 设置右移初始值j为0x80
for (i=0; j初始化为0x01;/
&#47,k,完成8个循环
P1= ~ j; while (1)
/k&/ 左移1位
j=0x80;i++)
for ( i=2;i&0.h"
/j-- )
for (k=250;1;
&#47,j; 对变量j 中的值按位取反后.2s子程序 {
char i;i++)
P1= ~reg51;/ } void
main (void)
其他类似问题
为您推荐:
信号灯的相关知识
其他2条回答
就是流水灯的程序。最简单的了。
寄存器里放0x01,然后延时一段时间后左移,循环。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁P1作为输出口,P1.0至P1.7接8个发光二极管,要求编写程序实现如下功能:8个发光二极管依次亮灭并每盏灯点亮_百度知道
P1作为输出口,P1.0至P1.7接8个发光二极管,要求编写程序实现如下功能:8个发光二极管依次亮灭并每盏灯点亮
我有更好的答案
编程实现对 8 个 LED 的输出控制 将实验箱中的 8255 片选信号连接到 218H~21FH,将 8255 的 4 个寄存器地址(A、B、 C 端口及控制字寄存器端口)设置为 218H~21BH。将 8255 的端口 A 的 8 个引脚:PA0~PA7 与 8 个 LED 对应相连,然后打开实验箱电源,最后编程对 8 个 LED 进行显示控制。
程序清单:
ASSUME CS:CODE
START: MOV DX,21BH
MOV AL,80H
;工作方式初始化
MOV DX,218H
MOV AL,0FEH ;设置输出数据,即显示模式
;设置循环次数
LN: OUT DX,AL
CALL DELAY
;调用延迟程序
MOV AH,4CH
;返回 dos
DELAY PROC
;延迟子程序
MOV BX,2000
MOV CX,3000
其他类似问题
为您推荐:
发光二极管的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求图:亮灯循环 功能说明:利用单片机MS51的P1端口接8只LED每次点亮3只,闪烁3次,向左移动点亮,重复循环_百度知道
求图:亮灯循环 功能说明:利用单片机MS51的P1端口接8只LED每次点亮3只,闪烁3次,向左移动点亮,重复循环
R3.OUTPUT:
DJNZ R6! 静待佳音 急用谢谢;送P1口输出;延时子程序, OUT_5
ACALL DELAY
P1;设计数值!, DELAYLOOP
DJNZ R7.OUT_5;设计数值, DELAYLOOP
END 各位大神帮小弟我检查下上面的程序对不对 顺便帮小弟画个图, A
ACALL DELAY
DJNZ R3!,
R7, #0DELAYLOOP,OUTPUT
LJMP LOOPDELAY;赋初值, #8
提问者采纳
帮你看看,我把它烧到芯片上去了,你用Proteus仿真啊 ,能用,我这有8个灯接在P3口的单片机小系统。没错就是这样样子的,这样的图很简单的,我用KeiL改了再汇编一下试试
提问者评价
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 p1out bit0 的文章

 

随机推荐