一、实验目的
1.进一步熟悉编程和程序调试 2.学习P1口的使用方法 3.学习延时子程序的编写和使用 二、实验说明
P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验步骤及参考例子
实验步骤说明:
本实验需要用到单片机最小应用系统和十六位逻辑电平显示模块。 用P1口做输出口,接十六位逻辑电平显示,程序功能使发光二极管点亮。
1.使用单片机最小应用系统。根据实验要求,用proteus仿真软件绘制电路原理图,用数据线连接单片机P1口与LED灯。
2.打开Keil uVision3仿真软件,首先建立本实验的项目文件,输入源程序,进行编译、调试,直到编译无误,生成hex文件。可通过单步调试,来查看I/O的状态
3.在proteus环境中,把hex文件下载到单片机中,运行观察发光二极管显示情况是否与设计程序中一致。
参考例子:
1) 点亮板子上的第一个灯L0
2) 点亮板子上的L0、L2、L4、L 6灯,与L 1、L 3、L 5、L 7灯交替闪烁 3) 流水灯:从L 0--- L 7依次点亮 四、参考程序
1)
#include 2) #include while(1) } { } P1=0xaa; delay(); P1=0x55; delay(); void delay() { } 3) #include void main() { temp=0xfe; while(1) { for(num=0;num<8;num++) { } P1=temp; delay(100); temp=_crol_(temp,1); P1=0xff; delay(100); uint x,y; for(x=100;x>0;x--) for(y=600;y>0;y--); } } void delay(uint z) { } 五、电路图 R2F 100C3F10uFR1F1KRESETVCCU1FP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.71234567P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7XTAL1A11.0592MHz1011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RSTP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1VSSC51VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EAALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0VCC4039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.73130292827262524232221P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7510*8L0L1L2L3VCCuint x,y; for(x=z;x>0;x--) for(y=120;y>0;y--) ; EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0L4L5L6L7C3A22pFC2A22pF 六、实验内容 请在keil环境下编写一下程序,并在proteus仿真环境中实现动画效果: 1)点亮最后一个LED 2)点亮1、2、5、6这四个LED 3)让第三个LED闪烁 4)设计出流水灯程序,从L7—L0 5) 设计出流水灯双向流动程序,从L0-L7-L0反复循环。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务