key1

时间:2023-07-23 19:38:12编辑:奇事君

1,单片机怎么实现用KEY 1控制数码管上显示的数字加1 KEY2控制数码管上显示数字减1?

C_BUFFER EQU 32H
KEY1 BIT P1.0
KEY2 BIT P1.1
COUNT EQU 33H
BT0 BIT 20H.0

ORG 0000H
LJMP START
ORG 000BH
LJMP TIMER

START: MOV P1,#0FFH
MOV P2,#0FFH
MOV TMOD,#01H
MOV DPTR,#65536-10000
MOV DPH,TH0
MOV DPL,TL0
SETB EA
SETB ET0
SETB TR0
MOV 20H,#00H

MAIN: ACALL KEY_SCAN
ACALL DIS_PLAY
MOV PCON,#01H
JMP MAIN
KEY_SCAN:
MOV A,P1
CJNE A,#0FFH,NEXT
MOV C_BUFFEF,#0FFH
LJMP RET1
NEXT: CJNE A,C_BUFFER,M00
JB BT0,RET1
SETB BT0
CJNE A,#0FEH,KEY2
INC COUNT
MOV A,COUNT
CJNE A,#100,RET1
MOV COUNT,#00H
LJMP RET1
KEY2: CJNE A,#0FDH,RET1
DEC COUNT
CJNE A,#-1,RET1
MOV COUNT,#99
LJMP RET1
M00: MOV C_BUFFER,A
RET1: CLR BT0
RET
DIS_PLAY:
MOV DPTR,#TAB
MOV A,COUNT
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P2,A
SETB P1.7
CLR P1.6
ACALL DEL_1MS
MOV P2,#0FFH

MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P1,6
CLR P1.7
ACALL DEL_1MS
MOV P2,#0FFH
RET

TIMER: MOV DPTR,#65536-10000
MOV DPH,TH0
MOV DPL,TL0
RETI
DEL_1MS:
MOV R7,#2
D1: MOV R6,#250
DJNZ R6,$
DJNZ R7,D1
RET
TAB: DB ; 自己去查数码管0~9的代码;共阳的
这是51单片机的,12MHz晶振
再给你补个C的,我这的按键可以做实际产品的,无偿给你咯,共享,呵呵!愿你努力学习 啊!
#include
#define uchar unsigned char
#define uint unsigned int
#define DATAPORT P0
#define KEY P1
sbit DX=P2^2;
sbit WX=P2^3;
bit bdata flag;
uchar TEMP,num,i;
uchar code duanma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值0~9
void key_scan();
void dis_play();
void delay(uint t)
{
uint x,y;
for(x=0;x<t;x++)
for(y=122;y>0;y--);
}
void init()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TR0=1;
EA=1;
ET0=1;
}
void main()
{flag=0;
init();
while(1)
{
key_scan();
dis_play();
}
}
void key_scan()
{
if(KEY!=0xff)
{
if(KEY==TEMP)
{
if(flag==0)
{
flag=1;
sw
}
}
else
TEMP=KEY;
}
else
flag=0;
//TEMP=0xff;
}
void dis_play()
{
uchar m,n;
m=duanma[num/10];
n=duanma[num%10];
DATAPORT=0xfe;
WX=1;
WX=0;
DATAPORT=m;
DX=1;

DX=0;
delay(5);
DATAPORT=0xfd;
WX=1;
WX=0;
DATAPORT=n;
DX=1;

DX=0;
delay(5);
}
void timer0(void) interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;

i++;
if(i==100)
{
i=0;
num++;
if(num==100)
num=0;
}
}
C语言没有按你的要求,以前课堂上写的!但差不多,自己看明白了往里面加就是咯 !显示部分自己改成你的,我不做说明了

2,用汇编语言实现用按键控制数码管显示数字+1,并循环

第二个到底要实现什么,没看懂!
第一个如下
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT_0
ORG 0030H
MAIN: MOV R3,#0
MOV DPTR,#TAB
SETB EA
SETB IT0
SETB EX0
SJMP $
INT_0: CLR EA
MOV A,R3
LCALL DISP
MOV A,R3
CJNE A,#9,LP
MOV R3,#0
SJMP RETURN
LP: INC R3
RETURN:SETB EA
RETI
DISP: MOVC A,@A+DPTR
MOV P2,A

RET
TAB: DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H
END

3,各个电路板上的字母都代表什么意思???

电路板上面的字母代表的意思是如图:电路板主要由焊盘、过孔、安装孔、导线、元器件、接插件组成。扩展资料电路板的名称有:陶瓷电路板,氧化铝陶瓷电路板,氮化铝陶瓷电路板,线路板,PCB板,铝基板,高频板,厚铜板,阻抗板,PCB,超薄线路板,超薄电路板,印刷(铜刻蚀技术)电路板等。电路板使电路迷你化、直观化,对于固定电路的批量生产和优化用电器布局起重要作用。电路板可称为印刷线路板或印刷电路板,英文名称为(Printed Circuit Board)PCB、(Flexible Printed Circuit board)FPC线路板(FPC线路板又称柔性线路板柔性电路板是以聚酰亚胺或聚酯薄膜为基材制成的一种具有高度可靠性,绝佳的可挠性印刷电路板。具有配线密度高、重量轻、厚度薄、弯折性好的特点。)和软硬结合板(reechas,Soft and hard combination plate)-FPC与PCB的诞生与发展,催生了软硬结合板这一新产品。参考资料电路板 百度百科

4,MATLAB中A(:,1:2:3)是什么意思

MATLAB中A(:,1:2:3)表示取矩阵A的第1列和第3列的值。说明:A中逗号之前的:表示所有行,逗号之后的1:2:3表示列从1到3取值,步长为2,所以列能取到的值为1,3。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。扩展资料MATLAB优势特点1、简单易用Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。2、强大处理MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。3、图形处理MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善。而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。参考资料来源:百度百科-MATLAB

5,matlab中的“...”是什么?比如B(2:end-1,3:end)+...

一个矩阵括号里逗号用于间隔不同维度。比如A为一维向量,A(1)就表示第一个元素。如果A为二维矩阵,那么需要A(m,n)表示第m行,第n列矩阵,若是有冒号,比如A(:,n)就表示那些列数为n,行数为任意的所有制,即去矩阵第n列,相应A(m,:)表示去A的第m行所有元素。再来看A(end:-1:1,:),同样逗号前表示行,后表示列,列的部分为冒号,表示列数任意,也就是对A整行整行进行操作;逗号前,end表示最后一行,1表示第1行,-1表示从后到前倒着取出A的整列,一般情况下我们顺序来使用,比如A(2:1:end,:)表示从A第二行取到最后一行,1表示取行时的间隔,若A(2:2:end,:),表示每两行取一行,就是2、4、6行下去到end。列的情况类似就不说了。“...”是另一个矩阵的省略形式,B(2:end-1,3:end)+...表示两个矩阵的运算。

精华总结

雨露,是万物生长的灵丹妙药,它能让万物欣欣向荣,给人带来希望和欢乐。起名,是给孩子取名最重要的一步,因为名字,在某种程度上就是一种文化。一个好的名字,可以让孩子从小拥有一个好的起点。那么,旸字取名呢,有着什么样的寓意及含义?

1、旸是五行金之字,五行属水,寓意孩子聪明机智,有大智慧,富有爱心。

根据五行属性来取名,金能克水,就像是金被水淹没了,所以会出现水变少,阳气不充足的情况。而旸字五行属水,表示有希望的样子,寓意孩子聪明机智,有大智慧,富有爱心,有爱心之义,对人非常友好,人缘非常好。由于在起名时需要注意五行八字,所以名字要避开太多不利因素。例如孩子取名为旸这个名字时,可选择五行属金且与水相冲或水火相济或金水相济等字面寓意相搭。

2、旸字是木之金之字,五行属木,为金之态,寓意孩子金木水火土五行协调,和谐发展。

雨露的滋润,日出而作,日落而息,都让人感到无比满足。旸,字音shèng,寓意着孩子有一颗包容和感恩之心。这与“日出而作、日落而息”有异曲同工之妙……旸给人带来欢乐、吉祥的同时,也寓意着孩子金木水火土协调发展……

3、旸是一种很有灵性的字,可形容孩子生机勃勃,乐观向上。

【旸】有光明、温暖、明朗的意思,可用作名字。【阳凯是太阳之意。【阳阳阳】阳代表明亮,阳代表光明及温暖。用阳代表光明的事物,表示孩子生机勃勃,乐观向上。【阳欣可表示欣欣向荣之意。【阳和】可表示温暖的意思。

4、旸字取名,寓意孩子乐观向上,对生活充满希望。

旸字寓意孩子乐观向上,对生活充满希望,乐观积极的生活态度,有助于提高孩子的自信心。另外旸字取名还有着积极向上、乐观开朗、吉祥幸福、生活美满、幸福美满等美好祝愿,其寓意吉祥。而且旸在中国汉字里是非常多见的一个字,我们可以将这个字用在名字中来表达。旸字取名代表着孩子未来很美好而充满希望。如果将其用于起名中,则代表着孩子未来会有很多希望。同时也象征着孩子将来会有所成就。

5、旸作为名字有吉祥富贵之意。

旸这个名字,在很早的时候就被赋予了吉祥富贵的寓意,因为它在名字中的意思很多。所以有很高的吉祥富贵之意。这个名字将孩子命名为【旸】具有美好的寓意。

上一篇:合理理财

下一篇:名字代码查询