利用按键操作数码管显示_第1页
利用按键操作数码管显示_第2页
利用按键操作数码管显示_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验功能:两位数码管显示功能。具体功能描述如下:数码管可以显示0-99两位数字,按一下加按键,数字加1;按一下减按键,数字减1。按下清零按键,数字清零。程序:/*- *该程序实现的是利用单片机实现两位数码管显示功能。具体功能描述如下: *数码管可以显示0-99两位数字,按一下加按键,数字加1;按一下减按键,数字减1 *此外为了方便,还添加了一个清零按钮,按下清零按钮计数归零。 *-*/#include <reg51.h>#define unchar unsigned char/宏定义#define open 0#define close 1void delayms(char m);

2、/延时函数声明void display();/数码管显示函数声明sbit up = P22;/加一按钮sbit down = P23;/减一按钮sbit clear = P24;/清零按钮sbit Ledshi = P20;/十位数码管使能端sbit Ledge = P21;/个位数码管使能端unchar LedCode=/数码管真值表0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;char count = 0;char ge = 0;char shi = 0;void digitalTube()if(clear = 0)delayms(10

3、);/按键消抖,是因为实际中按键刚刚被按下时电平抖动不稳定,延时10ms让电平稳定下来再次判断即可if(clear = 0)count = 0;while(clear = 0)/松手检测display();if(up = 0)delayms(10);if(up = 0)count+;if(count = 100)count = 0;while(up = 0)/松手检测display();if(down = 0)delayms(10);if(down = 0)count-;if(count = (-1)count = 99;while(down = 0)display();display();void display()/计算各数码管显示的数值ge = count%10;shi = count/10;/关闭数码管使能端,防止乱入Ledge = close;Ledshi = close;/轮流导通两位数码管P0 = LedCodege;Ledge = open;/打开个位数码管delayms(1);Ledge = close;P0 = LedCodeshi;Ledshi = open;delayms(1);Ledshi = close;void delayms(char m)/延时m毫秒char

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论