art1bps_start1rx232_txrx232_txkeybkeyb_uF50MF50Mps2_clkps2_clkps2_dataps2_datarstrstps2_statebeoutasegsegweiweiE
dmoduleKeyb模块:我设计的按下键盘是产生信号传送到开发板的模块modulekeybF50Mps2_clkps2_datarstsegweips2_stateeouti
putF50Mi
putps2_clki
putps2_datai
putrstoutput30weioutput60segoutputps2_stateoutput70eout
当数据准备好时为低电平,其余时间为高电平这个是发出的一个asc码信号
reg70eoutregps2_statereg60segreg50
reg70dout捕捉ps2_clk的下降沿
fwirebrega1rega2alwaysposedgeF50Morposedgerstbegi
ifrstbegi
a11a21e
delsebegi
a2a1a1ps2_clke
de
dassig
ba1a2下降沿的时候置1alwaysposedgeborposedgerstbegi
ifrstbegi
0dout0ps2_state1e
delseif
32将其全部清零begi
0dout0e
delsebegi
当记满32,即计数33次时表示全部接收完键盘的数据,则
case
其余时候,将数据存入寄存器,取第二到第9位这8个数据,同时记到9时由于接收完毕将ps2_state置0表示数据已经准备完毕6d1begi
dout0ps2_data
1ps2_state1e
d6d2begi
dout1ps2_data
1ps2_state1e
d6d3begi
dout2ps2_data
1ps2_state1e
d6d4begi
dout3ps2_data
1ps2_state1e
d6d5begi
dout4ps2_data
1ps2_state1e
d6d6begi
dout5ps2_data
1ps2_state1e
d
f6d7begi
dout6ps2_data
1ps2_state1e
d6d8begi
dout7ps2_data
1ps2_state1e
d6d9begi
ps2_state0
1e
ddefaultbegi
1ps2_state1e
de
dcasee
de
d转换成LED灯显示和转换成ASC码alwaysposedgeF50Morposedgerstbegi
ifrstbegi
seg7b0000000eout0e
delse
为9时已经数据全部存储完毕即可以转换了if
9begi
casedout8h45begi
seg7b000_0001eout48e
d8h16begi
seg7b100_1111eout49e
d8h1Ebegi
seg7b001_0010eout50e
d8h26begi
seg7b000_0110eout51e
d8h25begi
seg7b100_1100eout52e
d8h2Ebegi
seg7b010_0100eout53e
d8h36begi
seg7b010_0000eout54e
d8h3Dbegi
seg7b000_1111eout55e
d8h3Ebegi
seg7b000_0000eout56e
d8h46begi
seg7b000_0100eout57e
ddefaultseg7b011_0000e
dcasee
de
dassig
wei4b0111选择第一个LED灯e
dmodule一个发送模块se
d这个模块和我当时做的串行模块其实是一个原理modulese
dF50Mdatai
caiya
g1TXDrstbps_startr