📄 thecycleofdigitaldisplay.txt
字号:
/******************************************************************
****/
#include <reg52.h> //头文件
#include <intrins.h> //头文件
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
uchar temp,tt,num; //定义变量temp,定义变量tt.num
//void delay(uint z);
//sbit P00=P0^0;
uchar code table[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off
void main()//进入主程序
{
num=0;
//temp=0xfe; //赋值
//P0=temp; //赋值
tt=0; //赋值
EA=1; //开主中断
TMOD=0x01;//设置定时器0为工作方式1
TH0=(65536-50000)/256; //高8位装入65536-50000对256求莫的数值
TL0=(65536-50000)%256; //低8位装入65536-50000对256求余的数值
ET0=1;//开中断0
TR0=1;//运行控制位,为1时T0开始工作,为0时T0停止工作
P2=0x00;//让所有数码管同时显示
while (1)
{
//P00=1;
if(tt==20)//如果tt=20也就是进入了20次中断,那么temp左移一位。
{
tt=0; //赋值
P0=table[num];
num++;
if(num==10)
num=0;
//P00=0;//temp=_crol_(temp,1); /*_crol_是循环左移,_cror_是循环右移,
// 括号内第一个参数temp是要移动的变量。,后面是要移动几位*/
//P0=temp; //赋值
}
// if(tt==20)
// {tt=0;
//P00=1;
//}
}
}
//中断服务程序//定时器服务程序
//void delay(uint z)
void exter0() interrupt 1
{
TH0=(65536-50000)/256;//高8位装入65536-50000对256求莫的数值
TL0=(65536-50000)%256;//低8位装入65536-50000对256求余的数值
tt++;//定时器计时到了就给tt+1
}
/****************当TH0和TL0送入
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -