设计用8031单片机P1口为输出口控制8只发光二极管循环点亮。1、 画出接口图。 2、 写出控制程序。

2024年11月28日 19:32
有1个网友回答
网友(1):

/*-----------------------------------------------
名称:流水灯
编写:杨光楼
日期:2009.5
修改:无
内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果
------------------------------------------------*/
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/*------------------------------------------------
延时子程序
------------------------------------------------*/
void delay(unsigned int cnt)
{
while(--cnt);
}
/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{
P1=0xfe; //给初始化值 换算成二进制是1111 1110
while(1)
{
delay(30000);//延时程序
P1<<=1; //左移一位 该语句等效于 P1=P1<<1
P1|=0x01; //最后一位补1,该语句等效于 P1=P1|0x01 符号"|"表示"或"
if(P1==0x7f) //检测是否移到最左端?"=="表示检测符号2端的值是否相等
{
delay(30000);
P1=0xfe; //重新赋值
}
}
}