
1、项目启动
在项目管理过程中,启动阶段是开始一个新项目的过程。每个项目在一个阶段完成后,进入下一阶段之前必须要顺利的通过前面一个阶段的阶段关口控制。要将本阶段的关口控制文件或关口控制审批做好。
2、项目计划
在项目管理过程中,计划的编制是最复杂的阶段,项目计划工作涉及十个项目管理知识领域。在计划编制的过程中,可看到后面各阶段的输出文件。计划的编制人员要有一定的工程经验,在计划制定出来后,项目的实施阶段将严格按照计划进行控制。
3、项目实施
在项目实施阶段是占用大量资源的阶段,此阶段必须按照上一阶段定制的计划采取必要的活动,来完成计划阶段定制的任务。
4、项目收尾
项目的收尾过程涉及到整个项目的阶段性结束,即项目的干系人对项目产品的正式接收。使项目井然有序地结束。
5、项目维护
在项目收尾阶段结束后,项目将进入到后续的维护期。项目的后续维护期的工作,将是保证信息技术能够为企业中的重要业务提供服务的基础,也是使项目产生效益的阶段。
扩展资料:
在项目管理的流程中,每个阶段都有自己的起止范围,有本阶段的输入文件和本阶段要产生的输出文件。同时,每个阶段都有本阶段的控制关口,即本阶段完成时将产生的重要文件也是进入下一阶段的重要输入文件。每个阶段完成时一定要通过本阶段的控制关口,才能进入下一阶段的工作。
在项目的收尾阶段中的主要活动是,整理所有产生出的文档提交给项目建设单位。收尾阶段的结束标志是《项目总结报告》,收尾阶段完成后项目将进入维护期。
项目的收尾阶段是一个项目很重要的阶段,如果一个项目前期及实施阶段都作的比较好,但是在项目的收尾阶段没有重视,那么这个项目给人的感觉就象虎头蛇尾的工程一样,即使项目的目标已达到,但项目好像总没有完结一样。
所以一个项目的收尾是非常重要的,项目的收尾做的好,会给项目的所有干系人一个安全的感觉。项目的收尾还有一个重要的事情,就是要对本项目有一个全面的总结,这个总结不仅对本次项目是一个全面的总结。同时,也是为今后的项目提供一个可以参考的有经验的案例。
参考资料来源:百度百科-项目管理流程
记住首发者:天如垂幕。
别把分给了玩复制粘贴的货。
这个程序有问题,我给你进行了修改:
#include<avr/ioh>
#include<util/delayh>
unsigned char
led_7[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,
0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//0~f 16进制数字段位显示数据
unsigned char point_on;
void main(void)
{
unsigned char i;
PORTB=0xFF;//B端口8位拉高
DDRB=0xFF;//B端口方向输出
PORTD=0xFF;//D端口如上
DDRD=0xFF;
while (1)//主循环
{
PORTD=0xE0;//D端口位选输出。
for (i=0;i<16;)
{
PORTB =led_7[i];//B端口位选输出,输出字形数据。
if (point_on) //闪烁后数字显示数据改变。
{
PORTB&=0x7F;//数字段位全亮或者全暗。
i++;
}
point_on=~point_on;//通过point_on这个标志位的0-1取反,以及下面的延时500ms,使得数字显示每秒闪烁1次。
_delay_ms(500);
};
}
这个程序是一个秒表计数器。但是时间倍率貌似有点问题,不知道怎么算的。
mainc
#include<avr/ioh>
#include<util/delayh>
nsigned char
led_7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//0~9数字段选数据
unsigned char position[4]={0xef,0xdf,0xbf,0x7f};//8段数字LED显示位置选择
unsigned char time[2];
unsigned char dis_buff[4];
unsigned char time_counter;
unsigned char point_on;
void display(void)//显示dis_buff中的数据。每个循环将数据查表输出到portB,选择输出位置后停留发光20ms,然后关闭输出,在下一次循环中打开。
{
unsigned char i;
for(i=0;i<=3;i++)
{
PORTB=led_7[dis_buff[i]];//将dis_buff中的数据通过led_7查表输出到B口
if(point_on&&(i==2))
PORTB&=0x7f;//超时时输出全亮或全暗。
PORTD=position[i];//选择输出位置。
_delay_ms(20);//停留20ms
PORTD=0xff;//关闭输出。
}
}
void time_to_disbuffer(void)//计算dis_buff的值,为计数器的十位与个位。
{
unsigned char i,j=0;
for(i=0;i<2;i++)
{
dis_buff[j++]=time[i]%10;
dis_buff[j++]=time[i]/10;
}
}
void main(void)
{
PORTB=0x00;//B端口位选输出,输出字形数据。
DDRB=0xFF;//B端口方向输出
PORTD=0xF0;//D端口如上。
DDRD=0xF0;
time[1]=58;time[0]=55;//数据赋值。
time_to_disbuffer();//计算dis_buff
while(1)
{
display();//调用显示函数
if(++time_counter>=40)//time计数器自加,加至超过40时运行下3行程序。
{
time_counter=0;//置零。
point_on=~point_on;//翻转标志位。
if(++time[0]>=60)//如果time[0]数据超过,则置零。且如果同时time[1]超过60,则也置零。
{
time[0]=0;
if(++time[1]>=60)
time[1]=0;
}
time_to_disbuffer();//计算出dis_buffer的值用于显示。
}
_delay_ms(110);//延时110毫秒。
};
}
dat 在函数开始部分定义的void send595(uchar dat),它的值是在调用这个函数时给出的:
如以下的wei[w],duan[d],0xff:
send595(wei[w]); //发送位选
send595(wei[w]);
send595(duan[d]); //发送段选
send595(0xff);
这条语句temp=temp<<=1;没d错???管脚Reset接高电平了没?就如你程序所设计,61口应给高电平。另外使能端接地了没??检查下你的硬件电路,如果都正确,试下我的程序。
给你一个我一直用的595程序:
void set595(uchar data)
{
uchar a,b;
a = data;
SCK_L;
RCK_L;
for(b=0;b<8;b++)
{
if(a&0x01)
{
DAT_H;
}
else
{
DAT_L;
}
SCK_H;
a >>= 1;
NOP();
NOP();
SCK_L;
}
}
RCK为主时钟,SCK为锁存时钟。
#include <reg52h>
#include <intrinsh>
typedef unsigned char uchar;
typedef unsigned int uint;
//数码管显示定义
#define led_port P0
#define led_wx P2
uint a,b;
uchar led_num;
uchar bcd[4];
uchar code dxian[]={
0xc0,//0
0xf9,//1
0xa4,//2
0xb0,//3
0x99,//4
0x92,//5
0x82,//6
0xf8,//7
0x80,//8
0x90//9
};
void bin_bcd(uint a);
void delay(uint a);
void main()
{
led_port=0xff;
led_wx=0xef;
led_num=0;
TMOD=0x10;
TH1=0xfc;
TL1=0x70;
EA=1;
ET1=1;
TR1=1;
while(1)
{
bin_bcd(a);
}
}
void i_display(void) interrupt 3
{
a++;
if(a==9999)
a=0;
led_port=dxian[bcd[led_num]];
led_num++;
if(led_num==0)
led_wx=0xef;
if(led_num==1)
led_wx=0xdf;
if(led_num==2)
led_wx=0xbf;
if(led_num==3)
led_wx=0x7f;
if(led_num==4)
{
led_num=0;
led_wx=0xef;
}
TH1=0xfc;
TL1=0x70;
}
void bin_bcd(uint a)
{
bcd[2]=a/1000;
bcd[1]=(a%1000)/100;
bcd[0]=(a%100)/10;
bcd[3]=a%10;
}
我这是ly_51系列的 0--9999的数码管自加程序 希望对你有用
这是电路
#include <mega16h>
#include <delayh>
//数据信号 发送的数据 高电平high 1 低电平low pc0接74HC595的数据输入圈
#define HC595_DATA_HIGH PORTC |=(1<<0)
#define HC595_DATA_LOW PORTC &=~(1<<0)
//输出锁存信号线
#define HC595_LCLK_HIGH PORTC |=(1<<1)
#define HC595_LCLK_LOW PORTC &=~(1<<1)
//输入时钟线 把数据写入74HC595 pc0只决定电平大小 给上升沿才能输入
#define HC595_SCLK(串行时钟)_HIGH PORTC |=(1<<2)
#define HC595_SCLK_LOW PORTC &=~(1<<2)
//共阴数码表
unsigned char segnum[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x7c};
void Send74HC595(unsigned char data)
{
unsigned char i=0;
for(i=0;i<8;i++)
{
if(data & 0x80)//先发高位
HC595_DATA_HIGH;
else
HC595_DATA_LOW;
HC595_SCLK_HIGH;//给一个上升沿
delay_us(2);
HC595_SCLK_LOW;//给一个下降沿
data<<=1; //数据位移
}
}
void HC595Display(unsigned char num,unsigned char data)
{
HC595_LCLK_LOW;
HC595_SCLK_LOW;
Send74HC595(~(0x01<<num)); //发送位选
Send74HC595(segnum[data]);//发送段选
HC595_LCLK_HIGH;//上升输出锁存
delay_us(2);
}
void main (void)
{
MCUCSR=0x80;
MCUCSR=0x80;
DDRC|=(1<<0)|(1<<1)|(1<<2); // DDRC 不能=某值 它使pc0 pc1 pc2打开
while (1)
{
HC595Display(0,1);
HC595Display(1,2);
HC595Display(2,10);
HC595Display(3,0);
HC595Display(4,3);
HC595Display(5,10);
HC595Display(6,1);
HC595Display(7,0);
}
}
以上就是关于项目管理程序有那些全部的内容,包括:项目管理程序有那些、数码管程序求帮忙注释!!、我有段单片机数码管程序大家帮我看一下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)