单片机课程设计

发布 2022-10-04 23:54:28 阅读 6318

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

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

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

一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机51芯片和led数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。

一、 设计方案。

1、数字时钟方案。

本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。

利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。

而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。

2、数码管显示方案。

方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。

该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的i/o口太多,造成了资源的浪费。

但本设计只显示时分两位,可以用静态显示。

二、硬件部分。

1、stc89c51单片机介绍。

stc89c51单片机是由深圳宏晶公司**销售的一款mcu,是由美国设计生产的一种低电压、高性能cmos 8位单片机,片内含8kbytes的可反复写的flashrom和128bytes的ram,2个16位定时计数器[5]。

stc89c51单片机内部主要包括累加器acc(有时也简称为a)、程序状态字psw、地址指示器dptr、只读存储器rom、随机存取存储器ram、寄存器、并行i/o接口p0~p3、定时器/计数器、串行i/o接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图所示。

c51单片机管脚结构图。

vcc:电源。

gnd:接地。

p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。

p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。

p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在flash编程和校验时,p1口作为第八位地址接收。

p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。

p2口在flash编程和校验时接收高八位地址信号和控制信号。

p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。

p3口也可作为at89c51的一些特殊功能口,如下表所示:

口管脚备选功能。

p3.0 rxd(串行输入口)

p3.1 txd(串行输出口)

p3.2 /int0(外部中断0)

p3.3 /int1(外部中断1)

p3.4 t0(记时器0外部输入)

p3.5 t1(记时器1外部输入)

p3.6 /wr(外部数据存储器写选通)

p3.7 /rd(外部数据存储器读选通)

p3口同时为闪烁编程和编程校验接收一些控制信号。

rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。

ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。

在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:

每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。

另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。

psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。

ea/vpp:当/ea保持低电平时,则在此期间外部程序存储(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时, /ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。

在flash编程期间,此引脚也用于施加12v编程电源(vpp)。

2、上电按钮复位电路。

本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,rst直接与vcc相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,vcc对电容充电,充电电流在电阻上,rst依然为高电平,仍然是复位,充电完成后,电容相当于开路,rst为低电平,单片机芯片正常工作。其中电阻r2决定了电容充电的时间,r2越大则充电时间长,复位信号从vcc回落到0v的时间也长。

3、晶振电路。

本设计晶振电路采用12m的晶振。晶振的作用是给单片机正常工作提供稳定的时钟信号。单片机的晶振并不是只能用12m,只要不超过20m就行,在准许的范围内,晶振越大,单片机运行越快,还有用12m的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12m的话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pf之间,这里连接的是30pf的电容。

机器周期=10*晶振周期=12*系统时钟周期。

4、显示电路

就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。本时钟采用数码管显示方式。

数码管作为一种主动显示器件,具有亮度高、**便宜等优点,而且市场上也有专门的时钟显示组合数码管。

对于实时时钟而言,显示显然是另一个重要的环节。通常led显示有两种方式:动态显示和静态显示。

静态显示的优点是程序简单、显示亮度***、单片机cpu的开销小,节约cpu的工作时间。但占有i/o口线多,每一个led都要占有一个i/o口,硬件开销大,电路复杂。需要几个led就必须占有几个并行口,比较适用于led数量较少的场合。

当然当led数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。

三、 流程图。

扫描键盘。否。

调用显示程序有键按下?

是。调用显示程序。

否。有键按下?

是。求取键号。

返回。键盘扫描程序流程图。

四、程序。org 0000h

sjmp main

org 000bh

ljmp itop

org 0030h

main: mov 50h,#0ffh ;按键信息初始化为未按键状态。

mov 30h,#1 ;月单元。

mov 31h,#1 ;日单元。

mov 32h,#0 ;时单元。

mov 33h,#0 ;分单元。

mov 34h,#0 ;秒单元

mov 2fh,#16 ;2fh为十六分之一秒计数单元。

clr 20h.1 ;校正状态标志清零,为正常走时状态。

setb 20h.0 ;时间/日期标志置1

mov tmod,#01h ;置t0工作于方式1

mov th0,#0bh ;采用12m晶振,定时十六分之一秒。

mov tl0,#0dch ;装载定时器初值。

mov ie,#82h ; 允许中断

setb tr0启动定时器。

sjmp $

itop: push psw现场保护。

单片机课程设计

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

单片机课程设计

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

单片机课程设计

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