文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的电子跑表设计

基于单片机的电子跑表设计

基于单片机的电子跑表设计
基于单片机的电子跑表设计

目录

1 设计内容及要求 (1)

1.1 设计内容与要求: (1)

1.2设计要求: (1)

2 系统总体方案设计 (2)

2.1 总体方案设计 (2)

2.2 设计说明 (2)

3 各部分方案选定及接口设计 (3)

3.1 主控制器单片机的选择 (3)

3.2 时钟电路 (3)

3.3显示接口电路 (3)

3.4 键盘接口电路 (4)

4 系统软件的设计 (5)

4.1 设计说明 (5)

4.2 主程序设计 (5)

4.3 时间处理模块 (6)

4.5 键盘扫描模块 (9)

5 系统的调试与使用说明 (11)

6 总结 (12)

7 参考文献 (13)

附录: (14)

1 设计内容及要求

1.1 设计内容与要求:

具有时钟和电子跑表的功能。开机为时钟功能,用4位LED数码管显示时、分,以24小时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。

1.2设计要求:

1)确定系统设计方案;

2)进行系统的硬件设计;

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

4)完成应用程序设计;

5)进行应用程序的调试;

2 系统总体方案设计

2.1 总体方案设计

电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。为求结构简单,本次设计利用单片机组成数字电子跑表。

2.2 设计说明

本系统采用AT89C51单片机、4位LDE 数码管显示、一个排阻、4个调节按钮、2个电容与1个晶体振荡器共同构成本的单片机电子跑表的硬件。时钟模块与计时模块则分别由单片机内部的定时器/记数器T0与T1来实现。时间显示功能通过LED 数码管动态扫描来实现。电子跑表的启动/暂停/清零功能由软件来实现。P1.0实现时钟与秒表的切换功能,P1.1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。本系统软件部分则采用C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构成了本次电子跑表的软件部分。图2.1为本系统方框图。

AT89C51

单片机 模块

按键

时钟

位驱动

4位共阴数

码管显示

图2.1系统框图

3 各部分方案选定及接口设计

3.1 主控制器单片机的选择

本次设计采用AT89C51单片机,以下为其标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

3.2 时钟电路

单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路,如图3.2所示。电路中,电容器C1和C2对振荡频率有微调作用,本次设计中电容器取值为20pF,石英晶体选择12MHz,故单片机的机器周期为1us。

图3.1 内部时钟电路

3.3显示接口电路

本次设计中使用了4位共阴数码显示管,显示控制采用动态显示,即数据的显示是由段和位选信号共同配合完成的。为了实现显示器的动态扫描,我们需要对显示器进行段控和位控,因此在显示器接口电路中需要有

两个输出口,其中一个用于输出8条段控线;另一个用于输出位控线,位控线的数目等于显示器的位数。本次设计中用P1口与显示器的8条段控线相接,用P2.4~P2.7与显示器的4条位控线相接。如图3.2所示。

图3.2 显示接口电路

3.4 键盘接口电路

本设计的键盘接口电路中使用了4个按键分别与单片机的P1.1~P1.3口相连如图3.3所示,分别实现时钟/秒表切换、开始计时、暂停计时、重新计时的功能。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免键的一次处理闭合,应采CPU多次按用措施消除抖动。

图3.3 键盘接口电路

4 系统软件的设计

4.1 设计说明

在进行应用软件设计时应采用模块化结构设计,其优点是:每个模块的程序结构简单,任务明确,易于编写,调试和修改,程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能扩充和版本升级,是便于多个模块的调用和分工合作。因此为了达到功能结构模块化,易读,简单,易移植的特点,故本次设计采用C51编写。

系统编写时可分为键盘扫描程序模块,时间处理模块,显示模块。如图4.1所示。将这些事先划分好的模块用C51编成不同的子函数,再将它们有机的结合起来从而达到系统的整体功能。

主函数

键盘扫描模块数码管显示模块时间处理模块

图4.1 软件设计模块

4.2 主程序设计

本程序可分为4个模块,共定义了7个子函数,其中键盘扫描模块包括键盘扫描函数,数码管显示模块包括时钟显示函数、秒表显示函数,时间处理模块包括时钟系时间处理函数、秒表系时间处理函数、延迟函数,,另本程序还利用了两个定时/计数器分别为T0、T1,故还需定义两个中断函数T0中断服务函数和T1中断服务程序。本程序中由于涉及时钟与秒表互切问题,故定义了一控制变量Numb并赋其初值0,若在仿真过中切到秒表则Numb取反为1,切到时钟则Numb重新为0。因此在程序运行过程中便可控制各按键功能及屏蔽在时钟模式或秒表模式下不相干

功能键的影响。图4.2为主程序流程图。

4.3 时间处理模块

时钟处理函数用定时器T0定时10ms ,其计数初值为

12*2t

fosc X M -=,由于

T0选用工作方式1,故M 为16

2即65536,fosc

为晶振频率为12MHZ ,t 为定时时间10ms ,所以X 的值为64536,将该值的高八位值赋给TH0,低八位并赋给TL0,这样便完成了T0的初始化工作,因为定时器T0工作在方式1下,故每次定时器T0溢出都需再给T0赋初值。由于T0定时10ms ,所以要得到1s 的时间需T0溢出100次,由此引入计数变量Count 。每当T0溢出,Count 便自动加1,直至计满100,便使秒变量Seconds 自动加1并初始化Count 重新开始计数,直到Seconds 为60,初始化Seconds 并使分变量Minutes 自动加1,同理到时变量Hour 为24时,初始化Hours ,由此无限循环下去直到关闭电源。图4.3为程序流程图

开始

赋初值

键盘扫描函数

是否切换秒表

数码管显示秒表

数码管显示时钟

结束 图4.2主程序

1?

启动T0 T0溢出 赋初值

Hours=0

计数变量Count++ Count==100 秒Seconds++

Count=0

Seconds=60 分Minutes++ Seconds=0

Minutes==60 时Hours++

Minutes=0

Hours==24 是

T0

断服务函数

时钟时间处理函数

图4.3 T0中断函数及时钟处理函数

秒表时间处理函数用的是定时器T1与T0相同,同样定时10ms ,高八位TH1赋值为()

256

1000065536-,低八位TL1赋值为

()256%1000065536-。T1的启动由按键扫描函数控制,当开启T1后,每

次T1溢出,Decisec 自动加1,直至Decisec 到100,秒Sec 自动加1,直至分Mint 为10,初始化Mint 计时复位。图4.4为其程序流程图。

图4.4 秒表处理函数及T1中断服务函数

启动T1

T1溢出 赋初值

分秒Decisec++

Decisec==100 Decisec=0

秒Sec++

Sec==60 Sec=0

分Mint++ Mint==10 Mint=0

是 是

是 否

T1

定时器中断服务函数

秒表时间处理函数

4.5 键盘扫描模块

时钟与秒表切换键程序:CHANGE 键为时钟秒表切换键,当按下CHANGE 键时,会产生按键抖动,本程序中利用delay (5)产生5ms 延迟使得按键状态稳定后重新确认是否按下了CHANGE 键即CHANGE 为低电平,此时还需判断控制变量Numb 是否为0(Numb 为0即奇数次按下CHANGE 键显示秒表,Numb 为1则为偶数次按下CHANGE 键显示时钟),在CHANGE 为0且Numb 为0的情况下,执行数码管显示秒表函数并对Numb 取反为再次按下CHANGE 键做准备,此后程序进入确认结束按键循环,若松开CHANGE,则非CHANGE 为0,循环结束回到开始处等待按键电平;若一直按着CHANGE ,则一直执行数码管显示秒表函数。当Numb 为1时,则同理显示时钟函数,非CHANGE 为0时退出循环回到等待。图4.5为该程序流程图。

CHANGE==0

Delay (5)

CHANGE==0且Numb==0

Display1()

Numb=!Numb

!CHANGE

Display1()

CHANGE==0且Numb==1

Display2()

Numb=!Numb

!CHANGE

Display2()

是 是

是 否

否 否

图4.5 时钟与秒表切换程序

开始计时键程序:在控制变量Numb等于1的情况按下START键则开启T1定时器开始计时,这里加入Numb的目的是为了在时钟状态下屏蔽非时钟功能键,故当切换为秒表状态时,Numb为1,此时秒表系功能键生效,此时按下START键,开始计时。图4.6为开始计时键程序流程图。

STRAT==0 且Numb==1

Delay(5)

START==0

TR1=1

!START

Display1()

图4.6 开始计时键程序

暂停计时键程序、计时复位键程序同开始计时键程序类似都需在Numb为1的情况下方可启用,且其程序流程相似。键盘扫描函数keyscan()是由时钟与秒表切换键程序、开始计时键程序、暂停计时键程序、计时复位键程序构成的。

5 系统的调试与使用说明

用KEIL运行程序正确后生成HEX格式的文件,用Proteus画好电路图,导入HEX格式的文件进行仿真。如下图所示,P1.0是秒表与时钟切换键,P1.1为开始计时键,P1.2为暂停计时键。P1.3为重新计时键。下图5.1、5.2分别是时钟状态和计时状态调试图。

图5.1 开机时钟状态

图5.2 计时状态

6 总结

开始做课程设计时,我们首先需要将硬件设计做出来,在硬件设计好的基础上进行软件设计这样就方便多了。着手软件设计时要有一个整体的思路,即主程序,有了整体思路就开始着手于分模块的设计,如时钟显示程序、中断服务程序、时间处理程序等。每个模块出来后都需要配合主程序进行仿真验证程序是否能正常运行。这次的设计尽管还不是很完善,但我已经非常开心了,至少有了自己的思路再去实践,再在实践的过程中收获,这是课堂上所没有的欣喜。

在课程设计的过程中遇到的各种知识不总是在书上能找到的,所以我们必须自己查找相关资料,利用图书馆或网络搜索,这是一个比较辛苦的过程,你必须从无数的信息中分离出对你有用的,然后加以整理,最后吸收并用到设计中来。通过这点,我收益很大。课程设计是从整体到部分的过程,然而一切并不都是如此的。因为有时候你整体设计好了,然而在设计部分的时候却可能影响到整体,然后又要作出调整,在不断的调整中才慢慢把设计做出来。有时候你还必须把自己前面做的东西全部推翻,然后重新再来。

经过两个星期的课程设计,确实让我收获很多,学到了很多,特别要谢谢李老师的指导及严格要求,虽然在设计过程中很累,但是一看到自己做出来的成果,就什么疲劳都没有了。

7 参考文献

[1]王迎旭《单片机原理与应用》(第2版)机械工业出版社

[2]胡汉才《单片机原理及系统设计》清华大学出版社.

[3]潘永雄《新编单片机原理与应用》西安电子科技大学出版社.

[4]张迎新《单片微型计算机原理、应用及接口技术》国防工业出版社

[5]张欣《单片机原理与C51程序设计基础教程》清华大学出版社

[6]李叶紫《MCS—51单片机应用教程》清华大学出版社

附录:

程序清单:

#include

#define uchar unsigned char

#define uint unsigned int

//七段共阴数码显示管段码表//

ucharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//定义初始化变量//

//秒表部分//

uchar Decisec=0;//分秒//

uchar Sec=0;//秒//

uchar Mint=0;//分//

//时钟部分//

uchar Seconds=0;

uchar Minutes=23;

uchar Hours=15;

uchar Count=0;

uchar Numb=0;

//按键部分//

sbit CHANGE=P1^0; //切换:可实现跑表与时钟互切//

sbit START=P1^1; //开始//

sbit STOP=P1^2; //暂停//

sbit RST=P1^3; //复位//

//函数声明//

void delay(uchar ms); //延迟函数//

void time_pro1();//秒表处理函数//

void time_pro2();//时钟处理函数//

void keyscan(); //键盘扫描函数//

void display1(); //数码管显示秒表函数//

void display2(); //数码管显示时钟函数//

/*******************/

// 主函数//

/*******************/

void main()

{

P1=0xff;

TMOD=0x11;

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

TH1=(65536-10000)/256;

TL1=(65536-10000)%256;

EA=1;

ET0=1;

ET1=1;

TR0=1;

while(1)

{ keyscan();

if(Numb==1)

{display1(); }

if(Numb==0)

{display2();}

}}

/*******************/

// 延迟函数//

/*******************/

void delay(uchar ms)

{ uchar i,j;

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

for(j=500;j>0;j--);

}

/*******************/

// 秒表处理函数//

/******************/

void time_pro1()

{ if(Decisec==100)

{Decisec=0;

Sec++;

if(Sec==60)

{Sec=0;

Mint++;

if(Mint==10)

{Mint=0;}}}} /*******************/

// 时钟处理函数//

/******************/

void time_pro2()

{ if(Seconds==60)

{ Seconds=0;

Minutes++;

if(Minutes==60)

{ Minutes=0;

Hours++;

if(Hours==24)

{ Hours=0;}}}}

/*******************/

// 键盘扫描函数//

/******************/

void keyscan()

{

// 秒表/时钟切换//

if(CHANGE==0)

{

delay(5);

if((CHANGE==0)&&(Numb==0))

{

display1();

Numb=!Numb;

while(!CHANGE)

{

display1(); } } if((CHANGE==0)&&(Numb==1))

{

Numb=!Numb;

while(!CHANGE)

{display2();}}}

// 开始计时//

if((START==0)&&(Numb==1))

{

delay(5);

if(START==0)

{

TR1=1;

while(!START)

{display1();}}}

// 暂停计时//

if((STOP==0)&&(Numb==1))

{

delay(5);

if(STOP==0)

{ TR1=0;

while(!STOP)

{display1();}}}

// 重新计时//

if((RST==0)&&(Numb==1))

{

delay(5);

if(RST==0)

{ while(!RST)

{ Decisec=0;

Sec=0;

Mint=0;

display1();

}}}}

/************************/

// 数码管显示秒表函数//

/************************/

void display1()

{

P2=0x7f;

P0=dispcode[Decisec/10];// 显示分秒//

delay(1);

P2=0xbf;

P0=dispcode[Sec%10]|0x80;//显示秒个位//

delay(1);

P2=0xdf;

P0=dispcode[Sec/10];//显示秒十位//

delay(1);

P2=0xef;

P0=dispcode[Mint]|0x80; // 显示分//

delay(1);

}

/*************************/

// 数码管显示时钟函数//

/*************************/

void display2()

{

P2=0x7f;

P0=dispcode[Minutes%10];//显示分个位//

delay(1);

P2=0xbf;

P0=dispcode[Minutes/10];//显示分十位//

delay(1);

P2=0xdf;

P0=dispcode[Hours%10]|0x80;//显示时个位// delay(1);

P2=0xef;

P0=dispcode[Hours/10];//显示时十位//

delay(1);

}

/*********************/

//定时器T1中断服务程序//

/********************/

void time_T1()interrupt 3

{

TH1=(65536-10000)/256;

TL1=(65536-10000)%256;

Decisec++;

time_pro1();//秒表时间处理函数//

}

/**********************/

//定时器T0中断服务程序//

/**********************/

void time_T0()interrupt 1

{

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

Count++;

if(Count==100)

{

Seconds++;

time_pro2();//时钟时间处理函数//

Count=0;

}}

秒表/时钟计时器电路原理图

电子跑秒表的设计

目录 1设计要求.. (1) 2设计方案及实现 (1) 2.1系统功能分析 (1) 2.2功能实现方案 (1) 3使用的元件及功能 (3) 3.1 89c51引脚图与功能说明 (3) 3.2 LED数码管 (6) 4实现电路图及调试 (6) 4.1实现电路图 (6) 4.2 调试及问题解决 (7) 4.3 仿真结果 (7) 5心得体会 (8) 6 参考文献 (9) 7 附录 (9)

电子跑秒表的设计 内容提要:本次课程设计通过电子秒表的设计与制作,学 到了单片机最小系统的概念与设计,对单片机调用、定时等功 能模块有了进一步的了解,并利用这个设计对单片机的编程方 法有了一定程度的深入了解,并对51单片机有了深入的了解。 关键字:89c51单片机、键控、中断、数码管显示 1设计要求 以89s51单片机为核心芯片,设计一个模拟电子跑秒表,要求如下: A、利用LED显示秒表的计时过程; B、可以对秒表进行初始时间设置; C、可以调整秒表的时间。 2设计方案及实现 2.1系统功能分析 本次课设设计电路通过以下四个按键实现要求功能:Start键实现秒表的启动计时;Stop实现秒表的清零;Pause键实现计时的停止;Set键实现对秒表的时间预置。同时以上各键按下后能在数 码管上清晰显示时间的改变,以供使用者操作以及测试。 2.2功能实现方案 由系统的功能分析可以得到,功能的实现是通过对按键的控制得到,在源代码的编写中则可以通过对各个按键的调用实现键控功能,同时显示在数码管上。设计语言采用汇编语言,通过对按键的判断(JNB语句)以及调用(DISP,INC等),完成键控数码

基于单片机的语音播报电子秤设计

1 引言 在生活中我们经常需要用秤来测量物体的重量,由于秤在我们日常生活中的应用十分广泛,我们对其的设计要求就需要操作方便、易于识别。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。电子秤向提高精度和降低成本方向发展的趋势引起了对低成本、高性能模拟信号处理器件需求的增加。 1.1 称重技术的发展与成果 电子称的发展过程经历了由简单到复杂、又粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程[1]。特别是近30年以来,工艺流程中的现场称重、配料定量称重、以及产品质量的监测等工作,都离不开能输出信号的电子衡器。近年来电子称已愈来愈多地参与到数据的处理和控制过程中。现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可或缺的组成部分。随着称重传感器各项性能的不断突破[2],为电子称的发展奠定了基础,国外如美国、西欧等一些国家在20世纪60年代就出现了0.1%称量准确度的电子称,并在70年代中期约对75%的机械称进行了机电结合式改造。 我国的衡器在20世纪40年代以前还全是机械式的,40年代开始发展了机电结合式的衡器,50年代开始出现了以称重传感器为主的电子衡器,80年代以来,我国通过自行研究引进消化吸收和技术改造,已由传统的机械式衡器步入集传感器、微电子技术、计算机技术与一体化的电子衡器发展阶段[3]。随着称重传感器技术以及超大规模集成电路和微处理器的进一步发展,电子称重技术及其应用范围将更进一步的发展,并被人们越来越重视。根据近些年来电子称重技术和电子衡器的发展情况及电子衡器市场的需求,电子称的发展动向为:小型化、模块化、智能化、集成化;其技术性能趋向于速率高、准确度高、可靠性高;其应用性趋向综合性、组合性[4]。 1.2 电子秤的组成 1.2.1电子秤的基本结构 电子秤是利用物体的重力作用来确定物体质量(重量)的测量仪器,也可用来确定与质量相关的其它量大小、参数、或特性。不管根据什么原理制成的电了秤均由以

数字跑表(电子科大)

数字跑表设计报告 学院:电子工程学院 学号:2011029180015 姓名:洪娜建 班级:电磁场5班

一系统总体设计 设计要求 设计一个数字秒表,有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,系统主要由显示译码器、分频器、十进制计数器和六进制计数器组成。整个秒表还需有一个启动/停止信号和一个复位信号,以便秒表能随意停止及启动。 要求: 1、跑表精度为0.01秒 2、跑表计时范围为:1小时 3、设置开始计时/停止计时、复位两个按钮 4、显示工作方式:用六位BCD七段数码管显示读数 5、扩展功能:锁存控制功能。 系统工作原理 数字跑表通过系统将48MHz时钟进行分频得到100Hz的秒表时钟,之后通过对时钟信号进行计数得到具体的跑表显示数值,跑表数值作为显示单元电路的输入,显示单元控制数码管动态扫描显示计数 因此,系统主要划分为:分频器,计数器,显示控制,开始\停在使能控制,清零控制,锁存控制。 原理图如下:

二单元电路设计 1.分频器 设计思路:输入信号48MHz,将其48000分频可得1KHz信号,再将1KHz信号10分频可得100Hz信号。1KHz用于显示LED扫描,100Hz用于计数器时钟。 源程序如下: entity fenpin is Port ( clk : in STD_LOGIC; clk_1k : out STD_LOGIC; clk_100 : out STD_LOGIC); end fenpin; architecture Behavioral of fenpin is signal cnt1:INTEGER RANGE 1 TO 24000; signal cnt2:INTEGER RANGE 1 TO 5; signal clk_1k_temp:STD_LOGIC:='0';

单片机电子秤设计报告完整版样本

单片机电子秤设计报告 秤是一种在实际工作和生活中经常见到的测量器具。随着计量技术和电子技术的发展, 传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰, 电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较, 电子秤利用新型传感器、高精度AD转换器件、单片机设计实现, 具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为0-10Kg, 测量精度达到5g, 有高精度, 低成本, 易携带的特点。电子秤采用液晶显示汉字和测量记过, 比传统秤具有更高的准确性和直观性。另外, 该电子秤电路简单, 使用寿命长, 应用范围广, 能够应用于商场、超市、家庭等场所, 成为人们日常生活中不可少的必须品。 一、功能描述 1、采用高精度电阻应变式压力传感器, 测量量程0-10kg, 测量精度可达5g。 2、采用电子秤专用模拟/数字( A/D) 转换器芯片hx711对传感器信号进行调理转换, HX711 采用了海芯科技集成电路专利技术, 是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。 3、采用STC89C52单片机作为主控芯片, 实现称重、计算

价格等主控功能。 4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。 5、采用4*4矩阵键盘进行人机交互, 键盘容量大, 操作便捷。 6、具有超量程报警功能, 能够经过蜂鸣器和LED灯报警。 7、系统经过USB电源供电, 单片机程序也可经过USB线串行下载。 二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图1所示: 图1 单片机电子秤硬件方案

基于单片机的电子跑表设计

目录 1 设计内容及要求 (1) 1.1 设计内容与要求: (1) 1.2设计要求: (1) 2 系统总体方案设计 (2) 2.1 总体方案设计 (2) 2.2 设计说明 (2) 3 各部分方案选定及接口设计 (3) 3.1 主控制器单片机的选择 (3) 3.2 时钟电路 (3) 3.3显示接口电路 (3) 3.4 键盘接口电路 (4) 4 系统软件的设计 (5) 4.1 设计说明 (5) 4.2 主程序设计 (5) 4.3 时间处理模块 (6) 4.5 键盘扫描模块 (9) 5 系统的调试与使用说明 (11) 6 总结 (12) 7 参考文献 (13) 附录: (14)

1 设计内容及要求 1.1 设计内容与要求: 具有时钟和电子跑表的功能。开机为时钟功能,用4位LED数码管显示时、分,以24小时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。 1.2设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要元器件选择; 4)完成应用程序设计; 5)进行应用程序的调试;

2 系统总体方案设计 2.1 总体方案设计 电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。为求结构简单,本次设计利用单片机组成数字电子跑表。 2.2 设计说明 本系统采用AT89C51单片机、4位LDE 数码管显示、一个排阻、4个调节按钮、2个电容与1个晶体振荡器共同构成本的单片机电子跑表的硬件。时钟模块与计时模块则分别由单片机内部的定时器/记数器T0与T1来实现。时间显示功能通过LED 数码管动态扫描来实现。电子跑表的启动/暂停/清零功能由软件来实现。P1.0实现时钟与秒表的切换功能,P1.1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。本系统软件部分则采用C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构成了本次电子跑表的软件部分。图2.1为本系统方框图。 AT89C51 单片机 模块 按键 时钟 位驱动 4位共阴数 码管显示 图2.1系统框图

基于单片机的电子称毕业设计论文正文及结论

哈尔滨工程大学本科生毕业论文 第1章绪论 1.1引言 在我们生活中经常都需要测量物体的重量,于是就用到秤,但是随着社会的进步、科学的发展,我们对其要求操作方便、易于识别。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。电子秤向提高精度和降低成本方向发展的趋势引起了对低成本、高性能模拟信号处理器件需求的增加。通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。 1.2 选题背景和意义 称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。电子秤是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。电子秤是称重技术中的一种新型仪表,广泛应用于各种场合。电子秤与机械秤比较有体积小、重量轻、结构简单、价格低、实用价值强、维护方便等特点,可在各种环境工作,重量信号可远传,易于实现 1

电子跑表设计毕业设计

电子跑表 ABSTRACT:Because of its extremely high performance-price ratio, the single-chip computer (SCC) has been paid great attention to ever since it came out in 1970s of 20th Century, and has gained an extensive applicable field and fast development. Among all kinds of SCCs, 51 SCC is the most typical and representative one. This design, adopting 80C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. In hardware aspect, besides the CPU, four seven-segment LED digi-tubes are used for display, which work in a dynamically scanning display mode and driven by 74SL245 chip. The LEDs can accurately indicate hour and minute and two buttons can be used to adjust the time. While in the software aspect, the programming language is assembly language. The whole electronic clock system has functions of time display, adjustment, stopwatch and reset, etc. This design enables me to have greater insight into the basic circuit of SCC, and the basic methods of timer control and interruption programming, so that is a training of my ability of learning, designing and developing software and hardward. KEY WORDS:80C51 LED digi-tubes Electronic clock Stopwatch 摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们 的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。本次设计以80C51芯片为核心,辅以必要的外围电路,设计了一个简易的电子跑表,它由5V直流电源供电。在硬件方面,除了CPU外,使用8个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够比较准确显示时、分。两个简单的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子钟系统能完成时间的显示,调时,秒表计时,复位等功能。通过这次设计让我更深入了解单片机基本电路、如何控制和定时器和中断编程的基本方法,从而锻炼了我学习、设计和开发软、硬件的能力。 关键字:80C51 LED数码管电子钟跑表 一、设计目的 通过电子跑表的课程设计,巩固本学期学习的单片机知识; 通过过编写程序,深刻理解定时器T0、T1的编程方法; 通过PROTEUS仿真系统的仿真,对软件仿真进一步的了解; 提高对LED数码管的更进一步的认识,以及其驱动电路的认识; 学习单片机和其外围电路的接口方法; 熟悉独立式连接键盘和矩阵式键盘的原理; 提高查阅资料的能力以及知识之间相互联系的理解。

基于51单片机的电子秤的设计

学号: 毕业设计 G RADUATE T HESIS 论文题目:基于51单片机的电子秤的设计 学生姓名: 专业班级: 学院: 指导教师: 2017年06月12日

第一章功能说明 本设计系统以单片机AT89S52为控制核心,实现电子秤的基本控制功能。在设计系统时,为了更好地采用模块化设计法,分步设计了各个单元功能模块。 系统的硬件部分包括最小系统部分、数据采集部分、人机交互界面和系统电源四大部分。最小系统部分主要包括AT89S52和扩展的外部数据存储器;数据采集部分由称重传感器,信号的前期处理和A/D转换部分组成,包括运算放大器AD620和A/D转换器ICL7135;人机界面部分为键盘输入,四位LED数码显示器,可以直观的显示重量的具体数字以及方便的输入数据,使用方便;系统电源以LM317和LM337为核心设计电路以提供系统正常工作电源。 系统的软件部分应用单片机C语言进行编程,实现了该设计的全部控制功能。该电子秤可以实现基本的称重功能(称重范围为0~9.999Kg,重量误差不大于±0.005Kg),并发挥部分的显示购物清单的功能,可以设置日期和设定十种商品的单价,还具有超量程和欠量程的报警功能。 本系统设计结构简单,使用方便,功能齐全,精度高,具有一定的开发价值。称重传感器原理 即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。 按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、声表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。 对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。 传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。其中敏感元件指传感器中能直接感受被测量的部分,转换元件指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。此外传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。 称重传感器在电子秤中占有十分重要的位置,被喻为电子秤的心脏部件,它的性能好坏很大程度上决定了电子秤的精确度和稳定性。通常称重传感器产生的误差约占电子秤整机误差的50%~70%。若在环境恶劣的条件下(如高低温、湿热),传感器所占的误差比例就更大,因此,在人们设计电子秤时,正确地选用称重传感器非常重要。 称重传感器的种类很多,根据工作原理来分常用的有以下几种:电阻应变式、电容式、压磁式、压电式、谐振式等。(本设计采用的是电阻应变式)电阻应变式称重传感器包括两个主要部分,一个是弹性敏感元件:利用它将被测的重量转换为弹性体的应变值;另一个是电阻应变计:它作为传感元件将弹性体的应变,同步地转换为电阻值的变化。电阻应变片所感受的机械应变量一般

电子跑表的设计

课程名称单片机原理与应用课程设计课题名称电子跑表设计 专业电子信息工程 班级1501 学号03 姓名谭青权 指导老师肖锋 2015年6月*日

报告撰写要求(此页不打印) 课程设计报告是体现课程设计成果的载体,具体要求如下: 1、课程设计报告的基本格式 (1)说明书统一使用word文档打印,A4纸张,页边距设置为:上2cm,下2cm,左2.54cm,右2cm。 (2)正文采用宋体小四,字间距20磅;1级标题采用黑体小三,2级标题采用黑体四号,3级标题采用黑体小四;1和2级标题段落间距为上下0.5行。 (3)图表需统一编号,图标标题采用黑体五号;图标题在图片下方,表格标题在表格上方。 (4)装订顺序为:封面、任务书、报告正文、评分表。 2、课程设计报告的撰写要求 (1)设计报告正文内容为5-6页为宜,主要内容为自己的设计思路、设计步骤、关键性步骤的记录、重要结果的记录以及自己本次课程设计的总结。报告撰写要求思路清晰、结构合理、层次清晰,报告简洁但又要能体现设计过程。 (2)报告中图表要求清晰、规范,图表的尺寸大小适当。 (3)课程设计报告内容(仅供参考):

电气信息学院 课程设计任务书 课题名称电子跑表的设计 姓名谭青权专业电子信息工程班级1501 学号03 指导老师肖锋 课程设计时间2017/12/11-2017/12/22 一、任务及要求 设计任务: 利用单片机为核心设计一个多功能电子表,具有电时钟和跑表功能。用做时钟时,在显示器上显示时、分、秒,用做跑表时,显示范围00时00分00秒-23时59分59秒并具有跑表启动和跑表复位功能键。当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。 设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要的参数计算与元器件选择; 4)完成应用程序设计; 5)应用系统的硬件和软件的调试。 二、进度安排 第一周: 周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。 周二~周三:完成硬件设计和电路连接 周四~周日:完成软件设计 第二周: 周一~周三:程序调试 周四~周五:设计报告撰写。周五进行答辩和设计结果检查。 三、参考资料 1、王迎旭等.单片机原理及及应用[M]. 2版.机械工业出版社,2012 2、胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010. 3、戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,201

基于单片机的电子秤的设计与实现(毕业论文)

摘要 随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子称重的控制系统中。本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。 本系统以AT89S52单片机为主控芯片,外围附以称重电路、显示电路、报警电路、键盘电路等构成智能称重系统电路板,从而实现自动称重系统的称重功能、报警功能、数据计算功能以及人机交换功能。可以说,此设计所完成的电子秤很大程度上满足了应用需求。 关键词 AT89S52,CZAF-602压力传感器,A/D转换器,LCD显示器.

Abstract With the application of microelectronic technology,the tools of traditional weighing on the market have can't satisfy the demands of people. In order to change the problem of the application of traditional weighing tools in the using of daily life, the design will be integrated with intelligence, automation and human nature in the electronic scales with weight control system. This system mainly controlled by the single chip microcomputer , measured by weighting transducer and A/D converter component and added with the display unit, the electronic scales are aptitude for the high ratio of performance, multi-function , low power consumption ,and it is simple enough ,especially it is given the characteristic with Easy-to-use intuitively, Speed, Measure accurately, Higher automation. The system take AT89S52 SCM as the main controller chip,

基于51单片机电子秤设计

摘要 电子秤是日常生活中常用的称重设备,广泛应用于超市、大中型商场、物流配送中心。电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。相比传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用范围广、易于操作使用等优点,在外形布局、工作原理、结构和材料上都是全新的计量衡器。 微电子技术的发展为电子秤提出了改进的空间。电子秤向着简单、便宜发展,智能化、精确的电子秤成为了人们的追求。本简易电子秤以常见的AT89C51为核心,以电阻应变片采集应变数据,通过HX711放大并进行AD转换供单片机处理,用LCD1602显示所测量的重量,同时本电子秤系统还提供单价设置进行求价格的计算以及去皮功能,通过一些简单低成本的元器件就完成了一个功能齐全的电子秤的制作,将传统电子秤的成本进行了缩减。 关键词:电阻应变片 AT89C51 HX711 电子秤

第一章方案与论证 一、方案类型 (一)方案一 通过单片机为主控芯片,用应变片采集应变数据,通过专用仪表放大器INA128对采集到的信号进行放大,在配上模数转换芯片对放大了的模拟信号转化为数字信号,传入单片机中进行数据处理,找出函数关系并转化关系。通过数字信号转化为重量值显示在LDC1602上,同时通过键盘进行数据输入,输入单价、去皮等功能。通过蜂鸣器和二极管实现超额报警功能。 (二)方案二 以单片机为主控芯片,应变片采集应变数据,将放大和模数转换用HX711芯片来同时进行实现,将模拟量传入主控芯片单片机中进行数据转换,通过函数关系转换为重量显示到LED 上或者LCD1602上,同时通过键盘按键进行数据输入,输入单价、去皮等功能,并通过蜂鸣器进行数据处理。 (三)方案三 运用PLC作为主控制器,PLC运用广泛,它具有接线简单,通用性好,编程简单,使用方便,可连接为控制网络系统,易于安装,便于维护等优点。 二、方案论证与选定 运用51单片机作为主控芯片,AT89C51是一种高效微控制器。它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。但方案一中,放大和AD转换模块为独立模块,它们的独立设计费事费力且还会存在误差较大的情况。相比于方案一,方案二一HX711作为放大和AD 转换芯片,简化了电路结构。HX711是一款专为高精度电子秤设计的24位AD转换器芯片。与同类型其他芯片相比,该芯片集成了包括文雅电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。精度方面很好的满足了题目中的要求,相比于方案一,方案二根据可行性。 方案三采用PLC作为主控芯片,但其价格昂贵,违背了我们制作电子秤的简单、便捷、便宜的原则,所以我们并没考虑选用PLC作为主控芯片。 综合考虑后,我们决定选择方案二来进行本简易电子秤系统的设计与制作。通过精度、价格、简单程度出发考虑,方案二是最合适的。

基于单片机的电子秤程序

A_8255 EQU 7C00H B_8255 EQU 7D00H C_8255 EQU 7E00H CON_8255 EQU 7F00H;8255端口定义 ADC_0808 EQU 8000H;ADC0809地址ZHONGLIANG EQU 15H;重量存放地址 DANJIA EQU 16H;单价存放地址 EOC EQU P3.3 W8 EQU 0FEH W7 EQU 0FDH W6 EQU 0FBH W5 EQU 0F7H W4 EQU 0EFH W3 EQU 0DFH W2 EQU 0BFH W1 EQU 07FH;定义LED位码 ;;;;;;;;;主程序;;;;;;;;;; ORG 0000H LJMP MAIN ORG 0003H LJMP EINT0S ORG 0100H MAIN: MOV P1,#0F0H SETB TCON.0; 外部中断为下降沿触发 MOV IE,#81H; 外部中断开中断 MOV DPTR,#CON_8255 MOV A,#80H;状态字 MOVX @DPTR,A;8255初始化 LOOP: PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#ADC_0808 MOV A,#00H MOVX @DPTR,A;启动0808,A无实际意义 ADLP1:JNB EOC,ADLP1 ADLP2:JB EOC,ADLP2 MOVX A,@DPTR;读 MOV ZHONGLIANG,A POP ACC POP DPL

POP DPH MOV A,ZHONGLIANG LCALL XIANSHI1;调用显示程序 MOV A,DANJIA LCALL XIANSHI2 MOV A,ZHONGLIANG MOV B,DANJIA MUL AB;算出总价 LCALL XIANSHI3;只显示低八位 SJMP LOOP ;;;;;;;;;;;;;;;键盘子程序;;;;;;;;; EINT0S: LCALL KEY ;调用键盘扫描程序 KEY: CLR EA ;中断总禁止 PUSH PSW ;PSW入栈 LCALL DELAY ;调用延时程序去抖动 LCALL KS ;调用检测按键子程序 JNZ SAOMIAO ;若有按键则跳转至扫描 LJMP INT0R SAOMIAO: ACALL K1 ;调用键盘扫描程序 INC A MOVC A,@A+PC ;查表后将值送入累加器 MOV DANJIA,A ;在P0口显示键盘值 K1: ;键盘扫描子程序 MOV R2,#0EFH ;将扫描值送入R2暂存 MOV R4,#00H ;R4用于存放行值,并将00H暂存 K3: MOV P1,R2 ;将R2的值送入P1口 L6: JB P1.0,L1 ;P1.0等于1跳转到L1 MOV A,#00H ;将第一列的列值00H送入ACC AJMP LK ;跳转到键值理程序进行键值处理L1: JB P1.1,L2 MOV A,#03H AJMP LK L2: JB P1.2,L3 MOV A,#06H

电子跑表设计

目录 1.系统总体方案选择与说明……………………… 2. 系统结构框图与工作原理……………………… 3. 各单元硬件设计说明及计算方法……………………… 4. 软件设计与说明(包括流程图)……………………… 5. 调试结果与必要的调试说明……………………… 6. 使用说明……………………………………………… 7. 课程设计总结与体会……………………… 8. 参考文献……………………………………………… 9附录: A:系统原理图………………………………………………B:程序清单………………………………………………

一.前言 1.设计要求: 要求以MCS-51系列单片机为核心设计一个多功电子表,具有电时钟和跑表功能。做时钟时在4位LED 显示器上显示分、秒,做跑表时显示范围000.0秒~999.9秒并具有跑表启动和跑表复位功能键。电子时钟的计时范围00分00秒59分-59秒,并在4位LED 显示器上显示;做跑表时显示范围000.0秒-999.9秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。 2.设计思路 1)计时单元由单片机内部的定时器/记数器来实现。 2)时间显示功能通过LED数码管动态扫描来实现。利用专用键盘/显示器接口芯片8279可实现对键盘/显示器的动态扫描,由于数码管要显示时钟,还要显示跑表,因此,我分别用31H、32 H计时钟,用R5、R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35 H、36 H 中,达到跑表显示与时钟显示互不影响。 3)表的启动/复位/清零功能由软件来实现。P1.0接启动键,P1.1接停止键,P1.2接清零键。 4)由于跑表和时钟的中断服务程序有冲突,我们就把跑表的中断服务程序写成另外的子程序了,这样就必须要引入标志位了,我们在此用42H 标志位,用标志位来给跑表计数。 二.系统组成与工作原理 1.硬件电路的设计方案 根据设计要求和设计思路,硬件电路有两部分组成,即单片机按键电路,LED显示器电路。图1 为硬件电路设计框图。

基于单片机的电子秤的设计

基于单片机的电子秤的 设计 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

四川信息职业技术学院 毕业设计说明书(论文) 设计(论文)题目: 基于单片机的电子秤的设计 专业: 应用电子技术 班级: 应电12-3 学号: 1111111 姓名: 某某某 指导教师: 某某某 二〇一四年十一月二十五日

四川信息职业技术学院毕业设计(论文)任务书

备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。

目录

摘要 随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,在本设计中将智能化、自动化、人性化用在了电子称重的控制系统中。本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。 本系统以AT89C51单片机为主控芯片、辅以传感器采集模块、声光报警电路、电源供电模块、显示电路模块、数据转换模块等构成智能称重系统,从而实现自动称重系统的称重功能、声光报警功能。硬件部分主要由单片机 AT89C51、LCD、AD转换器、压力传感器、蜂鸣器等基本外围电子电路组成。可以说,此设计所完成的电子秤很大程度上满足了应用需求。 此电子秤具备备了功能多、性能价格比高、功耗低、系统设计简单、使用方便直观、速度快、测量准确、自动化程度高等特点。 关键词传感器采集;液晶显示;数模转换;声光报警

【精品毕设】基于51单片机的电子秤设计

毕业设计(论文) (2015届) 题目:基于51单片机的电子秤设计专业名称:应用电子技术 姓名:谢玉夏 学号:1210401038 班级:2012级应用电子技术 指导教师:刘志芳 2014年 12 月 30 日

摘要 称重技术是人类生活中不可缺少的部分,自古以来就被人们所重视。作为一种计量手段,被广泛应用于工业、农业、贸易等各个领域。随着现代文明和科学技术的不断进步,人们对称重技术的准确度要求也越来越高,电子秤产品技术水平的高低,直接影响各行各业的现代化水平和社会经济效益的提高。近年来,电子称重技术取得了突飞猛进的发展,电子秤在称重计量领域中也占有越来越重要的地位,其应用领域也在不断地扩大。尤其是商用电子秤,由于其具有准确度高、反应灵敏、结构简单等优点,被广泛应用于工商贸易、轻工食品、医药卫生等领域。目前,机械秤正在逐步被电子秤取代,这就促使电子秤的研究需要进一步的深入。 本设计是以AT89S51为核心的一种高精度电子秤,系统采用模块化设计法,其硬件结构主要包括:数据采集模块、最小系统模块、电源模块、键盘和显示模块。其中,数据采集模块包括称重传感器和A/D转换电路;最小系统部分主要包括AT89S51和扩展的外部数据存储器;键盘由4×4位矩阵键盘组成;显示部分LM4229液晶显示。软件部分由C语言编程,实现对各部分的控制。该电子秤可以能够显示商品的名称、价格、总量、总价等;能够自动完成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能。其称重范围为0~5Kg,分度值为0.001g。整个系统结构简单,使用方便。 关键词:电子秤;AT89S51单片机;称重传感器;A/D转换电路;液晶显示 II

电子跑表 单片机课程设计

目录 第一章课题设计内容及要求 (2) 1.1 内容 (2) 1.2 要求 (2) 第二章系统方案设计 (3) 2.1设计方案 (3) 2.2 设计原理 (3) 第三章系统硬件设计 (4) 3.1 硬件电路的设计方案及框图 (4) 3.2 单片机的选择 (4) 3.3 时钟与复位电路的设计 (5) 3.3.1 时钟电路 (5) 3.3.2 复位电路 (6) 3.4 LED显示电路的设计 (7) 3.4.1 控制方式 (7) 3.4.2 段驱动芯片选择 (8) 3.5 按键电路 (8) 第四章系统软件设计 (9) 4.1 主程序的设计 (10) 4.2 时钟、跑表计时程序模块的设计 (12) 4.3 T1断程序流程图如下: (16) 4.4 代码转换程序: (18) 4.5 显示程序 (19) 第五章系统的安装调试说明 (21) 第六章总结与体会 (22) 参考文献 (23) 附录 (24) 1.程序原理图 (24) 2.程序清单 (24)

第一章课题设计内容及要求 1.1 内容 (1)本课题以单片机为核心,设计出电子跑表,具有以下功能: (2)具有电时钟和跑表功能; (3)做时钟时在4位LED 显示器上显示分、秒; (4)做跑表时显示范围000.0秒~999.9秒; (5)当按下启动按钮跑表开始计时,按下停止按钮停止计时,当按下复位按钮跑表回零。 1.2 要求 用伟福编译程序,用Proteus画出电路图进行仿真。

第二章系统方案设计 2.1设计方案 电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。本次单片机综合实验需要进行硬件设计与软件设计。 2.2 设计原理 (1)本系统采用AT89C51单片机、4位LDE显示、两块块74LS244芯片、4个调节按钮、共同构成我的单片机电子跑表的硬件。 (2)计时单元由单片机内部的定时器/记数器来实现。 (3)时间显示功能通过LED数码管动态扫描来实现。由于数码管要显示时钟,还要显示跑表,因此,我分别用31H、32 H计时钟,用R5、R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35 H、36 H中,达到跑表显示与时钟显示互不影响。 (4)电子跑表的启动/复位/清零功能由软件来实现。P1.1接启动键,P1.3接停止键,P1.0接清零键。P1.2实现时钟和跑表的转换功能。 (5)由于跑表和时钟的中断服务程序有冲突,我们就把跑表的中断服务程序写成另外的子程序了,这样就必须要引入标志位了,我们在此用42H标志位,用标志位来给跑表计数。

基于单片机的电子秤的设计样本

四川信息职业技术学院 毕业设计阐明书(论文) 设计(论文)题目: 基于单片机电子秤设计 专业:应用电子技术 班级:应电12-3 学号: 1111111 姓名:某某某 指引教师:某某某

二〇一四年十一月二十五日

四川信息职业技术学院毕业设计(论文)任务书

目录 摘要................................................................................................... 错误!未定义书签。绪论................................................................................................... 错误!未定义书签。第一章方案设计与论证................................................................... 错误!未定义书签。 1.1方案选取 ............................................................................ 错误!未定义书签。 1.2方案论证 ............................................................................ 错误!未定义书签。第二章硬件设计与分析................................................................... 错误!未定义书签。 2.1单片机最小系统 ................................................................ 错误!未定义书签。 2.1.1 芯片简介.............................................................. 错误!未定义书签。 2.1.2 时钟电路设计...................................................... 错误!未定义书签。 2.1.3 复位电路设计...................................................... 错误!未定义书签。 2.2信号采集模块 .................................................................... 错误!未定义书签。 2.2.1 传感器选取.......................................................... 错误!未定义书签。 2.2.2 传感器选取.......................................................... 错误!未定义书签。 2.3数据转换电路 .................................................................... 错误!未定义书签。 2.3.1 A/D转换器选取................................................... 错误!未定义书签。 2.3.2 ADC0832简介 ..................................................... 错误!未定义书签。 2.3.3单片机对ADC0832控制原理 ............................ 错误!未定义书签。 2.4声光报警电路 .................................................................... 错误!未定义书签。 2.5显示电路 ............................................................................ 错误!未定义书签。 2.6整机电路 ............................................................................ 错误!未定义书签。

相关文档