三九宝宝网宝宝教育教学论文

c语言程序解释

01月07日 编辑 39baobao.com

这是一个51单片机程序.

#include #include #define uchar unsigned char #define unit unsigned int uchar Count; sbit Dot=P0^7; uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x7f,0x6f}; uchar Digits_of_6DSY[]={0,0,0,0,0,0};

void DelayMS(uint x) //延时函数 { uchar i,x; while(--x) for (i=0;i<120;i++); }

void main() //主函数 { uchar i,j; P0=0x00; P3=0xff; Count=0; //定时器初始化 TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; IE=0x82; TR0=1; while(1) //死循环 { j=0xFF; j&=0xDF; for(i=5;i!=-1;i--) { //j=_crol_(j,1); P3=j; //6个数码管的位选 P0=DSY_CODE[Digits_of_6DSY[i]]; //6个数码管的段选 if(i==1) Dot=1; //小数点显示 j=(j>>1)|0x80; DelayMS(2); while(1); } } }

void Time0() interrupt 1 //定时/计数器0的溢出中断 { uchar i; TH0=(65536-50000)/256; TL0=(65536-50000)%256; //数码管上的数字每100毫米加1 if(++Count!=2)return; Count=0; Digits_of_6DSY[0]++; for(i=0;i<5;i++) { if(Digits_of_6DSY[i]==10) { Digits_of_6DSY[i]=0; if(i !=5)Digits_of_6DSY[i+1]++; } } }

推荐阅读
图文推荐