单片机提高WWW.51C51.COM 自学单片机的网站:作中国单片机编程技术普及推广第一站!倚天一出宝刀屠龙 返回主页 给我留言 单片机教学 单片机提高  品质技术  软件下载  学液晶显示 产品介绍 如何购买

;小电子琴,按P3口的小键盘喇叭发出不同频率的声音。同时数码管显示不同的数字。 
;***************************************************************************
;*  E-mail:sxj1974@163.com (51c51 test web)  51单片机学习网,自学单片机的网站  *
;* Create by :石学军 www.51c51.com   www.8951.com 更多例程请登陆网站                   *
;***************************************************************************
org 0000h
ljmp start
org 0030h
start: mov p2,#0ffh
CLR P2.6 ;选中最右边的七段码。
mov p3,#0ffh ;初始化,键盘全部置高
l1: jnb p3.2,l2 ; 监测键盘如果3.2按下执行l2
jnb p3.4,l3 ;
jnb p3.5,l4 ;检测按键
ljmp l1 ;循环检测
l2:
cpl p3.3 ;小喇叭响
mov p0,#7eH ;显示'1'
lcall delay1 ;延时1
ljmp l1 ;重新监测键盘
l3: cpl p3.3
mov p0,#0A2H ;显示'2'
lcall delay2
ljmp l1
l4: cpl p3.3
mov p0,#62H ;显示'3'
lcall delay3
ljmp l1
delay1: mov r5,#100;延时1。
djnz r5,$
ret
delay2:
mov r5,#180;延时2。
djnz r5,$
ret
delay3:
mov r5,#250 ;延时3。
djnz r5,$
ret
end