您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 统计图表 > 单片机技术简易秒表教程
《单片机技术》项目化课程任务3.用定时器T0实现秒表任务4.用定时器T1实现秒表任务2.采用4数码管显示0000-FFFF项目4:简易秒表任务1.采用2位数码管显示00-99《单片机技术》项目化课程任务1.采用2位数码管显示00-99(老师引导学)步骤:1.在proteus中绘制2位数码管的显示电路。2.绘制程序流程图,在KEIL中编写相关程序。3.把HEX文件加入到proteus去,全速运行程序。4.利用KEIL与proteus联机仿真,单步运行程序。5.理解程序执行过程。6.知识点梳理。7.学生上机练习,并准备完成任务2。《单片机技术》项目化课程仿真较果图《单片机技术》项目化课程任务1的程序设计流程图开始寄存器初始化关闭数据码管数据端口(P0=00H)给数码管数据端口送数打开对应数码管控制脚数据码管个寄存器+1数码管个数寄存器=2?数码管控制寄存器左移1位调用延时函数NY《单片机技术》项目化课程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工作方式控制位M1M0方式说明00013位定时器(TH的8位和TL的低5位)01116位定时器/计数器102自动重装入初值的8位计数器113T0分成两个独立的8位计数器,T1在方式3时停止工作《单片机技术》项目化课程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状态应置为:GATEC/TM1M0GATEC/TM1M000000001T1T0指令:MOVTMOD,#01H;则可以使T0工作在方式1状态若要设置T1为计数方式1,指令是怎样?注意:TMOD不能位寻址。《单片机技术》项目化课程2.给定时器初赋。即把初值装入TH0、TL0或TH1、TL1。例:T0初值为3CB0H,T1初值为00FFH。利用指令:MOVTH0,#3CH;送T0值MOVTL0,#0B0HMOVTH1,#00H;送T1值MOVTL1,#0FFH如果T0赋初值为78DEH,如何编写程序?《单片机技术》项目化课程3.启动定时器。SETBTR0;启动T0SETBTR1;启动T1例:设定时器T1为方式1,初值3CB0H,程序如下:MOVTMOD,#10HMOVTH1,#3CH;送T0值MOVTL1,#0B0HSETBTR1;启动T1如果T0赋初值为78DEH,如何编写程序?《单片机技术》项目化课程二、定时器初值设定方法◆定时时间与定时器的工作方式有关。◆定时时间与初值的大小有关。◆定时时间与时钟周期有关。即使同样的时间,工作方式不同,初值则不同;时钟频率不同,即使工作方式相同,初值也不同。《单片机技术》项目化课程一般设定初值分以下几步进行:1.根据定长短,选择工作方式。方式0M=213=8192方式1M=216=65536方式2M=28=256方式0M=28=256原则上,定时时间长,选用16位或13位计数器,即方式0或1。若定时间短,选用8位,即方式2或3《单片机技术》项目化课程2.定时初值计算设初值为X,最大计数值为M。初值X与机器周期T机、定时器T的关系如下:(M-X)T机=TT机=12个时钟周期=12/foscX=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图,调试程序。《单片机技术》项目化课程程序设计流程图(task4-3-3.asm)开始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图,调试程序。《单片机技术》项目化课程程序设计流程图(task4-3-4.asm)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处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。主程序A响应返回断点RETI……中断服务程序B《单片机技术》项目化课程EX0EAPX001ET0PT001EX1PX101ET1PT101ESPS01≥1RITISCONTCONIE0TF0IE1TF110101IT0IT1INT0INT1T0T1RXTXIEIP111111110硬件查询自然优先级自然优先级中断入口中断入口高级低级中断源中断源80C51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套。4.2.2中断源《单片机技术》项目化课程《单片机技术》项目化课程4.2.3中断标志及控制寄存器1.中断标志寄存器TCON、SCON◆IT0(TCON.0),外部中断0触发方式控制位。当IT0=0时,为电平触发方式。当IT0=1时,为边沿触发方式(下降沿有效)。◆IE0(TCON.1),外部中断0中断请求标志位。◆IT1(TCON.2),外部中断1触发方式控制位。◆IE1(TCON.3),外部中断1中断请求标志位。◆TF0(TCON.5),定时/计数器T0溢出中断请求标志位。◆TF1(TCON.7),定时/计数器T1溢出中断请求标志位。《单片机技术》项目化课程(2)SCON的中断标志RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清除。TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。《单片机技术》项目化课程◆当两个以上中断同时发生,先响应最高优先级。◆分成高优先级和低优先级。◆如何确定5个中断源的优先级高、低顺序?(1)自然优先级2.中断优先级寄存器IP《单片机技术》项目化课程(2)中断优先级寄存器IP80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。PX0(IP.0),外部中断0优先级设定位;PT0(IP.1),定时/计数器T0优先级设定位;PX1(IP.2),外部中断0优先级设定位;PT1(IP.3),定时/计数器T1优先级设定位;PS(IP.4),串行口优先级设定位;PT2(IP.5),定时/计数器T2优先级设定位。《单片机技术》项目化课程PS、PT1、PX1、PT0、PX0的5位中哪个为“1”,则对应中断源为高优先级;为“0”者为低优先级。同级中断按自然优先级排队。例:如果PT1=1,PX0=1,其余为0,则中断优先级控制寄存器为05H.利用指令MOVIP,#05H,就把T1、INT0设置为高优先级,其余为低优先级。若T1、/INT0同时发生中断申请,按自然优先级,先响应
本文标题:单片机技术简易秒表教程
链接地址:https://www.777doc.com/doc-1060093 .html