微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 数码显示管显示按键序号 89c51单片机编程实例

数码显示管显示按键序号 89c51单片机编程实例

时间:11-24 来源:互联网 点击:

题目:AT89C51单片机P1口接8个按键(button),P2口接1个共阴极数码显示管,当有键按下时,数码显示管显示按键的序号

电路图:



源码如下:

org 00h
sjmp start
org 30h
start:

mov P2,#00h
start1:
mov r1,#00h
mov dptr,#table
next:

mov a,p1
cpl a
jz next
mov r5,#1
acall delay
mov a,p1
cpl a
jz next
clr c
shift:

rrc a
jc display
inc r1
sjmp shift
display:
mov a,r1
movc a,@a+dptr
mov p2,a
again:

mov a,p1
cpl a
jnz again
sjmp start1
delay:mov r6,#50
d1: mov r7,#100
djnz r7,$
djnz r6,d1
djnz r5,delay
ret
table:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h
end

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top