#include<reg52.h> #define uint unsigned int #define uchar unsigned char uint qian,bai,shi,ge,flag,num; uint num_2; uchar code table[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82, 0xf8,0x80,0x90, 0x89,0x86,0xc7,0x8c}; void display(uint qian,uint bai,uint shi,uint ge); void init() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; num_2=4321; } void delay(uint i) { int x,y; for(i=x;i>0;i--) for(y=110;y>0;y--); } void main() { init(); while(1) { if(flag!=1) display(qian,shi,bai,ge); else display(11,12,13,14); } } void T0_timer() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; if(num==2) { num=0; num_2--; if(num_2==4310) { TR0=0; flag=1; } } } void display(uint qian,uint bai,uint shi,uint ge) { qian=num_2/1000; bai=num_2%1000/100; shi=num_2%100/10; ge=num_2%10; P1=0XFE; P0=table[qian]; delay(1); P1=0XFF; P0=0XFF; P1=0XFD; P0=table[bai]; delay(1); P1=0XFF; P0=0XFF; P1=0XFB; P0=table[shi]; delay(1); P1=0XFF; P0=0XFF; P1=0XF7; P0=table[ge]; delay(1); P1=0XFF; P0=0XFF; }
为什么数码管减到4310就不变了 本意是之后显示HELP的 怎么回事啊 并且屏蔽一些语句直接运行display();时显示的也不是HELP 但是在单独做动态显示都是好的
刚学这个 麻烦分析一哈 谢谢
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |