单片机p0=~smgduan[0]是什么意思

如题所述

应该是大写的字母,P0=~smgduan[0]。这是从P0口输出数字0的段码,smgduan[ i ],是程序前定义过的段码表。但是,原理图中或仿真图中的数码管类型与段码表不符,两者正相反。例如,数码管是共阳的,而段码表是共阴的,所以,从P0口输出段码之前要先取反,~ 符号是8位数都取反的意思。请及时采纳。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-26
smgduan[15]。。你定义数组说有15个元素,而你[ ]内填写的却是16个元素,这样必然是不对的。 smgduan[15]中这15是指数组有多少的元素,并非是实际数组从smgduan[0]、smgduan[1]开始的那个元素标识值。。 u8 code smgduan[15]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71}; 如果需要全部元素应该写成: u8 code smgduan[16]=(0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71}; 另外,数组定义数值可以前面不填写成默认。u8 code smgduan[]={n,n+1,n+2..}(定义时候后面要用花括号)仔细看c语言基础书本上的例句,然后再编写。。学习就是从简单的会了,然后再逐渐扩展到难的,也就是不感觉多难了。。急于求成会挫伤自身自信和学习兴趣的,真正智者所不取。