![](https://lstatic.shangxueba.com/jiandati/pc/images/pc_jdt_tittleico.png)
试说明为什么xdata型的指针长度要用2个字节。
![](https://lstatic.shangxueba.com/jiandati/pc/images/jdt_panel_vip.png)
(1)画出系统的ASM图。
(2)画出系统的状态转换图。
(3)用Verilog HDL语言描述其工作过程。
提示:数字锁系统的示意图如图题11.4.1所示,由于开锁过程比较简单,所以没有划分控制单元和处理单元。L0、L1、L2用于从到高位设置密码,另外三个输入端Re,En,Ki中,Re是复位端,当Re=
1时,系统复位进入初始状态;En是控制井关,Ki是数据输入端,当按一下En键使En=1时,从Ki端输入一个数码,再按一下En键,再送一个数码,直到将三个数码送完为止。每输入一个数据都要同原设定的密码比较,依次从低位到高位进行。若相等则准备接收下一位数码,若不相等,系统应进入错误状态。输入数码的位数也是开锁的条件。当输入数码的位数和位值与相应密码都相等时,系统发出开锁信号Un=1,锁被打开,否则Er=1表示开锁过程错误。为保密起见,中间错误状态不显示,并且不能返回初态,直到三个数码全部送完为止。
开始时R键使跑表为零初始状态。在R键无效的时候,按一下S键则计时器开始计时,在此计时状态下,按一下S键暂停计时,再按一下S键则继续计时,并且这一过程可由S键控制重复进行。如果在暂停状态按一下R键,跑表被清零。
如果在计时状态下,按一下R键则暂停计时,再按一下R键则继续计时,并且这一过程也可由R键控制重复进行。当按R键使计时暂停时,再按S键不起作用。
要求跑表的计时范围为0.01s~59min59.99s,计时精度为10ms;跑表的输出能够直接驱动共阳极7段数码管显示。输入信号的频率为100 Hz。
(1)画出跑表的结构框图。
(2)画出控制单元的ASM图及状态图。
(3)用Verilog HDL描述跑表的功能。
(1)汽车只能沿网格边行驶,装满油后能行驶K条网格边.出发时汽车已装满油,在起点与终点处不设油库.
(2)当汽车行驶经过一条网格边时,若其x坐标或Y坐标减小,则应付费用B,否则免付费用.
(3)汽车在行驶过程中遇油库则应加满油并付加油费用A.
(4)在需要时可在网格点处增设油库,并付增设油库费用C(不含加油费用A).
(5)(1)~(4)中的各数N、K、A、B、C均为正整数.
算法设计:求汽车从起点出发到达终点的一条所付费用最少的行驶路线.
数据输入:由文件input.txt提供输入数据.文件的第1行是N、K、A、B、C的值,2≤N≤100,2≤K≤10.第2行起是一个N×N的0-1方阵,每行N个值,至N+1行结束.方阵的第1行第j列处的值为1表示在网格交叉点(i,j)处设置了一个油库,为0时表示未设油库,各行相邻的2个数以空格分隔.
结果输出:将找到的最优行驶路线所需的费用即最小费用输出到文件output.txt.文件的第1行中的数是最小费用值.
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!