单片机课程设计

发布 2022-10-04 21:03:28 阅读 9214

1.1 秒表概述。

秒表是电器制造,电国,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、廷时器、定时器等的时间测试。目前所使用的电秒表大多是指针式或集成电路型的,结构相对复杂、测试功能单一。本仪器还具有实时时钟、手动计时的功能。

数字电路技术是电工电子设计的基础 ,随着电子元件的集成度的不断提高,数字电子技术在设计电路中显得越来越重要。数字电子技术能满足基本的电路的设计要求,是设计集成电路的基础。随着自动化技术的不断提高,数字电子技术在通、计算机及广告业中得到了广泛的应用。

在完成理论学习的基础上,学校特意组织了这次课程设计。在这次将有助于学生提高动手操作能力,在理论和实际联系起来。熟悉各种芯片的功能,强化电路设计的基本方法,加强团队之间的合作水品,为以后复杂电路的设计打下基础。

本次设计任务为简易秒表的设计,组成源方案必须通过数字电路的知识完成。,以巩固数字电路所学的理论知识。组的方案可以利用微处理器完成,以实现方案的优化以及学习通过软件控制电路的运行。

在组方案中,我们用at89c51芯片,利用keil编译微处理器所需的程序**,产生微处理器能识别的机器码,通过简单的硬件设计即可实现设计所需的要求。利用微处理器设计电路主要在于程序的编写和调试,硬件设施比较简单,基于以上原因,我们对任务进行了相关的扩展,以提升小组之间的模块设计能力和电路的美化。

时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。

现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用led显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:

一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:ds1302,ds12887,x1203等都可以满足高精度的要求。

本次设计主要介绍用单片机内部的定时/计数器来实现电子秒表的方法,本设计由单片机at89c51芯片和led数码管为核心,辅以必要的电路,构成了一个单片机电子秒表。

在电路设计过程中我们利用protues对电路进行**,以实现对电路的调试,方便优化电路。

1任务目的。

在任务11的基础上扩展3个按键,增强控制功能,进一步加强单片机与led数码管的接口设计、定时/计数及中断技术的综合应用能力,同时,学习单片机与键盘的接**术。

2任务要求。

用单片机控制2位数码管实现00—59的简易秒表,并利用3个独立式按键实现秒表的启动、停止和复位。

2.1已知情况。

p1口接2位led数码管(共阳接s0,三个按键,并接有单片机最小应用系统。

2.2控制要求。

用at89c51单片机的定时/计数器t0产生1秒的定时时间,作为秒计时时间。按下启动按键s1从0开始计时,按下停止按键s0,计时停止,按下复位按键s2,秒表复位。单片机晶振位12mhz。

2.3设计要求。

1.设计一个基于单片机的具有简单控制功能的简易秒表。

2.设计出硬件电路与软件编程。

3.用protels进行**。

4.用c语言编程实现程序设计。

5.系统的各个功能模块清楚有序。

6.程序运行时又有好的用户界面。

3电路及元器件。

秒表/时钟计时器的硬件电路如图所示,采用at89c51单片机,最小化应用设计;采用共阳2段led显示器,p1口输出段码数据,p2.0-p2.1口作列扫描输出,p3.

2、p3.3、p3.5口接三个按钮开关,用以调时及功能设置。

为了增强共阳led数码管的计时功能采用12m晶振,有利于提高秒计时的精确性。

图2.1硬件系统的总体设计框架。

图2.2 p3口特殊功能。

2.2电路原理图设计。

电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。

简易秒表设计电路。

电路中用p1口控制两个数码管的8个段选控制端,用p2.0/p2.1分别作为两个led数码管的位选控制端,这是一个典型的led动态显示电路,led采用供养及数码管。

3个按键采用独立式键盘接法,两个按键连接到外部中断int0、int1的输入引脚p3.2和p3.3,第3个按键连接到定时器1的外部脉冲输入引脚p3.

5。3个按键均以查询方式实现键盘输入状态的扫描,其中按键1为启动按钮,按键2为暂停按钮,按键3为清零按钮。

简易秒表设计电路的元器件清单如表所示。

在万能板上按电路图焊接元器件,完成电路板制作。

4.1主程序。

本设计中,计时采用定时器t0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。其主程序执行流程见下图。

4.2显示子程序。

数码管显示的数据存放在内存单元70h-75h中。其中70h-71h存放秒数据,72h-73h存放分数据,74h-75h存放时数据,每一地址单元内均为十进制bcd码。由于采用软件动态扫描实现数据显示功能,显示用十进制bcd码数据的对应段码存放在rom表中。

显示时,先取出70h-75h某一地址中的数据,然后查得对应的显示用段码,并从p0口输出,p2口将对应的数码管选中供电,就能显示该地址单元的数据值。为了显示小数点及“-”a”等特殊字符,在显示班级及计时时采用不同的显示子程序。

4.3定时器t0、t1中断服务程序。

定时器to用于时间计时,定时溢出中断周期可设为50ms中断进入后,现判断是时钟计时还是秒表计时,时钟计时累计中断20次(即1s)时,对秒计数单元进行加1操作,秒表计时每10ms进行加1操作。在计数单元中采用十进制bcd码计数,满60(秒表功能时有100)进位,t0中断服务程序执行流程见下图。

图3.2定时器t0溢出周期为50ms,t0为秒计数用,t1为调整时闪烁用;p3.2,p3.3,p3.5为调整按钮,p0口为字符输出口,采用共阳显示管。

4.4调时功能程序。

调时功能程序的设计方法时:按下p3.3口按键,时钟进入调秒状态,等待操作,此时计时器开始走动,开始秒的计时。

再按下p3.2按钮,则秒计时暂停,技术停止;若再按下p3.5,则进入复位状态。

再按p3.2进入复位调整,再按p3.3键进入计时状态,秒表继续走动。

4.5时钟/秒表功能程序。

在正常计时状态下,若按下p3.2口按键,则进入暂停状态,计时停止。当按下按键时,可实现计时启动、暂停功能。按p3.3可实现清零。

5程序设计。

采用定时器0实现50ms定时,采用中断方式编程,中断20次为1s计时。3个按键均以查询方式实现键盘输入状态的扫描,其中按键1为启动按钮,按键2为暂停按钮,按键3为清零按钮。

简易秒表控制程序如下。

#include<>

unsigned char msec,sec;

void delay(unsigned char i)

unsigned char j,k;

for(k=0;k for(j=0;j<255;j++)

void t0_int(void) interrupt 1

th0=0x3c;

tl0=0xb0;

msec++;

if(msec==20)

void main()

unsigned char led=

unsigned char temp;

tmod=0x01;

th0=0x3c;

tl0=0xb0;

ea=1;et0=1;

p3=0xff;

while(1)

p2=0x01;

p1=led[sec%10];

delay(10);

p2=0x02;

p1=led[sec/10];

delay(10);

temp=~p3;

temp=temp&0x2c;

if(temp==0x04)

tr0=0;

if(temp==0x08)

tr0=1;

if(temp==0x20)

6程序运行测试。

程序编译、链接过程参见任务2,将二进制文档ex5_**到单片机的程序存储器中。接通电路板电源,即可观察到下面现象:按下启动键,秒表从00开始计时;按下暂停键,秒表停止计时;按下清零键,秒表清零,恢复初始状态。

7任务小结。

本任务综合采用了单片机的数码管、键盘接**术,以及定时/计数器、中断等程序设计技术,进一步训练了单片机并行i/o端口的应用能力、循环程序设计、键盘查询程序设计和调试能力,同时让读者初步了解了作为单片机的重要输入设备—键盘接**术和程序设计方法。

设计心得。在这次课程设计之前,我多次利用c语言进行编程并**,编写了不少小程序。但这次课程设计是一个集编程,**,焊接与一体的考察。

使我发现,原来小小的一片单片机有这么强大的功能,能应用于各种领域。都是觉得很神奇,人类都的聪明啊。我应该在自己以后的学习中,不仅要有刻苦努力,要有钻研精神,还要有创新,对自己感兴趣的一定要用心去学。

这次课程设计让我受益匪浅,无论知识上还是其他各个方面。上课的时候虽然见过真正的单片机,并在面包板上完成了接线等工作。但是在这次课程设计中我不仅完成了编程,调试并**,我还完成了电路板的布局与焊接。

能够理论联系实际,提高了单片机知识的理解和水平。当遇到困难或设计不出来的时候我们就会同学之间互相讨论,相互帮助。团结就是力量,无论是在现在的学习还是在以后的工作中,团结都是至关重要的,有了团结才会有更多的理念,更多的思维,更多的情感。

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...