P1P2P3口接24个灯流水的c语言代码,第三章单片机并行口c语言程序设计.ppt

第三章单片机并行口c语言程序设计

3.1 80C51的并行口结构与应用 3.1.1 P0口、P2口的结构 1、P0口作通用的I/O口使用。 这时,CPU发来的“控制”信号为低电平,上拉场效应管截止,多路转接开关MUX打向下边,与D锁存器的Q端接通。 (1) P0作输出口使用 来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。 注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。 (2) P0作输入口使用 区分“读引脚”和“读锁存器”。 CPU在执行“读—修改—写”类输入指令时,内部产生的“读锁存器”操作信号,使锁存器Q端数据进入内部数据总线,在与累加器A进行逻辑运算之后,结果又送回P0的口锁存器并出现在引脚(如:ANL? P0,A) ??????? CPU在执行“MOV”类输入指令时,内部产生的操作信号是“读引脚” (如:MOV? A,P0) 。在执行该类输入指令前要先把锁存器写入“1”。所以,P0口在作为通用I/O口时,属于准双向口。 2、P0口传送地址或数据时 CPU发出控制信号为高电平,打开上面的与门,使多路转接开关MUX打向上边,使内部地址/数据线与下面的场效应管处于反相接通状态。此时输出驱动电路由于上下两个FET处于反相,形成推拉式电路结构,大大提高负载能力。 且在读指令码或输入数据前,CPU自动向P0口锁存器写入0FFH,破坏了P0口原来的状态。因此,不能再作为通用的I/O端口。 二、P2端口的结构 字节地址为A0H,位地址A0H~A7H。 在实际应用中,因为P2口用于提供高位地址,有一个多路转接开关MUX。但MUX的一个输入端不再是“地址/数据”,而是单一的“地址”,因为P2口只作为地址线使用。 当P2口用作为高位地址线使用时,多路转接开关应接向“地址”端。正因为只作为地址线使用,口的输出用不着是三态的,所以,P2口也是一个准双向口。 P2口也可以作为通用I/O口使用,这时,多路转接开关接向锁存器Q端。 3.1.2 P1口、P3口的结构 2、第二功能信号(有输出和输入两类): (1)作通用的I/O输出, “第二输出功能”线应保持高电平,与非门开通,使锁存器Q端输出畅通。作第二功能信号输出,锁存器预先置“1”,使与非门对“第二输出功能”信号的输出是畅通的。 (2)作第二功能信号输入,在口线引脚的内部增加了一个缓冲器,输入的信号就从这个缓冲器的输出端取得。而作为通用I/O输入,仍取自三态缓冲器的输出端。 P3口无论作哪种输入,锁存器输出和“第二输出功能”线都应保持高电平。 3.1.3 并行口的负载能力 2、单片机与LED数码管接口 3.2 80C51单片机的指令系统 1、 数据传送类指令(29条) 传送指令一般不影响PSW状态 3、逻辑运算与循环类指令(24条) 5 、位操作类指令(17条) 以位为单位进行的各种操作。 四、C语言的基本运算 3.3.5 C51语言的基本语句 一、表达式语句和复合语句 二、选择语句 三、循环语句 3、for语句 循环次数已确定的情况下,可采用for语句形式为: for语句的一般形式: for(循环变量赋初值;循环继续条件;循环变量增值 ){ 循环体语句组; } for语句循环执行过程 4、break语句、continue语句和goto语句 在循环体语句执行中,如果在满足循环判定条件的情况下跳出代码段,可以使用break语句或continue语句;如果要从任意地方跳转到代码的某个地方,可以使用goto语句。 (1)break语句 在循环结构中,可应用break语句跳出本层循环体,从而马上结束本层循环。 【例】break语句举例 void main(void )/*主函数main( )* / {int i, sum; sum=0; SCON=0x52; TMOD=0x20; TH1=0xf4; TR1=1; for(i=1;i<=10;i++) {sum=sum+i; if(sum>5) break; /*和大于5结束循环*/ print(“sum=%d\n”, sum); } } 上例中,如没有break语句,程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值