knrt.net
当前位置:首页 >> C51单片机编程怎么取平均值 >>

C51单片机编程怎么取平均值

多取几次 用冒泡法排列 从小到到大 取中间的值#define n 10 u8 a[n]={12,43,15,23,67,54,37,48,76,30}; void mp_() //冒泡法排序,从小到大 { char i,j; int m; for (i=1; i

加法除法不会吗? 假设有8个数 uchar tempdata[8]; uint sum=0; uchar av; for(i=0;i

结合1,2,3楼,考虑了溢出问题。花了好多时间才想出来了。 希望对你有帮助。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#50H MOV R7,#10 MOV R2,#00H MOV A,#00H LOOP:CLR C ADD A,@R0 JNC BBB INC R2 CLR C BBB: INC R0 DJNZ R7,LOOP MOV 5CH...

简单点,建立32位变量A,每采样一次就加到A,采样完8次再除以8就好了, u16 ADC_ZKB(u8 Channel) { u32 value1=0; u16 value; u8 i; for(i=0;i

象0x12好处理 可以这样计算 Y=Y/16*10+X%16 但X是16进制数 Y是十进制数 还是字符串? 假如 X=0x2a或X=0xab,你想让Y等於几呢?

ORG 0000H START:MOV 78H,#0 ;初始化:78H放0的段码,其余放熄灭码 MOV 79H,#10 MOV 7AH,#10 MOV 7BH,#10 MOV 7CH,#10 MOV 7DH,#10 MOV R5, #0 ;R5是按键次数,初始置0 MOV 30H,#0 ;30H是功能键存放单元,置为0 MOV 40H,#0 ;40H单元初始置为0 MOV 4...

按键一端接地,另一端接P3^2 就是外部中断0 ,, sbit key = P3^2; void main() { EX0 = 1; IT0 = 1; EA = 1; while(1) { 这里写你的功能; } } void int0() interrupt 0 { unsigned int i = 0; while(1) { if(key == 0) { i++; if(i >= 1000) {...

刚做过,发给你参考下 这是原理图 51单片机简易计算器程序: #include #include #define uchar unsigned char #define uint unsigned int //---------定义引脚-------------------- bit clr=0; bit ok=0; bit xiaoshu=0; bit jiego=0; bit first...

a=1000+cWeightVerifyVal; a=nWeight*a/1000; /*软件放大 调整范围:当前值的25%;调整精度: 当前值的1/1000*/ a=a*2000/1622; /* 大约80个刻度=1kg */ if(P1^7)a=a*1000/6350; /* 转换为市斤ST 1KG=6.35*/ else a=a*1/10; /* 转换为公斤KG*/ a=(a...

KEYVAL EQU 30H KEYTM EQU 31H KEYSCAN EQU 32H DAT EQU 33H SCANLED EQU 37H S_DAT EQU 38H D_DAT EQU 39H R_DATL EQU 3AH R_DATH EQU 3BH CALFLAG EQU 3CH FLAG BIT 00H ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN: MOV SP,#5...

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com