《单片机应用技术》课件项目四 电子万年历系统设计.ppt

上传人(卖家):momomo 文档编号:7652293 上传时间:2024-05-24 格式:PPT 页数:45 大小:1.40MB
下载 相关 举报
《单片机应用技术》课件项目四 电子万年历系统设计.ppt_第1页
第1页 / 共45页
《单片机应用技术》课件项目四 电子万年历系统设计.ppt_第2页
第2页 / 共45页
《单片机应用技术》课件项目四 电子万年历系统设计.ppt_第3页
第3页 / 共45页
《单片机应用技术》课件项目四 电子万年历系统设计.ppt_第4页
第4页 / 共45页
《单片机应用技术》课件项目四 电子万年历系统设计.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、项目四项目四 电子万年历系统设计电子万年历系统设计4.1单片机单片机与与LED数码管接口数码管接口4.2单片机单片机与与LCD液晶显示模块接口液晶显示模块接口4.3单片机与键盘单片机与键盘1.LED数码管的结构及原理数码管的结构及原理2.LED数码管静态显示数码管静态显示3.LED数码管动态显示数码管动态显示4.14.1单片机单片机与与LEDLED数码管接口数码管接口一、一、LED数码管的结构及原理数码管的结构及原理 发光二极管发光二极管LED(Light Emitting Diode)显示器、液晶显示器、液晶LCD(Liquid Crystal Display)显示器、显示器、CRT显示器等

2、。显示器等。LED、LCD显示器有两种显示结构:段显示(显示器有两种显示结构:段显示(7段、米字型等)和点段、米字型等)和点阵显示(阵显示(58、88点阵等)。点阵等)。4.14.1单片机单片机与与LEDLED数码管接口数码管接口 使用使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为段。因此为LED显示器提供的编码正好是一个字节。根据电路连接图显示显示器提供的编码正好是一个字节。根据电路连接图显

3、示16进制数的编码进制数的编码已列在下表。已列在下表。abcdegGNDfdpGNDabcefgddpabcdefgdpdpgfedcba5V(a)(b)共阴极共阴极共阳极共阳极4.14.1单片机单片机与与LEDLED数码管接口数码管接口共阴数码管码表共阴数码管码表 0 x3f ,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f 0 1 2 3 4 5 6 7 8,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0 x009 A B C D E F 无显示无显示共阳数码共阳数码管码表管码表4.14.1单片机单片机

4、与与LEDLED数码管接口数码管接口 0 x3f ,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f 0 1 2 3 4 5 6 7 8,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0 x009 A B C D E F 无显示无显示 二、二、LEDLED数码管静态显示原理数码管静态显示原理 LED显示器工作方式有两种:静态显示方式和动态显示方式。所谓静显示器工作方式有两种:静态显示方式和动态显示方式。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的态显示,就是每一个显示器都要占用单独的具有锁存功能的

5、I/O接口用于笔接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中种方法单片机中CPU的开销小的开销小,可以提供单独锁存的可以提供单独锁存的I/O接口电路很多(以接口电路很多(以串并转换电路串并转换电路74LS164为例)。为例)。4.14.1单片机单片机与与LEDLED数码管接口数码管接口74LS164是一个串入并出的是一个串入并出的8位移位寄存器位移位寄存器CLR

6、:同步清除输入端(低电平有效)同步清除输入端(低电平有效)CLK:上升沿输出右移一位上升沿输出右移一位A,B:串行数据输入端:串行数据输入端QAQH:输出端输出端1、引脚功能、引脚功能4.14.1单片机单片机与与LEDLED数码管接口数码管接口2、内部功能图、内部功能图3、真值表、真值表4.14.1单片机单片机与与LEDLED数码管接口数码管接口通过串行口扩展通过串行口扩展8 8位位LEDLED显示器静态驱动电路,在显示器静态驱动电路,在P0.1P0.1运行移运行移位时钟脉冲,位时钟脉冲,P0.0P0.0作为数据输出线。作为数据输出线。abfcgdeDPY1234567abcdefg8dpdp

7、DS1abfcgdeDPY1234567abcdefg8dpdpDS2abfcgdeDPY1234567abcdefg8dpdpDS3abfcgdeDPY1234567abcdefg8dpdpDS4abfcgdeDPY1234567abcdefg8dpdpDS5A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9VCC14GND7U174LS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9VCC14GND7U274LS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9VCC14GND7U374LS1

8、64A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9VCC14GND7U474LS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9VCC14GND7U574LS164VCCVCCVCCVCCVCCEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29AL

9、E/P30TXD11RXD10U189C51例:上图所示的显示电路,五个数码管分别显示例:上图所示的显示电路,五个数码管分别显示2345623456。4.14.1单片机单片机与与LEDLED数码管接口数码管接口开开始始给给每每个个数数码码管管赋赋字字型型码码d di is sp pb b 0 0=d di is sp pc co od de e 2 2;d di is sp pb b 1 1=d di is sp pc co od de e 3 3;d di is sp pb b 2 2=d di is sp pc co od de e 4 4;d di is sp pb b 3 3=d di

10、 is sp pc co od de e 5 5;d di is sp pb b 4 4=d di is sp pc co od de e 6 6;显显示示子子程程序序显显示示子子程程序序设设置置a=0发发送送第第(4 4-a a)个个数数码码管管的的字字型型码码s se en nt t(d di is sp pb b 4 4-a a)a=4?a+返返回回NY发发送送字字型型码码的的子子程程序序设设置置i=0;Ch=d di is sp pb b 4 4-a a;c ch h=c ch h 1 1;D DI IN N=C CY Y;C CL LK K=0 0;C CL LK K=1 1;i=8

11、?i+返返回回NY主主程程序序4.14.1单片机单片机与与LEDLED数码管接口数码管接口动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有数码管的其接口电路是把所有数码管的8个笔划段个笔划段a-h同名端连在一起,而每一个数同名端连在一起,而每一个数码管的公共极码管的公共极COM是各自独立地受控制。是各自独立地受控制。CPU向字段输出口送出字形码向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端

12、是由端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位控制的,所以就可以自行决定何时显示哪一位了。而所谓动态扫描就是指采用分时的方法,轮流控制各个显示器的了。而所谓动态扫描就是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一各位显示器

13、并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。组稳定的显示数据,不会有闪烁感。4.14.1单片机单片机与与LEDLED数码管接口数码管接口三、三、LEDLED数码管动态显示原理数码管动态显示原理4.14.1单片机单片机与与LEDLED数码管接口数码管接口123a456b78gnd9facbgdcedDPYefdpgdpDS?DPY_7-SEG_DP123a456b78gnd9facbgdcedDPYefdpgdpDS?DPY_7-SEG_DP123a456b78gnd9facbgdcedDPYefdpgdpDS?DPY_7-SEG_DP123a456b7

14、8gnd9facbgdcedDPYefdpgdpDS?DPY_7-SEG_DP123a456b78gnd9facbgdcedDPYefdpgdpDS?DPY_7-SEG_DP123a456b78gnd9facbgdcedDPYefdpgdpDS?DPY_7-SEG_DPU?NOTU?NOTU?NOTU?NOTU?NOTU?NOTC133PFC233PFY112MHZGNDR2100S1R11.2K+5VC3VCCEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P

15、0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U18031GNDVCC例:按照图所示的电路,编写在六个数码管上分别例:按照图所示的电路,编写在六个数码管上分别显示显示012345。#includecode dispcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d;unsigned char sel=0 x01;void main(void)unsigned char i;while(1)for(i=0;i6

16、;i+)P1=dispcodei;/字型码字型码P3=sel;/位选位选sel=sel1;if(sel=0 x40)sel=0 x01;4.14.1单片机单片机与与LEDLED数码管接口数码管接口提高题:提高题:采用动态显示,用定时器以间隔采用动态显示,用定时器以间隔1S在在6位数码管上依次显示位数码管上依次显示0、1、2、3.C、D、E、F,重复。,重复。4.14.1单片机单片机与与LEDLED数码管接口数码管接口4.24.2单片机单片机与与LCDLCD液晶显示模块接口液晶显示模块接口1.阅读说明书阅读说明书2.读子程序读子程序3.显示简单字符显示简单字符R23.3KVCCVCCVCC2VL

17、3GND1BLK16RS4R/W5E6BLA15D07D18D29D310D411D512D613D714U2LCD1602BP2.5P2.6P2.7VCCC127PFC227PFY111.0592MP2.5P2.6P2.7EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT

18、89S52S5C510UFR110KVCC电路原理图电路原理图4.24.2单片机单片机与与LCDLCD液晶显示模块接口液晶显示模块接口#include#define uchar unsigned charsbit LCDEN=P15;/使能信使能信号,号,H为读,为读,H跳变到跳变到L时为写。时为写。sbit LCDRW=P16;/H为读为读LCD数据数据,L为为向向LCD写数据,如果仅是写,此端口可直写数据,如果仅是写,此端口可直接接地。接接地。sbit LCDRS=P17;write_com(uchar com);write_dat(uchar date);4.24.2单片机单片机与与LC

19、DLCD液晶显示模块接口液晶显示模块接口/*-设置屏幕 1602程序-*/#define CLEAR_1602 write_com(0 x01)/清屏#define HOME_1602 write_com(0 x02)/光标返回原点#define SHOW_1602write_com(0 x0c)/开显示无光标不闪动#define HIDE_1602write_com(0 x08)/关显示#define CURSOR_1602write_com(0 x0e)/显示光标#define FLASH_1602write_com(0 x0d)/光标闪动#define CUR_FLA_1602write

20、_com(0 x0f)/显示光标且闪动void init_1602()LCDRW=0;/写数据命令LCDRS=0;/写指令write_com(0 x38);/设置显示模式:8位2行5x7点阵SHOW_1602;write_com(0 x06);/写光标 4.24.2单片机单片机与与LCDLCD液晶显示模块接口液晶显示模块接口/*-设置屏幕 1602程序-*/#define CLEAR_1602 write_com(0 x01)/清屏#define HOME_1602 write_com(0 x02)/光标返回原点#define SHOW_1602write_com(0 x0c)/开显示无光标不

21、闪动#define HIDE_1602write_com(0 x08)/关显示#define CURSOR_1602write_com(0 x0e)/显示光标#define FLASH_1602write_com(0 x0d)/光标闪动#define CUR_FLA_1602write_com(0 x0f)/显示光标且闪动void init_1602()LCDRW=0;/写数据命令LCDRS=0;/写指令write_com(0 x38);/设置显示模式:8位2行5x7点阵SHOW_1602;write_com(0 x06);/写光标 4.24.2单片机单片机与与LCDLCD液晶显示模块接口液晶

22、显示模块接口 main()init_1602();/初始化 CLEAR_1602;/清屏 write_com(0 x80);/第一行第一个位置的地址是80 第一行地址是80-8f write_dat(0X53);/S 的字符表对于的代码 write_com(0 xc0);/第一行第一个位置的地址是c0 write_dat(0X30);4.24.2单片机单片机与与LCDLCD液晶显示模块接口液晶显示模块接口4.24.2单片机单片机与与LCDLCD液晶显示模块接口液晶显示模块接口/函数功能:按指定位置显示一个字符函数功能:按指定位置显示一个字符void void DisplayOneCharDis

23、playOneChar(unsigned char X,unsigned char Y,(unsigned char X,unsigned char Y,unsigned char unsigned char DDataDData)X&=0 x1;/X X&=0 x1;/X代表行为代表行为0或或1 Y&=0 xF;/Y&=0 xF;/限制限制Y不能大于不能大于15,X不能大于不能大于1 if(X)Y|=0 x40;/if(X)Y|=0 x40;/当要显示第二行时地址码当要显示第二行时地址码+0 x40;Y|=0 x80;/Y|=0 x80;/算出指令码算出指令码 write_comwrite_

24、com(Y);/(Y);/发送地址码发送地址码 write_datwrite_dat(DDataDData););两个显示子函数两个显示子函数4.24.2单片机单片机与与LCDLCD液晶显示模块接口液晶显示模块接口/函数功能:按指定位置显示一串字符函数功能:按指定位置显示一串字符 void void DisplayListCharDisplayListChar(unsigned char X,unsigned char Y,unsigned(unsigned char X,unsigned char Y,unsigned char code char code*DDataDData)unsig

25、ned char unsigned char ListLength,jListLength,j;ListLengthListLength=strlenstrlen(DDataDData););X&=0 x1;X&=0 x1;Y&=0 xF;/Y&=0 xF;/限制限制Y不能大于不能大于15,X不能大于不能大于1 if(Y=0 xF)/X if(Y=0 xF)/X坐标应小于坐标应小于0 xF for(j=0;j for(j=0;jListLength;jListLength;j+)+)DisplayOneCharDisplayOneChar(X,Y,(X,Y,DDataDDataj);/j);/

26、显示单个字符显示单个字符 Y+;Y+;键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘;而靠软件编程来识别的称为非编码键盘;如计算机键盘;而靠软件编程来识别的称为非编码键盘;在单片机组成的各种系统中,用的最多的是非编码键盘。在单片机组成的各种系统中,用的最多的是非编码键盘。4.3单片机与键盘接口单片机与键盘接口一、键盘的分类一、键盘的分类 非编码键盘有分为:独立键盘和行列式(又称为矩阵式)非编码键盘有分为:独立键盘和行列

27、式(又称为矩阵式)键盘。键盘。4.3单片机与键盘接口单片机与键盘接口二、独立式按键二、独立式按键 开关S未被按下时,P1。0输入为高电平,S闭合后,P1。0输入为低电平。由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1。0输入端的波形如图所示。抖动时间的长短与开关的机械特性有关,一般510ms。这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。4.3单片机与键盘接口单片机与键盘接口4.3单片机与键盘接口单片机与键盘接口 为使CPU能正确地读出P1口的状态,对每

28、一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。单片机中常用软件法,因此,对于硬件方法我们不介绍。软件法其实很简单,就是在单片机获得P1。0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1。0口,如果仍为低,说明S1的确按下了,这实际上是避开了按键按下时的抖动时间。以上就是消除键抖动的原则。4.3单片机与键盘接口单片机与键盘接口1、通过1/0口连接。将每个按键的一端接到单片机的I/O口,另一端接地,这是最简单的方法,如图3所示是实验板上按键的接法,四个按键分别接到P1.0、P1.1、P1.2和P1.3。对于这种键

29、各程序可以采用不断查询的方法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入相应的键处理。下面给出一个例程。其功能很简单,四个键定义如下:P1.0:全亮P1.1:全暗P1.2:1357亮P1.3:2468亮4.3单片机与键盘接口单片机与键盘接口独立式按键编程独立式按键编程EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2

30、627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U18031S1S2S3S4D1D2D4D5D6D7D0D3R1RES2R2RES2R3RES2R4RES2R5RES2R6RES2R7RES2R0RES2+5VGNDVCCVCCGNDC133PFC233PFY112MHZGNDR9100S5R81.2K+5VC3GND4.3单片机与键盘接口单片机与键盘接口电路原理图电路原理图4.3单片机与键盘接口单片机与键盘接口流程图流程图#include#define uchar unsigned charvoid dlms();uchar keys()/按键扫描子程序P1

31、=0 xff;if(P1&0 xff)!=0 xff)/有键按下 dlms();/延时去抖 if(P1&0 xff)!=0 xff)return(P1&0 xff);/返回键值else return(0);/无效按键 void dlms()/延时子程序 uchar a;for(a=100;a0;a-);4.3单片机与键盘接口单片机与键盘接口按键子按键子程序程序void main()uchar key;while(1)key=keys();switch(key)case0 xfe:P2=0X00;break;case 0 xfd:P2=0Xff;break;case 0 xfb:P2=0X55;

32、break;case 0 xf7:P2=0XAA;break;default:break;4.3单片机与键盘接口单片机与键盘接口主程序主程序思考题:在例题的原理图上实现在例题的原理图上实现P1.0:开始,按此键则灯开始流动(由上而下):开始,按此键则灯开始流动(由上而下)P1.1:停止,按此键则停止流动,所有灯为暗:停止,按此键则停止流动,所有灯为暗4.3单片机与键盘接口单片机与键盘接口void main()uchar key;while(1)key=keyscan();switch(key)case 0 xfe:for(i=0;i8;i+)P2=P21|0X01;break;case 0 x

33、fd:P2=0XFF;break;default:break;void main()uchar key;while(1)key=keyscan();switch(key)case 0 xfe:P2=P21|0X01;if(P2=0Xff)P2=0 xfe;break;case 0 xfd:P2=0XFF;break;default:break;4.3单片机与键盘接口单片机与键盘接口法一法一 法二法二 在两种方法调试的过程中,大家发现实际工作中还会有好多要考虑的因素,比如主循环每次都调用灯的循环程序,会造成按键反应“迟钝”,而如果一直按着键不放,则灯才会流动,等等。所以以上程序功能很简单,但它演

34、示了一个键盘处理程序的基本思路,程序本身很简单,也不很实用,大家可以仔细考虑一下这些问题,再想想有什么好的解决办法。4.3单片机与键盘接口单片机与键盘接口我们可以考虑采用标志位的方法,每个键按下,设定一个标志位,然后对应标志位执行相应的操作。4.3单片机与键盘接口单片机与键盘接口标志位流程图标志位流程图4.3单片机与键盘接口单片机与键盘接口void main()uchar key;while(1)key=keys();switch(key)case 0 xfe:start=1;stop=0;break;case 0 xfd:stop=1;start=0;break;default:break;

35、if(start=1)P2=P21|0X01;if(P2=0Xff)P2=0 xfe;if(stop=1)P2=0Xff;思考题1如图实现按第一个键显示1 第二个键显示2123a456b78gnd9facbgdcedDPYefdpgdpDS?U?NOTC133PFC233PFY112MHZGNDR2100S1R11.2K+5VC3VCCEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122

36、P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U18031GNDVCCK1K2K3K4GND4.3单片机与键盘接口单片机与键盘接口void main()uchar key;while(1)key=keys();switch(key)case0 xfe:P0=DISPCODE1;P2=0X01;break;case 0 xfd:P0=DISPCODE2;P2=0X01;break;default:break;4.3单片机与键盘接口单片机与键盘接口P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78051

37、S?S?S?S?S?S?S?S?S?S?S?S?S?S?S?S?R4R3R2R1+5V4.3单片机与键盘接口单片机与键盘接口三、矩阵式按键三、矩阵式按键 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。4.3单片机与键盘接口单片机与键盘接口 行扫描法行扫描法 行扫描法又称为逐行(或列)扫描查询法,是一种行扫描法又称为逐行

38、(或列)扫描查询法,是一种最常用的按键识别方法,最常用的按键识别方法,1.判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。2.判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。3.对得到的行号和列号译码,达到键值。4

39、.键的抖动处理。键抖动的方法就是:当发现有键按下后,不是立即进行逐行扫描,而是延时10ms后再进行。4.3单片机与键盘接口单片机与键盘接口行扫描法行扫描法uchar keyscan()uchar xtemp,ytemp;P1=0 xf0;if(P1&0 xf0)!=0 xf0)/有键按下?有键按下?dlms();if(P1&0 xf0)!=0 xf0)/有键按下有键按下 xtemp=0 xfe;while(xtemp&0 x10)!=0)/第一行第一行 P1=xtemp;if(P1&0 xf0)!=0 xf0)ytemp=(P1&0 xf0)|0 x0f;return(xtemp)+(ytemp);else xtemp=(xtemp1)|0 x01;return(0);4.3单片机与键盘接口单片机与键盘接口1.数码管前三位显示一个跑表,从000到999之间以1%秒速度运行,当按下一个独立键盘时跑表停止,松开手后跑表继续运行。2.在上题的基础上,用另外三个独立键盘实现按下第一个时计时停止,按下第二个时计时开始,按下第三个是计数值清零从头开始。3.按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示4.练习题练习题4.3单片机与键盘接口单片机与键盘接口 本章主要讲述静态和动态显示的原理和程序的编写,按键的去抖和键扫描工作原理及程序的编写。总总 结结

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《单片机应用技术》课件项目四 电子万年历系统设计.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|