感悟网 导航

跪求单片机89C52编程,题目是:P1口的四个LED灯循环点亮,点亮时间为一秒,用定时计数器实现延时一秒的程 52单片机,4个独立按键,分别控制.延时一秒/五分钟/十分钟...

作者&投稿:詹行 (若有异议请与网页底部的电邮联系)
求编程单片机89c52,要求:按key1(P3.4,p3.5)键三次后,P1口的LED灯全部点亮,再按1次key1键,全灭。~

你说清楚些啊,有几个LED灯啊,要C 程序吗?
还有啊,你到底有几个按键啊?

#include#define uchar unsigned charsbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;sbit led1=P1^4;sbit led2=P1^5;sbit led3=P1^6;sbit led4=P1^7;void delay1s(int a){uchar i,j;while(a--)for(i=0;i<60;i++)for(j=0;ij<120;j++);}main(){uchar keyval=0;while(1) { if(k1==0) { while(k1==0); keyval=1; } if(k2==0) { while(k2==0); keyval=2; } if(k3==0) { while(k3==0); keyval=3; } if(k4==0) { while(k4==0); keyval=4; } switch(keyval) { case 1:led1=0;delay(1);led1=1;keyval=0;break; case 2:led2=0;delay(300);led2=1;keyval=0;break; case 3:led3=0;delay(600);led3=1;keyval=0;break; case 4:led4=0;delay(900);led4=1;keyval=0;break; default:break; } }}

//以下是四个LED灯循环亮的程序,看看,可以吗?

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar aa,tt;
void main() //--------主函数----------------------
{
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
tt=0;
aa=0xfe;
P1=aa;
while(1);
}

void time() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
tt++;
if(tt==20)
{
tt=0;
aa=_crol_(aa,1);
P1=aa;
}

}

可以找我的,哈
去我百度空间看我的Q联系方式

《STC 89c52rc单片机代码》
答:/***为网友解答例程 波特率设置为9600,无奇偶校验,晶振11.0592MHz,STC89C52.单片机通过串口接收到 字符“a",单片机反馈”a"并打开p1.0 =1 。如果单片机持续30S 没收到“a" P1.0= 0 。存在问题:1.延时、端口 要根据你的实际情况改一下参数。2.上电or复位后,第一次P1.0=0的转换时间...

《求用89C52单片机+DS18B20+LED灯结合的温度报警器,用keil编程c语言程序...》
答:include <reg52.h> include <stdio.h> define uchar unsigned char define uint unsigned int sbit ds=P2^2;sbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;uint temp;float f_temp;uint warn_11=270;uint warn_12=250;uint warn_h1=300;uint warn_h2=320;sbit led0=P1^0;sbit led1...

《用89C52单片机控制32个LED流水灯的C语言程序,》
答:/***32灯流水——火柴天堂作品-20130520***/ /***52单片机,12MHz晶振,P0-P3 接32颗LED,低电平驱动***/ include"REG52.h"//包含52头文件 define TRUE 1//定义布尔量'1':真 define FALSE 0//定义布尔量'0':假 define uchar unsigned char//定义 无符号字符型数据 简称 define uint ...

《设89C52单片机Fosc=12MHz。试编写一段程序,对定时器T1初始化,使之工作...》
答:楼上用的是查询法,我来个中断函数的 呵呵 include<reg52.h> sbit a0=P1^1;//端口定义 int count=0;//计时变量初始化 /***T1中断服务函数***/ void T0Int() interrupt 3 using 0 // { count++;//200us 加一次 if(count==100)//一百次之后,取反输出端口 { count=0;//清零...

《89c52单片机》
答:1、你的延时子程序for循环的嵌套关系好像搞反了。2、利用“软件延时控制数码管显示”的同时,在软件延时中添加break,会造成显示中断。3、多位数码管扫描显示时,变换“段位”前应该先将“段值”清空,减少不必要的闪烁。4、你在数码管显示中的每一位延时时间有些长,多位显示往往不流畅,会出现单个...

《求救:用单片机89C52程序设计 实现固定的时间间隔周期循环地开关_百度知 ...》
答:/* T0定时器控制脉冲 1mS~4095mS可调(对应DAC输入0~2.5V)*/ include<reg51.h> unsigned int TC0=0; //周期计数 unsigned int RefLed=0; //LED刷新周期 unsigned int Value1=0; //设定时间值 bit Enb=0; //输出允许值 bit Enb1=0;unsigned char code Led[10]={0x3F,0x06,0x5...

《89c52单片机流水灯汇编程序》
答:ORG 0000H LJMP MAIN ORG 000BH T0MS0 EQU NOT 50000 ; 50 mS 12.000 MHz ; 100 MS 6.000 MHz T0ZD0: MOV TL0, #LOW T0MS0 ; TO 中断 计时 0 MOV TH0, #HIGH T0MS0 DJNZ R5, T0ZD8 MOV R5, #10 ; 100 mS #5 SETB 30H...

《用单片机89c52编程,控制几个开关》
答:include <reg51.h>#define uint unsigned int;#define uchar unsigned char;void delay (uint x){uint y;uchar z;for(y=x;y>0;y--){for(x=110;x>0;x--);}}void main(){while(1){P1^0=0;delay(500); P1^0=1;delay(1000);}}//虽然给你程序了,但还是希望你自己动手,这样...

《求你89C52单片机流水灯移动的程序》
答:是我想的这个意思?include<reg52.h> include<intrins.h> typedef unsigned int u16;typedef unsigned char u8;sbit led=P2;//这里填你LED连接的端口(引脚),不一定是P2,也有可能是P3、P0 void delay(u16 i){ while(i--);} void shan1(){ u8 i;led=0x01;//我默认led输入高电平1是亮,...

《用89C52单片机与PC串口通信,谁能帮忙写代码?要用C语言编写的_百度知 ...》
答:单片机定时发送字串给PC机 include < reg52.h > include < intrins.h > include < stdio.h > define uchar unsigned char define uint unsigned int / 延时函数 / void delay(int ms){ uchar i;while(ms--){ for(i=0;i<250;i++){ _nop_();_nop_();_nop_();_nop_();} } }...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网