⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 实验9.txt

📁 基于单片机c51的开发程序,温度采集系统,开发
💻 TXT
字号:
#include<reg51.h>
#include<absacc.h>

#define uchar unsigned char
#define uint unsigned int

#define PA8155 XBYTE[0x7101]
#define PB8155 XBYTE[0x7102]
#define COM8155 XBYTE[0x7100]

uchar digbit;
uchar b[4],reset=1;
int flag=0;
uint k,m,n;

uchar  code tab[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};     //0~9的段码
uchar  code tab1[10]={0xfd,0x61,0xd,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7};   //0~9带小数点的段码

//延时函数,送数码管各位数之间的延时
void delay(uint t)
{
	uint m;
	for(m=0;m<t;m++);
}      

//外部中断0子程序,按下键后启动或停止计时
void bs() interrupt 0 using 1  						
{
	if(flag==0)
 		flag=1;
	else 
		flag=0;
}

//外部中断1子程序实现清零功能
void ql() interrupt 2 using 1   					
{	
	reset=0;
}

//主程序
//功能:使用定时器定时0.1s,从000.0s计时到999.9s,将时间显示在数码管上
void main()
{
	COM8155=0x03;
	EA=1;   							//开总中断
	EX0=1;IT0=1;  							//开外部中断0并设置为脉冲触发方式
	EX1=1;IT1=1;   							//开外部中断1并设置为脉冲触发方式
	digbit=0x10;  							//位码
   	while(1)
   	{
		uchar x,j;
		uint i;
		TMOD=0x01;   						//设置定时器0工作于方式1
     		for(i=0;i<10000;) 
	  	{ 
			x=i/100;    					//求秒表的各位数
		  	b[3]=x/10;
		  	b[2]=x%10;
	      		x=i%100;
		  	b[1]=x/10;
		  	b[0]=x%10;
		 	for(j=0;j<2;j++)    				//50us的循环次数
		 	{
				TH0=(65536-50000)/256;   		//50us计数初值
				TL0=(65536-50000)%256;
				k=0;
                        	TR0=1;     				//启动定时器
				while(!TF0)     			//50us计数未溢出循环显示
				{
		         		PA8155=digbit;  		//选中数码管
	                		if(digbit==0x20)
						PB8155=tab1[b[k]];      //如果是个位则送带小数点的段码显示
	                		else 
						PB8155=tab[b[k]];    	//否则送不带小数点的段码显示
	            			delay(100);                     //约200us
                   			if(k<4)
					{
						digbit*=2;k++;    	//依次左移显示下一个数码管直至四个数码管全部点亮
					}    
	            			else 
					{
						digbit=0x10;k=0;    	//从低位开始重新显示
					}   
				}
				TF0=0;
		   	}
		  	if (flag==1)
				i++;      				//计数加1
		 	if(reset==0)     				//外部中断1发生清零
         		{
				i=0;
	      			reset=1;
		  		flag=0;
			} 
		 
	 	}	 
	}
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -