问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

急求一个单片程序

发布网友 发布时间:2022-04-24 14:01

我来回答

3个回答

热心网友 时间:2023-10-15 12:48

#include <reg51.h>

sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
sbit L1=P1^4;
sbit L2=P1^5;
sbit L3=P1^6;
sbit L4=P1^7;
sbit BEEP=P2^0;
bit FLAG_beep;

void delay_10ms(void);
void delay_1s(void);

void main(void)
{
while(1)
{
if(K1==0)
{
delay_10ms();
if(K1==0)
{
L1=~L1;
FLAG_beep=~FLAG_beep;
}
}
if(K2==0)
{
delay_10ms();
if(K2==0)
{
L2=~L2;
FLAG_beep=~FLAG_beep;
}
}
if(K3==0)
{
delay_10ms();
if(K3==0)
{
L3=~L3;
FLAG_beep=~FLAG_beep;
}
}
if(K4==0)
{
delay_10ms();
if(K4==0)
{
L4=~L4;
FLAG_beep=~FLAG_beep;
}
}
if(FLAG_beep==1)
{
BEEP=1;
delay_1s();
BEEP=0;
}
}
}
void delay_10ms()
{;}
void delay_1s()
{;}

热心网友 时间:2023-10-15 12:48

/******************************************************************/
/* 按键状态显示试验 *
/* *
/* 连接方法:连接JP10(P0)与JP5(按钮接口) *
/* JP11 (P2)与JP1(LED接口) *
*
/*按键则点亮LED灯,8路指示灯接p0口 *
/******************************************************************/
#include <reg51.h>
#include <intrins.h>

sbit BEEP = P1^5;
sbit RELAY = P1^4;

sbit K1 = P0^0; sbit K2 = P0^1;
sbit K3 = P0^2; sbit K4 = P0^3;
sbit K5 = P0^4; sbit K6 = P0^5;

void beep();
/*********************************************************/
main()
{

while(1)
{
P2 = 0xff;
if(K1==0)
P2 = 0xfe;

if(K2 == 0)
P2 = 0xfd;

if(!K3)
P2 = 0xfb;

if(!K4)
P2 = 0xf7;

if (!K5 )
beep(); //喇叭发声

RELAY = 1;
if (!K6 )
RELAY = 0; //通过了反相器

}
}

/**********************************************************/
void beep()
{
unsigned char i , j;
for (i=0;i<100;i++)
{

BEEP=!BEEP; //BEEP取反
for (j = 0 ; j<250 ; j++) //需要产生方波
_nop_();
}
BEEP=1; //关闭蜂鸣器
}

热心网友 时间:2023-10-15 12:49

一键多功能按键识别技术
1.实验任务
开关K1接在P3.2管脚上,在AT89S51单片机的P0.0端口接有1个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在亮,当一次按下开关K1的时候,灯灭,再按一次,灯亮,如此轮流下去。
2.系统板上硬件连线
把“单片机系统”区域中的P3.2端口连接到“独立式键盘”区域中的K1端口上;把P0.0连到L1上
3.程序设计方法
(1. 设计思想由来
在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。
(2. 设计方法
从上面的要求我们可以看出,L1到亮灭受开关K1来控制,我们给L1亮灭定义出不同的ID号,当L1在亮时,ID=0;当L1在灭时,ID=1;分别给出不同的ID号我们就能够完成上面的任务了
4.汇编程序:
ID EQU 30H
K1 BIT P3.2
L1 BIT P0.0
ORG 0000H
CLR P1.7
MOV ID,#00H
START: JB K1,REL ;K1没闭合转
LCALL DELAY10MS ;K1闭合,延时消抖动
JB K1,REL :再判断
INC ID
MOV A,ID
CJNE A,#02,REL
MOV ID,#00H
REL: JNB K1,$ ;等待开关弹起
MOV A,ID
CJNE A,#00H,IS0 ;判断相应ID
CLR L1 :ID=0,灯亮
LCALL DELAY光 ;延时
SJMP START
IS0: CJNE A,#01H,START;
SETB L1
LCALL DELAY
SJMP START

DELAY10MS: MOV R6,#20 ;延时10MS子程序
LOOP1: MOV R7,#248
DJNZ R7,$
DJNZ R6,LOOP1
RET
DELAY: MOV R5,#20 ;延时20MS子程序
LOOP2: LCALL DELAY10MS
DJNZ R5,LOOP2
RET
END
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 单片机程序设计结构有哪些 荣耀30青春版5G能力如何? 吃龙眼干最好不超过多小颗?30克大概有多小颗龙眼干? 请问龙眼干是怎样做成的? 小核桂圆干一种是有黄色粉、还有一种是纯天然的,哪个好? 有没有很小的桂圆干? 小核桂圆干和桂圆干哪个更甜 梦见别人家灶台里冒烟被水泼灭? 梦见别人家满水 梦到亲戚家满屋子水蒸汽 有一天晚上我梦见我身边有很多人都是认识以前在一起工作的人,我就在烧开水,水开了,下意识地拿开壶塞... 荣耀30系列5G手机怎么样? 网商银行转账到自己的银行卡有限额吗 支付宝限制大额转账及提现三年包括网商银行吗 网商银行转账到自己的支付宝每日有限额吗? 支付宝网商银行转账限额 H0N0R30手机都有什么功能?是5G吗 厕所下水道堵了怎么办 厨房下水道拐弯堵了怎么解决? 厕所下水道拐弯处被卫生巾堵住下不了水怎么办? 求51单片机步进电动机控制设计程序 急求单片机课程设计程序 单片机程序设计 急急急!!最好这两天 会加分的 急需单片设计方案 单片机C51程序设计(期末作业)该怎么搞定啊 如图 期末大作业 求51单片机控制走马灯的程序设计然后带图 单机片c语言应用程序设计 单片微型计算机原理与接口技术 设计程序,把片外RAM从2000H开始存放的10个数据传送到片外RAM0050H开始的连续单元中。 设计程序,把片外RAM从2000H开始存放的10个数据传送到片外RAM0050H开始的连续单元中。 怎样设计这样一个程序 怎样设计这样一个程序 产品设计--设计的程序与方法 产品设计--设计的程序与方法 荠菜与糯米粉的家常菜 红豆糯米粉糕家常做法大全 麻辣蒸鱼怎么做好吃,麻辣蒸鱼的家常做法 我的手机电量显示旁边有一个HD这个我以前好像没看见过,问一下这个是... 特色鸳鸯糍粑小吃你知道吗? 我手机显示电池电量的地方有一个hd是什么意思