欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    项目7__数字钟的安装与调试电子课件 高教版 中职 单片机控制装置安装与调试.ppt

    • 资源ID:90590674       资源大小:1.46MB        全文页数:40页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    项目7__数字钟的安装与调试电子课件 高教版 中职 单片机控制装置安装与调试.ppt

    项目7_数字钟的安装与调试电子课件 高教版 中职 单片机控制装置安装与调试任务一 数码管动态显示数字钟是一种用数字电路技术实现时、分、秒计时的钟表。与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。这些方法都各有特点,其中利用单片机实现的电子钟编程灵活,便于功能扩展。数码管应用任务一 数码管动态显示 在日常生活中,随处可见数码管显示使用场合,如:企业车间进度提示牌、摇控器、手机、市场上各种电子秤等各种带显示设备仪器。如图7-1(a)、7-1(b)所示为常用的多位数码管显示使用设备。常见数码管图7-1 多位数码管常用设备任务一 数码管动态显示 1.静态驱动显示 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动(STC15单片机可用的I/O端口已增至37个),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。静态显示任务一 数码管动态显示 2.动态驱动显示 数码管动态显示接口是单片机中应用最为广泛的显示方式之一,动态驱动是将所有数码管的8个显示笔划“a、b、c、d、e、f、g、dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉滞留现象及发光二极管的余晖效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。动态显示任务一 数码管动态显示多位数码管 多位数码管有二位、三位、四位、六位等多样,如图7-2所示,颜色有红,绿,蓝,黄等几种,可用于各种饮水机、制水机、捆钞机、空调、光带灯、开关灯、手按灯、光字牌、全日历时钟等各种小家电LED、工业控制设备中的显示屏。图7-2 多位数码管任务一 数码管动态显示多位数码管 四位数码管是比较常用的数码管,这种数码管内部的4个数码管共用adp这8根数据线,为人们使用提供了方便。因为四位数码管里面有4个数码管,所以它有4个公共端,加上adp,共有12个引脚,图7-3是一个共阳的四位数码管的内部结构图。图7-3 四位数码管内部连接原理图任务一 数码管动态显示多位数码管 如图7-4所示,是四位数码管反置实物图,可以观察到4位数码管共有12只脚。管脚顺序:从数码管的反面观看,以右下角第一脚为起点,管脚的顺序是顺时针方向排列。12、9、8、6为公共脚,即COM端,又称为位码端。A11、B7、C4、D2、E1、F10、G5、DP3,称为段码端。图7-4 四位数码管反放实物图任务一 数码管动态显示多位数码管 传统单片机向外供电电流(拉电流)最大值为230A,而STC15系列芯片拉、灌电流最大值可达20mA,STC15系列芯片不需要驱动电路即直接驱动多位共阳、共阴数码管显示。如图7-5(a)所示,是二个共阴四位数码管组合成8位数码管原理图,如图7-5(b)所示,是二个共阴四位数码管组合成8位数码管实物图。图7-5 二个共阴四位数码管组合原理图及实物图任务一 数码管动态显示动态显示#include*/-包含要使用到相应功能的头文件-/#include/-定义全局变量-/unsignedcharcodet_display11=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xbf;/共阳0-9段码,-unsignedcharcodet_display11=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x40;/共阴0-9段码,-unsignedcharcodeT_COM8=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/位码/-函数声明-/voidDelay10us();/延时10usvoidDelay_n_10us(unsignedintn);/延时n个10us 例:使用STC15强推挽输出功能直接驱动8位共阴数码管。(1)使用STC15芯片,直接驱动8位共阴数码管。(2)必须设置段码口为强推挽输出,显示12345678。(3)使用硬件模块:5V电源、STC15最小系统、8位共阴数码管显示模块任务一 数码管动态显示/*函 数 名:Delay10us 函数功能:延时函数,延时10us*/void Delay10us()/11.0592MHz,IAP15F2K61S2芯片 unsigned char i;_nop_();/12T i=2,1T i=25i=25;while(-i);/*函 数 名:Delay_n_10us 函数功能:延时n个10us函数,实参值根据需要设定。若要1ms,则实参值为100*/void Delay_n_10us(unsigned int n)/11.0592MHz unsigned int i;for(i=0;i准双向口,01-强推挽输出 P2M0=0XFF;/=10-高阻输入,11-开漏 while(1)for(i=0;i8;i+)/显示12345678 P1=T_COMi;/赋值位码 P2=t_displayi+1;/不同位赋值相应段码 Delay_n_10us(30);/在一定时间内扫描一次,定时值超过400,就有闪烁感 任务二 定时器的使用 8051单片机内部有两个16位可编程定时器/计数器,即定时/计数器T0和定时/计数器T1(8052提供3个,第三个称为定时/计数器T2,STC15F2K60S2增加到6个)。它们既可用作定时器方式,又可用作计数器方式,可编程设定4种不同的工作方式。1.定时/计数器的结构 定时/计数器T0、T1的结构如图7-8所示。它由加法计数器、TMOD、TCON寄存器等组成。定时/计数器的核心是16位加法计数器,图7-8中定时/计数器T0的加法计数器用特殊功能寄存器TH0,TL0表示,TH0表示加法计数器的高8位,TL0表示加法计数器的低8位。TH1、TL1则表示定时/计数器T1的加法计数器的高8位和低8位。这些寄存器可根据需要由程序读写。当16位加法计数器的输入端每输入一个脉冲,16位加法计数器的值自动加1,当计数器的计数值超过加法计数器字长所能表示的2进制数的范围而向第17位进位,即计数溢出时,置位定时中断请求标志,向CPU申请中断。16位加法计数器编程选择对内部时钟脉冲进行计数或对外部输入脉冲计数。对内部脉冲计数时称定时方式,对外部脉冲计数时称计数方式。定时器结构任务二 定时器的使用定时器结构图7-8 定时/计数器的结构任务二 定时器的使用TMOD寄存器2定时器/计数器的工作方式 单片机定时/计数器的工作由两个特殊功能寄存器TMOD和TCON控制,它们分别用来设置各个定时/计数器的工作方式,选择定时或计数工作方式,控制启动方式,以及作为运行状态的标志等等。(1)定时器/计数器工作方式寄存器TMODTMOD用于设置定时/计数器的工作方式,格式见表7-2。表7-2 定时器/计数器工作方式寄存器TMOD任务二 定时器的使用由表7-2可见,TMOD分成两部分,高四位用于T1,低四位用于T0。各种符号的含义如下:GATE-门控制位。GATE=0,定时器/计数器启动与停止仅受TCON寄存器中TR0或TR1来控制。GATE=1,定时器计数器启动与停止由TCON寄存器中TR0或TR1和外部中断引脚(INT0或INT1)上的电平状态来共同控制。C/T-定时器和计数器模式选择位。C/T=1,为计数器模式;C/T=0,为定时器模式。TMOD寄存器任务二 定时器的使用TMOD寄存器M1M0工作方式功能描述0 0方式0传统芯片定义为13位计数器STC15芯片开始定义为16位自动重装计数器0 1方式116位不重装计数器1 0方式2自动重装初值的8位计数器1 1方式3T0:分成两个8位计数器,T1:停止工作M1M0-工作模式选择位。定时/计数器的4种工作方式由M1M0设定,具体描述如表7-3所示。表7-3 定时/计数器工作方式选择任务二 定时器的使用TCON寄存器(2)定时器/控制器控制寄存器TCONTCON也被分成两部分,高4位用于定时/计数器,低4位则用于外部中断。其作用是控制定时/计数器的启动、停止、溢出中断、外部中断和触发情况。定时器/计数器TCON控制寄存器具体描述如表7-4所示。表7-4定时器/计数器控制寄存器TCON任务二 定时器的使用高4位含义如下:TF1-定时器1溢出标志位。当定时器1记满溢出时,由硬件使TF1置1,并且申请中断。进入中断服务程序后,由硬件自动清0。需要注意的是,如果使用定时器中断,那么该位完全不用人工操作,但是如果使用软件查询方式的话,当查询到该位置1后,就需要用软件清0。TR1-定时器1运行控制位。由软件清0关闭定时器1。当GATE=1,且INI1为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1启动定时器1。TF0-定时器0溢出标志,其功能及其操作方法同TF1。TR0-定时器0运行控制位,其功能及操作方法同TR1。TCON寄存器任务二 定时器的使用从上面的知识点可知,每个定时器都有4种工作模式,通过设置TMOD寄存器中的M1M0位来进行工作方式选择。在不同工作方式下计数器位数不同,最大计数值也不同。设最大计数值为M,那么各方式下的最大值M为方式0:M=213=8192(传统51芯片)方式0:M=216=65536(STC15芯片开始使用)方式1:M=216=65536方式2:M=28=256方式3:T0分成两个8位计数器,所以两个M均为256。定时/计数器是作“加1”计数,并在计数溢满时产生中断,因此初值X为计数功能:X=2n-计数值n=8,13,16取决于工作方式定时功能:X=2n-t/Tt:定时时间T:机器周期=12/工作频率定时器的初始化任务二 定时器的使用(1)TMOD寄存器初始化为把定时器0设定为方式1,设置M1M0=01;为实现定时功能,C/=0;不受外部输入影响,设置GATE=0。定时器1不用,有关位设定为0。因此TMOD的初始化为01H(在程序编写中写为TMOD=0 x01;)。(2)计数初值的计算工作频率为12MHz,那么此时机器周期=12/工作频率=12/(12106)=1us则初值X=216-t/T=X=65536-(1000/1)=64536方式1的计数位数是16位,对T0来说,由寄存器TH0、TL0作为高8位和低8位,组成了16位加1计数器。定时器一旦启动,它便在初值的基础上开始加1计数,若在程序开始时,没有设置TH0和TL0,它们的默认值都是0。记满TH0和TL0就需要216-1个数,再来一个脉冲计数器溢出,随即向CPU申请中断。定时器的初始化 假设单片机的工作频率为12MHz,使用定时器0,工作在方式1,要求定时时间为1ms。任务二 定时器的使用根据前面的计算,定时1ms,要计1000个数,即TH0和TL0中应该装入的总数是64536,把64536对256求模(64536/256)装入TH0中,把64536对256求余(64536%256)装入TL0中。以上就是定时器初值的计算法,总结后得出如下结论:当用定时器0的方式1时,设机器周期为T,定时器产生一次中断的时间为t,那么需要计数的个数为N=t/T,装入TH0和TL0中的数分别为:TH0=(65536-N)/256 TL0=(65536-N)%256(3)对IE赋值,开放中断开总中断,设置EA=1;开定时器0中断:设置ET0=1。(4)启动定时器0设置TR0=1,定时启动开始计数。定时器的初始化任务二 定时器的使用通常定时器初始化过程如下:(1)对TMOD赋值,以确定T0和T1的工作方式。(2)计算初值,并将初值写入TH0、TL0或TH1、TL1。(3)中断方式时,则对IE赋值,开放中断。(4)使TR0和TR1置位,启动定时器/计数器定时或计数。定时器的初始化任务二 定时器的使用/*函 数 名:init_t0()*函数功能:设置定时器0,定时时间为50ms*/void init_t0()/T0初始化,12T工作模式TMOD=0 x01;/设置定时器0位工作模式1(M1M0为01)TH0=(65536-(int)(50000*11.0295/12)/256;/装初值,工作频率11.029MHz,定时50ms /(int)(x)对x值进行取整运算 TL0=(65536-(int)(50000*11.0295/12)%256;EA=1;/开总中断 ET0=1;/开定时器0中断 TR0=1;/启动定时器0定时器的初始化任务二 定时器的使用定时器的中断服务程序/*函 数 名:timer0*函数功能:定时器0的中断函数*/void timer0()interrupt 1 /定时器0的中断号是1,12T工作模式TH0=(65536-50000)/256;/重新装载初值,工作频率为12MHz,定时50msTL0=(65536-50000)%256;中断服务语句;/一般是改变变量值,让这个变量在其它函数中控制程序走向定时器的中断服务程序任务二 定时器的使用没有任何设置时,STC15系列芯片定时器默认在12T工作模式。让STC15系列定时器工作在1T模式下,需要进行设置,如:AUXR|=0 x80。中断最长时间不超过5ms,定时器中断函数的编写,可参考STC公司提供的STC-ISP软件中的“定时器/计数器”设置功能。例:编写满足如下条件的初始化T0函数使用STC15系列芯片,工作在1T模式,设置工作方式1(不自动重载16位方式),使用定时器0,定时5毫秒的初始化函数。void Timer0_Init(void)/5毫秒11.0592MHzAUXR|=0 x80;/定时器时钟1T模式TMOD&=0 xF0;/保留定时器1状态TMOD|=0 x01;/设置定时器模式TL0=(65536-(int)(5000*11.0592)%256;/设置定时初值,定时5ms,1T工作模式TH0=(65536-(int)(5000*11.0592)/256;TF0=0;/清除TF0标志TR0=1;/定时器0开始计时 EA=1;/开总中断 ET0=1;/开定时器0中断STC的定时器初始化任务三 在Proteus中实现秒表使用Keil C51编写程序,并在Proteus仿真软件中实现秒表的显示,功能要求如下:(1)在4位数码管中按“秒.毫秒”的格式显示时间,上电运行初始化显示“00.00”;(2)第一次按下按键,秒表开始计时;(3)第二次按下,秒表停止,并显示计时时间;(4)第三次按下,时间复位,数码管显示“00.00”;(5)按键功能可依次循环。秒表的实现任务三 在Proteus中实现秒表数字钟原理图图7-9数字钟工作原理图任务三 在Proteus中实现秒表程序设计主函数时调用了二个函数,分别是按键函数、显示函数。按键函数完成功能多,相对复杂,显示函数主要解决四个数码管的显示数字及秒个位数字带小数点的问题。其它三个函数功能分别是:定时1ms功能的Delay1ms()函数可不需要自己写代码,使用STC-ISP软件的延时计算器功能直接生成,Delay_n_1ms(unsignedintn)完成延时n个1ms功能,Timer0(void)interrupt1using0完成定时250us的功能。秒表程序设计任务三 在Proteus中实现秒表按键扫描程序流程图任务三 在Proteus中实现秒表*程序说明:第一按键开始计时,第二次按键显示时间,第三次键按清0*连接方式:P2口接4位共阳数码管的段码脚,P1口低四位接位码脚#include/C51库文件#includeunsignedcharcodet_display10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/共阳0-9段码unsignedcharcodeT_COM4=0 xfe,0 xfd,0 xfb,0 xf7;/位码unsignedintdata14=0,0,0,0;/存放显示数值unsignedcharSecond=0,Minute=0;/定义秒与毫秒unsignedcharkeycnt=0;/按下次数值unsignedinttcnt;/键值判断sbitP3_0=P30;/定义中断位变量voidDelay1ms(void);/延时1msvoidDelay_n_1ms(unsignedintn);/延时n个1msvoidLed(intsec,intmin);/显示函数voidKEY();/按键扫描程序voidTimer0(void);/定时中断服务函数秒表程序设计任务三 在Proteus中实现秒表void Delay1ms()/11.0592MHz unsigned char i,j;_nop_();i=2;/12T芯片 i=2,1T芯片 i=11 j=199;/12T芯片 i=199,1T芯片 j=190 do while(-j);while(-i);void Delay_n_1ms(unsigned int n)/11.0592MHz unsigned int i;for(i=0;in;i+)Delay1ms();秒表程序设计任务三 在Proteus中实现秒表void Led(int sec,int min)/显示函数 unsigned int i;data10=min/10;/求秒十位 data11=min%10;/求秒个位 data12=sec/10;/求毫秒十位 data13=sec%10;/求毫秒个位 for(i=0;i4;i+)/显示秒十、秒个、毫秒十、毫秒个位上的数 P1=0 xff;/关闭显示,消隐 if(i=1)P2=t_displaydata1i+0 x80;/P2口置数,秒个位加点 else P2=t_displaydata1i;/P2口置数 P1=T_COMi;/打开指定位上的数显示 Delay_n_1ms(10);/延时10ms(已经延时比较长了),位扫描间隔 秒表程序设计任务三 在Proteus中实现秒表void KEY()/按键扫描程序 if(P3_0=0)Delay_n_1ms(10);/消抖 if(P3_0=0)keycnt+;switch(keycnt)/按下次数判断 case 1:/第一次按下,开始计时 TH0=0 x1a;/对TH0,TL0 赋值,定时250us TL0=0 x1a;TR0=1;/开始定时 break;case 2:/第二次按下,显示所计时间 TR0=0;/定时结束 break;case 3:/第三次按下,复位 keycnt=0;/重新开始判断键值 Second=0;/计数重新从零开始 Minute=0;/计数重新从零开始 break;while(P3_0=0);秒表程序设计任务三 在Proteus中实现秒表void Timer0(void)interrupt 1 using 0/定时中断服务函数 tcnt+;/每过250us tcnt 加一 if(tcnt=40)/计满40次(1/100 秒)时 tcnt=0;/重新再计 Second+;if(Second=100)/定时1秒,在从零开始计时 Second=0;if(+Minute=60)/定时60 秒,在从零开始计时 Minute=0;void main()TMOD=0 x02;/定时器工作在方式2,8位自动重装 ET0=1;/开定时器0中断 EA=1;/开总中断 while(1)KEY();/调用按键程序 Led(Second,Minute);/调用显示程序,将秒与毫秒参数传递给Led函数 秒表程序设计任务四 数字钟的制作三极管开关特性多位数码管动态显示的关键在于位选信号,可以使用三极管的开关特性来控制数码管的位选引脚,比如用PNP三极管控制共阳极数码管的位选。其原理如图7-12所示,发射极接电源,集电极接负载,然后通过基极控制三极管的通断。当通过单片机给基极一个低电平时,发射结正偏,发射极与集电极之间导通,集电极变为高电平。简单地说就集电极和发射极相当于一个开关,基极是控制端,基极给高电平时,开关是断开,基极给低电平时,开关闭合。图7-12三极管开关特性任务四 数字钟的制作八位共阳数码管原理图任务四 数字钟的制作元件清单:(1)1块159CM多孔板;(2)8只0.25W四色环碳膜200电阻;8只0.25W四色环碳膜1K电阻;(3)8只S8550三极管;(4)2个四位的0.36英寸红色共阳极数码管;(5)排针:段选与位选端子,2组8个排针端子;电源端,4个排针端子;(6)连接线:8个一组的2根双母杜邦线及若干单独双母杜邦线;(7)焊接工具,焊丝,导线若干。元件清单任务四 数字钟的制作八位共阳数码管实物图感谢阅读!

    注意事项

    本文(项目7__数字钟的安装与调试电子课件 高教版 中职 单片机控制装置安装与调试.ppt)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开