单片机,定时器的应用,段选,位选
来源:互联网 发布:淘宝没有合格证被投诉 编辑:程序博客网 时间:2024/05/15 20:13
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint Z);
uchar code table[]={ //结构体
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uchar temp,numdu,shi,ge;
sbit dula=P2^6;
sbit wela=P2^7;
void main()
{
temp=12;
numdu=0;
/* TMOD=0x01; //选择t0
TH0=(65536-50000)/256; //给高8位给值
TL0=(65536-50000)%256; //给低8位给值
EA=1; //开总定时器中断
ET0=1; //开定时器0中断
TR0=1; //定时器启动/// TR0=0 定时器停止
dula=1; //开段选控制
P0=table[0]; //给P0负值 所有的数码管点亮 所选的段就是所有的数码管
dula=0; //关段选控制
wela=1; //位选打开
P0=0xc0; //给所有的数码管负值 0
wela=0; //位选关闭,保存住所贡的值
temp=0xfe;
P1=temp;
*/
while(1)
{
shi=temp/10;
ge=temp%10;
dula=1;
P0=table[shi];
dula=0;
wela=1;
P0=0xfe;
wela=0;
delay(5);
dula=1;
P0=table[ge];
dula=0;
wela=1;
P0=0xfe;
wela=0;
delay(5);
/* delay(1000);
temp=_crol_(temp,1);
P1=temp;
if (aa==40)
{
aa=0;
num++;
if (num==16)
num=0;
dula=1;
P0=table[num];
dula=0;
}
*/
}
}
void delay(uint Z)
{
uint x,y;
for(x=Z;x>0;x--)
for(y=110;y>0;y--);
}
/*
void timer0() interrupt 1
{
TH0=(65536-50000)/256; //给高8位给值
TL0=(65536-50000)%256; //给低沉位给值
aa++;
if (aa==40)
{
aa=0;
num++;
if (num==16)
num=0;
dula=1;
P0=table[num];
dula=0;
}
} */
- 单片机,定时器的应用,段选,位选
- 单片机,定时器的应用,段选,位选二
- PIC单片机-定时器的应用
- 8052单片机中定时器T2的应用
- 凌阳16位单片机之定时器中断
- 51单片机的定时器/计数器
- 单片机 定时器计数器的相关
- STC89c51单片机的定时器2
- 51单片机定时器的使用
- 单片机软件定时器的使用方法
- 单片机中定时器的使用
- 单片机的定时器与计数器
- 51单片机的定时器扯淡
- 位段的声明
- 位段的优点
- 8位单片机的16位外部总线扩展与应用
- 单片机定时器/计数器、中断和串口控制位
- 89c51单片机的简单应用2——中断、定时器
- sed新手使用进阶全功略!
- 讲解Oracle中JOB与存储过程的接合用法
- ttt
- 如何获得本机/远程主机的MAC地址?DOS命令下的三种获取远程主机MAC地址的方法
- PKU 2413
- 单片机,定时器的应用,段选,位选
- zz Windows下Perl的debug图形界面的配置
- 索引
- 单片机,定时器的应用,段选,位选二
- geohash: 一个实用的geocoding方法
- 单片机,流水灯
- 单片机,中断器的用法
- commons-lang-2.4.jar中的isNull, isNotNull与isEmpty, isNotEmpty用法
- android开发中的