年国家开放大学电大数字电子技术基础大作业1

 数 字 电 子 技 术 基 础 大 作 业 业

 课程名称:

 数字电子技术基础

  设计题目:

 血型与状态机

  院

 系:

 班

 级:

 设 计 者:

 学

 号:

 血型逻辑电路设计 一

 实验目的

 1. 掌握采用可编程逻辑器件实现数字电路与系统的方法。

 2. 掌握采用 Xilinx_ISE 软件开发可编程逻辑器件的过程。

 3. 学会设计血型能否输血的数字电路。

 4. 掌握 Verilog HDL 描述数字逻辑电路与系统的方法。

 二

 设计要求

 1. 采用 BASYS2 开发板开关,LED,数码管等制作验证能否输血的电路。

 2. 采用 Xilinx_ISE 软件进行编程、仿真与下载设计到 BASYS2 开发板。

 三

 电路图

 1. 电路模块图(简化)

  应用:

  2. 内部电路组成(简化)

 四

 编程

 1.源程序 module xuexing(M, N, P, Q, E,F,G,OUT,CTL,clk,bi);

 input M;

 input N;

 input P;

 input Q;

 input clk;

 output E;

 output[3:0] F;

 output[3:0] G;

 output[7:0] OUT;

 output[3:0] CTL;

 reg E;

 reg[3:0] F;

 reg[3:0] G;

 reg[7:0] OUT;

 reg[7:0] OUT1;

 reg[7:0] OUT2;

 reg[7:0] OUT3;

 reg[7:0] OUT4;

 reg[3:0] CTL=4"b1110;

 output bi;

 reg bi;

 integer clk_cnt;

 reg clk_400Hz;

 always @(posedge clk)

  //400Hz 扫描信号

  if(clk_cnt==32"d100000)

 begin

  clk_cnt <= 1"b0;

 clk_400Hz <= ~clk_400Hz;

 end

  else

 clk_cnt <= clk_cnt + 1"b1;

 //位控制

 reg clk_1Hz;

 integer clk_1Hz_cnt;

  //1Hz 发声信号

 always @(posedge clk)

  if(clk_1Hz_cnt==32"d25000000-1)

 begin

 clk_1Hz_cnt <= 1"b0;

  clk_1Hz <= ~clk_1Hz;

 end

  else

 clk_1Hz_cnt <= clk_1Hz_cnt + 1"b1; always @(posedge clk_400Hz)

 CTL <= {CTL[2:0],CTL[3]};

  //段控制 always @(CTL)

  case(CTL)

 4"b0111:

  OUT=OUT1;

 4"b1011:

  OUT=OUT2;

 4"b1101:

  OUT=OUT3;

 4"b1110:

  OUT=OUT4;

 default:OUT=4"hf;

  endcase always @(M or N or P or Q) begin

 E=(P&Q)|(~M&~N)|(~M&Q)|(~N&P);

 //选择能否输血

 case(E)

  1:

  begin

 OUT1=8"b10001001;

 OUT2=8"b01100001;

 OUT3=8"b01001001;

 OUT4=8"b11111111;

 bi=clk_400Hz;

  end

  0:

  begin

 OUT1=8"b00010011;

 OUT2=8"b00000011;

 OUT3=8"b11111111;

 OUT4=8"b11111111;

 bi=clk_1Hz;

  end

 endcase end always @(M or N or P or Q)

 //显示输入输出血型

 begin

  if(M==1&&N==0)

 F=4"b1000;

  else if(M==0&&N==1)

 F=4"b0100;

  else if(M==1&&N==1)

 F=4"b0010;

  else

  F=4"b0001;

 end always @(M or N or P or Q)

 //显示输入输出血型

 begin

  if(P==1&&Q==0)

 G=4"b1000;

  else if(P==0&&Q==1)

 G=4"b0100;

  else if(P==1&&Q==1)

 G=4"b0010;

  else

 G=4"b0001;

 end endmodule

  2.管脚定义程序 NET "M" LOC=N3; NET "N" LOC=E2; NET "P" LOC=L3; NET "Q" LOC=P11; NET "E" LOC=B2; NET "OUT[7]" LOC = L14; NET "OUT[6]" LOC = H12; NET "OUT[5]" LOC = N14; NET "OUT[4]" LOC = N11; NET "OUT[3]" LOC = P12; NET "OUT[2]" LOC = L13; NET "OUT[1]" LOC = M12; NET "OUT[0]" LOC = N13; NET "CTL[3]" LOC = K14; NET "CTL[2]" LOC = M13; NET "CTL[1]" LOC = J12; NET "CTL[0]" LOC = F12; NET "clk" LOC=B8; NET "F[3]" LOC=G1; NET "F[2]" LOC=P4; NET "F[1]" LOC=N4; NET "F[0]" LOC=N5; NET "G[3]" LOC=P6; NET "G[2]" LOC=P7; NET "G[1]" LOC=M11; NET "G[0]" LOC=M5; NET "bi" LOC=B6; 五 仿真图

 六

 下载设计到 2 BASYS2 开发板与实物图

 实物图:

 附:程序流程:

 1. 基本电路设计

 用 MN 表示输入血型,PQ 表示受血者血型其中 10 表示 A 型,01 表示 B 型,11 表示 AB 型,00表示 O 型。用 E 表示能否输血,1 表示能,0 表示不能。

  M

 N N

 P P

 Q Q

 E E

 M

 N N

 P P

 Q Q

 E E

 0 0

 0 0 0 1 1 0 0 0 0 0 0

 0 0 1 1 1 0 0 1 0 0 0

 0 1 0 1 1 0 1 0 1 0 0

 0 1 1 1 1 0 1 1 1 0 0

 1 0 0 0 1 1 0 0 0 0 0

 1 0 1 1 1 1 0 1 0 0 0

 1 1 0 0 1 1 1 0 0 0 0

 1 1 1 1 1 1 1 1 1 则卡诺图为:

 MN

 PQ

  00

 01

 11

 10

 00

  1 0 0 0 01

  1 1 0 0 11

  1 1 1 1 10

  1 0 0 1 表达式为:

 E PQ MN MQ NP    

  则设计一个四输入一输出的电路 其逻辑电路图为

 MNPQE

 通过此电路图,编写程序,把输入引脚定位到开关上,把输出引脚定位到一个 LED 上便可以完成设计任务。

 2. 项目创新

 (1)仅使用一个 LED 的亮与灭来表示能否输血效果不明显,为了加入一个更明显显示能否输血的指示,所以就用到了 Basys2 板子上自带的数码管,使其在能够输血时显示 yes,不能输血时显示no。

 观察硬件电路图发现,数码管只由一个片选端控制,所有如果使数码管显示不同字母,则需要利用人类的视觉暂留效应进行循环扫描,来使数码管来显示不同的信息。

 (2)为了增强能否输血的提示效果,所以加入一个蜂鸣器,用声音提示能否输血。当系统开启切能输血时,蜂鸣器输出一低音震荡,当不能输血时,蜂鸣器输出高音报警,提示不能输血。

 (3)在加入蜂鸣器报警与数码管之后,使用 LED 来表示能否输血已经多余,而且别人无法判断输血与受血分别是什么血型,所以把 8 个 LED 分成两组,其中第一组表示输血血型,第二组表示受血血型,第一个灯表示 A 型,第二个灯表示 B 型,第三个灯表示 AB 型,最后一个灯表示 O 型。

  时序逻辑电路设计 一

 实验目的

 1.掌握采用可编程逻辑器件实现数字电路与系统的方法。

 2.掌握采用 Xilinx_ISE 软件开发可编程逻辑器件的过程。

 3.学会设计状态机时序逻辑电路。

 4.掌握 Verilog HDL 描述数字逻辑电路与系统的方法。

 二

 设计要求

 1.采用 BASYS2 开发板开关,LED,数码管等制作验证能否输血的电路。

 2.采用 Xilinx_ISE 软件进行编程、仿真与下载设计到 BASYS2 开发板。

 三

 电路图

 1.电路模块图

  2.内部电路组成

 四

 编程

 1.源程序 module Shixu(clk,op,din,B,C,D,E,F,G,H,I,BI,OUT,CTL);

 input clk;

 input din;

 output BI,op;

 output[7:0] OUT;

 output[3:0] CTL;

 output B,C,D,E,F,G,H,I;

 reg[7:0] OUT;

 reg[7:0] OUT1;

 reg[7:0] OUT2;

 reg[7:0] OUT3;

 reg[7:0] OUT4;

 reg[3:0] CTL=4"b1110;

 reg B,C,D,E,F,G,H,I;

 reg[1:0] current_state,next_state;

 reg op,BI;

 parameter S0=2"b00,S1=2"b01,S2=2"b10,S3=2"b11;

 reg clk_1Hz,clk_400Hz;

 integer clk_1Hz_cnt,clk_cnt;

  always @(posedge clk)

  if(clk_1Hz_cnt==32"d25000000-1)

  begin

  clk_1Hz_cnt <= 1"b0;

  clk_1Hz <= ~clk_1Hz;

  end

  else

  clk_1Hz_cnt <= clk_1Hz_cnt + 1"b1;

 always @(posedge clk)

  if(clk_cnt==32"d100000)

 begin

  clk_cnt <= 1"b0;

 clk_400Hz <= ~clk_400Hz;

 end

  else

 clk_cnt <= clk_cnt + 1"b1;

 reg clk_05Hz;

 integer clk_05Hz_cnt;

 always @(posedge clk)

  if(clk_05Hz_cnt==32"d50000000-1)

 begin

 clk_05Hz_cnt <= 1"b0;

  clk_05Hz <= ~clk_05Hz;

 end

  else

 clk_05Hz_cnt <= clk_05Hz_cnt + 1"b1;

 reg clk_2Hz;

 integer clk_2Hz_cnt;

 always @(posedge clk)

  if(clk_2Hz_cnt==32"d12500000-1)

 begin

 clk_2Hz_cnt <= 1"b0;

  clk_2Hz <= ~clk_2Hz;

 end

  else

 clk_2Hz_cnt <= clk_2Hz_cnt + 1"b1;

 reg clk_4Hz;

 integer clk_4Hz_cnt;

 always @(posedge clk)

  if(clk_4Hz_cnt==32"d6250000-1)

 begin

 clk_4Hz_cnt <= 1"b0;

  clk_4Hz <= ~clk_4Hz;

 end

 else

 clk_4Hz_cnt <= clk_4Hz_cnt + 1"b1;

 reg clk_40Hz;

 integer clk_40Hz_cnt;

 always @(posedge clk)

  if(clk_40Hz_cnt==32"d1250000-1)

 begin

 clk_40Hz_cnt <= 1"b0;

  clk_40Hz <= ~clk_40Hz;

 end

  else

 clk_40Hz_cnt <= clk_40Hz_cnt + 1"b1; always @(posedge clk_400Hz)

  CTL <= {CTL[2:0],CTL[3]}; always @ (posedge clk_05Hz)

 begin

  current_state<=next_state;

 end always @(CTL)

  case(CTL)

 4"b0111:

  OUT=OUT1;

 4"b1011:

  OUT=OUT2;

 4"b1101:

  OUT=OUT3;

 4"b1110:

  OUT=OUT4;

 default:OUT=4"hf;

  endcase always @(current_state or din)

 begin

  case(current_state)

 S0:

 begin

  op=0;

  B=1;C=1;D=0;E=0;

  F=0;G=0;H=0;I=0;

  OUT1=8"b01001001;

  OUT2=8"b00000011;

  OUT3=8"b11111111;

  OUT4=8"b00000011;

  BI=clk_1Hz;

  if(din==0)

 next_state=S0;

 else

  next_state=S1;

 end

 S1:

 begin

  op=0;

  B=0;C=0;D=1;E=1;

  F=0;G=0;H=0;I=0;

  OUT1=8"b01001001;

  OUT2=8"b10011111;

  OUT3=8"b11111111;

  OUT4=8"b00000011;

  BI=clk_2Hz;

  if(din==0)

 next_state=S0;

  else

  next_state=S2;

  end

 S2:

 begin

  op=0;

  B=0;C=0;D=0;E=0;

  F=1;G=1;H=0;I=0;

  OUT1=8"b01001001;

  OUT2=8"b00100101;

  OUT3=8"b11111111;

  OUT4=8"b00000011;

  BI=clk_4Hz;

  if(din==0)

 next_state=S0;

  else

  next_state=S3;

  end

 S3:

 begin

  op=1;

  B=0;C=0;D=0;E=0;

  F=0;G=0;H=1;I=1;

  OUT1=8"b01001001;

  OUT2=8"b00001101;

  OUT3=8"b11111111;

  OUT4=8"b10011111;

  BI=clk_40Hz;

  if(din==0)

  begin

  next_state=S0;

  end

  else

  next_state=S3;

  end

 default:

  begin

 op=0;

 B=1;C=1;D=0;E=0;

 F=0;G=0;H=0;I=0;

 next_state=S0;

  end

 endcase end endmodule 2.管脚定义程序 NET "din" LOC=N3; NET "op" LOC=C6; NET "B" LOC=G1; NET "C" LOC=P4; NET "D" LOC=N4; NET "E" LOC=N5; NET "F" LOC=P6; NET "G" LOC=P7; NET "H" LOC=M11; NET "I" LOC=M5; NET "clk" LOC=B8; NET "BI" LOC=B6; NET "OUT[7]" LOC = L14; NET "OUT[6]" LOC = H12; NET "OUT[5]" LOC = N14; NET "OUT[4]" LOC = N11; NET "OUT[3]" LOC = P12; NET "OUT[2]" LOC = L13; NET "OUT[1]" LOC = M12; NET "OUT[0]" LOC = N13; NET "CTL[3]" LOC = K14; NET "CTL[2]" LOC = M13; NET "CTL[1]" LOC = J12; NET "CTL[0]" LOC = F12; 五

 仿真图

 六

 下载设计到 2 BASYS2 开发板与实物图

 实物图:

  附:为了更好的说明各状态,我对蜂鸣器加入了不同的发声频率区分。

 七

 实验结论

  经实验验证,此程序可以完成预期要求,完成特定任务。

  八

 心得体会

  本次大作业让我熟悉了开发板的使用与可编程逻辑器件的应用,我了解了如何设计开发一个 FPGA逻辑电路的流程,我以后懂得了可以使用 FPGA 来完成以后的一些工作,对我有很大的帮助。

 国 家开放 大学( 中央广播电视大学) 《国家开放大学学习指南》 课程教学大纲 第一部分

 大纲说明

 一、课程性质与任务 《国家开放大学学习指南》是国家开放大学(中央广播电视大学)在本、专、一村一所有专业的一年级第一学期开设的、起到基础导学作用的一门统设必修课。

 课程任务是:以完成学习任务的过程为导向,从学习者如何完成国家开放大学规定的专业学习任务的角度,让学习者学会如何完成一门课程的学习、一个专业的学习,同时描述国家开放大学基本的学习方式,说明国家开放大学的学习环境,解释国家开放大学学习平台上基本术语的涵义,使学生能使用学习平台的基本工具辅助完成学习活动,并且了解国家开放大学学生相关事务与管理规定。使学生初步具备利用现代远程技术在国家开放大学进行学习的能力。

 二、先修课要求 无 三、课程的教学要求 理解国家开放大学课程、专业平台,熟练基本的远程技术学习操作技能,掌握远程学习的学习方法,较好利用国家开放大学资源和学习支持服务。

 四、课程的教学方法和教学形式建议 1.本课程的特点是:网络课程完善、课程内容新、课程形式丰富、实践性强、涉及面广,因此建议通过网络,在计算机教室(或计算机多媒体教室)进行授课、答疑和讨论。讲授与实践统一考虑。

 2.为加强和落实动手能力的培养,应保证上机机时不少于本教学大纲规定

 的学时。

 3.对于重要概念、关键技能和方法等问题可辅以网上答疑讨论的形式。

 五、教学要求的层次 课程的教学要求大体上分为三个层次:了解、理解和掌握。

 1. 了解:能正确判别有关概念和方法。

 2. 理解:能正确表达有关概念和方法的含义。

 3. 掌握:在理解的基础上加以灵活应用。

 第二部分

 教学媒体与教学过程建议 一、课程教学总学时数、学分数 课程教学总学时数为 18 学时,1 学分。其中网络课程为 13 学时,课堂练习和实验为 5 学时。

 二、 课程呈现方式 课程以网络课程为主,这是学生学习的主要媒体形式,因此课程呈现方式以视频、动画为主,配以必要的文字说明,每段视频、动画不超过 8 分钟。视频以学习发生的场景为主,也可以是学生访谈,体现一定交互性。课程内容可以在手机、PAD、计算机、电视等多种终端上呈现。

 根据课程呈现方式,课程要做到只选取完成国家开放大学学习的必备知识,摈弃过多的理论知识,尽可能简捷。实用、方便、模块化设计,基于问题、案例形式呈现。概念清晰、条理分明、深入浅出、便于自学。在内容上

 要紧密围绕培养目标,突出重点、兼顾一般,反映当代最新技术及应用。

 三、主要教学媒体的使用与学时分配 章节 序号 教学内容 网络课程学时 课堂练习和 实验学时 1 认识国家开放大学 3 1 2 完成专业学习 3 1 3 完成课程学习 3 1 4 网上学习操作技能 2 1 5 学生事务服务 2 1 合计 13 5 四、考核 本课程采用上机操作的考核方式,100%国家开放大学考核。开放教育的学生应严格执行该课程的有关考核文件。

 第三部分

 教学内容和教学要求 1 、学习活动一:认识国家开放大学(3 学时)

 【 教学内容】

 】:

 :

 任务一

 走进国家开放大学

 (一)基本介绍 介绍国开的历史,办学模式,提供的学科门类等。

 (二)案例导入

 由国家开放大学的学生讲述参加国家开放大学学习的体会与收获(由学生讲,把国家开放大学学习的特点和优势讲出来,包括学习时间、学习方式等等。)

 (三)国家开放大学的学习环境 1.在线学习平台; 2.教师(教师群体与角色); 3.学习者(个人角色与学习小组创建); 4.学习资源(文字教材、录像、网络课程、流媒体资源、全媒体数字教材、小课件等); 5.学习活动(网上教学活动、论坛讨论); 6.支持服务(获得途径:面对面的服务、电话、短信、电子邮件、网上论坛、在线即时答疑系统); (四)拓展内容 报名渠道,获得学习资源,买书,有困难时候如何寻求帮助。

 任务二

  如何有效学习 (一)学习策略 1.纸质学习和电子学习的认知策略; 2.制定计划、自我监控与调节; 3.学习时间管理、学习资源与环境利用、互动空间与手段(QQ 群、课程论

 坛、学习空间)、学业求助策略。

 (二)学习方式 1.自学(自己阅读学习资源,做测试与练习); 2.听讲(听看讲课视频或音频、面授); 3.体验; 4.探究; 5.问题解决; 任务三

  学前准备 了解并完成一些学前准备工作,从学习方法、知识储备、计算机技能、学习环境等多方面了解自身的情况,为日后学习奠定基础。

 【 教学要求】

 】:

 :

  了解:国家开放大学的基本介绍,教学环境;  掌握:国家开放大学的学习策略与方式;  掌握:在国家开放大学进行学习的学前准备; 2 、学习活动 二 :完成专业学习(3 学时)

 【 教学内容】

 】:

 :

 任务一

  走进专业 1.专业概况、 专业培养方案及实施细则,专业学习的知识、能力要求。

 2.本专业师资队伍、学生概况、毕业生风采。

 任务二

  专业学习过程和 评价 1. 本专业的学习过程及主要环节

 2.该专业与社会证书或社会考试的接轨,学分互换等问题。

 任务三

  学位授予及其他

 1.申请学位相关要求。

 2.了解转专业、转学等相关政策。

 【 教学要求】

 】:

 :

  了解:国家开放大学的专业概况及师生概况;  掌握:国家开放大学专业学习过程及主要环节  了解:国家开放大学的学位授予资格、转学与转专业相关要求 

 3 、学习活动 三 :完成课程学习(3 学时)

 【 教学内容】

 】:

 :

 任务一

  选择课程 通过学习风格测试、咨询学业顾问、体验课程学习,进一步明确个人的学习要求,找到自己需要学习的课程组合。

 1.搜索课程; 2.了解课程; 3.体验课程。

 任务二

  课程学习 从国家开放大学学习指南课程入手,完成各学习任务,制定学习计划,并最终拿到国家开放大学学习指南课程的单科结业证书。

 1.浏览与订阅资源;

 2.参加面授辅导; 3.完成作业; 4.参加学习活动; 5.参加考试; 6.参加实践活动; 7.单科结业; 8.课程评价要求(如形考、终考、网考等具体要求)。

 拓展内容:非学历课程学习、面授安排、学习积分等。

 任务三

  互动与分享

 协作学习;知识分享;校友互助。

 【 教学要求】

 】:

 :

  了解:国家开放大学的课程及如何选择课程;  理解:如何协作学习、知识分享、校友互助;  掌握:如何取得国家开放大学的单科课程结业; 4 、学习活动四:网上学习操作技能(2 学时)

 【 教学内容】

 】:

 :

 任务一

  上网基本技能 (一)基本网上技能 1.打开特定网站(网址或链接); 2.浏览网页、返回网页;

 3.使用搜索引擎; 4.网上下载文件。

 (二)基本电子邮件技能 1.电子邮箱的出现、注册电子邮箱 2.收取、阅读电子邮件; 3.发送电子邮件、上传附件。

 任务二

 网上学习操作 (一)学习平台 1.登陆与忘记密码 2.栏目导航与页面布局; 3.文本课件下载与浏览; 4.视频在线观看与下载; 5.提交作业; 6.参与讨论。

 (二)学生空间 任务三

 常用工具 (一)浏览器 1.IE; 2.360; 3.QQ。

 (二)搜索引擎

 1.Google; 2.Baidu; 3.Sogou。

 (三)下载及解压缩工具 1.迅雷; 2.电驴; 3.WinRAR。

 (四)文本显示、影音播放工具 1.MS Word; 2.MS Powerpoint; 3.POF; 4.Media Player; 5.KMPlayer; 6.暴风影音。

 (五)交流工具 1.QQ; 2.微博; 3.微信; 4.论坛。

 【 教学要求】

 】:

 :

  了解:上网基本技能;

  理解:常用的网络工具;  掌握:国家开放大学网上学习的基本操作; 5 、学习活动五:学生事务服务(2 学时)

 【 教学内容】

 】:

 :

 任务一

  了解开放教育学生事务服务 (一)学生事务服务的机构 1.学生工作处(部)、其他部门下设的学生科、其他形式; 2.机构的系统性、分级设立(组织结构图)。

 (二)学生事务服务的内容 1. 评优; 2. 奖助学金; 3. 学生活动; 4. 虚拟学生社区 5. 其他个性化服务 (三)学生事务服务的方式 1. 面对面的服务; 2. 网上服务; 3. 手机服务(短信、微信、微博)。

 任务二

  如何获 得奖励 (一)奖助学金

 1.国家开放大学总部的奖学金 (1)奖学金的种类:国家开放大学奖学金、 “希望的田野”奖学金、残疾人教育阳光奖学金、士官奖学金。

 (2)四类奖学金的区别 (3)具备什么条件可以申请奖学金? (4)奖学金的评审过程是什么? (5)获得奖学金的学生案例展示 2. 国家开放大学总部的助学金 3. 国家开放大学分部的奖助学金 (1)总体开展情况 (2)部分奖助学金的案例介绍 (二)学生评优 1.国家开放大学总部的评优项目:优秀毕业生 (1)具备什么条件可以申请优秀毕业生? (2)优秀毕业生的评审过程是什么? (3)通过哪些渠道了解优秀毕业生的开展情况?(学校网站、海报、老师通知等)

 (4)优秀毕业生案例展示。

 2.开放大学各分部的评优项目 (1)整体介绍 (2)个别案例展示

 优秀学生、优秀学生干部、优秀学习小组、网上学习之星等。

 任务三 三

  如何参加学生活动 (一)丰富多彩的学生活动 1. 国家开放大学总部的学生活动; 2. 国家开放大学分部的学生活动; (二)多样化的学生组织 1. 学生会 2. 学生社团 3. 校友会; 任务四 四

  如何寻求帮助 1.远程接待中心简介 2. 获取帮助的途径 (1)电话 (2)在线即时答疑系统 (3)短信 (4)电子邮件 (5)网上论坛 (6)其他 【 教学要求】

 】:

 :

  了解:开放教育学生事务服务及如何参与;

  理解:国家开放大学的奖惩规定;  掌握:如何解决学习过程中的困难;