当前位置:文档之家› 简易频率计数器设计

简易频率计数器设计

简易频率计数器设计
简易频率计数器设计

单片机课程设计报告简易频率计数器设计

院系:信息工程学院

班级:

学号:

姓名:

指导老师:

目录

一、序言 (2)

二、课程设计要求 (2)

三、电路组成和工作原理 (2)

四、程序设计 (4)

五、Proteus仿真 (8)

六、组装及调试部分 (9)

七、心得体会 (11)

八、元件清单 (12)

九、参考文献 (12)

一、序言

单片机课程设计是一门实践课程,要求学生具有制作调试单片机最小系统及外设的能力,能够掌握单片机内部资源的使用。通过在对单片机原理及应用的学习,以及查阅资料,培养自学与动手能力,把学到的知识应用到日常生活当中。在设计的过程中,不断的补充不知道的内容、巩固所学,和队友的分工合作、相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。

单片机课程设计内容包括硬件设计、制作及软件编写、调试,学生在熟练掌握焊接技术的基础上,能熟练使用单片机软件开发环境Keil C51编程调试,并使用STC ISP调试工具采用串口下载方式联调制作的单片机最小系统。

单片机课程设计题目包含基本部分及扩展部分,基本部分即单片机最小系统部分,扩展部分是对单片机内部资源及外部IO口的功能扩展,使制作的单片机系统具有一定的功能。

二、课程设计要求

自制一个单片机最小系统,包括串口下载、复位电路,采用外部计数器T0或T1作为外部频率输入,外部频率由信号源提供,计算出来的频率显示在四位一体的数码管上。

三、电路组成和工作原理

设计是以MCS-51系列单片机为核心的最小系统,主要由复位电路、晶振电路、数码管显示电路组成。

1.单片机最小系统简介

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对MCS-51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。结构图如图所示:

各部分的功能介绍如下:

复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位. 一般这个电阻和电容的典型值为10K和10uF。按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。使用6MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF 之间。

晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的us级时歇,方便定时操作)

2、计数器工作原理

利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。

本频率计的设计以AT89C51单片机为核心,利用其内部的定时/计数器完成对待测信号的频率的测量。AT89C51单片机内部有2个16位定时/计数器,定时/计数器的工作可以由编程实现定时、计数和产生计数溢出时中断要求的功能。

设计定时/计数器0设置工作在定时方式,定时/计数器1设置在计数方式。

在定时器工作方式下,在被测时间间隔内,每一个机器周期,计数器自动加1,这样以机器周期为基准可以进行对时间间隔的测量。在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1,这样在计数器的控制下可以用来测量待测信号的频率。外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个震荡周期),所以最大计数速率为时钟频率的1/24(使用12MHz时钟时,最大计数速率为500KHz)。

由于定时器T0工作在定时方式时最大的定时时间大约为50ms,若要定时1S,可以采用定时20ms,中断50次来完成1s的定时。对于定时20ms来说,用定时器方式1可实现。

信号频率的计算:

T1工作在计数方式时最大的计数值为216,若假设1S内溢出C1次,最后未溢出的计数值为C2,则F=C1*216+C2= TC1*65536+(TH1*256+TL1)。

四、程序设计

根据设计项目所需功能,我们先进行初始化,在待机状态下,采集频率。然后检测是否有按钮按下,若按钮按下,则数码管显示所采集的频率,再按下键0

时则不显示。系统实现所有功能,其程序框图如图所示:

编写的源程序如下:

#include

bit int_flag;

unsigned char volatile TC1;

unsigned char volatile TC2;

unsigned char code table[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0~9编码

unsigned char code temp[] = {0xfe,0xfd,0xfb,0xf7}; //四位数依次为0,从右至左依次点亮数码管

unsigned long sum;

unsigned char Led[4];

void delay(unsigned char y) //延时

{

unsigned char i;

while(y--)

for(i=100;i>0;i--);

}

void init(void) // 中断初始化

{

TMOD=0x51; //T1计数,T0定时

TH0=(65536-50000)/256; //定时50ms

TL0=(65536-50000)%256;

TH1=0x00;

TL1=0x00; //计时器清零

}

void display(void) //显示函数

{

unsigned char i;

for(i=0;i<4;i++)

{

P2=temp[i];//片选

P0=table[Led[i]]; //取数据显示

delay(1); //延时1毫秒(有差显示,依次显示四位,只是时间差很小,一般难以肉眼识别)

}

}

void main(void)

{

EA=1; //开中断

init(); //函数初始化

TR0=1;

TR1=1;

ET1=1;

ET0=1; //启动定时、计数器

while(1)

{

if(int_flag==1)

{

int_flag=0;

sum=TL1+TH1*256+TC1*65536; //计算脉冲个数,TC1为计数器计数溢出次数,TL1,TH1为当前计数器值

Led[3]=sum%10000/1000;//显示千位

Led[2]=sum%1000/100;//显示百位

Led[1]=sum%100/10;//显示十位

Led[0]=sum%10;//显示个位

TC1=0x00;

TC2=0;

TH1=0x00;

TL1=0x00;

TR1=1;

}

display(); //调用显示函数,1s更新一次

}

}

void int_t0(void) interrupt 1 //执行开总中断时同时执行中断计时,定时器0中断

{

TH0=(65535-50000)/256;

TL0=(65536-50000)%256; //定时器赋值

TC1++;

if(TC1==20) // 定时1s

{

TR1=0; //关定时器

int_flag=1;

TC1=0x00;

}

}

void int_T1(void) interrupt 3 //计数器中断1

{

TC2++;

}

五、P roteus仿真

Proteus仿真全图如下:(输入信号频率为800Hz,计数存在一些误差)

六、组装及调试部分

在软件仿真成功交老师检查后,就可以去领取器件开始做硬件设计了。硬件设计采用自制PCB印刷板。自制PCB板使用的软件工具为:Altium Designer 08 summer,设计制作过程如下:

1、使用Altium Designer软件的原理图设计工具,根据Proteus设计原理图,并

检查电气连接;

2、给原理图中的各个元件添加PCB封装,若没有的需要自己画封装图;

3、导入PCB设计界面,对元器件布局及连线,由于实验室条件不宜作双面板,皆

地面布线,且存在四根飞线;

4、改变元件封装的图中元器件的焊孔、焊盘的大小及线的宽度以适宜实验室条

件,制造输出,再打印。

5、转印将设计的PCB图印制到PCB板上;

6、腐蚀PCB板,约耗时15min左右;

7、钻孔,需要根据元器件的引脚大小选择合适的针头。

8、找齐器件并焊接;焊接时注意引脚的焊锡一定要充足,避免接触不良,注意晶

振电路应尽量靠近单片机芯片;

9、检查电路的连接是否正确及各个电路是否连通的;

10、使用单片机开发板把设计的程序烧写到单片机里面;

11、给电路上电进行检测测试,查看结果;

12、根据上电后的情况进行电路检测及修改使达到设计效果。

调试步骤及技巧:

第一:用万用表检测电源是否接通,主要是看看40脚和20脚之间是否有5V电压。第二步:检测第31引脚,是否有5V电源,目的是确保使用了片内存储器。

第三步:检测P3口或P2口的空闲电压是否有5V电压,如果没有,说明单片机系统没有工作。

第四步:用万用表检测复位电路,通过复位按键,检测第9脚的电压是会变化。如果按键没有按下,电压为0V,按键按下后,电压立刻变为5V,之后很快的降为0V,则表示复位电路正常。

第五步:用示波器检测振荡电路,主要是检测第18、19脚。检测是否有振荡波产生。如果有,表示振荡电路正常。

最后,检测每条PCB板上的焊接走线是否有短路、断路、虚焊等焊接故障。

调试问题分析:

1、电路焊接完毕后,上电电源显示灯亮,并且40脚和20脚之间是否有5V电压。

2、检测第18、19脚引脚时发现,两个电容错接为电源端,并且由于PCB走线不

够漂亮,有点影响电路的导通性,修改后问题得以解决,有振荡波产生。

3、复位电路经检测正常。

4、检查显示电路,上电后数码管不能显示,但是若加高电平到数码管的位选端(6、

8、9、12端),数码管能够逐位显示,即数码管电路无问题。

5、最后的问题就是单片机的外围电路均无问题,且程序均无问题,但是不能驱动

数码管使其显示,由于时间比较的紧迫,没有再进行仔细的研究。后面仔细思考觉得应该是以下原因:单片机存在问题,其系统没有正常工作,以至于端口没有输出信号。由于要上交材料及实验检查没有进行进一步的测试。

PCB原理图:

B图

七、心得体会

课程设计的目的在于能够使我们同实验增强自己的实际操作动手能力,而两周的时间下来我们也确实是受益匪浅。

首先,此次课程设计需要使用到Proteus仿真、Keil软件进行程序编写及编译,另外使用Altium Designer软件画PCB,都使自己对于这些软件更加的熟悉。其次,上单片机课程的时候一直觉得单片机的定时与中断很抽象也不知道怎么运用,学得不是很清楚,通过此次实验使我对于单片机内部定时/计数器的作用及工作原理有了深入的了解与认识,也知道如何在程序中使用定时/计数器。另外,在电路的调试过程中也使自己收获很多,只是调试了很久没有得到理想的结果,有点遗憾。这说明自己在实际实验的时候还需要加深理论基础与分析问题的能力。同时在焊接电路的时候需要仔细,在设计电路的时候需要注意布线要尽量使用锐角而不是钝角,以免信号接触传递受到影响。

总之,通过此次课程设计提高了自己的动手能力和问题的分析解决能力,为以后的工作学习打下了基础。同时需要感谢老师的指导及同学的帮忙解答一些问题,使自己收获了更多的经验。

八、元件清单

STC89C54RD+单片机一个,晶振(11.095MHz)一个

电容:10μF 一个, 22PF 两个

电阻:10kΩ1个,1kΩ个

排阻一个,10kΩ

4位一体数码显示管一个,按钮1个。

九、参考文献

【1】51单片机应用开发案例精选王为青邱文勋人民邮电出版社2007

【2】单片机原理及应用杨恢先黄辉先人民邮电出版社

2006

【3】新概念51单片机C语言教程郭天祥电子工业出版社

2009

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

基于单片机的简易计算器设计

目录 引言 (1) 第一章设计原理及要求 (2) 1.1设计方案的确定 (2) 1.2系统的设计方案 (2) 1.3系统的设计要求 (2) 第二章硬件模块设计 (4) 2.1单片机AT89C51 (4) 2.1.1 AT89C51芯片的特点 (5) 2.1.2 管脚说明 (5) 2.1.3 振荡器特性 (7) 2.1.4 芯片擦除 (7) 2.2键盘控制模块 (7) 2.2.1 矩阵键盘的工作原理 (8) 2.2.2 键盘电路主要器件介绍 (8) 2.3LCD显示模块 (10) 2.3.1 显示电路 (11) 2.3.2 LCD1602主要技术参数 (11) 2.3.3 引脚功能说明 (11) 2.4运算模块(单片机控制) (12) 第三章软件设计 (14) 3.1功能介绍 (14) 3.2系统流程图 (14) 3.3程序 (16) 第四章系统调试 (17) 4.1软件介绍 (17) 4.1.1 Keil uVision2仿真软件简介 (17) 4.1.2 protues简介 (17)

4.2软件调试 (18) 4.2.1 软件分析及常见故障 (18) 4.2.2 仿真结果演示 (20) 4.3硬件调试 (21) 结束语 (23) 参考文献 (24) 附录 (25) 致谢 (36)

引言 计算工具最早诞生于中国,中国古代最早采用的一种计算工具叫筹策,也被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的,约二百七十枚一束,放在布袋里可随身携带。另外直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的“纳皮尔算筹”,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加、减、乘、除、乘方和开方运算,甚至可以计算三角函数、指数函数和对数函数。这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是它只能做加减运算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。

简易频率计课程设计

目录 1 技术要求及系统结构 (1) 1.1技术要求 (1) 1.2系统结构 (1) 2设计方案及工作原理 (2) 2.1 算法设计 (2) 2.2 工作原理 (3) 3组成电路设计及其原理 (6) 3.1时基电路设计及其工作原理 (6) 3.2闸门电路设计 (7) 3.3控制电路设计 (8) 3.4小数点控制电路 (9) 3.5整体电路 (10) 3.6 元件清单 (10) 4设计总结 (11) 参考文献 (11) 附录1 (12) 附录2 (17)

摘要 简易数字频率计是一种用四位十进制数字显示被测信号频率(1Hz—100KHz)的数字测量仪器.它的基本功能是测量正弦波,方波,三角波信号,有四个档位(×1,×10,×100,×1000),并能使用数码管显示被测信号数据,本课程设计讲述了数字频率计的工作原理以及其各个组成部分,记述了在整个设计过程中对各个部分的设计思路、对各部分电路设计方案的选择、元器件的筛选、以及在设计过程中的分析,以确保设计出的频率计成功测量被测信号。 关键词:简易数字频率计十进制信号频率数码管工作原理 1技术要求及结构 本设计可以采用中、小规模集成芯片设计制作一个具有下列功能的数字频率测量仪。 1.1技术要求 ⑴要求测量频率范围1Hz-100KHz,量程分为4档,即×1、×10、×100、×1000。 ⑵要求被测量信号可以是正弦波、三角波和方波。 ⑶要求测试结果用数码管表示出来,显示方式为4位十进制。 1.2 系统结构 数字频率计的整体结构要求如图1-1所示。图中被测信号为外部信号,送入测量电路进行处理、测量,档位转换用于选择测试的项目------频率、周期或脉宽,若测量频率则进一步选择档位。 图1-1 数字频率计系统结构框图 2 设计方案及工作原理 2.1 算法设计

基于LabVIEW的简易计算器设计

第1章绪论 1.1 虚拟仪器简介 虚拟仪器(virtual instrument)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。上面的框图反映了常见的虚拟仪器方案。 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是国NI公司的LabVIEW。 虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在 Microsof t公司的 Windows 诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0 以前的版本。对虚拟仪器和 LabVIEW [2]长期、系统、有效的研究开发使得该公司成为业界公认的权威。目前LabVIEW 的最新版本为 LabVIEW2011,LabVIEW 2009 为多线程功能添加了更多特性,这种特性在1998 年的版本 5 中被初次引入。使用 LabVIEW 软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEW Real-Time 工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。 普通的 PC 有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定VXI 标准,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的 VXI 机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜PXI 标准仪器。 1.2 LabVIEW简介 LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C 和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语

51单片机简易计算器程序

#include <reg51.h>#include <intrins.h> #include <ctype.h> #include <stdlib.h> #define uchar unsigned char #define uint unsigned int uchar operand1[9], operand2[9]; uchar operator; void delay(uint); uchar keyscan(); void disp(void); void buf(uint value); uint compute(uint va1,uint va2,uchar optor); uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0xff}; uchar dbuf[8] = {10,10,10,10,10,10,10,10}; void delay(uint z) { uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); } uchar keyscan() { uchar skey; P1 = 0xfe; while((P1 & 0xf0) != 0xf0) { delay(3); while((P1 & 0xf0) != 0xf0) { switch(P1) { case 0xee: skey = '7'; break; case 0xde: skey = '8'; break; case 0xbe: skey = '9'; break; case 0x7e: skey = '/'; break; default: skey = '#'; }

第02讲 简易计算器的设计

第02讲计算器 2.1 计算器简介 大家都知道,计算器是日常生活中不可缺少的一个工具,在Microsoft的Windows操作系统中,附带了一个计算器程序,有标准型和科学型两种模式。Windows XP下的标准型和科学型计算器程序分别如图2-1和图2-2所示。 图2-1 Windows XP下的标准型计算器 图2-2 Windows XP下的科学型计算器 Windows操作系统下附带的计算器程序功能相当的强大,本课我们将模仿Windows的计算器,使用Visual C# 2005开发平台开发一个功能相对简单的计算器应用程序,它能完成加、减、乘、除运算。 接下来详细的介绍简易计算器的设计方法和步骤。

2.2 界面设计及属性设置 用户界面设计是软件开发中非常重要的一个部分,用户界面的好坏直接影响软件的质量,本节将介绍如何设计简易计算器的用户界面以及界面上各控件的属性设置。 2.2.1 界面设计 打开Visual Studio 2005开发工具,新建一个Windows应用程序,然后在窗体上依次放置1个TextBox和17个Button控件,如图2-1所示(设置好属性后)。 图2-1 计算器用户界面 2.2.2 属性设置 窗体和各控件的属性设置如表2-1所示。 表2-1 窗体和各控件的属性

2.3 编写代码 本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量: //****************************************************************** double num1, num2, result; // 操作数及运算结果 bool decimalFlag = false; // 判断输入的是否为小数 string myOperator; // 操作类型 //******************************************************************

单片机简易频率计课程设计

前言 (3) 一、总体设计 (4) 二、硬件设计 (6) AT89C51单片机及其引脚说明: (6) 显示原理 (8) 技术参数 (10) 电参数表 (10) 时序特性表 (11) 模块引脚功能表 (12) 三、软件设计 (12) 四、调试说明 (15) 五、使用说明 (17) 结论 (17) 参考文献 (18)

附录 (19) Ⅰ、系统电路图 (19) Ⅱ、程序清单 (20)

前言 单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用在生活中至关重要。 随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行缓慢,而且测量频率的范围比较小.考虑到上述问题,本论文设计一个基于单片机技术的数字频率计。首先,我们把待测信号经过放大整形;然后把信号送入单片机的定时计数器里进行计数,获得频率值;最后把测得的频率数值送入显示电路里进行显示。本文从频率计的原理出发,介绍了基于单片机的数字频率计的设计方案,选择了实现系统得各种电路元器件,并对硬件电路进行了仿真。

一、总体设计 用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量. 所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率f x。时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门控电路的输出信号持续时间亦准确地等于1s.闸门电路由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数N是在1秒时间内的累计数,所以被测频率fx=NHz。 本系统采用测量频率法,可将频率脉冲直接连接到AT89C51的T0端,将T/C1用做定时器。T/C0用做计数器。在T/C1定时的时间里,对频率脉冲进行计数。在1S定时内所计脉冲数即是该脉冲的频率。见图1: 图1测量时序图 由于T0并不与T1同步,并且有可能造成脉冲丢失,所以对计数器T0做一定的延时,以矫正误差。具体延时时间根据具体实验确定。 根据频率的定义,频率是单位时间内信号波的个数,因此采用上述各种方案

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

简易数字频率计

宁波工程学院 电子信息工程学院 课程设计报告 课程设计题目:简易数字频率计 起讫时间:2011年05月23日至2011年06月03日

目录第一章技术指标 1.1整体功能要求 1.2电气指标 1.3扩展指标 1.4设计条件 第二章整体方案设计 2.1 算法设计 2.2 整体方框图 2.3 计数原理 第三章单元电路设计 3.1 波形变换电路 3.2 闸门电路设计 3.3小数点显示电路设计 第四章测试与调整 4.1 硬件测试与调整 4.2 软件测试与调整 4.3 整体指标测试 第五章设计小结 5.1 设计任务完成情况 5.2 问题及改进 5.3心得体会 附录

第一章技术指标 1.1整体功能要求 设计并制作一台数字显示的简易频率计,主要用于测量正弦波、方波等周期 信号的频率值。 1.2 电气指标 1.2.1 信号波形:方波; 1.2.2 信号幅度;TTL电平; 1.2.3 信号频率:100Hz~9999Hz; 1.2.4 测量误差:≤1%; 1.2.5 测量时间:≤1s/次,连续测量; 1.2.6 显示:4位有效数字,可用数码管,LED或LCD显示。 1.3扩展指标 1.3.1 可以测量正弦波信号的频率,电压峰-峰值VPP=0.1~5V; 1.3.2 方波测量时频率测量上限为3MHz,测量误差≤1%; 1.3.3 正弦(Vopp=0.1V~5V)测量时频率测量上限为3MHz,测量误差≤1%; 1.3.4量程自动切换,且自动切换为四位有效数字输出; 1.4设计条件 1.4.1 电源条件:+5V。 1.4.2开发平台:本系统以高速SOC单片机C8051F360和FPGAEP2C8T144为 核心,主要包括9个模块,其主要配置见表1-1。 表1-1数字电子系统设计实验平台模块一览 型号名称主要配置 MCU模块SOC单片机8051F360,CPLD芯片EMP3064TC44 74151 FPGA模块EMP3064TC44,串行配置芯片,JTAG和AS配置 接口 74153 LCD和键盘模块12864中文液晶,16个按键 7404 8位高速A/D模块30MHz8位A/D转换器ADS930,信号调理电路4518 10位高速D/A模块双路100MHz10位D/A转换器THS5651,差分放 大电路,反相器

单片机设计简易计算器

简易计算器 Simply Calculator 1 设计思想 此计算器有键盘部分、单片机、显示部分三部分组成,键盘部分主要完成输入功能;单片机主要完成数据处理功能,包括确定按键,完成运算,以及输出数据;显示器部分主要完成单片机输出的显示。 本设计的思路是利用单片机性能好,稳定性强的优点来实现系统的运行。设计大致可以分为三个步骤:第一步,硬件的选取和设计;第二步,程序的设计和调试;第三步,Protues 系统仿真。 硬件是设计的骨骼,不仅关系到设计总体方向的确定,还要综合考虑节能,环保,以及稳定性和经济性等各种因素。因此需要花费大量的时间。硬件的选取最为重要,包括选用的芯片,显示设备的选取,输入设备的选取等。本设计是通过单片机来实现的,因此选用了ATMEGA16单片机作为主体,输入设备选用矩阵键盘。程序是硬件的灵魂,是实现设计的中心环节。本设计使用的程序语言是C语言,在“ICC AVR”中运行,调试,直到运行出正确结果,然后输出后缀名为.HEX格式的文件,以备在Protues中仿真使用。程序是设计的关键,程序的调试需要大量的时间,耐心,还够要有足的细心才能成功。本设计中就出现了大量的错误,经过认真修改,最终才能运行出正确结果。最后的系统仿真是设计是否成功的验证,是设计不可缺少的重要环节。这就要求能掌握Protues的一些基本操作。2原理分析 2.1矩阵键盘的扫描 图2.1 矩阵键盘图

如图2.1所示,单片机的8个I/O口和矩阵键盘相连,用8个I/O口来控制矩阵键盘的16个按键是非常有意思的,首先我们设置单片机的PD0—PD7为输出,且PD0—PD3依次设置为低电平,而PD4—PD7设置为高电平,然后我们设置PD4—PD7为输入,而PD0—PD3仍然为输出,假如此时M1键按下,则PD0与PD4相连,因为PD0是低电平,而PD4是输入,所以PD4会被拉为低电平,同理,如果M2被按下,则PD5会被拉低,M3按下,PD6会被拉低,M4按下,PD7被拉低。这是判断有无键盘按下的过程,当我们判断是那一个键盘按下时,我们首先设置8个I/O口为输出,输出为FE,即,PD0为低电平,其他全为高电平,然后我们设置PD4—PD7为输入,如果M1被按下,则PD4会比被拉为低电平,此时会变成EE,同理可以知道M2被按下时会变为DE,M3被按下时会变为BE,M4被按下时会变为7E。同理我们可以设置8个I/O口输出FD来检测M5—M8是否被按下,设置8个I/O口输出FC来来检测M9—M12,设置8个I/O口输出F7来检测M13—M16,如果M1—M4没有被按下,就继续检测M4—M8,一次类推,就可以检测出16个按键了。在这次设计中,16个按键M1—M16所对应检测值分别为:EE,DE,BE,7E,ED,DD,BD,7D,EB,DB,BB,7B,E7,D7,B7,77。 2.2 数字显示与计算 本次设计选用的显示器是1602液晶显示器,此液晶显示器能显示32个字符,VSS接地,VDD接电源正极,E为时使能信号,R/W为读写选择端(H/L),RS为数据/命令选择端(H/L),D0—D7为数据I/O口。 首先我们初始化液晶显示器,然后显示出第一个被按下的数,并且使光标右移,如果有第二个数按下,则据继续显示,以此类推,然后把所有显示出来的数换算成一个数,如果按下“+”号,则显示出“+”,并且同理显示出“+”号后面按下的数字,然后调用加子程序,运算出结果,如果按下的是“-”,则调用减子程序,如果按下“*”,则调用乘子程序,如果按下“/”,则调用除子程序。然后再调用显示结果子程序,显示出结果。

简易频率计设计(数电课设)

简易频率计设计 1、设计目的 综合运用数字电子技术相关知识设计具有指定用途的数字电路,学会由分立器件与集成电路组成电子电路的方法。 2、设计任务 设计一简易频率计,要求如下: (1)频率测量范围:0—99Hz (2)输入电压幅度:300mv~5v (3)输入信号波形:方波、正弦波、三角波等周期信号 (4)显示位数:2位 3、设计要求 (1)合理的设计硬件电路,说明工作原理及设计过程,画出相关的电路原理图; (2)选择常用的电器元件(说明电器元件选择的过程和依据);(3)对设计的电路进行仿真,验证各性能指标; (4)按照规范要求,按时提交课程设计报告,并完成答辩。 4、参考资料 (l)李立主编. 电工学实验指导. 北京:高等教育出版社,2005(2)高吉祥主编. 电子技术基础实验与课程设计. 北京:电子工业出版社,2004 (3)谢云等编著. 现代电子技术实践课程指导. 北京:机械工业出版社,2003

目录 一、设计方案的选择(原理) (3) 二、电路设计计算与分析 (4) 1.单元模块的设计 (4) (1)整形电路 (4) (2)时基电路 (6) (3)计数电路 (8) (4)锁存电路 (9) (5)译码显示电路 (9) 2.电路中集成器件 (10) (1)555定时器 (11) (2)74HC160 (12) (3)74HC373 (13) (4)74LS48 (13) 3.电路参数分析 (15) 三、总结及心得 (16) 四、附录: (17) 五、参考文献 (19)

一、设计方案的选择(原理) 运用555定时器构成的多谐振荡器电路,使其产生时钟脉冲,即为有一定频率或周期的方波信号,再使用一个555定时器构成的施密特电路对待测波形进行调整,无论待测信号为方波、三角波还是正弦波都可以调成同一周期的方波信号,然后用一个与门将两个555产生的不同方波连接起来再与两个计数器连接,目的是为了当计数器在多谐震荡器输出一秒的高电平的情况下使计数器正确计数一秒内待测信号的高电平出现数目。计数器的输出连接一个锁存器,能将所需数字即待测信号的频率正确锁定,最后是译码器和七段显示器,显示出正确的频率。如果一次循环结束,将电源断开即计数结束。方案的原理如图1.1所示: 图 1.1 设计方案的方框图

单片机简易计算器设计

单片机简易计算器设计 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

一、设计要求 1.设计4*4的键盘,其中10个数字键0~9,其余6个为“+”“-”“*”“/”“=”和“C” 2.设计2位LED接口电路 3.实现1位数的简单运算 二、硬件系统设计 1、LED接口电路 简易计算器需要2位8段码LED显示电路。用8031单片机经8255A扩展2位8段码LED显示器,用8255A的A口作为段码(字形代码)数据口,PB0和PB1作为位控制端口。在位控制口加集电极开路的反相高压驱动器74LS06以提供驱动LED显示器所需的足够大的电流,然后接至各数码显示器的共阴极端。同理,在段码数据口集电极开路的正相高压驱动器74LS07提供足够大的电流,然后接到数码显示器的各段。逻辑电路结构如下:

2、键盘接口电路 简易计算器需要4*4的行列式键盘。用8031单片机经8255A扩展4*4行列式键盘,8255A的B口和C口用于扩展键盘接口,B口高4位作为输出口,C口低4位作为输入口。逻辑电路结构如下: 3、计算器逻辑电路图 将LED接口电路和键盘接口电路结合到一起就是简易计算器的逻辑电路图,如下: 三、软件设计 1、LED显示程序设计 LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如下图所示:

为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字0~9的共阴极字形代码如下表: 0~9七段数码管共阴级字形代码 2位LED显示的程序框图如下: 2、读键输入程序设计 为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。为了得到被按键的键码,现使用行扫描法识别按键。其程序框图如下: 3、主程序设计 (1)数值送显示缓冲程序设计 简易计算器所显示的数值最大位两位。要显示数值,先判断数值正负,如果是负值,则符号位显示“-”,然后将数值除以10,余数送显最最低位,判断商是否为0,若为0则返回,若不为0,则将商除以10,将余数送显高位。程序框图如下: (2)运算主程序设计

简易数字频率计设计报告

简易数字频率计设计报告 目录 一.设计任务和要求 (2) 二.设计的方案的选择与论证 (2) 三.电路设计计算与分析 (4) 四.总结与心得..................................... 错误!未定义书签。2 五.附录........................................... 错误!未定义书签。3 六.参考文献....................................... 错误!未定义书签。8

一、 设计任务与要求 1.1位数:计4位十进制数。 1.2.量程 第一档 最小量程档,最大读数是9.999KHZ ,闸门信号的采样时间为1S. 第二档 最大读数是99.99KHZ ,闸门信号采样时间为0.1S. 第三档 最大读数是999.9KHZ ,闸门信号采样时间为10mS. 第四档 最大读数是9999KHZ ,闸门信号采样时间为1mS. 1.3 显示方式 (1)用七段LED 数码管显示读数,做到能显示稳定,不跳变。 (2)小数点的位置随量程的变更而自动移动 (3)为了便于读数,要求数据显示时间在0.5-5s 内连续可调 1.4具有自检功能。 1.5被测信号为方=方波信号 二、设计方案的选择与论证 2.1 算法设计 频率是周期信号每秒钟内所含的周期数值。可根据这一定义采用如图 2-1所示的算法。图2-2是根据算法构建的方框图。 被测信号 图2-2 频率测量算法对应的方框图 输入电路 闸门 计数电路 显示电路 闸门产生

整体方框图及原理 频率测量:测量频率的原理框图如图2-3.测量频率共有3个档位。被测信号经整形后变为脉冲信号(矩形波或者方波),送入闸门电路,等待时基信号的到来。时基信号有555定时器构成一个较稳定的多谐振荡器,经整形分频后,产生一个标准的时基信号,作为闸门开通的基准时间。被测信号通过闸门,作为计数器的时钟信号,计数器即开始记录时钟的个数,这样就达到了测量频率的目的。 周期测量:测量周期的原理框图2-4.测量周期的方法与测量频率的方法相反,即将被测信号经整形、二分频电路后转变为方波信号。方波信号中的脉冲宽度恰好为被测信号的1个周期。将方波的脉宽作为闸门导通的时间,在闸门导通的时间里,计数器记录标准时基信号通过闸门的重复周期个数。计数器累计的结果可以换算出被测信号的周期。用时间Tx来表示:Tx=NTs 式中:Tx为被测信号的周期;N为计数器脉冲计数值;Ts为时基信号周期。时基电路:时基信号由555定时器、RC组容件构成多谐振荡器,其两个暂态

简易计算器课程设计

评阅教师评语:课程设计成绩 考勤成绩 实做成绩 报告成绩 总评成绩指导教师签名: 课程设计报告 论文题目基于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芯片进行运算从而

简易数字式频率计仿真设计

简易数字频率计仿真设计报告 班级学号姓名平时成绩答辩成绩报告成绩总分122039304 杨现涛30 122039310 郭慧泽30

目录 一、设计要求 (2) 二、设计过程 (2) 三、元器件清单 (3) 四、电路连线图 (4) 放大整形电路图 (4) 单脉冲发生器电路图 (4) 闸门电路电路图 (5) 计数部分电路图 (5) 译码显示电路图 (6) 整体电路图 (7) 五、实验(仿真结果) (8) 六、出现的问题及解决方法 (8)

一)设计要求 1)设计一个单脉冲发生器,其脉冲宽度t与手动按钮时间长短无关,与两次按钮的时间间隔无关,仅与时钟脉冲频率有关,且有下列关系: t=1/f1 2)设计一个四位十进制计数器,实现0000-9999计数。 3)将上述两种电路图组成一个简易数字式频率计。实现如图效果: 0-1 1清零信号1清 11111清零清零信号 二、设计过程 根据实验要求,要完成数字式频率计的设计任务就要了解其中包含的电路以及用到的知识及元器件。 首先经过查阅资料了解数字是频率计的原理和工作过程,下面简单介绍一下数字是频率计。数字式频率计是一种用数字显示的频率测量仪表,它不仅可以测量正弦信号、方波信号和尖脉冲信号的频率,而且还能对其他多种物频率进行测量,诸如机械振动次数,物体转动速度,明暗变化的闪光次数,单位时间里经过传送带的产品数量等等,这些物理量的变化情况可以有关传感器先转变成周期变化的信号,然后用数字频率计测量单位时间内变化次数,再用数码显示出来。

接地 3 双刀开关 1 导线若干 四、电路连线图 1、放大整形电路 该电路采用的是555多谐振荡器,并连接了电容,主要作用是整形波形,使进来的各种波形整形成标准的方波,以便计数器计数,具体图形如下图: 2、单脉冲发生器电路图 该部分电路图主要是采用了两片74LS74D系列的D触发器,将其两侧串联起来,从一个CP端输入f1=1hz的基准信号,另一CP端接0-1按钮,按下按钮,输出两种信号,一种为宽度为1s的单脉冲信号,用于开启闸门,另一种为清零信号,使计数器清零,具体电路图如下:

基于单片机的简易计算器设计

2013 - 2014 学年_一_学期 山东科技大学电工电子实验教学中心 创新性实验研究报告 实验项目名称__基于51单片机的简易计算器设计_ 2013 年12 月27 日

四、实验内容

2、实验内容 (一)、总体硬件设计 本设计选用AT89C52单片机为主控单元。显示部分:采用六位LED动态数码管显示。按键部分:采用2*8键盘;利用2*8的键盘扫描子程序,读取输入的键值。 (二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用两条I/O 线作为行线,八条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为2×8个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口和另一个P口的两个管脚实现16个按键功能,这种形式在单片机系统中也最常用。 矩阵键盘布局图: 矩阵键盘内部电路图如下图所示:

(三)、LED显示模块 本设计采用LED数码显示来显示输出数据。通过D0-D7引脚向LED写指令字或写数据以使LED实现不同的功能或显示相应数据。 (四)运算模块(单片机控制) MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。

简易数字显示频率计的设计

简易数字显示频率计的设计 摘要:本文应用NE555构成时钟电路,7809构成稳压电源电路,CD4017构成控制电路,CD40110和数码管组成计数锁存译码显示电路,实现可测量1HZ-99HZ这个频段的数字频率计数器。 关键词:脉冲;频率;计数;控制 1 引言 在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量显得很重要。测量频率的方法有很多,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。 2 电子计数器测频方法 电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率、转速、声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器。 3 简易数字频率计电路组成框图 本设计主要运用数字电路的知识,由NE555构成时钟电路,7809构成稳压电源电路,CD4017构成控制电路,CD40110和数码管组成计数锁存译码显示电路。从单元电路的功能进行划分,该频率计由四大模块组成,分别是电源电路、时钟电路(闸门)、计数译码显示电路、控制电路(被测信号输入电路、锁存及清零)。电路结构如图1所示。 图1 简易数字频率计电路组成框图 4 单元模块电路设计

4.1电源电路 在电子电路中,通常都需要电压稳定的直流电源供电。小功率的稳压电源的组成如图2所示,它由电源变压器、整流电路、滤波电路和稳压电路四部分组成。 图2 电源电路 220V市电经220V/12V变压器T降压,二极管桥式整流电路整流,1000uF电容滤波后送人7809的输入端(1脚)。7809的第二脚接地,第三脚输出稳压的直流电压,C7、C8是为了进一步改变输出电压的纹波。红色发光管LED指示电源的工作状态,R9为LED的限流电阻,取值为5.1K。 4.2 时钟电路 电路如图3所示,由NE555构成的多谐振电路,3脚输出振荡脉冲,其中LED为黄色发光二极管,R1为5.1K,R2为1K,R3为10K,C1,C5为100UF,C4为0.01UF,C2为1000PF,R PE 选取10K。 图3 时钟电路 4.3计数、显示电路

简易计算器设计实验报告

简易计算器设计实验报告 一.设计任务及要求 1.1实验任务: 根据计算器的原理设计一个具有加减乘除功能的简易计算器。如:5+3*4/8=4。 1.2 实验基本要求: (1)实现最大输入两位十进制数字的四则运算(加减乘除)。 (2)能够实现多次连算(无优先级,从左到右计算结果)。 如:12+34*56-78/90+9=36 (3)最大长度以数码管最大个数为限,溢出报警。 二.实验设计方案 (1)用QuartusII的原理图输入来完成系统的顶层设计。 (2)用VHDL编写以及直接拖模块来各功能模块。 (3)通过2个脉冲分别实现个位数和十位数的输入。 (4)通过选择每次的输出数值,将输出值反馈到运算输入端 (4)通过除法运算实现十六进制到十进制的转换输出。 其具体实现流程图如下:

三系统硬件设计 FPGA: EP2C5T144C8目标板及相应外围硬件电路。(从略) 四系统软件设计 1.数据输入模块 原理:用VHDL创建模块,通过两个脉冲分别对两个数码管进行输入控制,再通过相应运算模块将两个独立数据转化成两位十进制数字。 2.运算模块 原理:用VHDL创建模块,四种运算同步运行,通过按键加、减、乘、除选择输出对应的计算结果,当按键等号来时,将所得结果反馈给运算模块输入端。具体实现代码见附录二。 3.输出模块 原理:用VHDL创建模块,通过按键等号来控制显示运算对象还是运算结果,当等号按下时,输出计算结果,否则显示当前输入的数据,并且通过除法模块将十六进制转化为十进制。当输出结果溢出是LED0亮,同时数码管显示都为零。部分实现见附录二。 五实验调试 输入数据12,再按加法键,输入第二个数字25,按等号键,数码管显示37;按灭加法、等号键,输入第二个数据2,依次按等号键,减法键,数码管显示35;同上,按灭减法键、等号键,输入第三个数据7,依次按等号键,除法键,数码管显示5;按灭除法键、等号键,输入第四个数据99,依次按等号键,乘法键,数码管显示495,按灭乘法键、等号键,当前显示为99,依次按等号键、乘法键,数码管显示49005,同上进行若干次之后,结果溢出,LED0亮,同时数码管显示都为零。当输出为负数时,LED0灯变亮,同时数码管显示都为零。六实验结论 本实验基本实现了计算器的加减乘法运算功能,但是存在一个突出的缺陷,就是当输出结果时,必须先按等号键导通数据反馈,再按运算键选择输出结果。这与实际应用的计算器存在很大的差距。但是,本设计可以通过等号键实现运算对象和运算结果之间的切换。

相关主题
文本预览
相关文档 最新文档