《第6章状态机程序设计.ppt》由会员分享,可在线阅读,更多相关《第6章状态机程序设计.ppt(38页珍藏版)》请在第壹文秘上搜索。
1、CE CS RC X12/8 A0 工作状态0XXXX禁止X1XXX禁止100X0启动12位转换100X1启动8位转换1011X12位数据输出10100高8位数据输出10101低4位数据输出RCSTATUSDBCS启动ADAD转换中读结果S 0初 始S 1启 动 A DS 2等 S T A T U S = 1S 3等 S T A T U S = 0S 4读 A D 结 果S 5保 存 结 果S T A T U S = 0S T A T U S = 1S T A T U S = 1S T A T U S = 0操作时序状态转换图CE CS RC X12/8 A0 工作状态0XXXX禁止X1XXX
2、禁止100X0启动12位转换100X1启动8位转换1011X12位数据输出10100高8位数据输出10101低4位数据输出分析:12位A/D转换,12位结果输出,X12/8接高电平,A0接低电平;2个片选信号用1个CE,CS接低电平。 D0D11DVCCX12/8CSCECERCRCA0QAD574FPGA/CPLD1MHzCLKSTATUSSTATUSS0初始S1启动ADS2等STATUS=1S3等STATUS=0S4读AD结果S5保存结果STATUS=0STATUS=1STATUS=1STATUS=0S0初 始S1启 动 ADS2等 STATUS=1S3等 STATUS=0S4读 AD结
3、果S5保 存 结 果STATUS=0STATUS=1STATUS=1ST A TUS=0S0初始S1启动ADS2等STATUS=1S3等STATUS=0S4读AD结果S5保存结果STATUS=0STATUS=1STATUS=1STATUS=0S05S18S21211其他11其他其他00其他00S314LIBRARY 1EEE;USE IEEESTD_ LOGIC_1164ALL; ENTITY s_ machine IS port( clk,reset:IN STD_LOGIC; inputs :IN STD_LOGIC_VECTOR (0 TO 1); outputs :OUT INTEGE
4、R range (0 to 15 );END s_ machine; S05S18S21211其他11其他其他00其他00S314S05S18S21211其他11其他其他00其他00S314ARCHITECTURE behav OF MOOREl ISTYPE ST_TYPE IS (ST0,STl,ST2,ST3);SIGNAL C_ST; ST_TYPE ; BEGIN PROCESS (CLK,RES) BEGIN IF RST=1 THEN C_ST=ST0;QIF DATAIN=”00”THEN C_ST=ST0; ELSE C_ST=ST1; END IF; QIF DATAIN=“00”THEN C_ST=ST1; ELSE C_ST=ST2; END IF; QIF DATAIN=”11”THEN C_ST=ST0; ELSE C_ST=ST3; END IF; QIF DATAIN=”11”THEH C_ST=ST3; ELSE C_ST=ST0; END IF; QIF DATAIN=“11”THEN C_ST=ST0; ELSE C_ST=ST3; END IF; QC_ST=ST0; Q=“0000”; END CASE; END IF; END PROCESS; END behav;