当前位置:文档之家› 基于单片机的频率计数器(1)

基于单片机的频率计数器(1)

基于单片机的频率计数器(1)
基于单片机的频率计数器(1)

设计内容与设计要求

设计内容:

本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果通过6位动态数码管显示出来。要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

设计要求:

1.设计方案要合理、正确;

2.系统硬件设计;

3.完成必要元器件选择;

4.系统软件设计及调试;

5.写出设计报告。

主要设计条件

1.MCS-51单片机实验操作台1台;

2.PC机及单片机调试软件;

3.单片机应用系统板1套;

4.制作工具1套;

5.系统设计所需的元器件。

说明书格式

课程设计封面

课程设计任务书

目录

一、设计的内容、要求及目的

二、系统总体方案选择与说明

三、系统方框图与工作原理

四、各部分方案选定、功能及计算

五、器件说明

六、应用系统的程序设计

七、调试说明、使用说明

八、设计总结

九、参考文献

附录:程序清单,设计电路原理图

进度安排

设计时间分为二周

第一周

星期一、上午:布置课题任务,课题介绍及讲课。

下午:借阅有关资料,总体方案讨论。

星期二、确定总体方案,学习与设计相关内容。

星期三、各部分方案设计。

星期四、各部分设计。

星期五、设计及上机调试。

第二周

星期一:设计及上机调试。

星期二:调试,中期检查。

星期三:调试、写说明书。

星期四--星期五上午:写说明书、完成电子版并打印成稿。星期五下午:答辩。

目录

第1章频率计数器设计………………………………………………

1.1设计内容、要求及目的…………………………………………

1.2 基本原理与总体方框图………………………………………

第2章硬件系统设计……………………………………………

2.1各部分方案及说明………………………………………………

2.1.1 单片机部分…………………………………………………

2.1.2 状态译码器…………………………………………………

2.1.3数据显示电路………………………………………………………第3章软件系统设计……………………………………………

3.1 应用系统的程序设计………………………………………………

3.1.1 1s定时………………………………………………………………

3.1.2 T1计数程序………………………………………………………

3.1.3 进制转换………………………………………………………

3.1.4 数码显示………………………………………………………

3.2 程序调试………………………………………………………………第4章设计总结体会……………………………………………

参考文献………………………………………………………………

附录………………………………………………………………………………

第1章频率计数器设计

1.1 设计的内容、要求及目的

设计内容:

本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果通过6位动态数码管显示出来。

要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。

设计要求:

1.设计方案要合理、正确;

2.系统硬件设计;

3.完成必要元器件选择;

4.系统软件设计及调试;

5.写出设计报告

实验目的

本应用系统实验的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。

1.2 基本原理与总体方框图

基本原理

频率计数器的主要功能是测量周期信号的频率。频率是单位时间( 1S )内信号发生周期变化的次数。如果我们能在给定的 1S 时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。测量过程中定时/计数器T0和T1的工作方式设置,T1是工作在计数状态下,对输入的频率

信号进行计数,在本次设计使用的98C51单片机,由于检测一个由“1”到“0”的跳变需要两个机器周期,前一个机器周期测出“1”,后一个周期测出“0”。故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一,最大计数值为f OSC /24,由于f OSC =12MHz ,因此:T1的最大计数频率为0.5mHz 。对于频率的概念就是在一秒只数脉冲的个数,即为频率值。所以T0工作在定时状态下,每定时1秒中到,就停止T0的计数,而从T0的计数单元中读取计数的数值,然后进行数据处理。送到数码管显示出来。 总体方框图

课题设计的是一种以单片机为主控制的频率计。数字频率计主要由以下几部分组成:定时计数、采集数据、进制转换和数码显示。 本课题主要是以单片机AT89C51 为核心, 通过计数电路, 以及软件程序的编写, 实现脉冲频率的显示。频率计系统总体框图如下:

图1 频率计系统总体框图

段选

位选

A T89C51 单片机

外部脉冲信号

中断响应

1s 定时 同时开始计数

关闭中断

频率数据采集

进制转换

74LS 138译码电路

数码管显

第2章硬件系统设计

此次设计要求制作一频率计系统,需要使用的硬件主要包括51单片机芯片,74LS138译码器和数码管。另外还是用到排线若干,下载线及电源线。

2.1 各部分方案选定、功能

2.1.1 单片机部分

本次设计采用了AT89C51 单片机, AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。如图2所示:

图2 AT89C52引脚图

AT89C51拥有五个中断源,当有外部脉冲到来时可实现中断的响应,另外AT89C51拥有定时/ 计数器(T0、T1),可实现定时与计数的功能。单片机AT89C51的P0、P2的4个8位并行I/O口可进行外部存储设备扩展。

2.1.2 状态译码器(74LS138)

图3 74LS138译码器

74LS138译码器输出的状态控制数码管的亮与灭,它有6个状态,连接到数码管的位选,达到点亮数码管点亮的要求。

2.1.3 数据显示电路

图4 显示电路图

数据显示电路由限流电路和7段数码管组成,采用器件LED 显示器。本设计中采用了六个七段数码管进行数据显示, 将五个数码管串接起来进行显示, 显示数据即是对频率计的测量结果。

系统板上硬件连线:

(1)把“单片机系统”中的P0.0-P0.7口连接动态数码的段选ABCDEFGH 端口。

(2)把“单片机系统”中的P2.0-P2.2与译码器74LS138的A、B、C、引脚相连,再把译码器经“非门”与“动态数码显示”区域中的1、2、3、4、5、6端口用6芯排线连接。

(3)把“单片机系统”中的P3.5(T1)端子用导线连接到“频率源”的端子上。

(4) 把P3.2(/INT1)与按键连接。

第3章 软件系统设计

3.1 应用系统的程序设 3.1.1 1s 定时

采用T0定时50ms ,连续循环定时20次即可完成1s 定时,用一个计数单元20H 存放循环的次数,每一次循环20H 单元自减1,当20H 单元为零时则1s 定时到时。其程序流程图如图5所示。

图5 1s 定时流程图

Y

N

Y N

开始

初始化T0

是否启动定时器 等待中断

启动定时器 产生中断 20H-1=0?关闭中断

重装初值

结束

3.1.2 T1计数程序

设计中T1采用计数功能,思路是除了计数器T1的TH1和TL1用于计数外,再选用一个计数单元23H,每当计数器T1溢出回零时产生中断,中断程序执行23H单元自增1,这样,当一秒到时时采集的计数数据,23H单元存放的是数据的最高位,TH1存放的是数据的次高位,TL1存放的是数据的最低位。当然,这里所说的“最高位”“次高位”以及“最低位”都是针对十六进制而言的。T1计数程序的流程图如图6所示。

图6 T1计数流程图

开始

23H=0

T1初始化

置初值0

计数开始

计数溢出

产生中断

23H=23H+1

1s到时否?

采集数据

N

Y

3.1.3 进制转换

算法的基本思路是:第一步将最高位的高半字节提出来,除以10,把商存储起来,余数与最高位的低半字节组合成一个字节,再除以10,再存储商,余数以此类推,直到最后一次计算得到的余数即为十进制数的个位;第二步把第一步存储的商组合成一个字节,依次除以10,仍然把每次得到的商存储起来,以此类推最后一次得到的余数即为十进制数的十位;以后也是以此类推得到十进制数的百位、千位……以上算法必须要注意的一个为题是,每次得到的余数与低位的半字节组合成一个字节时,余数必须放在该字节的高半字节,否则计算错误。该本次频率计系待测的时钟信号的最高频率为460800Hz,对应的十六进制数为70800H,这里就以70800H转换为十进制数为例来说明这种算法。

第一步:用7H除以10,商0H余7H,把商0存储在24H单元,余数7H与下一个字节08H的高半字节0H组合成一个字节70H。70H除以10,商BH余2H,把商BH存储在25H单元,余数2H与8H组合成一个字节28H。28H除以10,商4H余0H,把商4H存储在26H单元,余数0H与0H组合成一个字节00H。00H除以10,商0H余0H,把商0H存储在27H单元,余数0H与0H组合成一个字节00H。00H除以10,商0H余0H,把商0H存储在28H单元,余数0即为所需十进制数的个位。

第二步:把存储在24H与25H单元的商组合成一个字节0BH。0BH除以10,同第一步,存储商,余数与下一个商组合成一个字节,再除以10,一次类推得到十进制数的十位0。

第三步:方法同第二步,得到十进制数的百位8。

第四步:方法同第三步,得到十进制数的千位0。

第五步:方法同第四步,得到十进制数的万位6和十万位4。

最后得到了十进制数460800。

3.1.4 数码显示

将十进制数转换为相应的LED 显示的代码,最容易实现的编程方法就是查表,因数码管最多只需要显示六位,只需要查六次表就可以了,图7是将十进制数对应的LED 显示代码存入以60H 为首单元的流程图。

图7 十进制数转换为显示代码流程图

开始

R0=#50H R1=#5FH R2=#6DPTR=#TAB

@R0→A

@A+DPTR →A

R0+1→R0R1+1→R1

A →@R1

R2-1=0?

结束

Y N

3.2 程序的调试

编写的频率计总体程序编译成HEX文件,写入51单片机内,在观察数码管显示的时候,发现高位的“0”仍然能够显示,而通常十进制的高位的“0”通常是省略的。为了解决这个问题,需要另外添加一段屏蔽高位的“0”的程序。具体程序编写如下:

PINGBI: MOV 20H,#06H

MOV R1,#55H

PANDUAN:MOV A,@R1

JNZ SCANNUM

DEC R1

DEC 20H

AJMP PANDUAN

程序经过调试以后,数码管从高位第一位不为“0”的数开始显示。

参考文献

1、《单片机原理与应用》王迎旭等编机械工业出版社

2、《51系列单片机设计实例》楼然苗等编北京航空航天大学出版社

3、《计算机硬件技术基础实验教程》黄勤等编重庆大学出版社

4、《微型计算机接口技术及应用》刘乐善主编华中科技大学出版社

5、《单片微型计算机原理及接口技术》陈光东等华中科技大学出版社

附录1

源程序清单:

ADD A,25H

MOV B,#0AH

DIV AB

MOV 24H,A ;存储第一位商

MOV A,B M EQU 15

N EQU 5

ORG 0000H

AJMP MAIN

ORG 0003H

AJMP CNINT0

ORG 000BH

AJMP T0INT

ORG 001BH

AJMP T1INT

ORG 0030H

MAIN:MOV SP,#70H

MOV IE,#8BH ;开放EA、T1、T0中断

MOV TMOD,#51H;初始化程序

MOV TH0,#3DH

MOV TL0,#71H

MOV 20H,#20

MOV TH1,#00H

MOV TL1,#00H

MOV 21H,#00H

MOV 22H,#00H

MOV 23H,#00H

SETB IT0

SJMP $

CNINT0:SETB TR0

SETB TR1

RETI

T0INT:DJNZ 20H,NEXT1;定时中断服务程序

CLR TR1

CLR TR0

MOV 22H,TH1

MOV 21H,TL1

AJMP TRANSBD

NEXT1:MOV TH0,#3CH

MOV TL0,#0B0H

EXIT:RETI

T1INT:INC 23H;计数中断服务程序

RETI

TRANSBD:MOV SP,#70H;将十六进制数转换成十进制数MOV A,23H

MOV B,#0AH

DIV AB

MOV 24H,A ;存储第一位商

MOV A,B

MOV 30H,22H

ANL 30H,#0F0H

ADD A,30H

SWAP A

MOV B,#0AH

DIV AB

MOV 25H,A ;存储第二位商

MOV A,B

SWAP A

ADD A,22H

MOV B,#0AH

DIV AB

MOV 26H,A ;存储第三位商MOV A,B

MOV 30H,21H

ANL 30H,#0F0H

ADD A,30H

SWAP A

MOV B,#0AH

DIV AB

MOV 27H,A ;存储第四位商MOV A,B

SWAP A

ANL 21H,#0FH

ADD A,21H

MOV B,#0AH

DIV AB

MOV 28H,A ;存储第五位商MOV 50H,B ;存储十进制数个位MOV A,24H

SWAP A

SWAP A

ADD A,26H

MOV B,#0AH

DIV AB

MOV 25H,A ;存储第二位商MOV A,B

SWAP A

ADD A,27H

MOV B,#0AH

DIV AB

MOV 26H,A ;存储第三位商MOV A,B

SWAP A

ADD A,28H

DIV AB

MOV 27H,A ;存储第四位商MOV 51H,B ;存储十进制数十位MOV A,24H

SWAP A

ADD A,25H

MOV B,#0AH

DIV AB

MOV 24H,A ;存储第一位商MOV A,B

SWAP A

ADD A,26H

MOV B,#0AH

DIV AB

MOV 25H,A ;存储第二位商MOV A,B

SWAP A

ADD A,27H

MOV B,#0AH

DIV AB

MOV 26H,A ;存储第三位商MOV 52H,B ;存储十进制数百位MOV A,24H

SWAP A

ADD A,25H

MOV B,#0AH

DIV AB

MOV 24H,A ;存储第一位商MOV A,B

SWAP A

ADD A,26H

MOV B,#0AH

DIV AB

MOV 25H,A ;存储第二位商MOV 53H,B ;存储十进制数千位MOV A,24H

SWAP A

ADD A,25H

MOV B,#0AH

DIV AB

MOV 54H,B ;存储十进制数万位

MOV 55H,A ;存储十进制数十万位

DISPLAY:MOV R0,#60H;对60H-65H清零

MOV R1,#06H

NEXT2: MOV @R0,#00H

INC R0

DJNZ R1,NEXT2

MOV R0,#50H;将数码管要显示的频率送到60H开头的内存MOV R1,#5FH

MOV R2,#06H

MOV DPTR,#TAB

NEXT3: MOV A,@R0

MOVC A,@A+DPTR

INC R0

INC R1

MOV @R1,A

DJNZ R2,NEXT3

PINGBI: MOV 20H,#06H

MOV R1,#55H

PANDUAN:MOV A,@R1

JNZ SCANNUM

DEC R1

DEC 20H

AJMP PANDUAN

SCANNUM:MOV R0,#60H;将60H开始的数送到数码管显示

MOV R1,#00H

MOV R2,20H

LIGHT: MOV A,@R0

MOV P0,A

MOV A,R1

MOV P2,A

INC R0

按键实现0~9999计数器 单片机

按键调节数码管显示 功能:通过按键加减数码管所显示的数字 按下k1加1,最大加到9999 按下k2减1,最小减到0 按下k3清零复位 C语言程序 //---------------------------------------------------------------------- //名称:按键调节数码管显示 //---------------------------------------------------------------------- //功能:通过按键加减数码管所显示的数字 // 按下k1加1,最大加到9999 // 按下k2减1,最小减到0 // 按下k3清零复位 //---------------------------------------------------------------------- //姓名:陈润源 //地点:内江职业技术学院 //时间:2019年4月6日21:40:41 //---------------------------------------------------------------------- #include #define uchar unsigned char #define uint unsigned int sbit k1 = P1^0; //加 sbit k2 = P1^1; //减

sbit k3 = P1^2; //复位 void key(void); void display(void); uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90}; //数组 char m=99,n=98; //显示初值,m,n的值决定开机显示数值 //**************************************** //延时程序 //**************************************** void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } //*********************************************** //显示程序 //*********************************************** void display(void) { P2=0X08; P0=table[m%10]; //显示个位 delayms(5); P2=0X04; P0=table[m/10]; //显示十位 delayms(5); P2=0X02; P0=table[n%10]; //显示百位 delayms(5); P2=0X01; P0=table[n/10]; //显示千位 delayms(5); } //*************************************************** //按键处理 //*************************************************** void key() { if(k1==0) //检测按键是否被按下 { //延时消抖 delayms(10); if(k1==0) //再次检测是否真正按下按键 { m++; //m自加一 if(m>=100) //如果m加到100则n加一 (限制m的取值范围) 个位、十位最大显示99 {

基于单片机的计数器设计

湖南科技大学 单片机课程设计 题目基于单片机的计数器设计 姓名李建雄 学院机电工程学院 专业测控技术与仪器 学号09030303 指导教师戴巨川 成绩

二〇一二年六月二日 摘要 本设计是根据我们所学习的单片机课程,按照课程要求进行的课程检验。单片机技术是一个不可或缺的技术,尤其是对于我们测控技术与仪器专业来说它是我们必须要掌握的技能之一,使我们未来工作和生活的根本。现在的社会是一个信息科技高速发展的社会,也是一个电子技术和微机计算机迅速发展的时代,单片机的档次和水平在不断的提高,其应用的领域和X围也越来越广,成为现代电子系统中最重要的智能化核心部分。 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的X围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。 现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。计数器的应用X围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、

制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。 目录 第一章系统的功能要求 (4) 1.1系统设计的要求及主要内容应解决的问题 (4) 第二章方案论证 (4) 2.1设计方案选择 (4) 2.2设计原理 (5) 第三章系统硬件电路设计 (6) 3.1最小系统设计 (6) 3.2原理图 (9)

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章概述 (1) 1.1设计内容 (1) 1.2设计要求 (1) 1.3设计目的 (1) 第2章设计方案 (2) 2.1 测频原理 (2) 2.2 设计总体思路 (2) 第3章各模块硬件设计及说明 (3) 3.1 单片机的选择与说明 (3) 3.2 方波发生器电路设计 (4) 3.3 晶振电路的设计 (4) 3.4 复位电路设计 (5) 3.5 数码管显示电路设计 (6) 第4章软件部分的设计 (8) 4.1 软件设计思路 (8) 4.2 软件设计流程图 (9) 4.3 源程序编写 (9) 第5章系统的仿真与调试 (12) 第6章总结与体会 (14) 参考文献 (15) 附录:频率计数器电路图 (16)

第1章概述 1.1设计内容 以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果通过6位动态数码管显示出来。要求能够对0-250KHZ 的信号频率进行准确计数,计数误差不超过±1HZ。 1.2设计要求 (1)设计方案要合理、正确; (2)系统硬件设计; (3)完成必要元器件选择; (4)系统软件设计及调试; (5)写出设计报告。 1.3设计目的 (1)了解定时、计数器的结构及其工作原理; (2)掌握单片机的定时、计数器的控制方式; (3)掌握应用单片机进行频率测试控制的原理; (4)能根据设计任务要求编制数显频率计数器的程序,理解程序对计数器的控制原理; (5)会利用电路仿真软件绘制数显频率计数器的电路原理图; (6)会用KeilC51软件对源程序进行编译调试及与Proteus软件联调,实现电路仿真。

第2章设计方案 2.1 测频原理 以被测信号整形后的方波脉冲作为控制闸门信号, 采用单片机内部的定时器计数器进行计数。方波脉冲的上升沿到达, 定时器计数器开始从零启动计数, 每一机器周期, 计数器加1, 直到方波脉冲的下降沿到达, 计数器则停止计数, 此时, 计数器内存储的是脉宽的机器周期数的2倍。由于单片机内部振荡频率很高, 故允许有一个机器周期的量化误差。 设定时器计数器内存储的机器周期数为N, 机器周期为Tc, 则信号周期为 T=2N×Tc (1) 于是,信号频率为 f=1/T=1/(2N×Tc) (2) 2.2 设计总体思路 在设计频率计数器前,需要先设计一个简单的输入信号发生器,在本课题我们选择设计一个简易的方波发生器,频率可以自行调整。 频率计数器的设计包括频率计数和显示电路的的设计,频率计数需包含复位,译码功能,显示电路的功能要求能通过6位动态数码管将计数频率的结果显示出来。 频率计数器的设计需先利用相应的编程软件设计出程序,编译通过后在利用仿真软件仿真出正确的结果。 总设计框图如下: 频率计数器总设计框图

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

目录 引言 (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年代末才有电子计算器的出现。

基于单片机的频率计数器

基于C52单片机的数字式频率计设计

目录 第1章频率计数器设计 (2) 1.1设计内容、要求及目的 (2) 1.2基本原理与总体方案 (3) 第2章硬件系统设计 (4) 2.1各部分方案及说明 (4) 2.1.1 单片机部分 (4) 2.1.2数据显示电路 (5) 第3章软件系统设计 (8) 3.1 应用系统的程序设计 (8) 3.1.1 频率测试程序 (8) 3.1.2 数值显示 (10) 3.1.3 LCD显示 (10) 第4章测试数据 (12) 第5章设计总结体会 (13) 参考文献 (14) 附录1 (15) 附录2 (20)

第1章频率计数器设计 1.1 设计的内容、要求及目的 设计内容: 本课题以AT89C52单片机为核心,设计和制作一个数字式频率计,来完成对输入的信号进行频率计数,计数的频率结果通过LCD1602显示出来。要求能够对10Hz-100KHz的方波信号和正弦信号的频率进行测量。 设计要求: 1.设计方案要合理、正确; 2.系统硬件设计; 3.完成必要元器件选择; 4.系统软件设计及调试; 5.撰写设计报告 实验目的: 本实验的目的是设计一种基于C52单片机的数字频率计,可以测试信号发生器产生的方波信号和正弦信号的频率,课设要求频率范围10Hz-100kHz,且在显示设备上准确显示信号频率。把在“单片机原理及应用”课堂上学习的知识运用于实践,并通过查阅相关资料,来丰富对单片机的认识和使用,培养一种自学和动手的能力。同时,引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全面提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。 1.2 本设计的基本原理与总体方案

单片机频率计数器课程设计

课程设计报告 课程名称:单片机课程设计 题目:基于单片机的频率计数器设计 学院:环境与化学工程系:过程装备与测控工程 专业: 班级: 学号: 学生姓名: 起讫日期: 指导教师:

摘要 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。本课程设计主要设计一个简易的频率计,来实现信号在0-9999HZ范围内周期变化的方波频率的测定。 该文主要介绍了基于STC89C52 单片机频率计的设计方案和实现方法,该系统主要由硬件和软件两部分组成,其中重点给出了具体硬件电路图和软件流程图以及具体工作原理。硬件部分通过洞洞板的布线设计帮助,可以确保焊接时尽量少的飞线和出错。软件通过keil μvision编译及调试,其中在P1.7口编入了一个5500HZ的方波,用以仿真调试该频率计的软硬件功能是否能够实现输出频率的功能。另外,本设计多增加了一个按键功能,通过一个按键来控制定时计数器的开始和关闭。该频率计还带有3*3的矩阵键盘,可以作为扩展应用区,通过编程实现。本设计中用的是LED共阴数码管,输出频率时采用的事动态显示的方法。 关键词:频率计;单片机;动态显示

目录 一、频率计数器的设计任务和要求 (1) 1.1 频率计数器的设计任务 (1) 1.2 设计要求及发挥部分 (1) 二、方案的总体设计 (1) 2.1 方案的设计 (1) 2.2 方案的整体框图 (2) 2.3 方案的说明 (2) 三、硬件设计 (2) 3.1 单片机的最小系统 (2) 3.1.1 上电复位电路 (2) 3.1.2 晶振电路 (3) 3.2 LED数码管显示电路 (3) 3.3 整体电路 (4) 四、软件设计 (4) 4.1 程序流程图 (5) 4.2 初始化子函数 (5) 4.3 延时子函数 (5) 4.4 中断子函数 (5) 五、系统的调试和说明 (6) 5.1 C程序的说明 (6) 5.2 C程序编译的结果 (6) 5.3 实物图 (7) 六、设计总结与心得体会 (8) 6.1设计总结 (8) 6.2 设计心得 (9) 七、参考文献 (9) 附录 (10)

基于单片机的计数器设计

百度文库- 让每个人平等地提升自我 - 1 - 湖南科技大学 单片机课程设计 题目基于单片机的计数器设计姓名李建雄 学院机电工程学院 专业测控技术与仪器 学号09030303 指导教师戴巨川 成绩 二〇一二年六月二日

百度文库- 让每个人平等地提升自我 - 2 - 摘要 本设计是根据我们所学习的单片机课程,按照课程要求进行的课程检验。单片 机技术是一个不可或缺的技术,尤其是对于我们测控技术与仪器专业来说它是我们必须要掌握的技能之一,使我们未来工作和生活的根本。现在的社会是一个信息科技高速发展的社会,也是一个电子技术和微机计算机迅速发展的时代,单片机的档次和水平在不断的提高,其应用的领域和范围也越来越广,成为现代电子系统中最重要的智能化核心部分。 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。 现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。 计数器的应用范围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。

百度文库- 让每个人平等地提升自我 - 3 - 目录 2.2设计原理 (6) 数码管的介绍 ............................................................................................................................... - 11 -3.3电路仿真. (11)

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 = '#'; }

单片机一个按键的多次击键组合判别技巧

《一个按键的多次击键组合判别技巧》大话篇 小匠自从上次在旧社区发表了一篇《<程序编写规范倡议书>大话篇》后,好久没有发表"高"论了.急坏了一帮MM,以为小匠退隐江湖了。 (斑竹在旁问道:“MM”不是“Mie Mie”,而是“Ma Ma”吧?) 论坛内外谣言四起,有人说小匠改行了,不做程序匠,改做泥水匠了;还有人说小匠上阿富汗反恐怖去了;其实非也,只因新板论坛启用后,小匠一直用不惯...... (斑竹在旁笑道:是“用不来”吧?) 今天,小匠再次隆重登坛献演。贴一个小程序段..... (斑竹道:我看是“蹬痰现眼”吧?) (程序匠人贴完帖子,下到后台,一边洗着手上残余的浆糊,一边哼着小曲:“如果你的‘芯’是一座作坊,我愿作那不知疲倦的程序匠,……”) (一黑客悄悄贴近匠人,将一个废弃的浆糊桶扣到匠人头上......)

(匠人忙问:“斑竹,谁把灯给关了?”) (众人哈哈大笑!......) 一个按键的多次击键组合判别技巧 有时在设计中,往往要用一个按键来输入多种信息。如:单击/双击/三击、短击/长击、还有各种组合击键方式。可以用以下程序来做。如果按键闭合时间<500MS,判断为一次短击(0); 如果按键闭合时间>500MS,判断为一次长击(1); 两次击键时间间隔应<700MS,如果按键释放后700MS内无键按下,则结束读键。 读键完毕返回一个键号值KEY_NUM。其意义如下: KEY_NUM 意义 00000000 无键按下过 00000001 无意义 00000010 单次短击 00000011 单次长击 00000100 短击+ 短击 00000101 短击+ 长击 00000110 长击+ 短击 00000111 长击+ 长击

基于单片机的计数器课程设计资料

课程设计(论文)说明书 题目:计数器 院(系):信息与通信学院 专业:电子信息工程 学生姓名: ******* 学号: ************ 指导教师:唐 * * 职称:讲师 2013 年 12 月 24 日注:论文附有原理图和PCB图。点击下载

摘要 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。 本课设设计的是由AT89S52单片机控制的计数器.通过驱动电路驱动两个共阴数码管进行显示数字。另外,在计数的方式上通过两个轻触开关进行控制是手动计数还是自动计数。在计数过程中可以通过复位按键进行复位,然后在进行下一次的计数。计数范围00~59,进行软件编程是本课设设计的是手动计数时从59开始,没按一次P3^7所接的轻触开关就减一,直到减到00又跳回59依次进行。而当P3^6外接的轻触开关按下一次就进行自动从00~59的加一计数。再按一次数值停止自动,保持显示原数,再按下接着进行自动计数。 关键词:单片机;计数器;数码管;

Abstract As technology continues to counter the development and progress, the type of the counter more and more increasingly wide range of applications, in order to counter the kind now: electromagnetic counters, electronic counters, mechanical counters (pulling mechanical counter, counter rotating machinery , pressing the mechanical counter, length measuring mechanical counter), LCD counters. This course is designed to set up controlled by the microcontroller AT89S52 counter through the drive circuit to drive two common cathode LED display numbers. Further, the count mode switch via two touch controls are counted manually or automatically counting. In the counting process can be reset by a reset button, and then during the next count. Count range 00 to 59, is a software program designed for this course is set up from the 59 to start the manual count, not the connected by a P3 ^ 7 touch switch on minus one, until reduced to 00 and 59 to jump back in turn. When P3 ^ 6 external touch switch is pressed once automatically from 00 to 59 plus one count. Press again to stop the automatic value, maintaining the original number is displayed, press followed by automatic counting. Keywords: microcontroller; counters; digital;

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所示:

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

前言 (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做一定的延时,以矫正误差。具体延时时间根据具体实验确定。 根据频率的定义,频率是单位时间内信号波的个数,因此采用上述各种方案

基于单片机的倒计时器(计数器)设计

目录 目录 (1) 摘要 (3) ABSTRACT (4) 第一章设计要求与方案确定 (5) 1.1设计意义 (5) 1.2设计要求 (5) 1.3方案确定 (5) 第二章硬件电路 (6) 2.1单片机概述 (6) 2.1.1 单片机基础 (6) 2.1.2单片机与单片机系统 (7) 2.1.3 单片机的产生与发展 (7) 2.2MCS-51系列单片机介绍 (8) 2.2.1 80C51 芯片介绍 (8) 2.2.3 最小系统 (9) 2.2.4 定时与中断的概念 (10) 2.4LED显示电路设计与器件选择 (12) 2.4.1.LED显示器的选择 (13) 2.4.2LED驱动芯片选择 (13) 2.5按键电路设计 (13) 2.6蜂鸣器电路的设计 (14) 第三章倒计时器的设计 (15) 3.1倒计时器系统设计方案及框图 (15) 3.2程序设计 (15) 3.2.1主程序设计 (15) 3.2.2倒计时模块设计 (17) 3.2.3键盘扫描数码管显示程序 (17)

第四章倒计时器设计仿真 (18) 4.1设置倒计时初值 (18) 4.2开始倒计时 (18) 4.3倒计时结束并报警 (18) 总结 (20) 参考文献 (21) 致谢 (22) 附录1 倒计时器设计源程序 (23) 附录2 所用元器件清单 (23)

摘要 近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。在实时控制和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 本系统由单片机系统、矩阵式键盘、蜂鸣器和LED数码管显示系统组成。装置利用AT89C51单片机与74LS245驱动器驱动LED数码管显示。通过按键控制设定倒计时时间,再通过中断控制系统开始倒计时。当倒计时时间到时,由P1.0口驱动蜂鸣器发声报警。为了简化电路,降低成本,采用以软件为主的的接口方法。 该系统实用、功能灵活多样,可以对计时时间进行实时控制,可以广泛的应用于各种场所的控制设备。 【关键词】单片机;LED数码管显示器;倒计时;报警

单片机简易计算器设计

单片机简易计算器设计 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)运算主程序设计

单片机课程设计----数字频率计

电子课程设计报告 设计课题: 数字频率计 作者:李成赞≦ 专业: 08信息工程 班级: (2)班 学号: 3081231201 日期 2009年6月5日——2009年6月17日 指导教师: 廖东进 设计小组其他成员:叶昕瑜史海镔陈福青姚闽梁芳芳 衢州职业技术学院信息与电力工程系

前言 一、频率计的基本原理: 频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。其最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的频率f=N/T。 频率计主要由四个部分构成:时基(T)电路、输入电路、计数显示电路以及控制电路。在一个测量周期过程中,被测周期信号在输入电路中经过放大、整形、微分操作之后形成特定周期的窄脉冲,送到主门的一个输入端。主门的另外一个输入端为时基电路产生电路产生的闸门脉冲。在闸门脉冲开启主门的期间,特定周期的窄脉冲才能通过主门,从而进入计数器进行计数,计数器的显示电路则用来显示被测信号的频率值,内部控制电路则用来完成各种测量功能之间的切换并实现测量设置。 二、频率计的应用范围: 在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速的跟踪捕捉到被测信号频率的变化。正是由于频率计能够快速准确的捕捉到被测信号频率的变化,因此,频率计拥有非常广泛的应用范围。 在传统的生产制造企业中,频率计被广泛的应用在产线的生产测试中。频率计能够快速的捕捉到晶体振荡器输出频率的变化,用户通过使用频率计能够迅速的发现有故障的晶振产品,确保产品质量。 在计量实验室中,频率计被用来对各种电子测量设备的本地振荡器进行校准。 在无线通讯测试中,频率计既可以被用来对无线通讯基站的主时钟进行校准,还可以被用来对无线电台的跳频信号和频率调制信号进行分析。

基于单片机的光电计数器课程设计

计控学院 College of computer and control engineering Qiqihar university 电气工程课程设计报告题目:基于单片机的光电计数器 系别电气工程系 专业班级电气123班 学生姓名宋恺 学号2012024073 指导教师李艳东 提交日期 2015年6月 24日 成绩

电气工程课程设计报告 摘要 光电计数器是利用光电元件制成的自动计数装置。其工作原理是从光源发出的一束平行光照射在光电元件(如光电管、光敏电阻等)上,每当这束光被遮挡一次时,光电元件的工作状态就改变一次,通过放大器可使计数器记下被遮挡的次数。光电计数器的应用范围非常广泛,常用于记录成品数量,例如绕线机线圈匝数的检测、点钞机纸币张数的检测、复印机纸张数量的检测,或展览会参观者人数。 光电计数器与机械计数器相比,具有可靠性高、体积小、技术频率高、能和计算机链接实现自动控制等优点。本文即介绍基于MCS-51单片机的光电技术器。 关键词:单片机;光电计数器;数码显示;自动报警

齐齐哈尔大学计控学院电气工程系课程设计报告 目录 1 设计目的及意义 (1) 2 设计内容 (1) 2.1 系统整体设计 (1) 2.1.1 实验方案 (1) 2.1.2 光电计数器结构框图 (2) 图1 光电计数器结构框图 (2) 2.2系统硬件设计 (2) 2.2.1稳压直流电源电路 (2) 2.2.2发射接收电路 (3) 2.2.3显示电路 (3) 2.2.4报警电路 (4) 2.2.5硬件系统 (4) 2.3系统软件设计 (6) 3 结论7 4 参考文献 (8)

基于51单片机的计数器设计 (2)

单片机课程设计题目基于51单片机的计数器设计

目录 1课程设计的目的 (1) 2设计思路 (1) 3设计过程 (2) 3.1方案论证 (2) 3.2电路的设计 (4) 4应用程序 (6) 5电路焊接 (8) 5.1标准锡点 (8) 5.2不标准锡点判定 (8) 6系统调试与结果 (9) 7结论 (10) 8心得体会 (11) 参考文献 (13) 附录1:总体电路原理图 (14) 附录2:实物图 (15) 附录3:元器件清单 (16)

1 课程设计的目的 1.利用单片机定时器/计数器中断设计计数器,0到99的累加。 2.综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。 3.通过本次课程设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。 4.通过本次试验,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。 2 设计思路 本实验利用单片机的定时器/计数器定时和计数的原理,通过采用仿真软件来模拟实现。模拟利用AT89C2052单片机、LED数码管以及各种控制器件来控制表的计数以及计数的开启/计数与复位等。利用单片机AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示,用单片机P1.0-P1.6接一个并排的7个LED灯,作为00-99计数的二进制显示。设计总图如图2-1所示 1

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

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)。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。

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