Verilog实现智能电梯控制器(4)

2019-03-22 18:56

带液晶显示驱动的智能电梯控制器

}//显示歌词

if(k==(UINT16)stamp[5]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[11]) {

//usleep(50000); LCD_Init();

if(k==(UINT16)stamp[6]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[7]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[8]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[9]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[10]) {

//usleep(50000);

- 16 -

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\}//显示歌词

if(k==(UINT16)stamp[12]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\}//显示歌词

if(k==(UINT16)stamp[13]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\}//显示歌词

if(k==(UINT16)stamp[14]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\}//显示歌词

if(k==(UINT16)stamp[14]+1000) {

LCD_Init();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[15]) {

带液晶显示驱动的智能电梯控制器

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[15]+1000) {

LCD_Init();

}

if(k==(UINT16)stamp[19]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[16]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[16]+1000) {

LCD_Init();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[17]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[17]+1000) {

LCD_Init();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[18]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

- 17 -

if(k==(UINT16)stamp[20]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[21]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[22]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[23]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[24]) {

//usleep(50000);

带液晶显示驱动的智能电梯控制器

LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[25]) {

//usleep(50000); LCD_Init();

if(k==(UINT16)stamp[29]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

}//显示歌词

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[26]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

}//显示歌词

if(k==(UINT16)stamp[26]+1000) {

LCD_Init();

LCD_Show_Text(\ }//显示歌词

if(k==(UINT16)stamp[27]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

}//显示歌词

if(k==(UINT16)stamp[28]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\ }

- 18 -

if(k==(UINT16)stamp[30]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\}//显示歌词

if(k==(UINT16)stamp[31]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\}//显示歌词

if(k==(UINT16)stamp[32]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\}//显示歌词

if(k==(UINT16)stamp[33]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

带液晶显示驱动的智能电梯控制器

}//显示歌词

if(k==(UINT16)stamp[34]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

}//显示歌词

if(k==(UINT16)stamp[35]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

}//显示歌词

if(k==(UINT16)stamp[36]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\ LCD_Line2();

LCD_Show_Text(\

}//显示歌词

if(k==(UINT16)stamp[37]) {

//usleep(50000); LCD_Init();

LCD_Show_Text(\

LCD_Line2();

LCD_Show_Text(\

}//显示歌词 /*

if(jd==0) {

Tmp2=Tmp1*Tmp1;

IOWR(LED_RED_BASE,0,Tmp2);

IOWR(LED_GREEN_BASE,0,Tmp1); } */

IOWR(SEG7_DISPLAY_BASE,0,j); j++; k++; i=0; }

return 0; }

//-------------------------------------------------------------------------

/*总而言之,由于时间的关系,我的同步显示歌词没有采用读取“歌词文件”的方法来做,这个也许是我的小小遗憾,不过我觉得做些力所能及得事情总比不做来的强。尽管这个方法连我自己也觉得比较笨^_^。 */

5 带有LCD驱动的智能电梯控制器源码与注释 5.1 分频模块

module frequence_div(cp_50M,cp_1); input cp_50M;//板子提供的最高时钟 output cp_1;//要求得到的秒脉冲 reg [27:0] counter_1;//计数器 reg cp_1;//类型声明

always@(posedge cp_50M)

- 19 -

带液晶显示驱动的智能电梯控制器

begin

if(counter_1==28'h17D7840)//50M的一半到了,秒脉冲翻转 begin

cp_1<=~cp_1;//翻转

counter_1<=28'h0000000; end else

counter_1<=counter_1+1'b1;//否则加1 end endmodule

5.2 智能电梯主控制器模块

module elevator_controller(//input ports:

cp_50M,clk,reset,forbid, call_up_1, call_up_2, call_up_3, call_up_4, call_up_5, call_down_2, call_down_3, call_down_4, call_down_5,call_down_6, request_1, request_2, request_3, request_4, request_5, request_6, //output ports: out,LiftState,over_alarm,count_out,count ); //output ports:

output [6:0]out;//输出楼层

output [6:0] LiftState;//输出电梯状态 output over_alarm;//出错

output [6:0]count_out;//计数器输出,便于我控制开关门的状态显示 output [2:0]count;//计数器 //input ports: input cp_50M; input

clk,reset,call_up_1,call_up_2,call_up_3,call_up_4,call_up_5,call_down_2,call_down_3,call_down_4,call_down_5,call_down_6,request_1,request_2,request_3,request_4,request_5,request_6; input forbid; //pos与Posout的关系:当前状态一改变,pos立即作相应改变,而PosOut则是当前状态在要变到下一状态的瞬间 //,将PosOut作相应改变。如从WAIT切换到第一个UP时,pos立即加一,而PosOut则要等到第一个UP //即将切换到第二个UP时,才加一。

//这个说的简单一点,就是移位寄存器,便于对电梯状态的实时的控制 wire over_alarm;

- 20 -


Verilog实现智能电梯控制器(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学生数学建模竞赛

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: