功 能: 装入并运行其它程序的函数
用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL)
int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
char *envp[])
int execlp(char *pathname, char *arg0, arg1, .., NULL)
int execple(char *pathname, char *arg0, arg1, ..., NULL,
char *envp[])
int execv(char *pathname, char *argv[])
int execve(char *pathname, char *argv[], char *envp[])
int execvp(char *pathname, char *argv[])
int execvpe(char *pathname, char *argv[], char *envp[])
程序例: /* execv example */
#include <process.h>
#include <stdio.h>
#include <errno.h>void main(int argc, char *argv[])
{
int i printf("Command line arguments:\n")
for (i=0i<argci++)
printf("[%2d] : %s\n", i, argv[i]) printf("About to exec child with arg1 arg2 ...\n")
execv("CHILD.EXE", argv) perror("exec error") exit(1)
}
多看书,多Google,百度,
//使液晶进入休眠其实就是关闭液晶显示,比如1602,发送08这个命令就可以了。#define LCD1602_FLAG
#define LCD1602_PORT P1
#include<reg52.h>
#include<stddef.h>
#include"dtype.h"
sbit lcd1602_rs=P3^7
sbit lcd1602_e=P3^5
sbit lcd1602_rw=P3^6
sbit lcd1602_busy=P1^7
sbit keydis=P3^0
sbit keyno=P3^1
/*
************************************
* 函数名称:lcd1602_CheckBusy()
* 函数功能:状态查询
************************************
*/
void lcd1602_CheckBusy()
{
do
{
lcd1602_busy=1
lcd1602_rs=0
lcd1602_rw=1
lcd1602_e=0
lcd1602_e=1
}
while(lcd1602_busy)
}
/*
***************************************
* 函数名称: lcd1602_WriteCmd()
* 函数功能:写命令
***************************************
*/
void lcd1602_WriteCmd(const INT8U cmd)
{
lcd1602_CheckBusy()
lcd1602_rs=0
lcd1602_rw=0
lcd1602_e=1
LCD1602_PORT=cmd
lcd1602_e=0
}
/*
*******************************************
* 函数名称:lcd1602_WriteData()
* 函数功能:写数据
*********************************************
*/
void lcd1602_WriteData(const INT8U c)
{
lcd1602_CheckBusy()
lcd1602_rs=1
lcd1602_rw=0
lcd1602_e=1
LCD1602_PORT=c
lcd1602_e=0
}
/*
***********************************************
* 函数名称:lcd1602_Init()
* 函数功能:初始化LCD
***********************************************
*/
void lcd1602_Init()
{
lcd1602_WriteCmd(0x38)//显示模式为8位2行5*7点阵
lcd1602_WriteCmd(0x0f)//display enable,flag enable,flash enable,
lcd1602_WriteCmd(0x06)//flag move to right,screen don't move
lcd1602_WriteCmd(0x01)//clear screen
}
/*
************************************************
* 函数名称:lcd1602_Display()
* 函数功能: 字符显示
************************************************
*/
void lcd1602_Display(const INT8U *ptr)
{
INT8U data i=0
INT8U *data q
q=ptr
lcd1602_WriteCmd(0x80)
while(q!=NULL &&(*q!='\0') &&i<16)
{
lcd1602_WriteData(*q)
q++
i++
}
lcd1602_WriteCmd(0xc0)
while(q!=NULL &&(*q!='\0') &&i>=16 &&i<32)
{
lcd1602_WriteData(*q)
q++
i++
}
}
main()
{
INT8U *txt="hello friend!"
lcd1602_Init()
while(1)
{
if(keydis==0)
{
while(keydis==0)
lcd1602_Display(txt) //显示信息
}
if(keyno==0)
{
while(keyno==0)
lcd1602_WriteCmd(0x08) //关闭显示
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)