一种新型的电子点菜系统
——如果随后键盘2有键按下
if(sel=`0`)then ——如果是加法
iftemp(tempscan)>=99then ——判断数量是否超出范围
temp(tempscan):="1100011";
controladd<=`0`; ——超出范围,加减使能信号
为0
elsif temptotalnu
m>=99 then
temptotalnum:="1100011";
controladd<=`0`;
elsif(temp(tempscan)<99 and temptotalnum<99)then
——在允许范围内
temp(tempscan):=temp(tempsean)+1;
temptotalnum:=temptotalnum+1;——数量加1
controladd<=`1`;
eachnum<=temp(tempsean);
totalnum<=temptotalnum;
end if;
elsif(sel=`1`)then ——如果是减运算(同样的方法
· 判断是否少于1,如果是,不予
· 进行减运算,否则数量减1
· 并作相应赋值)
end if;
end if;
end if;
if temp(i)>0 then ——判断对应索引值的菜是否
被选中
tempout(j)<=`1`; ——如选中,赋1点亮LED灯
elsif temp(i)0 then ——如未选中,赋0
tempout(j)<=`0`;
end if;
(凹丫丫范文网fanwen.oyaya.net收集整理)
2.3 显示模块
为减少引线数量,采用动态显示技术,其原理参见参考文献[1],在此不再赘述。
2.4 信息(包括菜的口味、价钱)调整模块
在实际应用中,店方往往要根据实际情况对经营的菜的价钱种类进行调整或补充。对菜的种类进行更换只需要将按钮上菜的名字更换即可,但是对菜的价钱和特色进行便捷的更改,则需要编程实现。
在这一部分的设计中,首先要设计一个电子密码,防止非授权人员对菜价进行更改,同时这个电子密码应具备更改的功能;然后再通过键盘输入更改菜的价钱。原理是将菜单上的菜从0~63一行一行索引,每一个菜的索引值也就是在存储器中的地址,而存放密码的位置是第64位,即“01100100”;最后根据相应的地址赋值即可。这一部分的VHDL程序如下:
《一种新型的电子点菜系统(第2页)》