单片机
返回首页

定时器中断0~100秒

2015-07-24 来源:51hei

电路很简单,我就不画图了,四位数码管 通过2个74hc595连起来,1个595负责段选,1个595负责位选,利用单片机的定时器中断实现0-100数字的循环显示.程序已经通过本人测试通过
#include
#define uint unsigned int
#define uchar unsigned char
sbit rck=P0^0;
sbit sck=P0^1;
sbit si=P0^2;
uchar num[]={0x80,0xed,0x42,0x48,0x2c,0x18,0x10,0xcc,0x00,0x08};
uint b=0,i=0,j=0,k;
void write_595(uchar x)//对595芯片进行设初始化
 {
  for(k=0;k<8;k++) //移位寄存器
   {
    x>>=1;
 sck=0;
 si=CY;
 sck=1;
   }
 }
void date_danpianji()//对单片机计时器进行初始化

 {
  EA=1;//总中断开启
  ET1=1;//定时器开启
  TMOD=0X10;//选择定时器工作模式
  TH1=(65536-33333)/256;//除整赋给高八位
  TL1=(65536-33333)%256;//除余赋给第八位
  TR1=1; //启动定时器 
 }
void main()//主函数
 {
  date_danpianji();//调用定时器中断
  while(1)//循环
   {   
    if(b==20)//检测中断函数是否满足b==20,如果满足则执行
     {
   b=0;
   i++;
   if(i==10)
    {
     i=0;
     j++;
     if(j==10)j=0;
    }
  }
    write_595(num[j]);
    write_595(num[i]);
    rck=0;
    rck=1; 
   }
 } 
void ext() interrupt 3 using 1 //定时器中断
{
  TH1=(65536-33333)/256;
  TL1=(65536-33333)%256;
  b++;
}
 
进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章