2.8XX51的4个I/O端口的作用是什么?8XX51对外的三总线是如何分配的。P0口:P0可以当输入输出口,但在实际的应用中,常作为地址数据总线,即低8位地址与数据线分别使用P0口。低8位地址由ALE信号的下跳沿锁存到外部地址锁存器中,而高8位地址由P2输出。P1口:P1口每一位第一位都能作为可编程的输入输出口线P2口:P2口可以作为出入口或输出口使用,外接存储器和I/0口时,又作为扩展系统的数据总线,输出高8位地址,与P0口一起组成16位地址总线。对于内部无存储器的单片机来说,P2口一般都只作为地址总线使用,而不作为I/O口线直接使用连接。P3口:P3口为双功能口,作为第一功能使用时,其功能与P1口相同。当作为第二功能口使用时,另有定义。4.为什么说8XX51能全部作为I/O口使用的仅有P1端口?答:四个口都可以作为I/O使用,不过P0,P2,P3都有第二功能。P0还可以作为地址总线的低8位及数据总线,P2还可以作为地址总线高8位,P3的每一位都有单独的第二功能。P1口内部有上拉电阻6.利用8XX51的P1口,检测某一按键开关,使每按键一次,输出一个正弦波(脉宽随意),画出电路并编出程序。(用P1.7检测按键开关,P1.0输出正脉冲)ORG0000HABC:CLRP1.0SETBP1.7JBP1.7,$SETBP1.0MOVR2,#0DAY:NOPNOPDJNZR2,DAYSJMPABC8.用89C51/89S51并行口设计显示一个数码的电路,使数码管循环显示“0”~“F”。ORG0000HMOVDPTR,#TABAGAIN:MOVR0,#0NEXT:MOVA,R0MOVCA,@A+DPTRMOVP3,AMOVR7,#0DAY:NOPNOPDJNZR7,DAYINCR0CJNER0,#10H,NEXTSJMPAGAINTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HEND10.利用89C51/89S51并行口设计8×8的矩阵键盘并用箭头注明信号的方向。