傻大方


首页 > 学习 >

基于单片机的电子万年历( 二 )



按关键词阅读:


P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流 。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入 。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故 。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚 。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器 。只有读端口时才真正地把外部的数据读入到内部总线 。输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作 。这是由硬件自动完成
第4 页共28 页
华东交通大学理工学院课程设计报告
的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,如果不对端口置1,端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1 。若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类I/O口被称为准双向口 。89C51的P0/P1/P2/P3口作为输入时都是准双向口 。
单片机的最小系统如图2所示:18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.单片机的最小系统如下图所示:图2中的晶振频率为12MHz,复位方式为上电自动复位[8]-[9] 。
第5 页共28 页
华东交通大学理工学院课程设计报告
单片机中断系统
在提及单片机的最小系统后,现对单片机的另一重要应用系统即中断系统做一个比较详细的介绍 。
在CPU 与外设交换信息时,存在着一个快速CPU与慢速的外设之间的矛盾 。为解决这个问题,发展了中断的概念 。单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享 。所谓的中断就是,当CPU正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断
的地方,
继续执行
原来被中
断的程
序,这个
过程称作
中断 。
从中断的
定义我们
可以看到
中断应具
备中断
源、中断
响应、中
断返回这
样三个要
素 。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序 。
第6 页共28 页
华东交通大学理工学院课程设计报告
MCS-51单片机的中断源共有两类,它们分别是:外部中断和内部中断 。外部中断0(INT0)来自P3.2引脚,通过外部中断0触发方式控制位IT0(TCON.0),来决定中断输入信号是低电平有效还是负跳变有效 。一旦输入信号有效,便使IE0标志置一,向CPU申请中断;外部中断1(INT1)来自P3.3引脚,通过外部中断1触发方式控制位IT1(TCON.2),来决定中断输入信号是低电平有效还是负跳变有效 。一旦输入信号有效,便使IE0标志置一,向CPU申请中断 。内部中断有三个:TF0,TF1,RI或TI 。TF0(TCON.5),片内定时/计数器T0溢出中断请求标志 。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断;TF1(TCON.7),片内定时/计数器T1溢出中断请求标志 。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断;RI(SCON.0)或TI(SCON.1),串行口中断请求标志 。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断[10] 。
MCS-51单片机为用户提供了四个专用寄存器,来控制单片机的中断系统 。定时器控制寄存器(TCON),该寄存器用于保存外部中断请求以及定时器的计数溢出 。进行字节操作时,寄存器地址为88H 。按位操作时,各位的地址为88H~8FH,当CPU采样到INT0(或INT1)端出现有效中断请求时,IE0(IE1)位由硬件置“1” 。当中断响应完成转向中断服务程序时,由硬件把IE0(或IE1)清零,当计数器产生计数溢出时,相应的溢出标志位由硬件置“1” 。当转向中断服务时,再由硬件自动清“0” 。计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用;串行口控制寄存器(SCON),进行字节操作时,寄存器地址为98H 。按位操作时,各位的地址为98H~9FH,当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”,当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0” 。串行中断请求由TI和RI的逻辑或得到 。就是说,无论是发送标志还是接收标志,都会产生串行中断请求;中断允许控制寄存器(IE),进行字节操作时,寄存器地址为0A8H 。按位操作时,各位的地址为0A8H~0AFH,可见,MCS-51单片机通过中断允许控制寄存器对中断的允许(开放)实行两级控制 。即以EA位作为总


稿源:(未知)

【傻大方】网址:/a/2021/0402/0021244159.html

标题:基于单片机的电子万年历( 二 )


上一篇:基于USB总线和89C51单片机的数据采集设计

下一篇:基于VC++的图像融合技术的实现