51单片机c程序用定时器控制两个数码管显示0到59,一直没弄懂段位和位选

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-29
硬件编程语言有哪些?

  早一点是VHDL,现在是Verilog,c语言,matlab,verilog,vhdl用的多。
  偶尔需要c++或者labview做上位机和硬件通信。
  编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
  目前通用的编程语言有两种形式:汇编语言和高级语言。

c语言c sharp。

数码管 的 一位 数字 称一个位,两个数字为 两位,三个----,

每个数字 有 八个段 为 a  b  c  d  e  f  g  h,(h  为小数点)

数码管 有 两位一体的、三位一体的,四位一体的等,如四位一体的数码管有12个脚,

分为  a  b  c  d  e  f  g  h 八个 段码脚,四个 位码脚(四个数字位)

数码管 的 显示 方法 需要 扫描显示,就是每次 只能 显示 一位数字,四位数字 分 四次显示,

这样 要让人 眼 能 同时 看到 四位数字,并且 不闪烁,需要每个数字 每秒钟 显示 50 次 以上,这样 就有了 扫描显示的方法 去 解决了 这个 问题,就是 需要 段位和位选 的选择,

如 第一位 显示 一个数字 先 把 段代码 写入 段码 驱动口,再选择显示 第一位 的 位码写入位码 驱动口,延时一个 时间 再显示 第二位 ------,就可以了。



位选就是选择哪个数码管亮,段选就是选择输出什么数字。比如选择第一个数码管,然后输出0。这样就出来数字0了。然后再选择第二个数码管,然后输出9,就是09了。由于选择的时间比较短,肉眼看不出来,所有就会看到俩数码管同时亮,显示数字09。

  • 51单片机c程序用定时器控制两个数码管显示0到59,一直没弄懂段位和位选...
    答:如 第一位 显示 一个数字 先 把 段代码 写入 段码 驱动口,再选择显示 第一位 的 位码写入位码 驱动口,延时一个 时间 再显示 第二位 ---,就可以了。
  • 51单片机 用定时器T1控制两位数码管做从0计数到60的实验,每一秒加1...
    答:通过定时器初值可以看出单片机使用的是11.0592MHz晶振 把函数void dispiay(uchar ge,uchar shi)改成void display(uchar shi,uchar ge)即可编译通过 只是函数拼写错误和变量顺序错误
  • 51单片机一个定时器两个计数器能同时工作吗?
    答:可以的! 但需要初始化! 例如一个定时器用于串口的波特率产生,另外一个则可以用作计数器!void init_uart() void { TMOD = 0x20; //定时器T1使用工作方式2 TH1 = 253; // 设置初值 TL1 = 253;TR1 = 1; // 开始计时 SCON = 0x50; //工作方式1,波特率9600bps,允许接收 ES =...
  • 1、 基于AT89C51单片机,利用定时器设计一个两位数码管显示电路。 设计...
    答:2016-07-21 1.1AT89C51设计数码管显示电路,循环显示数字0-F ... 4 2016-06-03 求单片机程序 简易电子秒表的设计 应用AT89C51单片机的... 2 2012-10-11 单片机的应用 2012-12-23 利用51单片机的定时器和实验仪的数码管电路设计一个电子时钟,... 2 更多类似问题 > 数码管显示的相关知识2009-01-11 51...
  • 51单片机 用一个定时器实现两个功能
    答:随便举个例子://定时器中断 10mS中断一次 void timer0_isr(void) interrupt 1 { if(flag == 0){ //这里是第一件事情 flag = 1;//在主程序处理完第一件事,将此标记清除 } if (++ucCount == 100) //累加100次达到1秒 { ucCount = 0; //复位计数 ioLED = !ioLED;//这...
  • 怎么先给51单片机的一个定时器设一个初值后,定时溢出后设另一个值,然 ...
    答:采用在定时器中断函数中来实现这个功能。具体过程如下:include<reg51.h> bit a=0;void timer0() interrupt 1 { if(a==1) TH0=0X00;TL0=0X00;else if(a==0) TH0=0XFF;TL0=0XFF;a=!a;}
  • 51单片机如何同时使用定时器和计数器采集数据?
    答:void Delay1ms(unsigned int i) //1ms延时程序 { unsigned int j;for(;i>0;i--){ for(j=0;j<125;j++){;} } } void init()//初始化设置 { TMOD=0x51;//定时器1作为计数器,定时器0作为定时器用 TH1=0;//计数器清0 TL1=0;EA=1;//开总中断 ET0=1;//允许定时器0中断 TH0...
  • 51单片机中用定时器怎么样控制频率
    答://开定时器0中断 ET1=1;TR1=1;TR0=1;//启动定时器0 while(1);//等待中断产生 } void timer0() interrupt 1 //定时器0中断 { tt++;if(tt>=freq[num]){ tt=0;beep=~beep;} } void timer1() interrupt 3 { times++;if(times>=40){ times=0;num++;num&=8;} } ...
  • 51单片机里一个定时器中断可以同时控制两个指令吗??
    答:单片机工作时都是扫描程序的,扫描也就是一个一个指令地执行,不可能同时执行两个指令
  • 51单片机定时器初始化在一个程序里可以有两个不同吗
    答:可以的,可以根据程序的进程需要,在不同的地方初始化不同的参数,甚至可以一种情况下用定时器,另一种情况下做计数器。