求编程单片机89c51,要求:按key1(P3.4,p3.5)键三次后,P1口的LED灯全部点亮,再按1次key1

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

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

设置一个寄存器,统计key1键的按下次数就可以了。

/*****************
晶振4MHZ,按键key1为P3.4,P3.5接口
功能:按 key1键三次,P1灯亮,再按一次灭 ,如此重复
******************/
#include<reg51.h>
sbit key1 = P3^4;
/******************
void delay40us(uint time)
输入参数:time
输出参数:无
函数功能:延时程序40us
******************/
void delay40us(unsigned int time)
{
unsigned char ks;
while(time !=0)
{
for(ks=0;ks<10;ks++)
{ }
time--;
}
}
void main()
{
unsigned char num,flag;
flag=0;num=0;
P3=0x10;
while(1)
{
if((key1==0)&&(flag==0))
{
delay40us(250); //延时10ms去抖
if(key1==0) //再次判断key1键是否按下
{
while(!key1); //判断按键key1是否松开
delay40us(250); //延时10ms去抖
while(!key1); //再次判断按键key1是否已松开
num++;
}
}
if(num>2) //按键按下3次,P1口灯亮
{
num = 0;
flag = 1;
P1 = 0; //P1口灯亮,为P1口输出低电平灯亮

}
if((key1==0)&&(flag==1))
{
delay40us(250);
if(key1==0)
{
while(!key1);
delay40us(250);
while(!key1);
flag = 0;
P1 = 0xff; //P1口灯灭,P1口输出高电平灯灭
}
}
}
}

你这个题目??key(3.4 3.5)是怎么回事?两个都可以还是同时要按住两个?

能不能把题目说完了呢?


STC89C52和AT89S52用法上有什么要注意的?
89C51和89S51内核相同,89S51针对89C51的明显的几个升级如下;1.程序存储器写入方式:二者的写入程序的方式不同,89C51只支持并行写入,同时需要VPP烧写高压。89S51则支持ISP在线可编程写入技术!串行写入、速度更快、稳定性更好,烧写电压也仅仅需要4~5V即可。2.电源范围:89S5*电源范围宽达4~5.5V,...

89s51和89c51最小系统区别谢谢了,大神帮忙啊
一样的,89S51向下兼容89C51,最小系统是一样的 区别在于: 1.程序存储器写入方式:二者的写入程序的方式不同,89C51 只支持并行写入,同时需要VPP 烧写高压。89S51 则支持ISP 在线可编程写入技术!串行写入、速度更快、稳定性更好,烧写电压也仅仅需要4~5V 即可。 2.电源范围:89S5*电源范围...

宏晶的单片机用的多吗?现在用那些单片机用的比较多呢?
功能弱)。5、个人理解,如果你要学单片机,51起步是很不错的,先学汇编把硬件底层搞熟,然后转到C语言编程(汇编扎实,转到C语言轻而易举,直接学C,表面上看进度很快,但实际上基础很不牢固,以后要吃苦头)。等51熟悉了之后,转到另外更实用,功能更强的单片机比如STM8,是一种比较好的途径。

如何找到STC89C52RC单片机RXD TXD GND VCC及各针脚的定义
单片机的可擦除只读存储器可重复擦除100次,该器件采用ATMEL高密度非易失性存储器,与MCS-51指令集和输出管脚兼容。由于多功能8位CPU和闪存在一块芯片中的结合,ATMEL的89C51是一款高效的微控制器,89C2051是它的简化版,89C单片机为许多嵌入式控制系统提供了一种灵活、廉价的方案。

keil软件编译以后有7个warning,实在不知道哪里出现问题,求各位大神帮 ...
看来,你是个新手啊,刚开始练习写程序,基础知识不是很清楚。include<stc89c5xrc.h>,这STC单片机的头文件需要用STC-ISP导出。其实,你这程序也不必用STC的头文件,就用通用的reg51.h就行。改成#include<seg51.h>是完全可以的。下面是重点错误:关面的延时子程序名是:Delay10ms(void),在主...

...学习板以前装的是STC89C52,现在换成STC89C53怎么下载不了东西_百度...
4. 最好从STC的网站上下载标准的头文件来声明特殊寄存器,一般使用RAM比较小的程序没有问题,因为特殊寄存器比较靠后,如果占用RAM达到100字节以上的话就危险了,必须使用定制的头文件;5. 最后建议选择一个比较新的型号,89C5X实在是太老啦,价格也不一定便宜,呵呵。参考资料:http:\/\/www.stcmcu.com...

电视机遥控器上有单片机吗??听说买一块单片机要很贵的呀?为什么一个遥...
电视摇控器是专用的微处理器价格很便宜.与一般工业控制的单片机不同.一般的只需要几元钱.

关于单片机的种类问题
在众多的51系列单片机中,要算 ATMEL 公司的AT89C51、AT89S52更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89xx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短...

89C52单片机的内存8K不够用了怎么办?
答:不行.2.如果用扩展外部存储芯片,那芯片型号是什么,程序又怎么写?答:可以扩展.典型的并行存储芯片一般都可.电路非常经典.程序设计上做配合,参考Keil的Band模式.另外,要不直接扩一个足够大的外部程序芯片算了.3.如果改用大内存的单片机芯片,那程序又不一样了吧?答:只要单片机还是51系列的,程序...

51单片机不执行程序,而且P1,P2,P3,P0输出全是高电平,,,真是愁死人了...
四个方面去找原因:1.电源是不是满足工作条件;2.复位电路是否正常;3.晶振是否正常工作;4.程序是否下载进去;另;如果是AT89C5X芯片,EA需接电源才能工作;

巴南区17151127334: 求编程单片机89c51,要求:按key1(P3.4,p3.5)键三次后,P1口的LED灯全部点亮,再按1次key1 -
贯媚天蟾: /***************** 晶振4MHZ,按键key1为P3.4,P3.5接口 功能:按 key1键三次,P1灯亮,再按一次灭 ,如此重复******************/#include<reg51.h> sbit key1 = P3^4;/****************** void delay40us(uint time) 输入参数:time 输出参数:无 函数功...

巴南区17151127334: 单片机编程AT89C51 初始时数码管显示0000,按一次KEY1,数码管显示内容加1,按一次K -
贯媚天蟾: #include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit wela=P2^7; sbit dula=P2^6; sbit key1=P3^4;//独立键盘,看你自己需要按哪个键 sbit key2=P3^5;//独立键盘 sbit key3=P3^6;//独立键盘 uint qian,bai,shi,ge,num; ...

巴南区17151127334: keil编译 89C51单片机 -
贯媚天蟾: ORG 0000HSJMP START ORG 0003HMOV P1, #0 ;低电平发光RETI ORG 0013HMOV P1, #255 ;高电平全灭RETISTART:MOV IE, #85H ;开中断SETB IT0 ;设置下降沿触发SETB IT1SJMP $ ;等待中断END已经编译通过.

巴南区17151127334: 用KEIL编写C语言程序实现:单片机是AT89C51,实现一个计时器,数码管为6为的,有三个按键接在P0上. -
贯媚天蟾: 按照你的要求写的程序如下,你拿去测试吧!#include "REG52.H" sbit SHUG_01 = P2^0; //数码管1 sbit SHUG_02 = P2^1; //数码管2 sbit SHUG_03 = P2^2; //数码管3 sbit SHUG_04 = P2^3; //数码管4 sbit SHUG_05 = P2^4; //数码管5 ...

巴南区17151127334: 单片机编程,共5题,采用89C51系列 -
贯媚天蟾: 1,如果你只有软件,只做计算,那么再main函数下定义一个变量i,类似c语言编程,做一个循环累加.在keil的调试窗口中监测i的值.(这样的操作没有什么意义,用c,vb也可以做,不要用89c51了) 2,如果你是有硬件的,当然要有8位数码管把数值显示出来.就要具备BCD码知识,8位共阴或共阳数码管知识,以及必要的电路知识(能点亮8为数码管).等等,你要加油哦!

巴南区17151127334: 单片机程序编写stc89c51程序 -
贯媚天蟾: if(~key) { delay(10);//去抖 if(~key) { delay(500);//短按,时间可在 //200-500毫秒之间调整 if(key)//如果释放就是短按 { //此处执行你的程序 } else//如果没释放按键 { delay(500);//再延时500毫秒 if(~key)//如果还没释放 while(~key);//等待释放 { //此处放入长按1秒后 //需要执行的程序 } } } }

巴南区17151127334: 89c51单片机编程 -
贯媚天蟾: 电阻值是模拟量,单片机是不能直接处理的,需经过AD转换.比如将通光时电阻值转换为1,遮光转换为0.这样就得到了触发信号,再接着写接到触发信号后单片机的动作即可

巴南区17151127334: 请问如何为89C51写程序 -
贯媚天蟾: 首先你要有编程基础和单片机基础,单片机可以用汇编也可以用C语言编写,编写用的软件是KEIL UVISION4,版本很多,自己选一个,编写完用stc-isp导入程序到单片机.至于怎么编写程序,自己自学去,对89c51写程序就是对89C51单片机的io进行控制.

巴南区17151127334: 编程语言keil问题STC89C52芯片,要求制作效果:按一次K
贯媚天蟾: 对单片机来说,给你一个程序没有任何用的,这个是要看你的硬件设计的(如你的开关是在哪个端口,你的数码管是什么类型,接在什么口上),另外keil只是单片机开发工具之一,很多工具支持单片机开发的

巴南区17151127334: 求89C51单片机与PC链接并运行的步骤.(从keil编写程序(C语言)到单片机工作,usb电源,com接口)
贯媚天蟾: 第1步:打开Keil uVision2/3第2步:新建工程project-&gt;new project将弹出 creat new project框,写入工程名称,例如 test.为了便于集中管理建议新建一个文件夹(上面第二个图标).点击确定后 弹出一个芯片选择项,你可以选一个.例如选...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网