📄 shixun3.c
字号:
/**********************************************************************
程序名称:ShiXun3.c
程序功能:简易十字路口交通信号灯控制
程序作者:张三
创建时间:2008-3-28
**********************************************************************/
#include <reg51.h>
#define FX_Time 4 // 放行时间
#define JG_Time 1 // 警告时间
unsigned char DispX[4] = { 0x9a, 0x9c, 0xa9, 0xc9 }; // 控制码
void FangXing( unsigned char *PTR ); // 放行函数
void JingGao( unsigned char *PTR ); // 警告函数
/**********************************************************************
函数名称:DelayXs ( unsigned char x )
函数功能:延时xs
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void DelayXs( unsigned char x)
{
unsigned char i, j, k;
for( ; x>0; x-- )
for( i=0; i<20; i++ ) // 振荡器频率为12MHz,延时1s
for( j=0; j<200; j++)
for( k=0; k<250; k++ ) ;
}
/**********************************************************************
函数名称:main( void )
函数功能:主函数,控制信号灯正常运行
调用函数:DelayXs( unsigned char x),FangXing( unsigned char *PTR ),
JingGao( unsigned char *PTR )
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void main( void )
{
unsigned char *PTR = &DispX; // 指针PTR指向数组Dispx的首地址
P1 = 0xff; // 开机信号灯全亮,用于信号灯检测
DelayXs( 1 );
while(1){
FangXing( PTR ); // 东西方向放行
JingGao( ++PTR ); // 东西方向警告
FangXing( ++PTR ); // 南北方向放行
JingGao( ++PTR ); // 南北方向警告
PTR = &DispX;
}
}
/**********************************************************************
函数名称:FangXing( unsigned char *PTR )
函数功能:东西方向或南北方向放行
调用函数:DelayXs( unsigned char x)
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void FangXing( unsigned char *PTR )
{
P1 = *PTR;
DelayXs( FX_Time );
}
/**********************************************************************
函数名称:JingGao( unsigned char *PTR )
函数功能:东西方向或南北方向警告
调用函数:DelayXs( unsigned char x)
函数作者:张三
创建时间:2008-3-28
**********************************************************************/
void JingGao( unsigned char *PTR )
{
P1 = *PTR;
DelayXs( JG_Time );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -