单片机课程设计

发布 2022-10-04 23:47:28 阅读 7975

目录。一、课题要求简介1

二、有关中断知识点回顾6

三、设计方案7

四、硬件电路设计15

五、软件程序设计18

六、设计心得与体会19

一、课题要求简介。

设计要求:以mcs51单片机为核心,辅以外围接口电路,实现一个外部中断响应、控制设计。要求对外部4个硬件中断请求信号(下降沿信号),单片机能实时响应,并通过一位数码管分别显示来反映中断信号**。

控制软件设计与调试,包括中断系统相关初始化功能的设计、中断响应功能的实现以及显示程序的设计等。

二、有关中断知识点回顾。

1. 中断的定义。

中断是指计算机暂时停止原程序执行转而为外部设备服务(执行中断服务程序),并在服务完后自动返回原程序执行的过程。中断由中断源产生,中断源在需要时可以向cpu提出“中断请求”。“中断请求”通常是一种电信号,cpu对这个电信号进行检测,一旦响应便可自动转入该中断源的中断服务程序执行,并在执行后自动返回原程序继续执行。

而且中断源不同,中断服务程序的功能也不同。

2. 单片机的中断服务程序入口地址。

**2-1 中断服务程序入口。

3.中断请求源。

图2-2 中断请求。

由图可见,mcs51中断系统共有5个中断请求源:

int0 *—外部中断请求0,中断请求信号由int0 *引脚输入,中断请求标志为ie0。

int1*——外部中断请求1,中断请求信号由int1*引脚输入,中断请求标志为ie1。

定时器/计数器t0计数溢出发出的中断请求,中断请求标志为tf0。

定时器/计数器t1计数溢出发出的中断请求,中断请求标志为tf1。

串行口中断请求,中断请求标志为发送中断ti或接收中断ri。

5个中断请求源的中断请求标志分别由tcon和scon的相应位锁存。

寄存器。为定时器/计数器的控制寄存器,字节地址为88h,可位寻址。特殊功能寄存器tcon的格式如图所示。

图2-3 tcon寄存器。

tcon各标志位功能如下:

tf1—定时器/计数器t1的溢出中断请求标志位。当t1计数产生溢出时,由硬件使tf1置“1”,向cpu申请中断。cpu响应tf1中断时,tf1标志由硬件自动清“0”,tf1也可由软件清“0”。

tf0—定时器/计数器t0的溢出中断请求标志位,功能与tf1类似。

ie1—外部中断请求1的中断请求标志位。

ie0—外部中断请求0中断请求标志位,功能与ie1类似。

it1—选择外部中断请求1为跳沿触发还是电平触发。

it1=0,电平触发方式,引脚上低电平有效,并把ie1置“1”。转向中断服务程序时,由硬件自动把ie1清“0”。

it1=1,跳沿触发方式,加到引脚上的外部中断请求输入信号电平从高到低的负跳变有效,并把ie1置“1”。转向中断服务程序时,由硬件自动把ie1清“0”。

it0—选择外部中断请求0为跳沿触发方式还是电平触发方式,其意义与it1类似。

5. scon寄存器

串行口控制寄存器,字节地址为98h,可位寻址。低二位锁存串行口的发送中断和接收中断的中断请求标志ti和ri,格式如图5-4所示。

图2-4 scon寄存器。

各标志位的功能:

ti—串行口的发送中断请求标志位。每发送完一帧串行数据后,ti自动置“1”。ti标志必须由软件清“0”。

ri—串行口接收中断请求标志位。串行口接收完一个串行数据帧,硬件自动使ri中断请求标志置“1”。必须在中断服务程序中用指令对ri清“0”。

6.中断允许寄存器ie

mcs51的对各中断源的开放或屏蔽,是由中断允许寄存器ie控制的。ie字节地址为a8h,可位寻址,格式如图所示。

图2-4 中断允许寄存器ie

ie对中断的开放和关闭实现两级控制。有一个总的开关中断控制位ea(ie.7位),ea=0时,所有的中断请求被屏蔽;ea=1时,开放中断,但5个中断源的中断请求是否允许,还要由ie中的低5位所对应的5个中断请求允许控制位的状态来决定。

ie中各位功能如下:

1)ea—中断允许总开关控制位。

ea=0,所有的中断请求被屏蔽。

ea=1,所有的中断请求被开放。

2)es——串行口中断允许位。

es=0,禁止串行口中断。

es=1,允许串行口中断。

3)et1——定时器/计数器t1的溢出中断允许位。

et1=0,禁止t1溢出中断。

et1=1,允许t1溢出中断。

4)ex1——外部中断1中断允许位。

ex1=0,禁止外部中断1中断。

ex1=1,允许外部中断1中断。

5)et0——定时器/计数器t0的溢出中断允许位。

et0=0,禁止t0溢出中断。

et0=1,允许t0溢出中断。

6)ex0——外部中断0中断允许位。

ex0=0,禁止外部中断0中断。

ex0=1,允许外部中断0中断。

7.中断应用步骤及中断初始化。

中断初始化应在产生中断请求前完成,一般放在主程序中,并常与主程序初始化综合考虑一起进行。

开中断。将控制寄存器ie中的中断控制位ea和相应的中断允许控制位置“1”。

若是外中断,则要定义外中断触发方式,将控制寄存器tcon中相关的控制位置“1”。

定义中断优先级。将中断优先级控制寄存器ip中相关的控制位置“1”。

中断服务程序中除包含中断处理的程序段外,还包括以下几个方面的内容,编程时予以注意。

在相应的中断入口地址处设置一条跳转指令(sjmp、ajmp或ljmp),将中断服务程序转到合适的rom空间。若中断服务程序长度不大于8个字节时 ,可直接放置在中断入口地址处。

现场保护。为减轻堆栈负担,保护现场的数据存储单元数量力求少。cpu响应中断后,其硬件不能自动清除其中断请求标志位时,应考虑清除中断请求标志位的其他操作。

恢复现场最后一条指令必须是中断返回指令reti。

8.有关单片机类型的引脚的介绍。

1)vcc(40脚):+5v电源。

2)vss(20脚):数字地。

3)xtal1(19脚):片内振荡器反相放大器和时钟发生器电路输入端。用片内振荡器时,该脚接外部石英晶体和微调电容。外接时钟源时,该脚接外部时钟振荡器的信号。

4)xtal2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器,该脚连接外部石英晶体和微调电容。当使用外部时钟源时,本脚悬空。

5)rst (reset,9脚):复位信号输入,在引脚加上持续时间大于2个机器周期的高电平,可使单片机复位。正常工作,此脚电平应 ≤ 0.

5v。当看门狗定时器溢出输出时,该脚将输出长达96个时钟振荡周期的高电平。

6)ea* /vpp (31脚) :引脚第一功能:外部程序存储器访问允许控制端。

ea*=1,在pc值不超出0fffh(即不超出片内4kb flash存储器的地址范围)时,单片机读片内程序存储器(4kb)中的程序,但pc值超出0fffh (即超出片内4kb flash地址范围)时,将自动转向读取片外60kb(1000h-ffffh)程序存储器空间中的程序。ea*=0,只读取外部的程序存储器中的内容,读取的地址范围为0000h~ffffh,片内的4kb flash 程序存储器不起作用。

vpp:引脚第二功能,对片内flash编程,接编程电压。

7)ale/ prog*(30脚):ale为cpu访问外部程序存储器或外部数据存储器提供地址锁存信号,将低8位地址锁存在片外的地址锁存器中。

此外,单片机正常运行时,ale端一直有正脉冲信号输出,此频率为时钟振荡器频率fosc的1/6。可用作外部定时或触发信号。

注意,每当at89s51访问外部ram时(执行movx类指令),要丢失一个ale脉冲。如需要,可将特殊功能寄存器auxr(地址为8eh,将在后面介绍)的第0位(ale禁止位)置1,来禁止ale操作,但执行访问外部程序存储器或外部数据存储器指令“movc”或“movx”时,ale仍然有效。即ale禁止位不影响对外部存储器的访问。

prog*:引脚第二功能,对片内 flash编程,为编程脉冲输入脚。

8)psen*(29脚):片外程序存储器读选通信号,低电平有效。

9)①p0口:8位,漏极开路的双向i/o口,当外扩存储器及i/o接口芯片时,p0口作为低8位地址总线及数据总线的分时复用端口。p0口也可用作通用的i/o口,需加上拉电阻,这时为准双向口。

作为通用i/o输入,应先向端口写入1。可驱动8个ls型ttl负载。

p1口:8位,准双向i/o口,具有内部上拉电阻。准双向i/o口,作为通用i/o输入时,应先向端口锁存器写1。

p1口可驱动4个ls型ttl负载。p1.5/mosi、p1.

6/miso和p1.7/sck,可用于对片内flash存储器串行编程和校验,它们分别是串行数据输入、输出和移位脉冲引脚。

p2口:8位,准双向i/o口,具有内部上拉电阻。当at89s51扩展外部存储器及i/o口时,p2口作为高8位地址总线用,输出高8位地址。

p2口也可作为普通的i/o口使用。当作为通用i/o输入时,应先向端口输出锁存器写1。p2口可驱动4个ls型ttl负载。

p3口:8位,准双向i/o口,具有内部上拉电阻。可作为通用的i/o口使用。作为通用i/o输入,应先向端口输出锁存器写入1。可驱动4个ls型ttl负载。

图2-5 单片机。

三、设计方案。

1、概述。设计包括硬件和软件两个部分。就电路而言,即硬件由单片机、输入/输出设备、以及外围应用电路等组成,因实验箱上已经含有各部分电路,只需用导线对其进行正确的连接即可。

软件是各种工作程序的总称,通过硬件和软件实现设计需求。

系统上电运行后,若需要复位,一般是通过手动复位来实现的。通常采用手动复位和上电自动复位结合。复位电路虽然简单,但其作用十分重要。

一个单片机系统能否正常运行,首先要检查是否能复位成功。初步检查可用示波器探头监视rst引脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值的方法进行检测。

单片机课程设计

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

单片机课程设计

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

单片机课程设计

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