单片机技术简易秒表教程课件_第1页
单片机技术简易秒表教程课件_第2页
单片机技术简易秒表教程课件_第3页
单片机技术简易秒表教程课件_第4页
单片机技术简易秒表教程课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机技术简易秒表教程任务1.采用2位数码管显示00-99〔老师引导学〕步骤:1.在proteus中绘制2位数码管的显示电路。2.绘制程序流程图,在KEIL中编写相关程序。3.把HEX文件参加到proteus去,全速运行程序。4.利用KEIL与proteus联机仿真,单步运行程序。5.理解程序执行过程。6.知识点梳理。7.学生上机练习,并准备完成任务2。1.proteus标识符net快速画图:第一步:点击这个“LBL〞按钮。第二步:按一下键盘的字母A键,弹出一个对话框。将STRING修改成:net=P0#,#号的意思就是变化的数字,怎样变就靠下面的两个参数,Count(初始值)和Increament〔增量〕。按ok键后,移到单片机P0口,就会出现一只小手,还有一个小绿色方块,就可以添加lable了,按一下就加1。结果就会出现,P00,P01,P02,……。2.各任务1的知识点梳理任务2.采用4位数码管显示0000-FFFF〔学生自己做〕步骤:一、每组学生讨论出该任务实施的方案提示:1.在proteus中绘制4位数码管的显示电路。2.绘制程序流程图,在KEIL中编写相关程序。3.把HEX文件参加到proteus去,全速运行程序。4.利用KEIL与proteus联机仿真,单步运行程序。二、按照方案实施三、评估检查任务3.用定时器T0实现秒表〔老师引导学〕步骤:1.定时器T0、T1工作原理。2.在proteus中绘制4位数码管的显示电路。3.绘制程序流程图,在KEIL中编写相关程序。4.把HEX文件参加到proteus去,全速运行程序。5.利用KEIL与proteus联机仿真,单步运行程序。6.理解程序执行过程。7.知识点梳理。8.学生上机练习,并准备完成任务4。4.1定时器/计数器(timer/counter)的结构及工作原理图4.1定时器/计数器结构框图4.1.1定时器/计数器(timer/counter)结构◆单片机内部有两个16位的可编程定时/计数器◆既可以用为定时器使用可作为计数器计外部脉冲个数◆定时/计数器的工作方式、定时时间、启动、停止都由软件指令控制◆存放器:TH0TL0TH1TL1TCONTMOD一、定时器/计数器的方式存放器TMOD(Operationmodeselectionregister)1.M1M0工作方式控制位2.C/T定时器方式或计数器方式选择位假设C/T=1时,为计数器方式;C/T=0时,为定时器方式。3.GATE定时器/计数器运行门控标志位假设GATE=0时,那么只要TR0(或TR1)置1,定时器/计数器就被选通,而不管INT0(或INT1)的电平是高还是低。假设GATE=1时,INT0(或INT1)引脚为高电平且TR0(或TR1)置1时,相应的定时器/计数器才被选通工作,这时可用于测量在INTx端出现的正脉冲的宽度。二、控制及标志存放器TCON(Controlregisteroftimer/counter)TCON是一个8位存放器。由它控制定时器的启、停、溢出、中断等。其中有些位是控制设置,有些是标志位,各位都有对应的地址,故可位寻址。4.1.2定时器初始化一、定时器初始化的主要内容1.选择工作方式。即通过方式存放器TMOD进行设置。例如:欲设置T0为定时方式1,TMOD状态应置为:T1T0指令:MOVTMOD,#01H;那么可以使T0工作在方式1状态假设要设置T1为计数方式1,指令是怎样?注意:TMOD不能位寻址。2.给定时器初赋。即把初值装入TH0、TL0或TH1、TL1。例:T0初值为3CB0H,T1初值为00FFH。利用指令:

MOV TH0,#3CH ;送T0值 MOV TL0,#0B0H MOV TH1,#00H ;送T1值 MOV TL1,#0FFH如果T0赋初值为78DEH,如何编写程序?3.启动定时器。

SETB TR0 ;启动T0

SETB TR1 ;启动T1例:设定时器T1为方式1,初值3CB0H,程序如下:

MOV TMOD,#10H MOV TH1,#3CH ;送T0值 MOV TL1,#0B0H SETB TR1 ;启动T1如果T0赋初值为78DEH,如何编写程序?二、定时器初值设定方法◆定时时间与定时器的工作方式有关。◆定时时间与初值的大小有关。◆定时时间与时钟周期有关。

即使同样的时间,工作方式不同,初值那么不同;时钟频率不同,即使工作方式相同,初值也不同。一般设定初值分以下几步进行:1.根据定长短,选择工作方式。 方式0 M=213=8192 方式1 M=216=65536 方式2 M=28=256 方式0 M=28=256

原那么上,定时时间长,选用16位或13位计数器,即方式0或1。假设定时间短,选用8位,即方式2或32.定时初值计算设初值为X,最大计数值为M。初值X与机器周期T机、定时器T的关系如下: 〔M-X〕T机=T T机=12个时钟周期=12/fosc X=M–T/T机 结论:〔1〕计数次数为〔M-X〕,初值越大,到达满值所需计数次越小,基时钟频率一定,定时就越短。〔2〕时钟频率越大,时钟周期限越短,机器周期越小,计数器加1一次时间就越短。例:采用T1,方式1,定时50MS,计算初值。晶振频率fosc=12MHZ. 因为fosc=12MHZ. 所以 T机=1us 定时方式1时, M=216=65536 所以 X=M-T/T机=65536–50000/1=3CB0H只要把该值装入到T1中,定时器T1溢出一次的时间为50ms,假设需要继续定时,应再装入该初值。溢出信号使用TCON存放器中的溢出标志位TF1置“1〞,称硬件置位。例1:用定时器T0编写一个1秒延时程序,使用塔灯每秒闪烁一次。〔1〕选择工作方式〔2〕计算机定时器的初值〔3〕重复循环次数。〔4〕绘制程序流程图,编写程序。〔5〕绘制PROTEUS图,调试程序。例2:用定时器T0编写一个0-9的10秒定时器,并在数码管上动态显示。〔1〕选择工作方式〔2〕计算机定时器的初值〔3〕重复循环次数。〔4〕绘制程序流程图,编写程序。〔5〕绘制PROTEUS图,调试程序。程序设计流程图〔〕开始T0工作初始化数码管显示的初始值数码管动态扫描初始化使其中1数码管正常显示数据码管个存放器+1改变数码管数据数码管个数存放器=2?数码管控制存放器左移1位调用延时函数NYT0重新赋初值T0溢出标志位TF0=1?Y到1秒否〔即要循环20次〕Y循环次数存放清0(41H)=9?Y(41H)=0返回(41H)+1NNN例3:用定时器T0编写一个00-59的60秒定时器,并在数码管上动态显示〔学生根据流程图完成程序编写〕。〔1〕选择工作方式〔2〕计算机定时器的初值〔3〕重复循环次数。〔4〕绘制程序流程图,编写程序。〔5〕绘制PROTEUS图,调试程序。程序设计流程图〔〕T0重新赋初值T0溢出标志位TF0=1?Y到1秒否〔即要循环20次〕返回NN延时函数秒个位(41H)=9?秒十位(40H)=5?个位(41H)=0(40H)+1N(41H)+1N十位(40H)=0YY①①4.2中断系统及应用4.2.1中断系统结构◆CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理〔中断发生〕;◆CPU暂时中断当前的工作,转去处理事件B〔中断响应和中断效劳〕;◆待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A〔中断返回〕,这一过程称为中断。执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回MCS-51单片机的中断系统结构图引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方〔即断点〕,称为中断返回。实现上述中断功能的部件称为中断系统〔中断机构〕。80C51的中断系统有5个中断源〔8052有6个〕,2个优先级,可实现二级中断嵌套。4.2.2中断源4.2.3中断标志及控制存放器1.中断标志存放器TCON、SCON◆IT0〔〕,外部中断0触发方式控制位。当IT0=0时,为电平触发方式。当IT0=1时,为边沿触发方式〔下降沿有效〕。◆IE0〔〕,外部中断0中断请求标志位。◆IT1〔〕,外部中断1触发方式控制位。◆IE1〔〕,外部中断1中断请求标志位。◆TF0〔〕,定时/计数器T0溢出中断请求标志位。◆TF1〔〕,定时/计数器T1溢出中断请求标志位。〔2〕SCON的中断标志RI〔〕,串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件去除。TI〔〕,串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动去除TI,TI必须由软件去除。◆当两个以上中断同时发生,先响应最高优先级。◆分成高优先级和低优先级。◆如何确定5个中断源的优先级高、低顺序?〔1〕自然优先级2.中断优先级存放器IP(2)中断优先级存放器IP80C51单片机有两个中断优先级,即可实现二级中断效劳嵌套。每个中断源的中断优先级都是由中断优先级存放器IP中的相应位的状态来规定的。PX0〔〕,外部中断0优先级设定位;PT0〔〕,定时/计数器T0优先级设定位;PX1〔〕,外部中断0优先级设定位;PT1〔〕,定时/计数器T1优先级设定位;PS〔〕,串行口优先级设定位;PT2(IP.5),定时/计数器T2优先级设定位。PS、PT1、PX1、PT0、PX0的5位中哪个为“1〞,那么对应中断源为高优先级;为“0〞者为低优先级。同级中断按自然优先级排队。例:如果PT1=1,PX0=1,其余为0,那么中断优先级控制存放器为05H.利用指令MOV IP,#05H,就把T1、INT0设置为高优先级,其余为低优先级。假设T1、/INT0同时发生中断申请,按自然优先级,先响应外部中断即/INT0,后响应定时器T1的中断。CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许存放器IE控制的。3.中断允许控制存放器(IE)EX0(IE.0),外部中断0允许位;ET0(IE.1),定时/计数器T0中断允许位;EX1(IE.2),外部中断0允许位;ET1(IE.3),定时/计数器T1中断允许位;ES〔IE.4),串行口中断允许位;EA(IE.7),CPU中断允许〔总允许〕位。ES、ET1、EX1、ET0、EX0某位为“1〞,那么允许相应用中断源中断,为“0〞那么禁止该中断源中断〔该中断被蔽〕。EA是总中断源的总控制位。EA=1允许有中断,EA=0禁止全部中断。例:假设允许T0中断,禁止其它中断,那么中断允许控制字为82H〔EA=1,ET0=1〕指令: MOV IE,82H另外,IE存放器可以位寻址,也可用位寻址指令设置它。指令: SETB EA SETB ET080C51单片机的中断优先级有三条原那么:CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断效劳,能被高优先级中断请求所中断。为了实现上述后两条原那么,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。4.2.4中断响应的条件及响应过程1.根本条件首先中断源要发出中断请求,即把中断标志存放器TCON、SCON相应用位置“1〞。中断总允许位EA=1,CPU允许响应中断申请。IE存放器相应中断允许位置“1〞,允许该中断源发出中断申请,进行中断。没有更高一级中断响应。例:T0溢出时发出中断申请—>把TF0置1(如果此时无更高级中断被响应,且EA=1、ET0=1)—>响应中断。2.响应过程CPU响应中断主程序断点地址入堆栈中断效劳程序入口地址装入PC存放器进入中断效劳程序执行中断效劳程序的RETI指令主程序断点地址出堆栈,并赋给PC存放器回到主程序3.中断入口地址4.采用中断时的程序结构例如,现有外部中断1提出申请,且主程序中有R0、R1、DPTR、累加器A需保护,那么编制程序应为:

ORG0000HAJMPMAIN

ORG0013HLJMPINT1

ORG0100HMAIN:…;主程序

ORG1000H

INT1:PUSHACC;中断效劳程序PUSHDPHPUSHDPLPUSH0PUSH1……POP1POP0POPDPLPOPDPHPOPACCRETI例3:用定时器T0中断方式,编写一个00-59的60秒定时器,并在数码管上动态显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论