buttonshake eliminationand anti-errotriggerprogramdesign
button shake elimination and anti-error trigger program design
0.回顾1)实验板上的电路图中P0传送位码,也传送段码。需要两个74573锁存器来区分段信号和位信号。2)显示数字时需要ucharcodeseg[l={0x3f,0x06,0x5b0x4f0x66,0x6d,0x7d,0x07,0x7f.0x6f);1//0~9段码,ucharcodewei]=0xf70xfb,0xfd,0xfe,0x7f,0x7b,0x7d0xef;l/控制某一位工作的位码·sbitweix=P2^7://位选控制●sbitduanx=P2^6;l/段选控制3)程序编写时0=wei[x];weix=1;weix=0;//选择工作的数码管P0=seg[y];duanx=1;duanx=0;//选择显示的数字
2 0.回顾 • 1)实验板上的电路图中P0传送位码,也传送段码。需要两个74573锁存器来区 分段信号和位信号。 • 2)显示数字时需要 • uchar code seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7 d,0x07,0 x7f,0x6f}; //0~9段码 • uchar code wei[]={0xf7,0xfb,0xfd,0xfe,0x7f,0x7 b,0x7 d,0xef}; //控制某一位工作 的位码 • sbit weix=P2^7;//位选控制 • sbit duanx=P2 ^6;//段选控制 • 3)程序编写时 • P0=wei[x];weix=1;weix=0;//选择工作的数码管 • P0=seg[y];duanx=1;dua nx=0;//选择显示的数字
请完成如下程序:·value是一个五位正整数。请编写程序实现显示value。假设初值为10000·思路:定义数组valueszll,存放value的每一位·程序框架:.ucharvalue[5]=b;:voidvaluepro()value[o]=;value[1]= ;value[2]=value[3]=;value[4]=;}
请完成如下程序: • value是一个五位正整数。请编写程序实现显示value。假设初值为 10000. • 思路:定义数组valuesz[],存放value的每一位 • 程序框架: • uchar value[5]={}; • void valuepro() • { value[0]=; • value[1]=; • value[2]=; • value[3]=; • value[4]=;}
程序:.#include<reg51.h>.#defineuchar unsignedchar:ucharcodeseg[]=0x3f.0x06,0x5b.0x4f.0x66.0x6d.0x7d,0x07.0x7f.0x6f)://0~9段码:ucharcodeweil]={0xf7.0xfb.0xfd.0xfe.0x7f.0x7b,0x7d.0xef)://控制某一位工作的位码·sbitweix=P2^7://位选控制.sbitduanx=P2^6://段选控制unsigned int valuevoiddelay2ms()):void valuepro()):void display()0void main()value=10000:while(1)(valuepro();display():)
程序: • #i nclude<reg51.h> • #defi ne uchar unsi gned char • uchar code seg[]={0x3f,0x06,0x5b,0 x4f ,0 x66,0 x6d,0 x7d,0 x07,0 x7f ,0x6 f} ; //0~9段码 • uchar code wei []={0xf7,0xfb,0 xfd ,0 xfe,0 x7 f,0 x7b,0 x7d,0 xef }; //控制某一位工作的位码 • sbi t wei x=P 2^7;//位选控制 • sbi t duanx=P 2^6;//段选控制 • unsi gned i nt value • voi d delay2ms(){} • voi d valuepro (){} • voi d di splay() • {} • voi d mai n() • { value=10000; • whi le(1){valuepro ();di spla y() ;} • }
:思考:2、若value为负值应该怎么显示·3、若value是小数呢?4、改写程序实现显示value,value为一个小数点后有两位的小数,初值为100.00请编程显示value
思考: • 2、若value为负值应该怎么显示。 • 3、若value 是小数呢? • 4、改写程序实现显示value,value为一个小数点后有两位的小数,初 值为100.00请编程显示value