单片机笔记——数码管显示

发布者:等放假的Lwj最新更新时间:2014-12-18 来源: laogu关键字:单片机笔记  数码管显示 手机看文章 扫描二维码
随时随地手机看文章

用到单片机就不可避免要涉及人机交互,而最简单的显示就是使用数码管了。它可以显示0-9的数字和部分因为字母。

我一般使用的是七段数码管,它的脚位从顶横顺着数分别为,a,b,c,d,e,f中间一横为g而小数点为h,由这几个就可以构成显示不同符号的码表:abcdefgh

下面是数码管显示的小程序

//该程序是通过按键控制数码管开始或停止在0-9加1显示

void Delay(unsigned char count)   //该延时子程序是12Mhz下的X*1ms延时
{
 unsigned char j;

 while(count-- != 0)
 {
  for(j=0;j<72;j++);
 }
}  


char Keyhit(void)
{
 P3=0xff;                               //P3口置高,在C51里这些默认定义的关键字都要大写
 if((P3^0xff)!=0)                    //通过P3的值与上全1判断有无按键
  Delay(10);                        //有按键则延时再判断,去抖动
 if((P3^0xff)!=0)
  return(1);
 else
  return(0);
}   
 

void LedPrint(void)          

{
 unsigned char i;
 P2 =0x0f;
 while(i<10)
 {
  P0=LedCode[i];
  P2&=0xfe;
  Delay(800);
  if(Keyhit())
  {
   P2 =0x0f;
   break;
  }
  i++;
  if(i==10) i=0;
 }
}

void main(void)
{
 unsigned int num=0;
 while(1)
 {
  if(Keyhit())
  {
   num++;
   num=num%2;
   while(Keyhit());
  }
  if(num==1)
   LedPrint();
 }

}

关键字:单片机笔记  数码管显示 引用地址:单片机笔记——数码管显示

上一篇:EMC指令版本SLE4428卡读写程序
下一篇:EMC8BIT单片机指令应用的误区与技巧

推荐阅读最新更新时间:2024-03-16 13:49

C51单片机学习笔记(五)——数码管的静态显示和动态显示
1.数码管的显示原理 数码管有一位和多位一体两类,它是由8个LED(a,b,c,d,e,f,g,dp)排列组成,任意一个LED叫作一个“段”。通过给a,b,c,d,e,f,g,dp各个脚加上不同的控制电压可以使不同的LED导通发亮,从而显示0~9各个数字和ABCDEF各个字母。 由于8个LED共有16个引脚,为了减少引脚,形成了共阳极和共阴极两种数码管,如下图,如果是共阴极,点亮方法就是公共脚加低电平,引出脚加高电平,如果是共阳极,公共脚加高电平,引出脚加低电平即可。(我的数码管是共阳极,所以下面我就使用共阳极进行说明) 2.数码管的静态显示 所谓静态显示,就是数码管的笔画点亮后,这些笔画就一直处于点亮状态,而不是处于周期
[单片机]
C51<font color='red'>单片机</font>学习<font color='red'>笔记</font>(五)——<font color='red'>数码管</font>的静态<font color='red'>显示</font>和动态<font color='red'>显示</font>
单片机数码管显示消隐
不知道同学们是否发现了,我们的这两个数码管动态显示程序的运行效果似乎并不是那么完美,第一个小问题,大家仔细看,数码管的不应该亮的段,似乎有微微的发亮,这种现象叫做“鬼影”,这个“鬼影”严重影响了我们的视觉效果,我们该如何解决呢? 同学们在今后可能会遇到各种各样的实际问题,可能很多都是我们没有讲过的,遇到问题怎么办呢?大家要相信,你作为初学者,遇到的问题肯定不是第一个遇到的,肯定有前辈已经遇到过相同的或类似的问题,他们一般都会在网上发表各种帖子,各种讨论,所以大家遇到问题,首先就应该形成一个到网上搜索的条件反射,这个问题大家可以到网上搜:“数码管消隐”或者“数码管鬼影解决”,多找相关关键词搜索试试,会搜索也是一种能力。 大家在网上搜
[单片机]
51的静态和动态数码管显示
一、数码管显示原理: 数码管其实就是有8个LED构成,分为a、b、c、d、e、f、g、dp,而数码管又分为共阴极(左边,高电平点亮)和共阳极(右边,低电平点亮),点亮对应的LED即可显示对应的数字,共阴极编码表如下: 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d 、0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c,0x39 , 0x5e , 0x79 , 0x71 , 0x00 分别对应0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,而0x00则不显示。 注意:比如显示0,则要abcdef都为1,即是0011 1111,转为16进制就是
[单片机]
51的静态和动态<font color='red'>数码管</font>的<font color='red'>显示</font>
实验1 单片机IO口应用及数码管显示
1. 单片机驱动蜂鸣器的实验; a) 说明:Lab51单片机实验板的蜂鸣器连接到单片机的P1.5 b) 基本要求:控制蜂鸣器每2秒响0.5秒。 #include reg51.h #define unit unsigned int void delay(unit x){ unit i=x; unit j; for(;i 0;--i){ for(j=x;j 0;--j); } } void main() { while(1){ P1=0x00; delay(250); //0.5秒 P1=0xff; delay(420);//2秒 } }
[单片机]
PIC单片机对LED数码管矩阵键盘显示的设计
#include #include “。./head/config.h” __CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);//对熔丝位进行设置 单片机LED共阳极段码表(带小数点) 0~9 const char table1[]={0X0A,0XFA,0X8C,0XA8,0X78,0X29,0X09,0XBA,0X08,0X28,0x18,0x49,0x0f,0xc8,0x0d,0x1d}; 数码管位码表 const char table[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; unsigned int result = 0,lastresult = 0;
[单片机]
PIC<font color='red'>单片机</font>对LED<font color='red'>数码管</font>矩阵键盘<font color='red'>显示</font>的设计
单片机数码管显示数字递增
让单片机的数码管显示的数从0开始递增一直到255,然后重新置0,再递增,如此循环. 还是用到了将要显示的数进行百位,十位,个位的分离. 从这篇开始,以后的程序就要注意程序的规范性,与可读性了.源代码如下(已经成功调通): #include reg52.h #define uint unsigned int #define uchar unsigned char sbit sda = P1^0; sbit clk = P1^1; sbit dig1 = P1^2; sbit dig2 = P1^3; sbit dig3 = P1^4; sbit dig4 = P1^ 5; uchar code table ={0x7e,0x0
[单片机]
51单片机学习笔记———6.中断法配置定时器
#include reg52.h sbit LED P0^4; void main() { EA = 1;//打开总中断 TMOD&=0xFC; TMOD|=0x01; TH0 = (65535-2000)/256;//定时2ms TL0 = (65535-2000)/%256; ET0 = 1; TR0 = 1; while(1) { ... } void interruptTime() interrupt 1 { static unsigned int n = 0; TH0 = (65535-2000)/256; TL0 = (65535-200
[单片机]
数码管显示驱动和键盘扫描控制器CH451及其应用
摘要:介绍一种新型的键盘显示驱动芯片CH451的性能特点和工作原理,给出了CH451键盘显示驱动芯片与MCS-51单片机的接口方法与相应的软件驱动程序。 关键词:键盘显示控制;单片机;CH451 单片机在开发过程中,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要,其中原因之一是人机界面中的键盘显示占用了系统太多资源,从而造成系统庞大,同时降低了系统的可靠性。在单片机应用系统中,键盘显示通常可采用以下几种方式: (1)采用并行接口的键盘显示专用芯片8279。但8279所需外围元件多(显示驱动、译码等)、占用电路板面积大、综合成本高,在中小系统中常常大材小用; (2)采用通用并行I/O芯片扩展(如用8155等
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved