资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
#include#include/*宏定义*/#define uchar unsigned char#define uint unsigned int/*位定义*/sbit Trig=P26;sbit wexu=P20; /声明位选为P2.0口sbit duxu=P21; /声明段选为P2.1口/*全局变量声明*/uint num,T,m;/*共阴数码管断码*/uchar code duma= /共阴数码管编码0f0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/*延时函数*/void delay(uint z) /*1ms延时函数uint x,y;for(x=z;x0;x-)for(y=110;y0;)y-;/*启动扫描函数*/void scan()EA=1;TMOD=0x09; TR0=1; /启动定时器0EX0=1; /开外部中断0IT0=1; /下降沿中断Trig=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();Trig=0;/*数码管显示函数*/void display(uint num)uchar bai,shi,ge;bai=num/100;shi=(num%100)/10;ge=num%10;duxu=1;P0=dumabai;duxu=0;P0=0xff;wexu=1;P0=0xdf;wexu=0;delay(1);duxu=1;P0=dumashi;duxu=0;P0=0xff;wexu=1;P0=0xbf;wexu=0;delay(1);duxu=1;P0=dumage;duxu=0;P0=0xff;wexu=1;P0=0x7f;wexu=0;delay(1);/*主函数*/void main()Trig=0;while(1)scan();display(num);/*尾部中断0函数*/void int0() interrupt 0 /回响输出端高电平宽度测量(上升沿到来时候开始计时,下降沿到来进入外部中断,关闭计时器,停止计时)?T=(TH0*256+TL0); /计算定时器内的测量值TH0=0; /定时器清0TL0=0;num=T*0.017; /计算距离() INT0=0; /切记,切记num的计算公式不能用num=(T*17)/1000,这样变成取整了
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号