版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-5-3Dr. XYZ / NCRL12022-5-3Dr. XYZ / NCRL2学习学习目标目标2022-5-3Dr. XYZ / NCRL3项目项目 电源开关控制器电源开关控制器任务一任务一 :0-9键控秒表键控秒表任务三:电源开关控制器任务三:电源开关控制器任务二:任务二:99-00键控倒计时秒表键控倒计时秒表Dr. XYZ / NCRL4Dr. XYZ / NCRL5Dr. XYZ / NCRL6Dr. XYZ / NCRL71. 1. 数码管数码管如何显示出指定字符?如何显示出指定字符?2. 2. 数码管数码管和单片机的电路连接方式?和单片机的电路连接方式? 3. 0-93
2、. 0-9的显示方法?的显示方法?4. 1S4. 1S的定时方法?的定时方法?5. 5. 独立式按键的识别与处理方法?独立式按键的识别与处理方法?Dr. XYZ / NCRL8共阴结构共阴结构共阳结构共阳结构数字及部分字母的七段显示代码数字及部分字母的七段显示代码Dr. XYZ / NCRL9单片机与一位单片机与一位LEDLED的连接的连接Dr. XYZ / NCRL10 数组元素的数组元素的组成组成(查表法):(查表法): 要实现要实现0-9的显示,首先要写出的显示,首先要写出0-9对对应的显示代码,并且注意应与电路中选用应的显示代码,并且注意应与电路中选用的数码管类型一致,这些数据在程序中
3、作的数码管类型一致,这些数据在程序中作数组元素。程序中将数组元素依次读出送数组元素。程序中将数组元素依次读出送到端口。到端口。 数组元素的组成(查表法):数组元素的组成(查表法): uchar code display_data=0 x3f, 0 x06, 0 x5b, 0 x4f, 0 x66, 0 x6d, 0 x7d, 0 x07,0 x7f, 0 x6f; Dr. XYZ / NCRL11 软件定时:软件定时: 延时子函数。延时子函数。 定时器定时:定时器定时: 使用单片机的使用单片机的定时器定时器/计数器计数器。Dr. XYZ / NCRL12定时定时/ /计数器的基础知识计数器的基
4、础知识1 1)5151单片机有单片机有2 2个个1616位的定时位的定时/ /计数器。计数器。2 2)TIMER0TIMER0由由2 2个特殊功能寄存器个特殊功能寄存器TH0TH0和和TL0TL0构成,构成,TIMER1TIMER1则由则由TH1TH1和和TL1TL1构成。构成。3 3)每个定时)每个定时/ /计数器有计数器有4 4种工作模式。种工作模式。4 4)定时)定时/ /计数器共有计数器共有2 2个控制寄存器个控制寄存器TMODTMOD和和TCONTCON,用于设置各个定时器的操作模式和控制功能。用于设置各个定时器的操作模式和控制功能。 Dr. XYZ / NCRL13定时定时/ /计
5、数器的工作原理计数器的工作原理定时器/计数器中的核心部件为可预置初值计数器可预置初值计数器。预置初值后开始计数,直至计数值产生溢出。K1K2可预置初值计数器可预置初值计数器中断中断请求请求功能功能选择选择启动启动控制控制内部时钟脉冲内部时钟脉冲(定时)(定时)外部输入脉冲外部输入脉冲(计数)(计数)溢出信号溢出信号计数脉冲计数脉冲计数初值计数初值TF0/TF1TF0/TF1TR0/TR1TR0/TR1C/TC/TTMODTMOD控制字控制字Dr. XYZ / NCRL14定时定时/ /计数器的初值计算计数器的初值计算1)计数器初值的计算计数器初值的计算把计数器计满为零所需要的计数值设定为TC
6、,计数初值设定为COUNT ,由此可得到公式: 2nCTCOUNTDr. XYZ / NCRL15定时定时/ /计数器的初值计算计数器的初值计算(2)nCoscTCOUNTT2) 定时器初值的计算定时器初值的计算在定时器模式下,计数器由单片机主脉冲经12分频后计数。定时初值设定为COUNT,定时时间设定为TC,由此可得到定时器定时时间TC的公式: 则定时初值COUNT为:02/212nnSCCoscCfCOUNTTTTDr. XYZ / NCRL16T1启动位启动位(TCON.6): 1:启动:启动T0溢出标志位溢出标志位(TCON.5): T1启动计数后,计满启动计数后,计满溢出后为溢出后为
7、1。定时定时/ /计数器的控制寄存器计数器的控制寄存器TCONTCONT1溢出标志位溢出标志位(TCON.7): T1启动计数后,计满启动计数后,计满溢出后为溢出后为1。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON 88H76543210T0启动位启动位(TCON.4): 1:启动:启动Dr. XYZ / NCRL17定时定时/计数选择标志位计数选择标志位1,定时功能= 0,计数功能,定时定时/ /计数器的模式控制寄存器计数器的模式控制寄存器TMODTMOD门控方式选择标志位门控方式选择标志位1,门控方式,外部启动,TRx=1且引脚且引脚INTx=1才启动才启动=
8、0,非门控方式,内部启动76543210TMOD 88HGATE C/T M1 M0 GATE C/T M1 M0 T1T0Dr. XYZ / NCRL18定时定时/ /计数器的工作方式计数器的工作方式13位定时/计数器。THx8位和TLx低5位组成加1计数器。计数外部脉冲个数:18192 定时时间(若T=1s):1s8.19ms方式方式0foscfoscDr. XYZ / NCRL19定时定时/ /计数器的工作方式计数器的工作方式16位定时/计数器。THx8位和TLx8位组成加1计数器。计数外部脉冲个数:165536 定时时间(若T=1s):1s65.536ms方式方式1foscfoscDr
9、. XYZ / NCRL20定时定时/ /计数器的工作方式计数器的工作方式8位自动重装载方式。TLx为8位加1计数器,THx为8位初值暂存器。最大计数值256,最大定时时间(若T=1s):256 s方式方式2Dr. XYZ / NCRL21定时定时/ /计数器的工作方式计数器的工作方式T0分成2个8位定时器:TL0定时/计数器和TH0定时器;T1不能使用方式3工作,常作串口的波特率发生器使用。foscfosc振荡器振荡器方式方式3Dr. XYZ / NCRL22定时定时/ /计数器的初始化编程计数器的初始化编程功能选择(定时/计数); 工作方式选择(8/13/16位);装入初值;启动控制(启动
10、/停止);恢复初值方式。Dr. XYZ / NCRL23例例2.12.1:如图如图2.12.1,编程实现从,编程实现从0 09 9秒计数循环显示。秒计数循环显示。1 1)若选择若选择16位定时工作方式,最大定时为位定时工作方式,最大定时为65.536ms。假。假设使用设使用T1,如取,如取T1的最大定时为的最大定时为50ms,那么经过,那么经过20次次的的50ms定时即可达到定时即可达到1s。对于这。对于这20次我们可以采用软件次我们可以采用软件的方法来统计了。的方法来统计了。 2)设定)设定TMOD00010000B,即,即TMOD10H 。3)给)给T1定时定时/计数器的计数器的TH1,T
11、L1装入预置初值。装入预置初值。 4)如何得知)如何得知50ms的定时时间已到?的定时时间已到?通过查询通过查询TCON中的中的TF1标志位,如果标志位,如果TF11表示定时时间到。表示定时时间到。 Dr. XYZ / NCRL24开始TMOD初始化TH1、TL1装初值启动TR1查表送显示值至P2口TF1=1?Ntcount=tcount+1tcount=20?Ni=i+110?Yi=0tcount=0i=0Dr. XYZ / NCRL25#include#define uchar unsigned charuchar code display_data=0 x3f, 0 x06, 0 x5b
12、, 0 x4f, 0 x66, 0 x6d, 0 x7d, 0 x07,0 x7f, 0 x6f;void main()uchar i,tcount=0; TMOD=0X10; /方式控制字初值:方式一、定时TH1=(65536-50000)/256; /设定定时初值高八位TL1=(65536-50000)%256; /设定定时初值低八位TR1=1; /定时器一启动while(1)for(i=0;i10;) /for语句的用法,不指定循环次数的改变方式P2=display_datai; /显示数据送P2口Dr. XYZ / NCRL26if(TF1) /if语句的用法tcount+; /500
13、ms到,改变定时次数if(tcount=20) /1s到,注意表达式!tcount=0; /初始化定时次数i+; /指向下一个显示数据TF1=0; /定时器溢出标志清零TH1=(65536-50000)/256; /重置初值TL1=(65536-50000)%256;Dr. XYZ / NCRL27每一个按键的电路是独立的,占用每一个按键的电路是独立的,占用一条一条I/O数据线数据线Dr. XYZ / NCRL28软件去抖动前沿抖动稳定后沿抖动 按键抖动信号波形即检测出键闭合后执行一个即检测出键闭合后执行一个延时程序延时程序,产生产生5ms10ms的的延时延时,让前沿抖动消失后再让前沿抖动消失
14、后再一次检测键的状态一次检测键的状态,如果仍如果仍保持闭合状态电平保持闭合状态电平,则确认则确认为真正有键按下。为真正有键按下。2022-5-3Dr. XYZ / NCRL29 if(P1=P1|0 x55)!=0 xff) delay(); if(P1=P1|0 x55)=0 xfd) *pled=0 x06; if(P1=P1|0 x55)=0 xf7) *pled=0 x5b; if(P1=P1|0 x55)=0 xdf) *pled=0 x4f; if(P1=P1|0 x55)=0 x7f) *pled=0 x66; 1 在在proteus上画出如下电路图上画出如下电路图. 2 在在k
15、eil中编制程序中编制程序,要求要求能显示按键数值能显示按键数值.3 运行程序运行程序,观察电路中数码管显示观察电路中数码管显示.Dr. XYZ / NCRL30Dr. XYZ / NCRL31实施步骤:实施步骤:1. 1. 列出列出0-90-9秒表电路器件清单。含元件名称、参数及数量。秒表电路器件清单。含元件名称、参数及数量。2. 2. 用用PROTUESPROTUES软件绘制出如图软件绘制出如图2-12-1所示的仿真电路图,参数设所示的仿真电路图,参数设置同项目一。置同项目一。Dr. XYZ / NCRL32实施步骤:实施步骤:3. 源程序输入、编辑及编译。运行keilc uVision3
16、,建立名为exp2-2 的工程,输入源程序程序,命名为exp2-2.c,将文件加入工程中,设置工程,正确编译后生成目标文件“exp2-2.hex”,在PROTUES中加入该文件。Dr. XYZ / NCRL33 4. 程序调试 使用用keilc uVision3和PROTUES软件进行联调,联调参数设置同项目一。对编译通过的程序进行调试,调试过程中打开keilc uVision3的工作寄存器窗口、特殊功能寄存器窗口、内部RAM窗口,及输入/输出端口窗口,观察程序运行过程中各变量的值和程序运行的时间。程序调试时,用单步或跟踪运行观察PROTUES仿真电路的运行效果,程序调试通过后再全速运行。Dr
17、. XYZ / NCRL34Dr. XYZ / NCRL35Dr. XYZ / NCRL361. 1. 如何显示多位数如何显示多位数?静态显示静态显示 GND/+5VGND/+5VGND/+5VGND/+5VGND/+5VI/O(1)I/O(2)I/O(3)I/O(4) 四位静态LED显示器电路Dr. XYZ / NCRL371. 1. 如何显示多位数如何显示多位数?动态显示动态显示 八位LED动态显示器电路 I/O(1)DDDDDDDDI/O(2)75643210Dr. XYZ / NCRL381. 1. 如何显示多位数如何显示多位数?动态显示动态显示特点特点:逐位轮流点亮每位显示器,即使每
18、个数码逐位轮流点亮每位显示器,即使每个数码管的位选被轮流选中,多个数码管共用一组段选,管的位选被轮流选中,多个数码管共用一组段选,字形码仅对位选被选中的数码管有效。字形码仅对位选被选中的数码管有效。如果显示器的位数不大于如果显示器的位数不大于8 8位,位选端只需要一位,位选端只需要一个个8 8位位I/OI/O口进行动态扫描,而段选端也只要一个口进行动态扫描,而段选端也只要一个8 8位位I/OI/O口即可。口即可。Dr. XYZ / NCRL391. 1. 如何显示多位数如何显示多位数?动态显示动态显示Dr. XYZ / NCRL402 2. . 行列式键盘行列式键盘结构结构Dr. XYZ /
19、NCRL412 2. . 行列式键盘行列式键盘结构结构每一个按键的电路是由行列组成,每一个按键占用每一个按键的电路是由行列组成,每一个按键占用两条两条I/O数据线数据线2022-5-3Dr. XYZ / NCRL42求键的位置(行、列)若若D1=0,则,则D5=0假定假定 S6 按下按下Dr. XYZ / NCRL432 2. . 行列式键盘行列式键盘工作原理工作原理 扫描原理扫描原理: :首先确定是否有键闭合(消抖,再判)首先确定是否有键闭合(消抖,再判)然后逐一扫描以进一步确定是哪一键闭合然后逐一扫描以进一步确定是哪一键闭合 ( (用编码方式用编码方式, ,找出唯一找出唯一) ) 以以4
20、44 4键盘为例键盘为例: : (1)判断是否有键按下:使列线D0D3都输出0,检测行线D4D7的电平。如果D4D7上的电平全为高,则表示没有键被按下。如果D4D7上的电平不全为高,则表示有键被按下。 (2)扫面按键键值:如果有键闭合,进行逐列扫描,找出闭合键的键号。2022-5-3Dr. XYZ / NCRL441 在在proteus上画出上画出如下电路图如下电路图. 2 在在keil中编制程序中编制程序,要求能显示按键数要求能显示按键数值值.3 运行程序运行程序,观察电观察电路中数码管显示路中数码管显示.Dr. XYZ / NCRL453 3. . 中断工作方式中断工作方式 你正在专心看书
21、,突你正在专心看书,突然电话铃响,于是你然电话铃响,于是你记下记下正在看的书的页数,去接正在看的书的页数,去接电话,接完电话后再回来电话,接完电话后再回来接着接着看书。看书。时间时间Dr. XYZ / NCRL46(1 1) 什么是中断什么是中断?(2 2) 中断技术的优点中断技术的优点(3 3) MCS-51MCS-51中断系统中断系统(4 4) 中断处理过程中断处理过程(5 5) C51 C51中断程序设计中断程序设计Dr. XYZ / NCRL47(1 1) 什么是中断什么是中断?定义定义:中断中断是指由于某种是指由于某种随机随机事件的发生,计算机事件的发生,计算机暂停暂停现行程现行程序
22、的运行,转去执行另一程序序的运行,转去执行另一程序(处理发生的事件处理发生的事件),处理完毕后,处理完毕后又自动返回原来程序暂停的位置继续运行。又自动返回原来程序暂停的位置继续运行。将能引起中断的将能引起中断的事件事件称为称为中断源中断源。CPU现行运行的现行运行的程序程序称为称为主程序主程序。处理随机事件的处理随机事件的程序程序称为称为中断服务子程序中断服务子程序。 Dr. XYZ / NCRL48(2 2) 中断技术的优点中断技术的优点 提高工作效率 CPU可以同多个外设“同时”工作 实时处理 CPU及时处理随机事件(智能技术) 故障处理 电源掉电、存储出错、运算溢出 Dr. XYZ /
23、NCRL49(3 3) MCS-51MCS-51单片机中断系统单片机中断系统中断源中断源MCS-51单片机有单片机有5个中断请求源:个中断请求源:单片机单片机INT0或 外部输入中断源外部输入中断源INT0(P3.2)INT1或 外部输入中断源外部输入中断源INT1(P3.3)T0 定时定时/记数器记数器T0的溢出的溢出T1 定时定时/记数器记数器T1的溢出的溢出串行口 片内串行口发送或接收中断源片内串行口发送或接收中断源Dr. XYZ / NCRL50INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断源中断标志位中断标志位 中断允许中断允许IEESET0EX0EX1ET1
24、EA(3 3) MCS-51MCS-51单片机中断系统单片机中断系统中断标志中断标志 每一个中断源都有相应的中断标志位;每一个中断源都有相应的中断标志位; 某一个中断源申请中断,相应中断标志位置某一个中断源申请中断,相应中断标志位置1。Dr. XYZ / NCRL51(3 3) MCS-51MCS-51单片机中断系统单片机中断系统中断寄存器中断寄存器 IE A8H EA ESET1EX1 ET0EX01) IE寄存器寄存器中断允许寄存器中断允许寄存器EA 中断允许总控位中断允许总控位ES 串行通讯中断允许串行通讯中断允许ET1、ET0 定时定时/记数记数1、0溢出中断允许溢出中断允许EX1、E
25、X0 外部中断外部中断1、0允许允许76543210注意:该寄存器可以位寻址。注意:该寄存器可以位寻址。Dr. XYZ / NCRL52(3 3) MCS-51MCS-51单片机中断系统单片机中断系统中断寄存器中断寄存器2) IE寄存器寄存器中断中断优先级优先级寄存器寄存器INT0INT1T0T1串口中断源中断源 单片机中有两个中断优先级,即单片机中有两个中断优先级,即高高优先级中断和优先级中断和低低优先级中断,前者优先级中断,前者优先权高于后者(在程序中设置,优先权高于后者(在程序中设置,IPIP相应位相应位=1=1,为高优先级,为高优先级);); 同一优先级别的中断源按照自然优先级顺序确定
26、优先级别(硬件形成,同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。无法改变)。自然优先级自然优先级高低优先控制优先控制IPPSPT0PX0PX1PT1Dr. XYZ / NCRL53(3 3)MCS-51MCS-51单片机中断系统单片机中断系统中断寄存器中断寄存器2) IE寄存器寄存器中断中断优先级优先级寄存器寄存器 51单片机有两个中断优先级单片机有两个中断优先级高级和低级高级和低级 专用寄存器专用寄存器IP为中断优先级寄存器,用户可用软件设定为中断优先级寄存器,用户可用软件设定 相应位为相应位为1,对应的中断源被设置为,对应的中断源被设置为高优先级高优先级,相应
27、位为,相应位为0,对应,对应的中断源被设置为低优先级的中断源被设置为低优先级 系统复位时,均为低优先级系统复位时,均为低优先级 该寄存器可以位寻址该寄存器可以位寻址 PSPT1PX1PT0PX0 IP B8H 76543210Dr. XYZ / NCRL54(3 3) MCS-51MCS-51单片机中断系统单片机中断系统中断寄存器中断寄存器3) IE寄存器寄存器TCON寄存器寄存器 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON 88H外部中断外部中断INT1中断标中断标志位志位(TCON.3) : IE11,外部中断,外部中断INT1 向向CPU申请中断申请中断 外部
28、中断外部中断INT1触发方触发方式控制位式控制位(TCON.2): IT1=0,电平触发方,电平触发方式式 IT1=1, 下降沿触发下降沿触发方式方式76543210Dr. XYZ / NCRL55(3 3) MCS-51MCS-51单片机中断系统单片机中断系统中断寄存器中断寄存器4) IE寄存器寄存器SCON寄存器寄存器 TI (SCON.1)串行发送中断标志。串行发送中断标志。 RI (SCON.0)串行接收中断标志。串行接收中断标志。 TI RISCON 98H76543210注意:该寄存器可以位寻址。注意:该寄存器可以位寻址。Dr. XYZ / NCRL56(3 3) MCS-51MC
29、S-51单片机中断系统单片机中断系统中断处理过程中断处理过程中断处理过程分为三个阶段:中断处理过程分为三个阶段:中断响应、中断处理和中断返回。中断响应、中断处理和中断返回。v 中断响应中断响应v 中断处理中断处理(又称中断服务又称中断服务)v 中断返回中断返回 v 中断请求撤除 中断响应中断返回Dr. XYZ / NCRL57(3 3) MCS-51MCS-51单片机中断系统单片机中断系统中断处理过程中断处理过程 CPU响应某中断请求后,在中断返回前,应该撤除该中断响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。请求,否则会引起另一次中断。 定时器定时器0或或1溢出:
30、溢出:CPU在响应中断后,在响应中断后,硬件硬件清除了有关的清除了有关的中断请求标志中断请求标志TFO或或TF1,即中断请求是自动撤除的。,即中断请求是自动撤除的。 外部中断:外部中断:CPU在响应中断后,也是用在响应中断后,也是用硬件硬件自动清除有关自动清除有关的中断请求标志的中断请求标志IE0或或IE1。 串行口中断:串行口中断:CPU响应中断后,没有用硬件清除响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠故这些中断不能自动撤除,而要靠软件软件来清除相应的标志。来清除相应的标志。Dr. XYZ / NCRL58(3 3) MCS-51MCS-51单片机中断系统单片机中断系统C51C51中断程序设计中断程序设计中断函数定义语法如下: 返回值类型 函数名 interrupt n using musing m ( (n n对应中断源的编号从04,m对应工作寄存器区从03) 例:void timer0(void) interrupt 1 using 0 ; using”只允许用于中断函数。Dr. XYZ / NCRL59Dr. XYZ / NCRL60实施步骤:实施步骤:1. 1. 列出列出99-0099-00倒计时秒表电路器件清单。含元件名称、参数及倒计时秒表电路器件清单。含元件名称、参数及数量。数量。2. 2. 用用PROT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025曲靖市师宗职业技术学校工作人员招聘考试试题
- 2025江苏省射阳中等专业学校工作人员招聘考试试题
- 废气处理系统安装施工方案
- 卸料平台搭设专项施工方案
- 高中生设计土壤重金属浸出实验研究方法课题报告教学研究课题报告
- BondClaw固收投研系列二:人机协同的REITs公告批量搜集实践
- 2026年美发造型行业温和配方市场分析报告
- 26年老年护理补贴要点总结课件
- 2024年建筑劳务分包合同模板三篇
- 四川省攀枝花市属高中2026届高三3月摸底考试化学试题理试题含解析
- 幼儿园小班语言故事《大熊山》课件
- 2025年建筑施工特种作业人员考试建筑电焊工题库(附答案)
- 2025年福建省福州市辅警协警笔试笔试真题(附答案)
- 构建人类命运共同体+课件-2025-2026学年高中政治统编版选择性必修一
- 2025年善意的谎言辩论会材料及流程
- 2025年辽宁卷历史高考试卷(原卷+答案)
- 检验科个人防护培训课件
- 小儿骨科课件
- 2025年不动产登记业务知识试题及答案
- 2025年内部审计人员考试题库
- 电液伺服阀知识讲解,电液伺服阀组成和工作原理
评论
0/150
提交评论