当前位置 —论文写论文— 范文

软件设计相关论文范文数据库,与数控文前言江苏相关毕业论文致谢

本论文是一篇软件设计相关毕业论文致谢,关于数控文前言江苏相关毕业论文的格式范文。免费优秀的关于软件设计及模块及系统方面论文范文资料,适合软件设计论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

框图

具体设计目标为:开始时,按下启动键,车费显示数码管显示"0700",表示起步价7.00元,同时,里程显示数码管显示不断线性累加的数据.在这里,用时钟计数器来计算里程数:正常车速下,每来两个时钟,里程计数数加1,加速状态下,每来一个时钟,里程计数数加1(假设出租车只设有两种速度,正常车速和加速行驶车速,加速时出租车匀速运动).当里程累加到3.00公里时,车费每公里加2.2元,当车费累加到20.00元时,车费每公里加3.3元(假定出租车计费标准是这样的).

按下暂停键,里程数,车费数锁定,当再次按下暂停键,使暂停键无效时,重新计费.按下停止键,里程数,车费数归零.此时系统复位,使停止键无效,则系统重新运作起来.按下和弹起加速键,选择正常状态和加速状态.

使用两个按键分别控制左转向灯和右转向灯.按下左转向按键时,左边三个LED灯做流水灯,依次循环亮起.同理,按下右转向按键时,右边三个LED灯做流水灯,依次循环亮起.同时按下左右两个转向按键时,警示LED灯亮起,提示出错.

当按下播放键时,小扬声器传出动人的旋律——"梁祝",弹起播放键时,暂停播放.

1.3.2NiosII系统设计

设计NiosII时,利用SOPCBuilder进行定制

关于数控文前言江苏的毕业论文的格式范文
软件设计相关论文范文数据库
,流程如图1.2示.

NiosII系统设计,要进行两步工作:先定制一个NiosII软核,再基于该软核设计一个C程序,在该内核上进行调试.

第2章出租车计费器及音乐盒设计

2.1总体设计

在QuartusII中,利用原理图方法,设计一个出租车计费器及音乐盒系统,分为计费器模块,转向灯模块和音乐盒模块,总体设计图如图2.1示.QuaartusII中,原理图方法体现出了系统电路连接的直观性,本设计采用从底向下的设计方法.本系统的输入部分为计费器的四个按键:启动键START,停止键STOP,暂停键PAUSU,停止键STOP,音乐盒的播放按键PLAY,转向灯的两个按键:左转向键LEFT,右转向键RIGHT[5].同时,外部时钟DACLK选16或64Hz,DISPLAY_CLK选1024Hz,clk_12M选接12MHz的时钟,CLK8Hz接8Hz.X模块输出部分aqian,abai,ashi,age对应接四个4-7译码器,表示车费,单位为0.01元,bqian,bbai,bshi,bge4-7译码器,代表里程.REAR_L输出接6个LED灯,SPK接报错LED灯,songer模块输出接SPK扬声器,high接LED,点亮时表示音调为高.

本设计的核心为JIFEI模块,X模块的作用是将里程数和车费译码.

图2.1计费器总体设计图

2.2计费器模块

2.2.1模块JIFEI

计费模块如图2.2示,JIFEI模块起到计数器的作用,根据启动键START,停止键STOP,暂停键PAUSU,停止键STOP的按下与否,进行里程数和车费数的累加,将之分别送CHEFEI[12..0]和LUC[12..0]输出.

输入端口START,STOP,PAUSE,JS分别为汽车启动,停止,暂停,加速按键.操作方法是:先使STOP键置高电平,再按下START键置高电平,再按下PAUSE键暂停,按加速键JS,低电平加速,高电平正常速度.

效果为:STOP键置高电平,按下START键置高电平后,数码管8-5显示"0700"数字,表示起步价,按下PAUSE键置高电平,不使能暂停信号,数码管4-1开始显示累加的里程数.当跑完3km后,数码管8-5开始显示累加的车费.此时,按下PAUSE键置低电平,数码管8-1停止变化,直到PAUSE键置高电平.任何时刻按下STOP键,则数码管8-1全清零.

生成该symbol的VHDL程序为:

LIBRARYIEEE,

USEIEEE.STD_LOGIC_1164.ALL,

USEIEEE.STD_LOGIC_UNSIGNED.ALL,

ENTITYJIFEIIS

PORT(CLK,START,STOP,PAUSE,JS:INSTD_LOGIC,

CHEFEI,LUC:OUTINTEGERRANGE0TO8000),--13位二进制数

ENDJIFEI,

ARCHITECTURERTLOFJIFEIIS

BEGIN

PROCESS(CLK,START,STOP,PAUSE,JS)

VARIABLEA,B:STD_LOGIC,

VARIABLEAA:INTEGERRANGE0TO100,

VARIABLECHF,LC:INTEGERRANGE0TO8000,

VARIABLENUM:INTEGERRANGE0TO9,

BEGIN

IF(CLK'EVENTANDCLK等于'1')THEN

IF(STOP等于'0')THEN

CHF:等于0,

NUM:等于0,

B:等于'1',

AA:等于0,

LC:等于0,

ELSIF(START等于'0')THEN

B:等于'0',

CHF:等于700,

LC:等于0,

ELSIF(START等于'1'ANDJS等于'1'ANDPAUSE等于'1')THEN

IF(B等于'0')THEN

NUM:等于NUM+1,

ENDIF,

IF(NUM等于9)THEN

LC:等于LC+5,

NUM:等于0,

AA:等于AA+5,

ENDIF,

ELSIF(START等于'1'ANDJS等于'0'ANDPAUSE等于'1')THEN

LC:等于LC+1,

AA:等于AA+1,

ENDIF,

IF(AA>,等于100)THEN

A:等于'1',

AA:等于0,

ELSE

A:等于'0',

ENDIF,

IF(LC<,300)THEN

NULL,

ELSIF(CHF<,2000ANDA等于'1')THEN

CHF:等于CHF+220,

ELSIF(CHF>,等于2000ANDA等于'1')THEN

CHF:等于CHF+330,

ENDIF,

ENDIF,

CHEFEI<,等于CHF,

LUC<,等于LC,

ENDPROCESS,

ENDRTL,

2.2.2模块X

该模块把车费和路程分别转化为4位十进制数,这八个四位十进制数直接接到八个带有4-7译码器的数码管上,显示出里程和车费.

具体实现是,模块X内定义一个变量COMB1,将COMB1和ASCORE不断比较,当两者不等时,COMB1A,COMB1B,COMB1C,COMB1D作为四位十进制数进行累加,记录比较次数,当两者相等时,COMB1A,COMB1B,COMB1C和COMB1D分别记录下了ASCORE的个位,十位,百位和千位.本质就是将JIFEI模块计算的车费做除十处理,提取出来车费的个位,十位,百位和千位.同理,对BSCORE的处理原理相同.daclk的频率要比clk的频率高得多,这样才保证将ASCORE,BSCORE准确及时的输出八个四位十进制数,如图2.3示.

图2.3转换模块X

生成该symbol的VHDL程序为:

LIBRARYIEEE,

USEIEEE.STD_LOGIC_1164.ALL,

USEIEEE.STD_LOGIC_UNSIGNED.ALL,

ENTITYXIS

PORT(DACLK:INSTD_LOGIC,

ASCORE,BSCORE:ININTEGERRANGE0TO8000,

AGE,ASHI,ABAI,AQIAN,BGE,BSHI,BBAI,BQIAN:OUTSTD_LOGIC_VECTOR(3DOWNTO0)),

ENDX,

ARCHITECTURERTLOFXIS

BEGIN

PROCESS(DACLK,ASCORE)

VARIABLECOMB1:INTEGERRANGE0TO8000,

VARIABLECOMB1A,COMB1B,COMB1C,COMB1D:STD_LOGIC_VECTOR(3DOWNTO0),

BEGIN

IF(DACLK'EVENTANDDACLK等于'1')THEN

IF(COMB1<,ASCORE)THEN

IF(COMB1A等于9ANDCOMB1B等于9ANDCOMB1C等于9)THEN

COMB1A:等于"0000",

COMB1B:等于"0000",

COMB1C:等于"0000",

COMB1D:等于COMB1D+1,

COMB1:等于COMB1+1,

ELSIF(COMB1A等于9ANDCOMB1B等于9)THEN

COMB1A:等于"0000",

COMB1B:等于"0000",

COMB1:等于COMB1+1,

COMB1C:等于COMB1C+1,

ELSIF(COMB1A等于9)THEN

COMB1A:等于"0000",

COMB1B:等于COMB1B+1,

COMB1:等于COMB1+1,

ELSE

COMB1A:等于COMB1A+1,

COMB1:等于COMB1+1,

ENDIF,

ELSE

ASHI<,等于COMB1B,

AGE<,等于COMB1A,

ABAI<,等于COMB1C,

AQIAN<,等于COMB1D,

COMB1:等于0,

COMB1A:等于"0000",

COMB1B:等于"0000",

COMB1C:等于"0000",

COMB1D:等于"0000",

ENDIF,

ENDIF,

ENDPROCESS,

PROCESS(DACLK,BSCORE)

VARIABLECOMB2:INTEGERRANGE0TO8000,

VARIABLECOMB2A,COMB2B,COMB2C,COMB2D:STD_LOGIC_VECTOR(3DOWNTO0),

BEGIN

IF(DACLK

1 2 3 4 5 6 7

软件设计相关论文范文数据库,与数控文前言江苏相关毕业论文致谢参考文献资料:

怎样写生物论文

如何撰写博士论文

论文后记怎么写

写一篇论文

怎样写好高中议论文

帮写论文

请人写论文

怎样写历史论文

写好议论文

数控文前言江苏(2)WORD版本 下载地址