|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请教:动态扫描显示电路亮度不够的问题[附电路图和源程序] |
作者:碧水长天 栏目:单片机 |
动态显示算法如下: P0输出段码,P2高四位输出位码,显示内容缓冲区为dis_buf[0]~[3] 段码表为table[]数组,共阴数码管,MCU为AT89C51。 void Disp(void) { unsigned CHAR sel_code = 0x10; unsigned CHAR a = 0,b = 0; a = P2 & 0x0f; //保存P2低四位 for(i = 0;i <= 3;i ++) { P0 = table [*(dis_buf + i)]; //查段码 b = sel_code & 0xf0; //保存P2高四位 P2 = a | b; Delay_Xms(1); //延时1ms sel_code = sel_code << 1; //循环左移1位 } } 主循环为20ms的扫描周期,即每20ms调用一次Disp()函数。 出现的情况是:最高位亮度正常,低三位亮度非常暗,加长延时时间有轻微改善。 分析最高位亮度正常的原因是,显示函数结束后,低三位关掉,而最高位为显示状态(由循环移位可分析出),这样,每一个主循环周期了,最高位显示时间大约为17ms,而其他三位各为1ms。 电路图中,上拉电阻为10K,以为阻值过大,不方便取下该10K的排阻,遂并联一2.2K的排阻,故障情况依旧。 当显示为 P 0 0 0 时--最高位为P,亮度正常, 其余三位很暗 数字万用表测量显示段的上拉电阻阻两端平均电压为2.5v左右;限流电阻两端平均电压为0.21v左右,不显示段的限流电阻则为0V。 请高手指点菜鸟,谢谢。 |
2楼: | >>参与讨论 |
作者: 碧水长天 于 2005/7/12 20:18:00 发布:
补充一下,方便大家看图 图中数码管每段的限流电阻为150 欧。 请前辈们指点愚弟,谢了! |
3楼: | >>参与讨论 |
作者: 农民讲习所 于 2005/7/12 20:24:00 发布:
必须使用定时中断。 |
4楼: | >>参与讨论 |
作者: 幻蝶 于 2005/7/12 20:35:00 发布:
你可以选则高亮度的LED。 |
5楼: | >>参与讨论 |
作者: 汽车电子 于 2005/7/12 20:44:00 发布:
建议把延时修改成重复扫描来延时,效果很好 每个数码管扫描时间约100uS, 间隔20uS关闭 这样扫描10位数码管不到1.5mS,又节省CPU机时,效果又好 参才例子: for(i=0;i<6;i++) // 6位是数码管 { for(j=0;j<5;j++) { if((i==2)||(i==4)) SEGMENT_PORT=DispTable[ucaDispBuffer][i]+16]; // 有小数点 else SEGMENT_PORT=DispTable[ucaDispBuffer][i]]; // 无小数点 BIT_PORT1=conBitPort1[i]; } SEGMENT_PORT=0xff; // 全部关闭 BIT_PORT1=0xff; for(j=0;j<3;j++) { NOP(); NOP(); NOP(); } // } |
6楼: | >>参与讨论 |
作者: xwj 于 2005/7/12 20:45:00 发布:
应该用共阳数码管以充分利用51的端口驱动能力 51的P0口作为IO输出是集电极开路结构, 其他口也是低电平带负载能力强,高电平带负载能力弱 楼主的电路P0高电平光靠10K的上拉电阻能提供多大电流?当然不够亮了 应该用共阳数码管以充分利用51的端口驱动能力 公共端可以用PNP三极管集电极输出 或用NPN三极管射随输出 |
7楼: | >>参与讨论 |
作者: taoest 于 2005/7/12 21:00:00 发布:
问题在哪里? 显示的时间太短,再大的电流也没用。 我的办法是,每1ms一个中断,中断一次换一个管,下次中断再换一个管。亮度均匀稳定,电流小。效果很好。 |
8楼: | >>参与讨论 |
作者: 程序匠人 于 2005/7/12 21:16:00 发布:
问题的关键是你每个LED的点亮时间不一致,导致了亮度不均匀 问题的关键是你每个LED的点亮时间不一致,导致了亮度不均匀. 应该从这方面着手解决. |
9楼: | >>参与讨论 |
作者: hotpower 于 2005/7/12 21:24:00 发布:
不用中断的就不算真正的农民 我们村里全用5mS的中断... |
10楼: | >>参与讨论 |
作者: 碧水长天 于 2005/7/12 22:22:00 发布:
问题已经全部解决 没想到大家回了这么多,刚才忙活了好长一阵子,问题解决了,稍后写一下原因所在,谢谢各位。 |
11楼: | >>参与讨论 |
作者: hotpower 于 2005/7/12 22:35:00 发布:
1mS+1mS+1mS+17mS不如4*5mS |
12楼: | >>参与讨论 |
作者: 碧水长天 于 2005/7/12 22:42:00 发布:
总结: 楼上的几位前辈均说到了问题的关键所在,这个问题对于我这个以前只使用过静态显示电路的我来说,很有启发意义: 1:关键在使用中断,将Disp()函数放在定时中断里,每7个ms刷一个管子,亮度足够且基本无闪烁。 2:我要说的是,书上的东西很容易让人理解错误, 很多单片机应用教材在解说动态扫描显示数码管时,好象都是介绍:先取缓冲区数据,再查对应段码,再开某一位位选,延时1 MS,然后判断显示是否完毕,若未完,则显示下一位数据...直到显示完毕,然后做其他事情,完成后,再重复刷新,还告诉我刷新频率大概多少多少。 我就是根据书上讲的这些来使用的,结果发现这是最糟糕的办法。 谢谢各位的指点,下面我会将7MS改成5MS。 同时,请大家推荐一款比较好用的性价比高的仿真器,(一朋友花100多块钱买的东东根本用不了,整个调试只能使用烧录器,非常难受)。 今天晚上收获不少,调通了I2C的字节读写功能,下面我将完整的字节读写I2C源码发给大家,方便移植。 |
13楼: | >>参与讨论 |
作者: hotpower 于 2005/7/12 22:51:00 发布:
5mS可以再创20mS的"零耗时消抖" 最好与20mS"成比例",这样可以得到1S...60S.....很多时间的"基数"... 而7mS打死它也生不出来... 记住所长的话...我们村里人都是这样搞的...离开了定时中断就没饭吃了... 我们村民每次"下地"的第一件事就是看怀表---能否使用定时中断. |
14楼: | >>参与讨论 |
作者: 碧水长天 于 2005/7/12 23:04:00 发布:
谢谢 恩,明白大叔的意思,受教了。 定时器和中断真是MCU的精髓所在,以后我将更加加强它们的使用。 |
15楼: | >>参与讨论 |
作者: hotpower 于 2005/7/12 23:10:00 发布:
哈哈...下地(实战)的感觉不错吧... 动嘴万遍不如亲手过一遍... |
16楼: | >>参与讨论 |
作者: 程序匠人 于 2005/7/16 7:54:00 发布:
其实并不是一定要用中断, 书上讲的没有错,我就不喜欢用定时中断来做扫描. 关键是你要保证每一位LED点亮的时间一致 |
17楼: | >>参与讨论 |
作者: hotpower 于 2005/7/16 8:06:00 发布:
看来匠人没上过农讲所 实际都一样,个人爱好问题... 但定时中断省心省力而且其他模块也可能同时需要. 顺水人情大家同乐... |
18楼: | >>参与讨论 |
作者: micros 于 2005/7/16 11:32:00 发布:
我也一般不用中断,我喜欢在主程序中一个循环扫描一位 或适当调节或增加扫描位数保证各位当描时间一致 |
19楼: | >>参与讨论 |
作者: qjy_dali 于 2005/7/16 12:29:00 发布:
是,用定时中断做这个比较好 我一般扫描LED数码管时,扫描频率都放在100HZ,你是四个数码管,那定时器就是2.5ms中断一次。每次扫描一个数码管。20ms(50HZ)我怕长时间看会有那么一点点一点点闪烁的感觉:) |
20楼: | >>参与讨论 |
作者: 阿土伯 于 2005/7/16 19:07:00 发布:
曾经听一高手所用中断可能会导致单片机不可靠 设计时尽量不要用中断,是这样的吗 ? |
21楼: | >>参与讨论 |
作者: hotpower 于 2005/7/16 20:39:00 发布:
不用中断的能称之为高手??? |
22楼: | >>参与讨论 |
作者: lanmp 于 2005/7/16 20:50:00 发布:
20ms与日光灯频率一样 会闪。(虽然我看不出) |
23楼: | >>参与讨论 |
作者: xyele 于 2005/7/16 23:03:00 发布:
我不喜欢用中断 一般51系统用RTX51-Tiny,很爽 稍复杂的51系统用RTX51-Full |
24楼: | >>参与讨论 |
作者: dengm 于 2005/7/17 9:18:00 发布:
怀表太贵,只能偷看一下别人的怀表的分针(TH0/TH1) 农民辛苦!!! * - 本贴最后修改时间:2005-7-17 9:19:45 修改者:dengm |
25楼: | >>参与讨论 |
作者: 碧水长天 于 2005/7/17 9:43:00 发布:
请教匠人前辈这句话的理解 “书上讲的没有错,我就不喜欢用定时中断来做扫描. 关键是你要保证每一位LED点亮的时间一致” 对于您的这个看法,我目前还有一些不理解的地方: 1.书上讲的东西,首先是使用了延时函数,这种“小浪费”,定时中断扫描是可以避免的; 2.保证每一位LED点亮的时间一致,实现起来稍微要复杂一些,我理解为有时很难做到一致。 不过我想,匠人前辈的这些话,肯定是有深意的,而且如果中断资源不够时,必须要用到这种工夫,能否请匠人前辈有空的时候稍微详细点拨一下我等后辈?谢谢。 |
26楼: | >>参与讨论 |
作者: 碧水长天 于 2005/7/17 10:06:00 发布:
谢谢汽车电子前辈,再请教大家一下: 对于您的建议: “建议把延时修改成重复扫描来延时,效果很好 每个数码管扫描时间约100uS, 间隔20uS关闭 这样扫描10位数码管不到1.5mS,又节省CPU机时,效果又好” 我是这样理解的: 1.首先,我觉得您这种方法很有启发性; 2.如果在数码管数量比较多的时候,比如10个,若使用我目前所使用的定时中断刷新一个数码管的方法,要设定显示周期为20ms,则定时中断不得不改为2ms刷新一次,而根据您的建议,若要设定显示周期也为20ms,则定时中断只需20ms刷新一次;甚至可不用定时中断,在主循环内调用一次Dsip()函数即可(若主循环周期短于20ms的话)。 3.一些站友认为LED显示过暗的原因是LED通电时间过短。根据我的理解,原来是1ms+1ms+1ms+17ms,导致前三个通电时间为1ms的LED过暗,但是改为5ms x 4后,原来通电时间为17ms的管子亮度并没有变暗多少,但是,原来1ms的管子却亮度大增,是否中间存在一个关系:在一个全显示周期里,当LED的“持续”通电时间大于多少的时候,其亮度不再增加? (此处的持续可以理解为延时函数决定的时间,或者理解为汽车电子前辈的重复扫描时的有效延时。) 谢谢各位如此热情地关注这个话题! |
27楼: | >>参与讨论 |
作者: hotpower 于 2005/7/17 10:09:00 发布:
哈哈,偷看时针都没事 显示扫描定时不准都无所谓,定时中断有什么坏处??? 20mS一次中断可能用时1mS,19mS休眠岂不是美事一桩??? 延时等待19mS肯定不是"绿色软件"... |
28楼: | >>参与讨论 |
作者: 农民讲习所 于 2005/7/17 11:57:00 发布:
中断是唯一选择 从设计角度,中断是不二选择。 因为:你是设计产品,不是设计研究。设计产品要考虑诸多因素,比如产品升级、维护。使用非中断设计的程序,想增加一个小小的功能都难。 使用中断和非中断就是对程序结构有无研究的体现。 |
29楼: | >>参与讨论 |
作者: lczsx2000 于 2005/7/17 14:47:00 发布:
我想说的都被楼上的所长给说了,下次得跑快点才行啊! 我想说的都被楼上的所长给说了,下次得跑快点才行啊!另外想补充一下,当你设计了一个使用中断里输出显示的程序!就相当于你在你的系统中添加了一个“操作系统”,这样下次你要升级系统时,只管添加你的功能函数,而不用担心因此你的扫描周期过长导致的LED闪烁。 |
30楼: | >>参与讨论 |
作者: hotpower 于 2005/7/17 14:56:00 发布:
不听老人言吃亏在眼前...请随意... |
31楼: | >>参与讨论 |
作者: wqne 于 2005/7/17 16:11:00 发布:
系统一般要求实时性较高.....那 除了中断还..............跑快点也不可靠! |
32楼: | >>参与讨论 |
作者: 程序匠人 于 2005/7/25 23:46:00 发布:
长天兄客气了,其实匠人的意思就是.... 如果在合理安排整个系统每个任务的流程的情况下,是可以尽量不用中断的.(我总是尽量少用中断). 比如,你就用延时做,有何不可?在主程序中调用显示程序,在显示程序中中将每个LED扫描1ms,然后关闭所有LED(注意,这一点很重要,如果退出前不关闭LED,将导致亮度不一). 许多人说用了延时,会降低系统的实时性.那也许是任务安排的不合理.我曾经用汇编写了一个4K左右的程序,需要带计时,显示,键盘,波形输出,PWM信号输出,AD转换功能.我一个中断都没开.程序运行的很好,输出的波形也没有变形. 其实,兵无常势,所长和hotpower大叔的讲法也是对的.我只是想告诉你,不要局限于一种方法.不同的项目,会有不同的解决方案. |
33楼: | >>参与讨论 |
作者: yongjun84 于 2005/7/27 4:43:00 发布:
请教一个类似的问题 我用AT89C2051单片几座简易频率计,用3.5口做信号输入端,并将结果送数码管显示,但检测信号老出错,数码管亮度也不够,是不是延时方面的问题,请各位高手指点,不胜感激!程序如下: #include<reg51.h> typedef unsigned CHAR BYTE; unsigned int dis[5];/*显示缓冲区*/ unsigned LONG count; unsigned int i,j; unsigned int T=20,m=1,n=1; BYTE dis_code[12]={ 0xC0,0xF9,0XA4,0XB0,0X99, 0X92,0X82,0XF8,0X80,0X90, 0xB6,0xC9}; /*0~9的显示码*/ //定义位选端口 sbit P3_0=P3^0; sbit P3_1=P3^1; sbit P3_2=P3^2; sbit P3_3=P3^3; sbit P3_4=P3^4; sbit P3_5=P3^5; sbit P3_7=P3^7; //定时器0初始化 void clock0_initial() { TR0=0; ET0=0; TH0=(65536-50000)/256; /*定时时间为50000个机器周期,即50ms*/ TL0=(65536-50000)%256; } //定时器1初始化 void clock1_initial() { TR1=0; ET1=0; TH1=0; TL1=0; } //主函数 void main() { P1=dis_code[0]; P3=0x20; TMOD=0x51; clock0_initial(); clock1_initial(); /*T1为方式1计数,T0为方式1定时*/ dd=P3_5; while(P3_5==dd) { }; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; for(;;) { for(i=0;i<5;i++) { SWITCH(i) { case 0 : P3_0=0; /*选中最高显示位*/ P1=dis_code[dis[0]]; /*送最高显示数*/ for(j=0;j<1000;j++); /*延时1ms*/ break; case 1 : P3_0=1; P3_1=0; P1=dis_code[dis[1]]; for(j=0;j<1000;j++); /*延时1ms*/ break; case 2 : P3_1=1; P3_2=0; P1=dis_code[dis[2]]; for(j=0;j<1000;j++); /*延时1ms*/ break; case 3 : P3_2=1; P3_3=0; P1=dis_code[dis[3]]; for(j=0;j<1000;j++); /*延时1ms*/ break; case 4 : P3_3=1; P3_7=0; /*选中最低显示位*/ P1=dis_code[dis[4]]; /*送最低显示数*/ for(j=0;j<1000;j++); /*延时1ms*/ P3_7=1; break; } } } } //计数器1中断服务程序 void timer1() interrupt 3 using 2 /*中断服务程序,当计数器1溢出时进入*/ { n++; TH1=0; /*重置初值*/ TL1=0; ET1=1; TR1=1; } //定时器0中断服务程序 void timer0() interrupt 1 using 3 /*中断服务程序,当定时器0溢出时进入*/ { if(m!=T) { m++; TH0=(65536-50000)/256; /*重新赋初值*/ TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1 ; } else if(m==T) { TR0=0; TR1=0; EA=0; count=65536*(n-1)+TH1*256+TL1; /*T1计数值*/ if(count<=99) { dis[3]=count/10; &nb |
34楼: | >>参与讨论 |
作者: 魁_613 于 2005/7/28 13:16:00 发布:
佩服!!各位大虾 佩服匠人前辈不用一个中断依然将这么多任务完美完成, 偶老师说单片机一定要用好定时中断 用活了就行了 |
35楼: | >>参与讨论 |
作者: 张允 于 2005/7/28 16:41:00 发布:
我喜欢用时钟中断,看大家聊得这么开心〉〉〉〉 我喜欢用时钟中断,看大家聊得这么开心我就贴一段程序,就特别麻烦大家把硬件电路稍微给我描叙一下就可以了!!。。 SCON0 DATA 098H SBUF0 DATA 099H ; DS80C320 Extensions DPL1 DATA 084H DPH1 DATA 085H DPS DATA 086H CKCON DATA 08EH SCON1 DATA 0C0H SBUF1 DATA 0C1H T2CON DATA 0C8H T2MOD DATA 0C9H WDCON DATA 0D8H ; *** IE *** ES1 BIT 0AEH ES0 BIT 0ACH TXD1 BIT 093H RXD1 BIT 092H TXD0 BIT 0B1H RXD0 BIT 0B0H ; *** SCON1 *** TI1 BIT 0C1H RI1 BIT 0C0H ; *** WDCON *** SMOD BIT 0DFH EWT BIT 0D9H RWT BIT 0D8H ; *** EIE *** EWDI BIT 0ECH SCL EQU P3.3 ;80C320 SDA EQU P3.4 STB EQU P1.0 GLR EQU P1.1 _TFG BIT 01H _T15MSF BIT 02H _SHOWF BIT 03H _CT BIT 04H _MOVEF BIT 05H _T1MSF BIT 06H _STATICF BIT 07H _T1MS BIT 08H _INIF BIT 09H _T12MSF BIT 0AH JS_B BIT 0BH JS_P BIT 0CH JS_F BIT 0DH ADCODE EQU 30H TEMP EQU 31H DIGIT EQU 32H DPHS EQU 33H DPLS EQU 34H XH1 EQU 35H XH2 EQU 36H LINE1 EQU 37H HANG EQU 38H ROTATE_TIME EQU 39H COL EQU 3AH ALLCHART EQU 3BH MODE EQU 3CH DPH_S EQU 3DH STAY_TIME EQU 3EH DPL_S EQU 3FH DPS_H EQU 40H DPS_L EQU 41H LINE EQU 42H COLUMN EQU 43H PAGE_H EQU 44H PAGE_L EQU 45H PAGEDPHS EQU 46H PAGEDPLS EQU 47H WORDLONG EQU 48H TOW EQU 49H LINEND EQU 4AH CHART EQU 4BH T15MSCNT EQU 4CH PAGEHS EQU 4DH TEMP2 EQU 4EH T1SCNT EQU 4FH T12MSCNT EQU 50H TWAIT EQU 51H WORDLINE EQU 52H MAXCHART EQU 53H BBQ EQU 54H ORG 0000H JMP MAIN ORG 0003H LJMP INT0_PRO ORG 000BH LJMP T0_PRO ORG 0013H LJMP INT1_PRO ORG 001BH LJMP T1_PRO ORG 003BH LJMP RXT_PRO ORG 0100H MAIN: CLR EA MOV 0C7H,#0AAH ; MOV 0C7H,#55H ;WATVHDOG SETB EWT ;ENABLE MOV 0C7H,#0AAH ; MOV 0C7H,#55H ;WATVHDOG SETB RWT MOV CKCON,#11000000B ;3S WATCHDOG MOV 0C7H,#0AAH ; MOV 0C7H,#55H ;WATCHDOG RESET COUNT SETB RWT MOV R2,#45 MAINYL1: MOV R0,#00H MAINYL: MOV R1,#00H MAINYL0: DJNZ R1,MAINYL0 DJNZ R0,MAINYL DJNZ R2,MAINYL1 MOV SP,#60H MOV TMOD,#21H MOV TH1,#0F4H MOV TL1,#0F4H MOV TH0,#0F6H ;15MS TIME INT;F8H->22M;FCH->11M MOV TL0,#66H SETB TR1 SETB TR0 MOV SCON0,#00H MOV SCON1,#50H SETB SMOD SETB ET0 SETB ES1 CLRRAM: MOV R0,#08H CLR A CLR1: MOV @R0,A INC R0 CJNE R0,#80H,CLR1 CLR SDA   |
36楼: | >>参与讨论 |
作者: monsterchp 于 2005/7/28 17:59:00 发布:
佩服匠人 !!! 要是不用中断现在都不知道程序该怎写。 |
37楼: | >>参与讨论 |
作者: tg.liu 于 2005/7/28 18:29:00 发布:
中断 |
38楼: | >>参与讨论 |
作者: athlon64fx 于 2005/7/28 18:31:00 发布:
动态扫描还有比在系统节拍中更好的吗? 难道还用标志? |
39楼: | >>参与讨论 |
作者: 57785461 于 2005/7/28 18:45:00 发布:
我想请问显示中采用定时方式,它和其他的中断怎么安排? 请楼上的赐教!说说 这种中断程序怎么构成? 谢谢 |
40楼: | >>参与讨论 |
作者: yanfengzhu 于 2005/7/28 18:57:00 发布:
最高位亮度正常,低三位亮度非常暗. 最高位17ms,其他三位各为1ms,亮度肯定不一样了。 |
41楼: | >>参与讨论 |
作者: shuguang05 于 2005/7/28 19:53:00 发布:
愚见 你把P0口上拉的排阻减小侃看 一般动态扫描是用定时器来做的 你可以考虑一下啊 |
42楼: | >>参与讨论 |
作者: zztkdpj 于 2005/7/28 21:04:00 发布:
听农民的没错 哈 哈 哈 |
43楼: | >>参与讨论 |
作者: yewuyi 于 2005/7/29 9:27:00 发布:
看了一堆故弄玄虚的发言…… 假如5个数码管, 设定5MS定时中断一次,5个数码管设立一个计数器,表示扫描到了第几位。 每次中断后先全关掉位输出信号,这个时候5个数码管全灭,然后判断位计数器的值(要注意被干扰越界的处理),根据计数器值选择开通那一位数码管,接着计数器减1(减到0后循环置为5),如果还需要LED闪烁效果可再设两个标志(一个是闪烁请求标志,一个是闪烁周期标志),下面如何任务调度你自己想把,我一般都是用状态标志去驱动主程序中的任务,这里很多“大牛”比我的方法好多了,我就不敢多胡言乱语了…… 延时用中断本身去完成,这种例子比较适合不需要开外部中断的场合(例如有实时通信的话就需要梢改改了) 我建议大家发言的时候还是说明白点好,别老是说的羞羞答答的,让小兄弟们猜半天还得上来发贴问…… 另说一点:这个方法对软件抗干扰未必是好事情,写个几K的程序一个中断不开也是常有的事情,没什么惊讶的,不是不想用,是有些时候想用没得用,或者是想用不需用。 |
44楼: | >>参与讨论 |
作者: 魁_613 于 2005/7/29 11:40:00 发布:
请教yewuyi 需要LED闪烁效果可再设两个标志(一个是闪烁请求标志,一个是闪烁周期标志) 可以 说说 具体是 怎么 处理的 吗, 我的 LED闪烁时 是靠定时中断中设定两个寄存器,每次中断加1 时间到了将标志位取反,然后再根据标志位的状态来决定是否跳过一位不显示 或者是显示, 亮暗的 比例可以通过 两个寄存器来确定 但我觉得这样麻烦 兄弟有什么高着??可否赐教, 感激不尽! |
45楼: | >>参与讨论 |
作者: yewuyi 于 2005/7/29 11:58:00 发布:
你如果需要亮和暗的比例简单明了的做法还是两个RAM 一个RAM也可以,暗周期=255-亮周期即可…… |
46楼: | >>参与讨论 |
作者: 落叶飘零 于 2005/11/23 19:33:00 发布:
好专业啊,有没有用过NEC单片机的朋友? 新出来的你们了解吗,价格很有优势,性能超群! 主要优点: 1。单片机内部有硬件看门狗。 2。内含电压检测器。 3。双UART。 4。全系列FLASH,并且保密性高。 5。超低功耗。 6。内置oscillation,启动快。 7。同一个系列(kx2)产品,资源从低到高,可以兼顾所有的电表品种。 8。价格很有优势 有没有在用的朋友,可以试一下,WWW.SZARAY.COM E-M:APPLE@SZARAY.COM |
|
|
Copyright © 1998-2006 tgdrjb.cn 浙ICP证030469号 |