资源描述
课程设计,微电子0901指导教师: 赫建国 集成电路0901指导教师: 罗朝霞,实验教室: 3号实验楼520教室时间安排:微电子0901:8:00-14:00集成电路0901:14:00-20:00,数字电路课程设计地位,大学实践教学环节: 课程实验。例如:模拟电路、数字电路等。实施过程为给出实验电路、实验要求以及实验步骤。目的为验证理论和学习电路测量技术,包括基本仪器、仪表的使用。 课程设计。实施过程为给出要实现的目标,例如设计一个包括时间显示的交通灯控制系统,设计者利用对应课程学习的理论知识,完成要求功能系统的设计、组装和调试。目的为完成理论与实践的结合。 毕业设计。实施过程和目的与课程设计相同,但是涉及的内容和范围不受限制。,数字电路逻辑设计课程内容回顾(一),逻辑函数 数制及其转换 基本逻辑运算 逻辑函数及其化简,数字电路逻辑设计课程内容回顾(二),组合逻辑电路 基本门电路:与门、或门、非门等 中规模组合电路:编码器、译码器、数据 选择器、全加器等。,数字电路逻辑设计课程内容回顾(三),时序逻辑电路 触发器 中规模时序电路:计数器、寄存器等。,课程设计时间安排(一),第一周 星期一上午: 集中讲解设计的目的及要求;介绍系统设计的一般方法和步骤;介绍部分逻辑器件及其应用;布置课程设计题目。 星期一下午: 学生做技术准备,查阅资料 星期二:完成时钟电路(555)设计、组装和调试。 星期三:完成状态产生电路(74161)设计、组装和调 试。 星期四:完成译码电路(7448)设计、组装和调试。 星期五:开始应用电路设计。,课程设计时间安排(二),第二周: 星期一星期二: 学生继续安装调试,调试成功的学生可选做第二课题。 星期三: 开始验收。 要求:1)功能正确; 2)电路稳定; 3)能自述调试中遇到的问题及解决方法。 星期四星期五上午: 继续验收。 验收通过的学生整理、上交工具,写出设计报告。,推荐课题(一),多路彩灯控制器 在实验板上构造一个多路彩灯控制器 产生控制8路彩灯信号,产生3种以上的花型变换 彩灯用发光二极管代替 花型由设计者自行确定,推荐课题(二),交通灯控制系统 在实验板上构造一个交通灯控制系统 系统能产生四个方向的交通控制信号 每个方向的交通灯由红、绿、黄3个灯组成,在实验板上交通灯使用发光二极管 通行时间由设计者自行确定。,推荐课题(三),抢答器 在实验板上构造一个抢答器 抢答器可以控制四人抢答 显示成功抢答者 具有违规显示功能,并显示违规抢答者,设计举例:交通灯控制系统,设计要求 系统需要控制东西和南北方向的两个路口,每个方向的路口都有红、黄和绿3个指示灯 每个方向的路口都有通行/等待时间显示 东西方向路口通行时间为7s,南北方向路口通行时间为7s,每个路口从通行到禁止都具有1s的时间间隔 系统自己产生所需要的时钟信号,数字电路的描述方法,真值表或者状态图 逻辑函数 电路图 时序图,设计要求的真值表描述,系统设计-复杂问题简单化,逻辑函数描述,逻辑函数化简,电路图-逻辑函数的实现,时序图-电路工作状态检查的手段,8段数码管,数码管的显示代码,利用BCD码7段译码器7447驱动共阳数码管,BCD码7段译码器7447应用电路,组合电路设计小结,布尔代数仅有三种基本运算: 与(AND)、或(OR)和非(NOT) 由这三种布尔代数基本运算的组合就 能获得需要的输出。,边沿触发的J-K触发器的内部电路和它的电路符号,利用触发器产生状态信号,74161功能表,模80计数器电路原理图,EPM7128S的宏单元组成框图,与或门阵列,输出逻辑宏单元(OLMC),基于VHDL的7段数码管演示程序(一),LIBRARY ieee;-打开IEEE库 USE ieee.std_logic_1164.ALL;-打开STD_LOGIC_1164包集 ENTITY l0502 IS-定义实体 PORT (clk:IN std_logic;-定义时钟输入端口 q:OUT std_logic_vector(6 DOWNTO 0); -定义输出端口 ENDl0502; -实体结束语句,基于VHDL的7段数码管演示程序(二),ARCHITECTURE l0502 OF l0502 IS-定义结构体 SIGNAL data: INTEGER RANGE 0 TO 15;-定义显示数据 BEGIN-开始电路功能描述 PROCESS(clk)-状态产生进程 BEGIN -进程开始 IF (clkEVENT AND clk = 1) THEN-时钟前沿识别 IF (data 9) THEN-状态识别 data = data + 1; ELSE data = 0; END IF; END IF; END PROCESS; -进程结束,基于VHDL的7段数码管演示程序(三),PROCESS (data)-移码进程 BEGIN-进程开始 CASE data IS-使用选择语句产生显示代码 WHEN 0 = segments segments segments segments segments segments segments segments segments segments segments = “1111111”; END CASE;-选择结束语句 END PROCESS;-进程结束语句 END l0502;-结构体结束语句,MCS51微控制器汇编语言程序,;利用P1并行口实现1位数码管显示,显示从0到F字符 ORG0000H;定位程序在程序存储器的起始位置 AA0:MOVR4,#00H;显示缓存内容清0 AA1:MOV60H,R4;显示缓存内容复制到显示子程序入口 ACALLLED1;调用利用P1并行口实现1位数码管显示 ;子程序 INCR4;调整显示缓存内容 CJNER4,#10H,AA1;判断是否显示到字符F AJMPAA0 ;利用P1并行口实现1位数码管显示子程序,显示子程序入口60H,出口P1 LED1:MOVA,60H;显示缓存内容复制到累加器A MOVDPTR,#LEDTAB;向数据指针DPTR赋显示代码首地址 MOVCA,A+DPTR;显示数据译码 MOVP1,A;显示代码送P1口 RET;从子程序返回调用调用它的主程序 LEDTAB: DB3FH,06H,5BH,4FH,66H,6DH ;显示代码表 DB7DH,07H,7FH,6FH,77H,7CH DB39H,5EH,79H,71H,00H,MCS51微控制器C语言程序,#include/* 包含定义特殊功能寄存器名称的头文件 */ void led1(unsigned char x);/* 声明利用P1口输出共阴极数码管的显示代码的函数 */ main()/* 主函数 */ unsigned char data i;/* 定义显示数据变量 */ while(1)/* 无限循环,使主函数内容重复执行 */ for(i=0; i16; i+)/* 循环产生0到F的显示数据 */ led1(i);/* 调用利用P1口输出共阴极数码管的显示代码的函数 */ void led1(unsigned char x)/* 利用P1并行口输出共阴极数码管的显示代码的函数 unsigned char code table16 =/* 显示代码表 */ 0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71; P1 = tablex;/* 利用P1并行口输出显示代码 */ ,
展开阅读全文