1.实验目的
(1)学习P1口的使用方法。
(2)学习延时子程序的编写和使用方法。
2.实验设备
CPU挂箱、8031 CPU模块等。
3.实验内容
(1)P1口作为输出口,接8个LED,编写程序,使LED循环点亮。
(2)P1口作为输入口,接8个按钮,以实验箱上的74LS273作为输出口,编写程序读取开关状态,在LED上显示出来。
4.实验原理
P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。P1口作为输入位时,必须向锁存器相应位写入1,该位才能作为输入。8031中所有口在锁存器复位时均置为1。
请思考按要求编好程序并调试成功后,可将P1口锁存器中置0,此时将P1口作为输入口,会有什么结果。
延时程序的实现有两种常用的方法:一是用定时器中断来实现,二是用指令循环来实现。在系统时间允许的情况下可以采用后一种方法。
本实验系统的晶振频率为6.144MHz,则一个机器周期为(12÷6.144)μs,即(1÷0.512)μs。现要写一个延时0.1s的程序,具体如下。
上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要(1÷0.256)μs,求出X值:
经计算得X=127。代入上式可知实际延时时间约为0.100215s,已经很精确了。
实验原理图如图6.13~图6.15所示。(www.xing528.com)
图6.13 P1口输出实验原理图
图6.14 P1口输入实验原理图(一)
图6.15 P1口输入实验原理图(二)
5.实验步骤
(1)P1.0~P1.7接LED1~LED8。执行程序实现P1口输出。
(2)P1.0~P1.7接平推开关S1~S8;74LS273的O0~O7接LED1~LED8,片选端CS273接CS0(由程序所选择的入口地址而定,与CS0~CS7相应的片选地址分别为0CFA0H、0CFA8H、0CFB0H、0CFB8H、0CFC0H、0CFC8H、0CFD0H、0CFD8H;以后不再赘述)。执行程序实现P1口输入。
程序流程图如图6.16和图6.17所示。
图6.16 循环点亮LED程序流程图
图6.17 LED显示P1口的状态程序流程图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。