《表格模板-单片机技术简易秒表教程 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-单片机技术简易秒表教程 精品.ppt(47页珍藏版)》请在第一文库网上搜索。
1、 任务任务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、习,并准备完成任务2。仿真较果图仿真较果图任务任务1的程序设计流程图的程序设计流程图开始寄存器初始化关闭数据码管数据端口(P0=00H)给数码管数据端口送数打开对应数码管控制脚数据码管个寄存器+1数码管个数寄存器=2?数码管控制寄存器左移1位调用延时函数NY1. proteus标识符net快速画图:第一步:点击这个“LBL”按钮。第二步:按一下键盘的字母A键,弹出一个对话框。将STRING修改成: net=P0#,号的意思就是变化的数字,怎样变就靠下面的两个参数,Count(初始值) 和Increament (增量)。按ok键后,移到单片机P0口,就会出现一只小手,还有一个小绿色方块,就可以添
3、加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
4、.在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位位的的可编程可编程定时定时/计数器计数器 既可以用为定时器使用可作为计数器
5、计外部脉冲个数既可以用为定时器使用可作为计数器计外部脉冲个数 定时定时/计数器的工作方式计数器的工作方式 、定时时间、启动、停止都由软、定时时间、启动、停止都由软件指令控制件指令控制 寄存器:寄存器:TH0 TL0 TH1 TL1 TCON TMOD一、一、 定时器定时器/计数器的方式寄存器计数器的方式寄存器TMOD(Operation mode selection register) 1. M1M0工作方式控制位工作方式控制位 M1 M0 方式方式说说 明明0 0013 位定时器(TH的 8 位和TL的低 5 位) 0 1116 位定时器/计数器 1 02自动重装入初值的 8 位计数器 1
6、13 T0 分成两个独立的 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 时, 相应的定时器 /计数器才被选通工作, 这时可用于测量在这时可用于测量在I
7、NTx端出现的正脉冲端出现的正脉冲的宽度。的宽度。二、二、 控制及标志寄存器控制及标志寄存器TCON(Control register of timer/counter) TCON是一个8位寄存器。由它控制定时器的启、停、溢出、中断等。其中有些位是控制设置,有些是标志位,各位都有对应的地址,故可位寻址。4.1.2 定时器初始化定时器初始化一、定时器初始化的主要内容一、定时器初始化的主要内容1. 选择工作方式。选择工作方式。即通过方式寄存器TMOD进行设置。例如:欲设置T0为定时方式1,TMOD状态应置为:GATEC/TM1M0GATEC/TM1M000000001T1T0指令:MOV TMOD
8、,#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,#
9、3CH ;送T0值MOVTL1,#0B0HSETBTR1;启动T1如果T0赋初值为78DEH,如何编写程序?二、定时器初值设定方法二、定时器初值设定方法 定时时间与定时器的工作方式有关。定时时间与定时器的工作方式有关。 定时时间与初值的大小有关。定时时间与初值的大小有关。 定时时间与时钟周期有关。定时时间与时钟周期有关。 即使同样的时间,工作方式不同,初值则不同;时钟频率不同,即使工作方式相同,初值也不同。一般设定初值分以下几步进行:1.根据定长短,选择工作方式。根据定长短,选择工作方式。方式方式0M=213=8192方式方式1M=216=65536方式方式2M=28=256方式方式0M=28
10、=256 原则上,定时时间长,选用16位或13位计数器,即方式0或1。若定时间短,选用8位,即方式2或32.定时初值计算定时初值计算 设初值为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机 = 1
11、us定时方式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
12、的的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) +1N
13、NN例例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
14、) = 0YY4.2 中断系统及应用中断系统及应用4.2.1 4.2.1 中断系统结构中断系统结构 CPUCPU在处理某一事件在处理某一事件A A时,发生了另一事件时,发生了另一事件B B请求请求CPUCPU迅速去处理(迅速去处理(中断发生中断发生);); CPUCPU暂时中断当前的工作,转去处理事件暂时中断当前的工作,转去处理事件B B(中中断响应和中断服务断响应和中断服务););待待CPUCPU将事件将事件B B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A A被被中断的地方继续处理事件中断的地方继续处理事件A A(中断返回中断返回),这一过),这一过程称为程称为中断中断 。执行主
15、程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回MCS-51MCS-51单片机的中断系统结构图单片机的中断系统结构图引起引起CPU中断的根源,称为中断的根源,称为中断源中断源。中断源向。中断源向CPU提出的提出的中断请求。中断请求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事件,转去处理事件B。对。对事件事件B处理完毕后,再回到原来被中断的地方(即处理完毕后,再回到原来被中断的地方(即断点断点),称),称为中断返回。实现上述中断功能的部件称为为中断返回。实现上述中断功能的部件称为中断系统中断系统(中断(中断机构)。机构)。80C51的中断系统有的中断系统有5个中
16、断源个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套个优先级,可实现二级中断嵌套 。4.2.2 4.2.2 中断源中断源4.2.3 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的中断标志的中断标志vRI(SCON.0),串行口接收中断标志位。当允),串行口