单片机课程设计

发布 2022-10-04 21:14:28 阅读 4123

《单片机原理及接**术》

课程设计。题目:单片机电子时钟的设计与实现。

设计人员。学号。

班级。指导老师。

日期。目录。

一、设计要求2

二、设计方案和论证2

一)总设计原理图2

二)设计方案的选择2

3)硬件部分4

4)软件部分8

三、设计总结26

四、参考文献26

一、设计要求。

1、准确计时,以数字形式显示时、分、秒的时间。

2、小时以24小时计时形式,分秒计时为60进位。

3、校正时间功能,即能随意设定走时时间。

4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。

5、设计5v直流电源,系统时钟电路、复位电路。

二、设计方案和论证。

本次设计时钟电路,使用了atc89c51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、led显示即可满足设计要求。

一) 总设计原理框图如下图所示:

二)设计方案的选择。

1.计时方案。

方案1:采用实时时钟芯片。

现在市场上有很多实时时钟集成电路,如ds1287、ds12887、ds1302等。这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。

方案2:使用单片机内部的可编程定时器。

利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。

2.显示方案。

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

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

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

led动态显示硬件连接简单,但动态扫描的显示方式需要占有cpu较多的时间,在单片机没有太多实时测控任务的情况下可以采用。

本系统需要采用6位led数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。

三)硬件部分。

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接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图所示。

stc89c51单片机管脚结构图。

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.**端口。

设计用到的stc89c52单片机芯片的isp**线是通过单片机的txd,rxd引脚把程序烧进去的。管脚txd和rxd用于异步串行通信。其实stc89c52单片机的isp**线就是一个max232芯片连接stc和计算机的串行通信口。

计算机把程序从九针串口送到max232芯片,电平转换后送进单片机的串行口,也就是txd和rxd。然后单片机的串行模块把数据送到程序区。

5、显示电路

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

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

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

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

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

led动态显示硬件连接简单,但动态扫描的显示方式需要占有cpu较多的时间,在单片机没有太多实时测控任务的情况下可以采用。

本系统需要采用6位led数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。

6、时钟显示校正电路。

本设计利用按键开关来校正时钟显示的数字。当按钮按下时,将在相应的端口输入一个低电平,通过相应的程序来改变时钟显示。其中s1按键开关用来选择要修改的数字;s2按键用来增加所选数字的数值;s3按键用来减少所选数字的数值。

7、总电路原理图。

五) 软件部分。

根据上述电子时钟的工作流程,软件设计可分为以下几个功能模块:

1)主程序模块。主程序主要用于系统初始化:设置计时缓冲区的位置及初值,设置8155的工作方式、定时器的工作方式和计数初值等参数。主程序流程如下图所示。

开始。定义堆栈区。

8155、t0、数据缓冲区、标志位初始化。

单片机课程设计

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

单片机课程设计

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

单片机课程设计

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