VHDL课程设计--两位数简易计分板

VHDL课程设计--两位数简易计分板
VHDL课程设计--两位数简易计分板

两位数简易计分板

摘要

计分板可以记录并显示0—99的数。有4

个输入端,分别为CLK时钟输入,RSET复位清

零端,INC计分加输入端,DEC计分减输入端。

为用户提供输入。有2路八段数码管数据输出,

用作显示。外围电路有时钟发生电路,八段数

码管显示电路。如右图所示。

芯片设计

1:BCD码转换芯片设计

BCD码转换芯片的作用是将计数的BCD值转换为八段数码管相应的码值。八段数码管编码如下

0 00111111 1 00000110

2 01011011

3 01001111

4 01100110

5 01101101

6 01111101

7 00000111

8 01111111 9 01101111

计数值采用的是BCD码方式,因此程序核心如下:

PROCESS(LED0)

BEGIN

CASE LED0 IS

WHEN "0000" => eight0<="00111111";

WHEN "0001" => eight0<="00000110";

WHEN "0010" => eight0<="01011011";

WHEN "0011" => eight0<="01001111";

WHEN "0100" => eight0<="01100110";

WHEN "0101" => eight0<="01101101";

WHEN "0110" => eight0<="01111101";

WHEN "0111" => eight0<="00000111";

WHEN "1000" => eight0<="01111111";

WHEN "1001" => eight0<="01101111";

WHEN OTHERS => NULL;

END CASE;

因为用到了两路输出,因此需要两个PROCESS来分别处理两个BCD码转换。

BCD转换芯片仿真如下:

从上图中可以看到,当LED[3..0]分别输入BCD码0-9时,eight[7..0]分

别对应输出相应的八段数码管值。

2计分器设计

计分器需要用户在按“+”或“-”时能相应的增加计数值或者减少计数值,

该计数器采用的不是记录用户输入脉冲数而是采用记录系统脉冲数,因此,用户

的按键“+”或“-”实质上是计分器增或减的使能端,当系统时钟设置得比较合

适,大约在500ms左右,用户可以长按按键,让计分器增加或减少,甚至可以一

直按住,实现连续增加或者减少计数值,这样可以在计分值输入错误的情况下,

减去输入的计分值重新输入正确的计分值。计分器除了有计数输入外,还需要一

个复位清零,方便重新开始计分。

计数器核心是用BCD码来实现计数,关键代码如下:

if clock'event and clock = '1' then

if rest ='1' then --若输入复位,则计数清零

count0:="0000";

count1:="0000";

elsif inc ='1' and dec='0' then --若输入加,则增加计

if count0 < "1001" then --分值。

count0:= count0+1;

count1:= count1; --PS 见总结

elsif count1<"1001" then

count1:=count1+1;

count0:="0000";

end if;

elsif dec='1' and inc ='0' then --若输入减,则减少计

if count0>"0000" then --分值。

count0:=count0-1;

count1:= count1; --PS 见总结

elsif count1>"0000" then

count1:=count1-1;

count0:="0000";

end if;

……

仿真情况如下:

从上图中可以看到,当rest信号为1时,BCD码计数值清零,当INC(按键加)信号为1时,记录脉冲数,LED0为个位,LED1为十位。当DEC(按键减)信号为1时,BCD计数值减去脉冲数。这样就达到了计分目的。

3芯片总设计

完成两个模块的设计后,打开图形编辑界面,将制作好的元件添加进去,并画好电路图。电路图如下:

其中CNT_SCORE为计分模块,BCD_CONV为BCD码转换模块。CLK为外部时钟输入,REST为复位清零按键,INC为计分值增加输入,DEC为计分值减少输入。SEG0[7..0]和SEG1[7..0]分别为八段数码管个位与十位显示输出。

电路完成后,编译仿真,仿真图如下:

从上图中可以看到,当输入REST(复位清零信)为1时,SEG0[7..0]和

SEG1[7..0](八段数码管编码值)为3F(即‘0’的编码,后面同理),当INC(按键计分加)信号为1是,SEG0[7..0]和SEG1[7..0]相应的增加,当DEC(按键计分减)信号为1时,SEG0[7..0]和SEG1[7..0]相应的减少。

计分板完成所需功能,仿真正确,设计完成。

总结

在程序的编写中,碰到了一个非常难以解决的问题,就是在编写计分器

CNT_SCORE.VHD程序的时候,程序语法正确,CHECK通过,但是一点击START生成元件的时候就会出错

提示的语句如下:

Error:Node:’144.INI’missing source

Error:Node:’151.INI’missing source

Error:Node:’158.INI’missing source

Error:Node:’164.INI’missing source

……

百度上查找资料,有相似的问题但是没能解决问题,最后在ALTERA官方网站https://www.360docs.net/doc/c911192149.html,/support/kdb/solutions/rd06251999_9359.html

找到了解决方案,大概原因是因为MAX-plus2软件语法规则的问题。如下所示。

通过这次作业,掌握了基本的设计方法,对VHDL有了更深入的认识,对用VHDL开发芯片有了一个系统的了解。

附:完整VHDL代码

1:BCD_conv代码

library IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY BCD_conv IS

PORT(LED0,LED1: IN STD_LOGIC_VECTOR(3 downto 0);

eight0,eight1: OUT STD_LOGIC_VECTOR(7 downto 0));

END BCD_conv;

ARCHITECTURE turn of BCD_conv is

BEGIN

PROCESS(LED0)

BEGIN

CASE LED0IS

WHEN"0000" => eight0<="00111111";

WHEN"0001" => eight0<="00000110";

WHEN"0010" => eight0<="01011011";

WHEN"0011" => eight0<="01001111";

WHEN"0100" => eight0<="01100110";

WHEN"0101" => eight0<="01101101";

WHEN"0110" => eight0<="01111101";

WHEN"0111" => eight0<="00000111";

WHEN"1000" => eight0<="01111111";

WHEN"1001" => eight0<="01101111";

WHEN OTHERS => NULL;

END CASE;

END PROCESS;

PROCESS(LED1)

BEGIN

CASE LED1IS

WHEN"0000" => eight1<="00111111";

WHEN"0001" => eight1<="00000110";

WHEN"0010" => eight1<="01011011";

WHEN"0011" => eight1<="01001111";

WHEN"0100" => eight1<="01100110";

WHEN"0101" => eight1<="01101101";

WHEN"0110" => eight1<="01111101";

WHEN"0111" => eight1<="00000111";

WHEN"1000" => eight1<="01111111";

WHEN"1001" => eight1<="01101111";

WHEN OTHERS => NULL;

END CASE;

END PROCESS;

END turn;

2:CNT_score代码

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity cnt_score is

port(clock,rest,inc,dec:in std_logic;

LED0,LED1:out std_logic_vector(3 downto 0)); end cnt_score;

architecture score of cnt_score is

begin

process(clock)

variable count1:std_logic_vector(3 downto 0) ; variable count0:std_logic_vector(3 downto 0) ; begin

if clock'event and clock = '1' then

if rest ='1' then

count0:="0000";

count1:="0000";

elsif inc ='1' and dec='0' then

if count0 < "1001"then

count0:= count0+1;

count1:= count1;

elsif count1<"1001"then

count1:=count1+1;

count0:="0000";

end if;

elsif dec='1' and inc ='0' then

if count0>"0000"then

count0:=count0-1;

count1:= count1;

elsif count1>"0000"then

count1:=count1-1;

count0:="0000";

end if;

end if;

end if;

LED0<=count0;

LED1<=count1;

end process;

end score;

电子技术乒乓球比赛游戏机课程设计报告书

1绪论 1.1选题背景 1.1.1 课题目的及意义 本次课程设计的容是独立完成一个乒乓球比赛游戏机的设计,采用EWB电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。通过这次课程设计让我们了解和熟悉了乒乓球游戏机的原理和Multisim仿真设计软件的操作,也让我们加深了解了对双向移位寄存器、双D触发器及、加法器及逻辑门电路的一些实际用途,并将理论与实践相结合。 1.1.2 课题的容和要求 独立完成一个乒乓球比赛游戏机的设计,采用EWB电路仿真设计软件完成乒乓球比赛游戏机电路的设计及仿真调试,在微机上仿真实现乒乓球比赛游戏机的设计。 课程设计具体容如下:乒乓球比赛是由甲乙双方参赛,加上裁判的三人游戏(也可以不用裁判),乒乓球比赛模拟机是用发光二极管(LED)模拟乒乓球运 乒乓球比赛模拟机框图 设计要求:

1、基本部分 (1) 至少用8个LED排成直线,以中点为界,两边各代表参赛双方的位置,其中一个点亮的LED(乒乓球)依次从左到右,或从由到左移动,“球”的移动速度能由时钟电路调节。 (2) 当球(被点亮的那只LED)移动到某方的最后一位时,参赛者应该果断按下自己的按扭使“球”转向,即表示启动球拍击中,若行动迟缓或超前,表示未击中或违规,则对方得一分。 (3) 设计自动记分电路,甲乙双方各用一位数码管显示得分,每记满9分为一局。 2、发挥部分(选做) (1) 甲乙双方各设一个发光二极管表示拥有发球权,每得5分自动交换发球权,拥有发球权的一方发球才能有效。 (2) 发球次数能由一位数码管显示。 (3) 一方得分,电路自动响铃3秒,此期间发球无效,等铃声停止后方可比赛。 课题任务要求 1、画出总体设计框图,以说明乒乓球比赛游戏机由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向和频率变化。并以文字对原理作辅助说明。 2、设计各个功能模块的电路图,加上原理说明。 3、选择合适的元器件,在EWB上连接验证、仿真、调试各个功能模块的电路。在连接验证时设计、选择合适的输入信号和输出方式,在充分电路正确性同时,输入信号和输出方式要便于电路的仿真、调试和故障排除。 4、在验证各个功能模块基础上,对整个电路的元器件和连接,进行合理布局,进行整个数字钟电路的连接验证、仿真、调试。 5、自行接线验证、仿真、调试,并能检查和发现问题,根据原理、现象和仿真结果分析问题所在,加以解决。学生要解决的问题包括元器件选择、连接和整体设计引起的问题。 1.2 方案选择 根据设计任务,对照图乒乓球比赛模拟及1.1,可以分为三个模块进行设计:

简单计算器c++课程设计

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

数电课程设计报告 乒乓球游戏设计

电子线路综合设计 乒乓球比赛模拟及计分器设计 2014年6月

摘要 在信息社会高速发展的今天,数字电路芯片已经实现高度集成化,并逐步渗透到医学、计算机等各个领域,对人类的生活有着深远的影响。本设计采用基本门电路以及74LS系列芯片的搭建,以multisim 12.0软件为平台进行仿真,实现了对乒乓球游戏的模拟。主要解决的问题有: (1)模拟乒乓球的轨迹:用双向移位4位寄存器74194以及基本门电路实现;(2)球速的调节:利用555电路实现; (3)球被击中、犯规的判断; (4)计数器的使用:采用74LS90和74LS161的组合,给玩家计分; (5)关于比分的显示:通过CD4511译码芯片将计数器的输出状态显示到2位共阴极数码管上。 关键词:双向移位4位寄存器、555电路、译码电路、计数器系统

目录 1 设计任务 (1) 2 电路整体设计 (2) 2.1 译码显示电路设计 (4) 2.2 555定时器组成脉冲发生器 (5) 2.3模拟乒乓球电路的设计 (6) 3 电路整体性能的检测 (7) 3.1 译码显示电路的检测 (7) 3.2 脉冲发生器电路的检测················································································· 3.3模拟乒乓球电路的检测··················································································4实验结论····················································································································5课程设计心得体会以及建议····················································································6 Abstract ······················································································································7附录(包含元器件清单以及各元器件功能表) ······················································8参考文献····················································································································

运算放大器的电路仿真设计

运算放大器的电路仿真设计 一、电路课程设计目的 错误!深入理解运算放大器电路模型,了解典型运算放大器的功能,并仿真实现它的功能; 错误!掌握理想运算放大器的特点及分析方法(主要运用节点电压法分析); ○3熟悉掌握Multisim软件。 二、实验原理说明 (1)运算放大器是一种体积很小的集成电路元件,它包括输入端和输出端。它的类型包括:反向比例放大器、加法器、积分器、微分器、电 压跟随器、电源变换器等. (2) (3)理想运放的特点:根据理想运放的特点,可以得到两条原则: (a)“虚断”:由于理想运放,故输入端口的电流约为零,可近似视为断路,称为“虚断”。 (b)“虚短”:由于理想运放A,,即两输入端间电压约为零,可近似视为短路,称为“虚短”. 已知下图,求输出电压。

理论分析: 由题意可得:(列节点方程) 011(1)822A U U +-= 0111 ()0422 B U U +-= A B U U = 解得: 三、 电路设计内容与步骤 如上图所示设计仿真电路. 仿真电路图:

V18mV R11Ω R22Ω R32Ω R44Ω U2 DC 10MOhm 0.016 V + - U3 OPAMP_3T_VIRTUAL U1 DC 10MOhm 0.011 V + - 根据电压表的读数,, 与理论结果相同. 但在试验中,要注意把电压调成毫伏级别,否则结果误差会很大, 致结果没有任何意义。如图所示,电压单位为伏时的仿真结 果:V18 V R11Ω R22Ω R32Ω R44Ω U2 DC 10MOhm 6.458 V + - U3 OPAMP_3T_VIRTUAL U1 DC 10MOhm 4.305 V + - ,与理论结果相差甚远。 四、 实验注意事项 1)注意仿真中的运算放大器一般是上正下负,而我们常见的运放是上负下正,在仿真过程中要注意。

单片机课程设计报告-篮球计时计分器

2010 ~ 2011 学年第 2 学期 《单片机应用系统设计与制作》 课程设计报告 教学院(部)电气与电子信息工程学院 教研室电气自动化 指导教师 课程设计时间 2011.5.30~2011.6.10 课程设计班级电气自动化技术2009(*)班 学号 2009******** 姓名张 * *

单片机应用系统设计与制作课程设计成绩评定表 课程设计题目:篮球计时记分器 课程设计答辩或质疑记录: 1、 2、 成绩评定依据: 成绩评定依据: 课程设计考勤情况(20%): 课程设计答辩情况(30%): 完成设计任务及报告规范性(50%): 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 2011 年 6 月20 日

摘要 篮球计时计分器以单片机为核心,由计时器、计分器、综合控制器等组成。系统采用模块化设计,主体分为计时显示模块、计分显示模块、定时报警、按键控制键盘模块。每个模块的程序结构简单、任务明确,易于编写、调试和修改。编程后利用Keil软件来进行编译,再将生成的HEX文件装入芯片中,采用Proteus软件仿真,检验功能是否能够正常实现,本设计中系统硬件电路主要由以下几个部分组成:单片机AT89C52、计时电路、计分电路、报警电路和按键开关。该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩以及赛后成绩暂存等功能。 关键词:单片机,计时,计分,显示器,接口 ABSTRACT Time basketball scoring device as the core of SCM includes the timer, scoring devices, integrated controller and other components.This system is used of the modular design, in which the main display module is divided into time display module, scoring display module, timing alarm module, and key control keyboard module. Program structure of each module is simple and clear. So it is easy to write, debug and modify. After programming, firstly we can use Keil software to compile and then generate the HEX file into the chip. Secondly we use the Proteus software simulation to test whether the normal function to achieve. The design of hardware circuit mainly consists of the five components, including AT89C52, timing circuit, scoring circuit, alarm circuit and key switch circuit.The system has many features,such as setting the schedule time, scheduling time to pause, refreshing result of both parties timely, storing temporarily results after the match and so on. KEY WORDS:Microcontroller, Timing, Scoring, Display, Interface

android简单计算器课程设计.

摘要 Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。 关键字:Android Java基础计算器

目录 第1章开发工具与环境 (1) 1.1 Android平台 (1) 1.2 Java开发环境 (1) 1.3 Eclipse (1) 1.4 Android程序基础—Android应用程序的构成 (2) 第2章系统分析与设计 (4) 2.1系统的可行性分析 (4) 2.2 系统的需求分析 (4) 2.3 系统的优势 (4) 2.4 系统的流程图 (5) 第3章系统详细设计 (6) 3.1 动作Activity (6) 3.2 布局文件XML (6) 3.3 Activity的详细设计 (7) 3.2 布局文件XML的详细设计 (21) 3.2 系统的运行结果 (24) 结论 (25) 参考文献 (26)

第1章开发工具与环境 1.1 Android平台 1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。 2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。 1.2 Java开发环境 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE 建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 1.3 Eclipse

运算放大器。ic设计

IC课程设计论文题目:运算放大器电路的设计

2012/1/5 摘要 本次课程设计主要内容为:利用MOS管设计一个运算放大器。放大器具有放大小信号并抑制共模信号的功能。首先从放大器理论参数及结构下手,然后经过Hspice网表的生成及仿真调整最后得到满足参数要求的MOS管设定。 关键词:运算放大器,共模电压,电压摆幅,功耗电流 Hspice仿真,增益带宽

ABSTRACT The main content of course design for: use the design a MOS operational amplifier. Amplifier has put size and control signal common mode signal function. Starting from the first amplifier parameters and structure theory laid a hand on him, and then after the formation of the Hspice nets table and adjust the final simulation parameters of the requirements to meet the MOS set. K eywords: operational amplifier ,common-mode voltage ,voltage swing current consumption ,Hspice simulation ,Gain bandwidth

篮球计分器设计报告

课程设计报告 课程名称:数字电路课程设计 设计题目:篮球比赛数字计分器 院(部):机械与电子工程电学院 专业:电气信息类 学生姓名: 曾吴广 学号: 2011211006 起止日期: 2013年6月7日-2013年6月22日 指导教师: 李玲纯华贵山

一、设计内容与要求: 设计一个篮球比赛记分显示器 基本要求: (1)电路具有加1分、加2分、加3分功能。 (2)电路具有减分功能。 (3)显示总分功能,用三位LED显示器,最高可现实999。 (4)每次篮球比赛后显示器可清零。 二、设计方案 对应篮球比赛规则的系统的要求,篮球记分有1分、2分、3分的情况,通过对电路输入一个脉冲、两个脉冲、三个脉冲,使计数器对分数进行统计,这需要三个脉冲分路。 电路要具有计分、减分及显示的功能。当球队比赛得分时,用加法计分器通过控制分路加相应的分数。如果裁判误判了,可用减法计数器减掉误判的分数。用三片计数器和三个半导体数码LED进行对分数的统计和显示。 电路框图 三、电路的设计记分电路 加 减 置 换 二 分 脉 冲 显 示 显 示 分 数 清 零 一分脉冲三分脉冲

1、记分部分 设计要求记分部分包括加减两部分,故考虑双时钟输入的十进制计数器74LS192。74LS192是同步十进制可逆计数器,为双时钟输入,具有同步清零和同步置数等功能,具体功能表如下: 故计分部分电路设计如下: 2、显示部分 数码管按照其发光二极管的连接方式不同,可分为共阳极和共阴极两种。共阴极是指数码管中所有发光二极管的阴极连在一起接低电平,而阳极分别由a、b、c、d、e、f、g输入信号驱动,当某个输入为高电平时,相应的发光二极管点亮;共阳极数码管则相反,它的所有发光二极管的阳极连在一起接高电平,而阴极分别由a、b、c、d、e、f、g输入信号驱动,当某个输入为低电平时,相应的发光二极管点亮。

简易计算器课程设计

评阅教师评语:课程设计成绩 考勤成绩 实做成绩 报告成绩 总评成绩指导教师签名: 课程设计报告 论文题目基于ARM的简易计算器设计 学院(系):电子信息与自动化学院 班级:测控技术与仪器 学生姓名:同组同学: 学号:学号: 指导教师:杨泽林王先全杨继森鲁进时间:从2013年 6 月10 日到2013年 6 月28 日 1

目录 1、封面—————————————————————P1 2、目录—————————————————————P2 3、前言—————————————————————P3 4、关键字————————————————————P3 5、原理与总体方案————————————————P3 6、硬件设计———————————————————P6 7、调试—————————————————————P10 8、测试与分析——————————————————P11 9、总结—————————————————————P13

10、附件—————————————————————P14 前言 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。 本文通过周立功的LPC2106芯片完成的简易计算器,正是对嵌入式应用的学习和探索。 一、摘要: 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 关键字:中断,扫描,仿真,计算 二、原理与总体方案: 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。 而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而

集成运算放大器

成绩评定表

课程设计任务书

摘要 本设计是根据要求进行的集成运算放大器的设计,用Protel软件设计实验电路,并绘制出PCB电路板,根据电路图对设计进行制作,最后进行调试测试。通过对Protel软件的学习与应用,加深对相关原理的理解,并对protel软件有初步的认识和一定的操作能力,为后续相关课程和相关软件的学习与应用打下坚实的基础。并根据通信电子线路所学的知识,掌握电路设计,熟悉电路的制作,运用所学理论和方法进行一次综合性设计训练,从而培养独立分析问题和解决问题的能力。根据相关课题的具体要求,按照指导老师的指导,进行具体项目的设计,提高自己的动手能力和综合水平。 本设计采用LM324芯片,它是一个四运算放大器的基本电路,在四运算放大器电路中起到了至关重要的作用。通过LM324芯片与其他相关电子元件的组合,画出调制与解调电路图,并完成PCB电路的绘制,完成课题的设计,可以算是对自我综合能力的一次有益尝试。 关键字:Protel、PCB、LM324、四运算放大器

目录 1 Protel的简要介绍 (5) 1.1 Protel的发展历史 (5) 1.2 Protel99SE简介 (5) 2 设计任务及要求 (6) 2.1设计任务 (6) 2.2设计要求 (6) 3 电路原理介绍 (7) 3.1 反向运算放大器 (7) 3.2 反向加法器 (7) 3.3 差动运算放大器 (7) 3.4积分器电路 (8) 4 原理图设计 (10) 4.1电路元件明细表 (10) 4.2 绘制原理图 (10) 4.3 元件生成清单 (12) 5 印刷版图的绘制 (12) 5.1 准备电路原理图和网络表 (12) 5.2 创建PCB文件以及网络表的装入 (15) 5.3 元件的布局以及印刷板的布线 (15) 6收获和体会 (16) 7 主要参考文献 (17)

最新单片机简易计算器课程设计

单片机简易计算器课 程设计

引言 说起计算器,值得我们骄傲的是,最早的计算工具诞生在中国。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的。约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本任务是个简易的两位数的四则运算,程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不完善,限制也较多。本任务重在设计构思与团队合作,使得我们用专业知识、专业技能分析和解决问题全面系统的锻炼。 随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台

基于Spectre运算放大器的设计

《集成电路CAD》课程设计报告 课题:基于Spectre运算放大器的设计 一:课程设计目标及任务 利用Cadence软件设计使用差分放大器,设计其原理图,并画出其版图,模拟器各项性能指标,修改宽长比,使其最优化。 二:运算放大器概况 运算放大器(operational amplifier),简称运放(OPA),如图1.1所示: 图1.1运放示意图 运算放大器最早被设计出来的目的是将电压类比成数字,用来进行加、减、乘、除的运算,同时也成为实现模拟计算机的基本建构方块。然而,理想运算放大器的在电路系统设计上的用途却远远超过加减乘除的计算。今日的运算放大器,无论是使用晶体管或真空管、分立式元件或集成电路元件,运算放大器的效能都已经接近理想运算放大器的要求。早期的运算放大器是使用真空管设计的,现在多半是集成电路式的元件。但是如果系统对于放大器的需求超出集成电路放大器的需求时,常常会利用分立式元件来实现这些特殊规格的运算放大器。 三:原理图的绘制及仿真

3.1原理图的绘制 首先在Cadence电路编辑器界面绘制原理图如下: 图3.1电路原理图 原理图中MOS管的参数如下表: Instance name Model W/m L/m Multiplier Library Cell name View name M1 nmosl 800n 500n 1 Gpdk180 nmos symbol M2 nmosl 800n 500n 1 Gpdk180 nmos symbol M3 pmosl 1.1u 550n 1 Gpdk180 pmos symbol M4 pmosl 1.1u 550n 1 Gpdk180 pmos symbol M5 nmosl 800n 500n 1 Gpdk180 nmos symbol

电子记分牌

单片机综合实验 实验报告 学院计算机与电子信息学院 专业电子信息工程班级电信14-2班 姓名学号 实验题目电子记分牌的设计 系统环境自制开发板指导教师左敬龙 实验时间 2016年10月24日至 2016年10月28日实验报告评分:_______

电子记分牌的设计 班级:电信14-2 姓名:陈文广 摘要: 本设计是采用AT89C51单片机设计的一个用于比赛的计时计分器。本设计采用定时器T1中断进行计时,显示部分分为计分显示和计秒显示两部分,均采用数码管显示器显示,用于显示整个比赛赛程的比赛时间和两队的比分情况。采用9个按键实现输入功能,用于赛前调节时间、比赛过程中计分、暂停和开始、比赛时间结束以后报警等功能。 关键词:AT89C51 计时计分数码管 1 课题意义 大多数比赛中都需要向观众和选手展示比赛得分情况,需要用到记分牌。在目前的市场上,普通记分牌系统都需要几百块,价格比较高。本项目设计的记分牌系统,电路简单,成本较低,灵敏可靠,操作方便,具有较高的推广价值。 本设计采用AT89C51单片机作为核心部件,整个系统结构简单、实用性强、操作简便、具有低功耗,可靠性,安全性以及低成本等特点,该设计方案完全满足篮球计分器的设计要求。现在比赛计时计分器的设计大都比较的复杂,所用芯片太多,造成整体的价格提高,而且软件设计比较的复杂。导致性价比不是很高,很难得到广泛的推广。我所设计的这个比赛计时计分器一改他们的缺点,硬件比较的简单,软件也很容易。因此,实用性比较大。 2 总体设计方案 2.1 设计思路 1)设计一个比赛记分牌,用4位LED显示比赛两方的分数(每方分数用2位LED表示)。比赛开始时显示零分。 2)每方都有得分按键和减分按键,得分按键每按一次加一分,减分按键每按一次减一分,并用数码管显示累计的分数。 扩展要求: 3)设置补时按键(例如足球比赛有补时提示)。补时时间可自己设置,时间方式为分分秒秒(即最大为59.99,最少为1秒)。 2.2 设计方案 单片机的选用AT89C51单片机,AT89C51单片机具有指令简单,易学易懂,外围电路简单,硬件设计方便,i/o口操作简单,无方向寄存器,资源丰富,价格便宜、容易购买,资料丰富容易查到,程序烧写简单等优点。 软件控制利用AT89C51单片机内部的定时器/计数器进行中断定时,配合软件延时实现计时。该方案节省硬件成本,并且可综合运用定时器/计数器、中断以及程序设计的知识。 显示电路采用2片2位的数码管分别显示双方比分数和1片4位数码管显示比赛时间。 2.3 设计方框图

数字逻辑课设报告——计分器电路的设计

课程设计 (说明书) 计分器电路的设计 班级 / 学号 学生姓名 指导教师

课程设计任务书 课程设计的内容及要求: 一、设计说明 设计一个计分器电路,其原理框图如图1所示。 图1 计分器电路原理框图 二、技术指标 1.“计分器”LED数码管显示位为两位; 2.“计分器”的十进数位仅为两位数,即十位数、个位数; 3.“计分器”应具有“复位”或“置数”控制功能; 4.“计分器”应具有“加1”和“减1”的累计运算功能; 5.“键控”应有“运算选择”(A)、“计数(加1或减1)”(B)和复位/清零(C)三个按键开关; 三、设计要求 1.在选择器件时,应考虑成本,要求采用LED显示。 2.根据技术指标,通过分析计算确定电路和元器件参数。 3.画出电路原理图(元器件标准化,电路图规范化)。 四、实验要求 1.根据技术指标制定实验方案;验证所设计的电路。

2.进行实验数据处理和分析。 五、推荐参考资料 1.阎石著. 数字电子技术基础.[M]北京:高等教育出版社,2005年 2.童诗白、华成英主编者. 模拟电子技术基础. [M]北京:高等教育出版社,2006年 3.南新志、刘计训主编. 数字电路实验教程. [M]济南:山东大学出版社,2003年 4.谭博学主编. 集成电路原理与应用. [M]北京:电子工业出版社,2003年六、按照要求撰写课程设计报告 指导教师年月日 负责教师年月日 学生签字年月日 成绩评定表 一、概述

动竞技比赛应用中所需要的功能简单,只需要能实现加分、扣分和清零就可以达到使用的要求。这种简单计分器具有独特的优点,构造简单、造价低廉、操作简单、体积小巧便于临时架设。 另外这种电路同样可以作为计数器记录数据,日常生活中还是有许多地方适用这根据任务书中提出的要求,本课设设计的电路应当实现以下基本功能:能够由用户自主选择运算方式即加1或者减1;在选定的运算方式下,有计数开关实现计数;当一次计数完成或者出现错误时,能够清零;计数结果能以直观的十进制阿拉伯数字反馈给用户。 计分器广泛运用于日常生活中,在运动比赛中,运用芯片搭建的简易计分电路很受欢迎,应用广泛。在运样的计数器的,例如投票统计,人数统计等等。 二、方案论证 设计一个计分器,能够通过运算选择按钮(A)来控制当前运算是加1或者减1,通过计数按钮(B)来实现所选择的运算,另外能够通过置零开关(C)来实现显示计数器的清零。数字显示部分有两个数码管显示两位十进制的阿拉伯数字。 方案一原理框图如图1所示。 图1 计分器电路原理框图 方案二: 总体原理类似方案一,只是将加/减计数器和BCD码译码器整合在一起,用74LS192D芯片实现加、减计数并译码。是电路更加简单稳定,并且降低了制作成本。 本设计采用的是方案二,74LS192D芯片实现加、减计数并译码较容易实现且电路不复杂,且性价比较高。 三、电路设计

简易计算器课程设计

科研训练论文 题目:基于单片机的计算器的设计 目录 一、概述 (3) 1.1设计要求及任务: (3) 1.2设计原理: (3) 二、系统总体方案及硬件设计 (3) 2.1计算器总体思想 (3) 2.2硬件的选择与连接 (4) 2.2.1硬件选择 (4) 2.2.2接口设计 (5) 三、软件设计 (7)

3.2系统流程总图 (8) 3.3显示程序设计 (8) 3.4键盘识别程序设计 (9) 3.4.1原理与分析 (9) 3.4.2流程图 (10) 四、设计体会与总结 (11) 五、参考文献 (11) 附录 基于单片机的计算器的设计 摘要:本设计是一个实现加减乘除的计算器,它的硬件主要由四部分构成,一个8051单片机芯片,两个八段共阴极数码管,一个4*4键盘,它可以实现一位数的加减乘除运算。 显示部分:采用LED动态显示。 按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。 关键词:LED接口;键盘接口;8255A;汇编语言

一、概述 1.1设计要求及任务: (1)设计4*4的键盘,其中10个数字键0~9,其余六个键“+”、“—”、“*”、“/”、“=”、和“C”键; (2)设计两位LED接口电路; (3)实现1位数的简单运算 1.2设计原理: (1)LED显示器接口技术 LED动态显示接口技术 (2)键盘显示技术 逐行(逐列扫描法) 二、系统总体方案及硬件设计 2.1计算器总体思想 显示部分:采用LED动态显示。 按键部分:采用4*4键盘。采用软件识别键值,并执行相应的操作。 执行过程:开机显示零,等待键入数值,当键入数字,经通过数码管显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在数码管上输出运算结果。

基于运算放大器的正弦波发生器

目录 第1章摘要 (2) 第2章设计目的及设计要求 (2) 第3章基本原理 (2) 3.1 基本文氏振荡器 (2) 3.2 振荡条件 (3) 3.3 振荡频率与振荡波形 (5) 第4章参数设计及运算 (6) 4.1 器件选择 (6) 4.2 参数计算 (6) 4.3 波形仿真图 (9) 第5章结论及误差分析 (13) 心得体会 (14) 参考文献 (15)

第1章摘要 本文中介绍了一种基于运算放大器的文氏电桥正弦波发生器。经测试,该发生器能产生频率为100-1000Hz的正弦波,且能在较小的误差范围内将振幅限制在2.5V以内,通过电位器的调节使频率在100HZ-1000HZ内变化。 无论是从数学意义上还是从实际的意义上,正弦波都是最基本的波形之一——在数学上,任何其他波形都可以表示为基本正弦波的傅里叶组合;从实际意义上来讲,它作为测试信号、参考信号以及载波信号而被广泛的应用。在运算放大电路中,最适于发生正弦波的是文氏电桥振荡器与正交振荡器,本文将对文氏桥振荡器进行讨论。 第2章设计目的及要求 2.1、设计目的: (1).掌握波形产生电路的设计、组装和调试的方法; (2).熟悉集成电路:集成运算放大器LN356N。并掌握其工作原理,组成文氏电桥振路。 2.2、设计要求: (1)设计波形产生电路。 (2)信号频率范围:100Hz——1000Hz。 (3)信号波形:正弦波。 (4)画出波形产生电路原理图,写出终结报告。 第3章基本原理 3.1正弦振荡器的组成 (1)放大电路:放大信号 (2)反馈网络:必须是正反馈,反馈信号即是放大电路的输入信号 (3)选频网络:保证输出为单一频率的正弦波,即使电路只在某一特定频率下满足自激振荡条件

单片机简易计算器课程设计

单片机简易计算器课程设计 课程设计 题目名称________________ 简易计算器设计____________ 课程名称_____________ 单片机原理及应用____________ 学生姓名________________

班级学号________________ 2018年6月20日

目录 一设计目的 (2) 二总体设计及功能介绍 (2) 三硬件仿真图 (3) 四主程序流程图 (4) 五程序源代码 (5) 六课程设计体会 (28)

设计目的 本设计是基于51系列单片机来进行的简单数字计算器设计,可以完成计算器的键盘输入,进行加、减、乘、除六位整数数范围内的基本四则运算,并在LED上显示相应的结果。软件方面使用C语言编程,并用PROTUE仿真。 二总体设计及功能介绍 根据功能和指标要求,本系统选用MCS-51 系列单片机为主控机,实现对计算器的设计。具体设计及功能如下: 由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LED显示数据和结果; 另外键盘包括数字键(0?9)、符号键(+、-、x、十)、清除键和等号键,故只需要16个按键即可,设计中采用集成的计算键盘;

执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 三硬件仿真图 硬件部分比较简单,当键盘按键按下时它的那一行、那一列的端口为低电平。因此,只要扫描行、列端口是否都为低电平就可以确定是哪个键被按下。

篮球赛计时与计分系统的设计报告

设计报告 设计包括四个模块。他们是24秒显示,计时器,记分器,计节器。24秒显示能按键控制24秒计时器,当控球时间超过24秒时,可发出报警信号。计时器,可按键调节。可以随时暂停计时,暂停比赛,在每节结束和全场结束时报警。记分器记录两队的积累分数,可通过按键分别加1、2、3分。 1 系统设计方案 本设计由STC89C52RC 编程控制LCD 液晶显示器作球赛计时计分系统。 1.1 系统构成框图 基于单片机系统的篮球计时计分器的系统构成框图如图所示。 GND VC C VL RS RW EN DB 0DB 1DB 2DB 3DB 4DB 5DB 6DB 7LED+LED-J2CON16 12MHZ P1.01P1.23P1.34P1.45P1.56P1.67P1.78RS T 9P3.0/RXD 10P3.1/TXD 11P3.2 INT012P3.3/INT113P3.4/T014 P3.5/T115P3.6/WP 16P3.7/RD 17XTAL218XTAL119GND 20 P2.0 21 P2.122P2.223P2.324P2.425P2.526P2.627P2.728NA 29ALE 30EX_LVD 31P0.732P0.633P0.5 34P0.435P0.336P0.237P0.138P0.039VC C 40 P1.12STC40 STC1 +5V R210K 1 2 C110uF 1 2 C222 1 2 C3 22+5V S6 S7 S5 P3.412 J1 CON2 S10 SW SPST +5V R3 10K DB 0DB 1DB 2DB 3DB 4DB 5DB 6DB 7 DB 0DB 1DB 2DB 3DB 4DB 5DB 6DB 7P2.6 P2.0P3.2P1.0P2.7+5V P1.5 P3.2 P1.4 P2.6 P3.3S8 P3.3 1 LS 1 SPEAKER +5V R110K P2.0 P1.1P1.2P1.3P1.4P1.5 1 3 2 Q1PNP P2.7S2 S3 S1 P1.1 P1.2 P1.0 S4 P1.3 S9 P3.4 图1.1 系统构成框图 本系统采用单片机STC89C52RC 作为本设计的核心元件。利用LCD1602作为显示器件,第一行显示双方比赛总分数,第二行依次显示节数,倒计时时间,24秒倒计时。赛程计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动

matlab课程设计简单计算器的设计

matlab课程设计报告 题目简易计算器的设计 学院电子信息工程学院 专业电子信息 学生姓名和学号 指导教师

一、选题目的及意义 GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。本次课程设计是使用了matlab中的guide生成了简单的计算器程序。 二、源代码 function varargout = Calculator(varargin) %Simple Calculator %@Anhui University % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Calculator_OpeningFcn, ... 'gui_OutputFcn', @Calculator_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);

if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before Calculator is made visible. function Calculator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Calculator (see VARARGIN) % Choose default command line output for Calculator handles.output = hObject; % Update handles structure guidata(hObject, handles);

相关文档
最新文档