33[设计]鲁立-循环彩灯.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
33[设计]鲁立-循环彩灯

电工电子实验报告 学生姓名:鲁立 学生学号系别班级:物理系0505班 课程名称:现代电子技术实验(EDA) 报告性质:(设计)报告 实验地点:现代电子技术实验室 开课学期:20071 成绩评定:A 教师签名:田开坤 循环彩灯设计报告 实验目的 利用CEET-EDA实验箱上的八位数码管设计花样灯。 基本原理 要实现给定花样的彩灯,只需按编号顺序依次显示以下十种状态即可。每一种状都用动态扫描的方法来显示。 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) 图(1) 设计步骤 (1)、状态编码。以上一共十种状态,我们可以用四位二进制数来表示。首先用四位二进制数编码以上十种状态: →B“0000” →B“0001” →B“0010” →B“0011” →B“0100” →B“0101” →B“0110” →B“0111” →B“1000” →B“1001” 对于数码每一位来说,显示时只会出现以下七种状态,为了降低单个模块的复杂程度,我们将这七种状态用一个三位二进制数来遍码: B“000” B“001” B“010” B“011” B“100” B“101” B“110” (2)、模块设计 1、根据以上的编码,首先来编写实现该花样的中心模块: SUBDESIGN RUN ( IN[3..0]:INPUT; A[2..0],B[2..0],C[2..0],D[2..0],E[2..0],F[2..0],G[2..0],H[2..0]:OUTPUT; ) BEGIN TABLE IN[3..0] = H[2..0],G[2..0],F[2..0],E[2..0],D[2..0],C[2..0],B[2..0],A[2..0]; B0000 = H1,H0,H0,H0,H0,H0,H0,H4; B0001 = H2,H0,H0,H0,H0,H0,H0,H5; B0010 = H0,H2,H0,H0,H0,H0,H5,H0; B0011 = H0,H0,H2,H0,H0,H5,H0,H0; B0100 = H0,H0,H0,H2,H5,H0,H0,H0; B0101 = H0,H0,H0,H5,H2,H0,H0,H0; B0110 = H0,H0,H5,H0,H0,H2,H0,H0; B0111 = H0,H5,H0,H0,H0,H0,H2,H0; B1000 = H5,H0,H0,H0,H0,H0,H0,H2; B1001 = H6,H0,H0,H0,H0,H0,H0,H3; END TABLE; END; 根据输入的四二进制数IN[3..0],确定八位数码管的显示状态,从低位到高为分别用A[2..0]~~H[2..0]表示。 例如第一行即表示当输入为“0000”时,输出为: H1,H0,H0,H0,H0, H0,H0,H4; 2、根据以上的位编码设计译码模块。 SUBDESIGN LED ( D[2..0] : INPUT; FLR[7..0] : OUTPUT; ) BEGIN TABLE D[2..0] = FLR[7..0]; B000 = B001 = B010 = B011 = B100 = B101 = B110 = END TABLE; END; 模块功能说明: FLR[7..0]为八段数码管的段码,FLR7、FLR6、~~ FLR0依次对应P、G、~~A。 3、因为八位数码管是分时显示,所以还需一扫描模块,源代码如下: SUBDESIGN chuan_bing ( A[2..0],B[2..0],C[2..0],D[2..0],E[2..0],F[2..0],G[2..0],H[2..0],COUNT2,COUNT1,COUNT0:INPUT; OUT[2..0]:OUTPUT; ) BEGIN IF((COUNT2,COUNT1,COUNT0)==B000) THEN OUT[2..0]=A[2..0]; ELSIF((COUNT2,COUNT1,COUNT0)==B001) THEN OUT[2..0]=B[2..0]; ELSIF((COUNT2,COUNT1,COUNT0)==B010) THEN OUT[2..0]

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档