P1端口连接键盘么?是的话,先写一个键盘扫描函数
KeyNameType GetKeyName(void)
返回按键名称,比如说NAME_KEY_1。
然后执行相应的 *** 作
void Work(TypeNameType name)
{
switch(name)
{
case NAME_KEY_1 :
//执行相应 *** 作
break;
//其他情况略
}
}
原理图没有吗?这方面能力的提升最好有自己的单片机开发板,这样学习不会枯燥,效果也好些,我就是学习吴鉴鹰51单片机开发板的,有视频教程,很方便学起来,你也可以自己动手做些小实验,学习板很多,用的话找像吴鉴鹰单片机开发板这样教程详细,板子功能多的
知道最简单的那种
org 0000h
START:clr P10
CLR P17
ACALL DELAY
SETB P10
SETB 17
clr P11
CLR P16
ACALL DELAY
SETB P11
SETB 16
clr P12
CLR P15
ACALL DELAY
SETB P12
SETB 15
clr P13
CLR P14
ACALL DELAY
SETB P13
SETB 14
SJMP START
DELAY:MOV R3,#0FFH
DEL2:R4。,#0FFH
DEL1:NOP
DJNZ R4,DEL1
DJNZ R3,DEL2
RET
END
估计还有一种简单的
现在还不会
利用取表的方法,使端口P1 做单一灯的变化:左移2 次,右移2 次,闪烁2 次
(延时的时间02 秒)。
汇编源程序
ORG 0
START: MOV DPTR,#TABLE
LOOP: CLR A
MOVC A,@A+DPTR
CJNE A,#01H,LOOP1
JMP START
LOOP1: MOV P1,A
MOV R3,#20
LCALL DELAY
INC DPTR
JMP LOOP
DELAY: MOV R4,#20
D1: MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
DJNZ R3,DELAY
RET
TABLE: DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
DB 07FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH
DB 07FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH
DB 00H, 0FFH,00H, 0FFH
DB 01H
END
首先要查看电路的连接,看看输入连接到单片机的哪个引脚(比如p10),led灯连接到哪个引脚(比如p20)。然后看是高电平有效还是低电平有效(也就是高电平时led灯亮,还是低电平时led灯亮)。
如果是高电平灯亮的话,程序如下:
p20=p10;
Network 1 // 网络标题
// 网络注释
LD I00
EU
TOF T37, +300
Network 2
LD T37
= Q00
以上就是关于单片机用case语句程序设计汽车车灯 前照灯 S2 双向开关 P1.1 前灯远光 =0开,=1关全部的内容,包括:单片机用case语句程序设计汽车车灯 前照灯 S2 双向开关 P1.1 前灯远光 =0开,=1关、用单片机设计LED流水灯C语言程序,新人求助、单片机流水灯程序设计,p1.0和p1.7一起点亮,然后是p1.1和p1.6...要用汇编语言的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)