打印
[STM32F0]

六个核桃测量小麦湿度

[复制链接]
5385|53
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yjmwxwx|  楼主 | 2019-5-28 00:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AN, ov, ST, LCD, AD
本帖最后由 yjmwxwx 于 2019-5-28 09:35 编辑

快收小麦了,晒干了的小麦要靠牙咬判断干湿,想DIY个测湿度的,于是用六个核桃的铁皮瓶子做了一个简单测湿度的表,我小学文化不懂理论和计算,好像是差分电容原理,程序是以前做别的用的程序,稍微该了一下用在了这里,单片机型号STM32F030F4P6。
演示视频,测量三种不同湿度的小麦,第一种是家里粮食袋子里面的,第二种是用水泡了一下晒的不干,第三种是粮食袋子里面的放在太阳下晒了两个小时,我不是专业电工,就是农民种地的喜欢DIY,所以非常不专业,非常简单的原理验证,没有实际应用价值,没有校准和温度补偿,还是个音频范围的,外国的产品都是149M的。

视频可以看到1602下面一行xiaomai后面的数是ADC采到的,数越大小麦越湿。





电路图是先焊接后画的,没怎么画过,也不会设计电路,不确定有没有问题。

电路图

dianlutu.png.tar.gz (100.31 KB)






实物图











程序
liangshi.tar.gz (6.18 KB)
 @@单片机stm32f030f4p6
        @@电容小麦水分测量
        @作者:yjmwxwx
        @时间:2019-05-26
        @编译器:ARM-NONE-EABI-AS
         .thumb
                 .syntax unified
.section .data
zheng_xian_biao:
        .short 0x30,0x33,0x36,0x38,0x3b,0x3e,0x41,0x44,0x47,0x49,0x4c,0x4e,0x50,0x52,0x54,0x56,0x58,0x59,0x5b,0x5c,0x5d,0x5e,0x5e,0x5f,0x5f,0x5f,0x5f,0x5f,0x5e,0x5d,0x5c,0x5b,0x5a,0x59,0x57,0x55,0x53,0x51,0x4f,0x4d,0x4a,0x48,0x45,0x43,0x40,0x3d,0x3a,0x37,0x34,0x31,0x2e,0x2b,0x28,0x25,0x22,0x1f,0x1c,0x1a,0x17,0x15,0x12,0x10,0xe,0xc,0xa,0x8,0x6,0x5,0x4,0x3,0x2,0x1,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x2,0x3,0x4,0x6,0x7,0x9,0xb,0xd,0xf,0x11,0x13,0x16,0x18,0x1b,0x1e,0x21,0x24,0x27,0x29,0x2c,0x30
lcdshuju:
        .ascii  "yjmwxwx-20190526"
dianhua:        
        .ascii        "     15552208295"
qq:
        .ascii        "   QQ:3341656346"
xiaomai:
        .ascii "xiaomai ="
        .equ STACKINIT,                        0x20001000
        .equ asciimabiao,                0x20000000
        .equ jishu,                        0x20000010
        .equ lvbozhizhen,                0x20000020
        .equ lvbohuanchong,                0x20000024
        .equ adccaiyang,                0x20000100
        .section .text
vectors:
        .word STACKINIT
        .word _start + 1
        .word _nmi_handler + 1
        .word _hard_fault  + 1
        .word 0
        .word 0
        .word 0
        .word 0
        .word 0
        .word 0
        .word 0
        .word _svc_handler +1
        .word 0
        .word 0
        .word _pendsv_handler +1
        .word _systickzhongduan +1               [url=home.php?mod=space&uid=72445]@[/url] 15
        .word aaa +1     [url=home.php?mod=space&uid=72445]@[/url] _wwdg +1          [url=home.php?mod=space&uid=72445]@[/url] 0
        .word aaa +1     @_pvd +1            [url=home.php?mod=space&uid=72445]@[/url] 1
        .word aaa +1     @_rtc +1            [url=home.php?mod=space&uid=72445]@[/url] 2
        .word aaa +1     @_flash +1          [url=home.php?mod=space&uid=72445]@[/url] 3
        .word aaa +1        [url=home.php?mod=space&uid=72445]@[/url] _rcc + 1          [url=home.php?mod=space&uid=72445]@[/url] 4
        .word aaa +1      @_exti0_1  +1      @ 5
        .word aaa +1      @ _exti2_3 +1      @ 6
        .word aaa +1       @_exti4_15 +1     @ 7
        .word aaa +1                         @ 8
        .word aaa +1         @_dma1_1  +1    @ 9
        .word aaa +1    @_dma1_2_3 +1        @ 10
        .word aaa +1       @_dma1_4_5 +1     @ 11
        .word aaa +1         @_adc1 +1          @ 12
        .word aaa +1       @_tim1_brk_up +1  @ 13
        .word aaa +1        @ _tim1_cc +1    @ 14
        .word aaa +1         @_tim2 +1       @ 15
        .word aaa +1          @_tim3 +1      @ 16
        .word aaa +1                         @ 17
        .word aaa +1                                @ 18
        .word aaa +1        @_tim14 +1    @ 19
        .word aaa +1                         @ 20
        .word aaa +1         @_tim16 +1      @ 21
        .word aaa +1         @_tim17 +1      @ 22
        .word aaa +1          @_i2c   +1     @ 23
        .word aaa +1                         @ 24
        .word aaa +1           @_spi   +1    @ 25
        .word aaa +1                         @ 26
        .word aaa +1         @_usart1 +1     @ 27
        .align 2

_start:
shizhong:
        ldr r2, = 0x40022000   @FLASH访问控制
        movs r1, # 0x32
        str r1, [r2]           @FLASH缓冲 缓冲开启
        ldr r0, = 0x40021000 @ rcc
        ldr r1, = 0x10001
        str r1, [r0]
denghse:
        ldr r1, [r0]
        lsls r1, r1, # 14
        bpl denghse
dengpllguan:
        ldr r1, [r0]
        lsls r1, r1, # 6
        bmi dengpllguan
        ldr r1, = 0x110002
        str r1, [r0, # 0x04]
        ldr r1, = 0x1010001
        str r1, [r0]
dengpll:
        ldr r1, [r0]
        lsls r1, # 6
        bpl dengpll
        @0x34时钟控制寄存器 2 (RCC_CR2)
        movs r1, # 0x01
        str r1, [r0, # 0x34]  @ HSI开14M时钟
dengdai14mshizhongwending:
        ldr r1, [r0, # 0x34]
        lsls r1, r1, # 30     @ 左移30位
        bpl dengdai14mshizhongwending  @ 等待14M时钟稳定

_neicunqingling:
        ldr r0, = 0x20000000
        movs r1, # 0
        ldr r3, = 0x1000
_neicunqinglingxunhuan:
        subs r3, # 4
        str r1, [r0, r3]
        bne _neicunqinglingxunhuan

_waisheshizhong:                         @ 外设时钟
        @+0x14=RCC_AHBENR
        @0=DMA @2=SRAM @4=FLITF@6=CRC @17=PA @18=PB @19=PC @20=PD @22=PF
        ldr r0, = 0x40021000
        ldr r1, = 0x460005
        str r1, [r0, # 0x14]

        @+0x18外设时钟使能寄存器 (RCC_APB2ENR)
        @0=SYSCFG @5=USART6EN @9=ADC @11=TIM1 @12=SPI1 @14=USART1 @16=TIM15 @17=TIM16 @18=TIM17 @22=DBGMCU
        ldr r1, = 0xa00
        str r1, [r0, # 0x18]
        @+0X1C=RCC_APB1ENR
        @1=TIM3 @4=TIM6 @5=TIM7 @8=TIM14 @11=WWDG @14=SPI @17=USRT2 @18=USART3 @20=USART5 @21=I2C1
        @22=I2C2 @23=USB @28=PWR


tim1chushiha:
        ldr r0, = 0x40012c00 @ tim1_cr1
        movs r1, # 0
        str r1, [r0, # 0x28] @ psc
        ldr r1, = 96
        str r1, [r0, # 0x2c] @ ARR
        ldr r1, = 0x68
        str r1, [r0, # 0x1c] @ ccmr2  CC3
        ldr r1, = 0x100    @  CC3
        str r1, [r0, # 0x20] @ ccer
        ldr r1, = 0x8000
        str r1, [r0, # 0x44] @ BDTR
        ldr r1, = 0x800 @ CC3 DMA
        str r1, [r0, # 0x0c] @ DIER
        ldr r1, = 0xe1
        str r1, [r0]

        
_adcchushihua:
        ldr r0, = 0x40012400  @ adc基地址
        ldr r1, = 0x80000000
        str r1, [r0, # 0x08]  @ ADC 控制寄存器 (ADC_CR)  @adc校准
_dengadcjiaozhun:
        ldr r1, [r0, # 0x08]
         movs r1, r1
        bmi _dengadcjiaozhun   @ 等ADC校准
_kaiadc:
        ldr r1, [r0, # 0x08]
        movs r2, # 0x01
        orrs r1, r1, r2
        str r1, [r0, # 0x08]
_dengdaiadcwending:
        ldr r1, [r0]
        lsls r1, r1, # 31
        bpl _dengdaiadcwending @ 等ADC稳定
_tongdaoxuanze:
        ldr r1, = 0x01
        str r1, [r0, # 0x28]    @ 通道选择寄存器 (ADC_CHSELR)
        ldr r1, = 0x3000        @ 13 连续转换
        str r1, [r0, # 0x0c]    @ 配置寄存器 1 (ADC_CFGR1)
        movs r1, # 0                 @
        str r1, [r0, # 0x14]    @ ADC 采样时间寄存器 (ADC_SMPR)
        ldr r1, [r0, # 0x08]
        movs r2, # 0x04         @ 开始转换
        orrs r1, r1, r2
        str r1, [r0, # 0x08]    @ 控制寄存器 (ADC_CR)

dmachushihua:
        @+0=LSR,+4=IFCR,
        @+8=CCR1,+c=CNDTR1,+10=CPAR1+14=CMAR1,
        @+1c=CCR2,+20=CNDTR2,+24=CPAR2,+28=CMAR2
        @+30=CCR3,+34=CNDTR3,+38=CPAR2,+3c=CMAR3
        @+44=CCR4,+48=CNDTR4,+4c=CPAR4,+50=CMAR4
        @+58=CCR5,+5c=CNDTR5,+60=CPAR5,+64=CMAR5
        @+6C=CCR6,+70=CNDTR6,+74=CPAR6,+78=CMAR6
        @+80=CCR7,+84=CNDTR7,+88=CPAR7,+8c=CMAR7

        @tim1ch3DMA
        ldr r0, = 0x40020000
        ldr r1, = 0x40012c3c @ 外设地址
        str r1, [r0, # 0x60]
        ldr r1, = zheng_xian_biao @ 储存器地址
        str r1, [r0, # 0x64]
        ldr r1, = 100             @点数
        str r1, [r0, # 0x5c]
        ldr r1, = 0x25b1         @ 储存到外设
        str r1, [r0, # 0x58]

_waishezhongduan:                                @外设中断
        @0xE000E100    0-31  写1开,写0没效
        @0XE000E180    0-31 写1关,写0没效
        @0XE000E200    0-31 挂起,写0没效
        @0XE000E280    0-31 清除, 写0没效

_systick:                                @ systick定时器初始化

        ldr r0, = 0xe000e010
        ldr r1, = 0xffffff
        str r1, [r0, # 4]
        str r1, [r0, # 8]
        movs r1, # 0x07
        str r1, [r0]
        
io_she_zhi:
        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        @a(0x48000000)b(0x48000400)c(0x48000800)d(0x48000c00)f(0x48001400)
        @ 输入(00),通用输出(01),复用功能(10),模拟(11)
        @偏移0x4 = 端口输出类型 @ (0 推挽),( 1 开漏)
        @偏移0x8 = 输出速度  00低速, 01中速, 11高速
        @偏移0xC = 上拉下拉 (00无上下拉,  01 上拉, 10下拉)
        @偏移0x10 = 输入数据寄存器
        @偏移0x14 = 输出数据寄存器
        @偏移0x18 = 端口开  0-15置位
        @偏移0x28 = 端口关
        @0X20 = 复用低
        @GPIO口0(0-3位)每个IO口占用4位
        @ AF0 = 0X0000, AF1 = 0X0001, AF2 = 0X0010 AF3 = 0X0011, AF4 = 0X0100
        @ AF5 = 0X0101, AF6 = 0X0111, AF7 = 0X1000
        @0x24 = 复用高
        @GPIO口8 (0-3位)每个IO口占用4位
        @ AF0 = 0X0000, AF1 = 0X0001, AF2 = 0X0010 AF3 = 0X0011, AF4 = 0X0100
        @ AF5 = 0X0101, AF6 = 0X0111, AF7 = 0X1000
        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

        ldr r0, = 0x48000000
        ldr r1, = 0x28205553
        str r1, [r0]
        movs r1, # 0xfc  @ pa2-pa7开漏输出
        str r1, [r0, # 0x04]
        ldr r1, = 0x200
        str r1, [r0, # 0x24]

_lcdchushihua:
        movs r0, # 0x33
        movs r1, # 0
        bl _xielcd
        bl _lcdyanshi
        movs r0, # 0x32
        movs r1, # 0
        bl _xielcd
        bl _lcdyanshi
        movs r0, # 0x28
        movs r1, # 0
        bl _xielcd
        bl _lcdyanshi
        movs r0, # 0x0c
        movs r1, # 0
        bl _xielcd
        bl _lcdyanshi
        movs r0, # 0x01
        movs r1, # 0
        bl _xielcd
        bl _lcdyanshi
        


_tingting:
        ldr r0, = jishu
        ldr r1, [r0]
        cmp r1, # 8
        beq _lcddi1
        cmp r1, # 16
        beq _lcddi2
        cmp r1, # 24
        beq _lcddi3
        b _tiaoguoguanggao
_lcddi1:
        movs r0, # 0x80
        ldr r1, = lcdshuju
        movs r2, # 16
        bl _lcdxianshi
        ldr r0, = 0x40020000
        ldr r1, = 0
        str r1, [r0, # 0x08]
        b _tiaoguoguanggao
_lcddi2:
        movs r0, # 0x80
        ldr r1, = dianhua
        movs r2, # 16
        bl _lcdxianshi
        b _tiaoguoguanggao
_lcddi3:
        movs r0, # 0x80
        ldr r1, = qq
        movs r2, # 16
        bl _lcdxianshi
        ldr r0, = jishu
        movs r1, # 0
        str r1, [r0]
_tiaoguoguanggao:
        movs r0, # 0xc0
        ldr r1, = xiaomai
        movs r2, # 9
        bl _lcdxianshi
        bl _chuanganqi
        movs r1, # 4
        ldr r2, = asciimabiao
        movs r3, # 0xff
        bl _zhuanascii
        movs r0, # 0xcc
        ldr r1, = asciimabiao
        movs r2, # 0x04
        bl _lcdxianshi
        b _tingting

        
_chuanganqi:                @出
                        @R0=幅值,R1=相位
        push {r2-r7,lr}
        ldr r0, = 0x40012400
        movs r1, # 0x01
        str r1, [r0, # 0x28]
        bl _jianbo                        @检波90、270
        bl _jisuanfuzhi                        @计算90幅度
        mov r2, r0
        mov r0, r1
        bl _jisuanfuzhi                        @计算270幅度
        mov r1, r0
        mov r0, r2
        bl _xiangweipanduan                @判断相位
        mov r4, r1
        mov r3, r0
        ldr r0, = lvbohuanchong                @滤波器缓冲区
        movs r1, # 16                        @级数
        ldr r2, = lvbozhizhen                @滤波器指针
        bl _lvboqi                        @平滑,平均滤波器
        mov r1, r4
        pop {r2-r7,pc}


_xiangweipanduan:                @相位判断
                                @入R0=90度,R1=270度
                                @出R0=相之间相差的数值,
                                @出R1=1,90度是正,R1=0,90度是负
        push {r2,lr}
        subs r1, r1, # 0        @ 校准0点
        subs r2, r0, r1
        bpl _adc90shizheng
        subs r2, r1, r0
        bpl _adc90shifu
        cmp r0, r1
        bne _xiangweipanduanfanhui
_adc90shizheng:
        mov r0, r2
        movs r1, # 1
        pop {r2,pc}
_adc90shifu:
        mov r0, r2
        movs r1, # 0
        pop {r2,pc}
_xiangweipanduanfanhui:
        movs r0, # 0
        movs r1, # 1
        pop {r2,pc}
        
        
_jisuanfuzhi:                        @计算幅值
                                @入R0出R0
                                @R0=ADC90度采样
        push {r1-r3,lr}
        cmp r0, # 0
        beq _adcshi0fanhui
        ldr r1, = 0x04                @实 Q15
        ldr r2, = 0xffff8004    @虚 Q15
        mov r3, r0
        muls r0, r0, r1                @实
        asrs r0, r0, # 15
        muls r3, r3, r2                @虚
        asrs r3, r3, # 15
_shibushibushi0:                @检测实部是不是负数
        movs r0, r0
        bpl _fzbushifushu1
        mvns r0, r0                @是负数转成正数
        adds r0, r0, # 1
_fzbushifushu1:                        @检测虚部是不是负数
        movs  r3, r3
        bpl _fzbushifushu
        mvns r3, r3                @是负数转成正数
        adds r3, r3, # 1
_fzbushifushu:
        adds r0, r0, r3                @相加得到副值
_adcshi0fanhui:        
        pop {r1-r3,pc}
        
_jianbo:                                @检波
                                        @输出r0=90度,R1=270度
        push {r2-r4,lr}
        ldr r2, = 0x4002005c
        ldr r3, = 0x40012440
        cpsid i
_jianbo90du:
        ldr r4, [r2]
        cmp r4, # 25
        bne _jianbo90du
        ldr r0, [r3]                        @取出90度
_jianbo270du:
        ldr r4, [r2]
        cmp r4, # 75
        bne _jianbo270du
        ldr r1, [r3]
        cpsie i
        pop {r2-r4,pc}

_lvboqi:                                @滤波器
                        @R0=地址,R1=长度,r2=表指针地址,r3=ADC数值
                        @出R0=结果
        push {r1-r7,lr}        
        ldr r5, [r2]                @读出表指针
        lsls r6, r1, # 2        
        str r3, [r0, r5]        @数值写到滤波器缓冲区
        adds r5, r5, # 4
        cmp r5, r6
        bne _lvboqimeidaohuanchongquding
        movs r5, # 0
_lvboqimeidaohuanchongquding:
        str r5, [r2]
        movs r7, # 0
_lvboqixunhuan:
        cmp r5, r6
        bne _lvbozonghe
        movs r5, # 0
_lvbozonghe:
        ldr r4, [r0, r5]
        adds r5, r5, # 4
        adds r7, r7, r4
        subs r1, r1, # 1
        bne _lvboqixunhuan
        asrs r0, r7, # 4        @修改
        pop {r1-r7,pc}
        

_lcdxianshi:                          @r0=LCD位置,r1=数据地址,r2=长度
        push {r0-r4,lr}
        mov r4, r1

        movs r1, # 0
        bl _xielcd

        movs r1, # 1
        movs r3, # 0
_lcdxianshixunhuan:
        ldrb r0, [r4,r3]
        bl _xielcd
        adds r3, r3, # 1
        cmp r3, r2
        bne _lcdxianshixunhuan
        pop {r0-r4,pc}

_lcdyanshi:
        push {r5,lr}
        ldr r5, = 0x2000
_lcdyanshixunhuan:
        subs r5, r5, # 1
        bne _lcdyanshixunhuan
        pop {r5,pc}

_xielcd:                        @入R0=8位,r1=0命令,r1=1数据
        push {r0-r7,lr}
        lsrs r6, r0, # 4
        lsls r0, r0, # 28
        lsrs r0, r0, # 28
        movs r2, # 0x80                @ RS
        movs r3, # 0x40                @ E
        movs r5, # 0x3c
        ldr r4, = 0x48000000
        cmp r1, # 0
        beq _lcdmingling
        str r2, [r4, # 0x18]        @RS=1
        b _lcdshuju
_lcdmingling:
        str r2, [r4, # 0x28]        @RS=0
_lcdshuju:
        str r3, [r4, # 0x18]        @E=1
        str r5, [r4, # 0x28]

        lsls r7, r6, # 31
        lsrs r7, r7, # 26
        str r7, [r4, # 0x18]

        lsrs r7, r6, # 1
        lsls r7, r7, # 31
        lsrs r7, r7, # 27
        str r7, [r4, # 0x18]

        lsrs r7, r6, # 2
        lsls r7, r7, # 31
        lsrs r7, r7, # 28
        str r7, [r4, # 0x18]

        lsrs r7, r6, # 3
        lsls r7, r7, # 31
        lsrs r7, r7, # 29
        str r7, [r4, # 0x18]

        bl _lcdyanshi
        str r3, [r4, # 0x28]        @E=0


        str r3, [r4, # 0x18]    @E=1
        str r5, [r4, # 0x28]

        lsls r7, r0, # 31
        lsrs r7, r7, # 26
        str r7, [r4, # 0x18]

        lsrs r7, r0, # 1
        lsls r7, r7, # 31
        lsrs r7, r7, # 27
        str r7, [r4, # 0x18]

        lsrs r7, r0, # 2
        lsls r7, r7, # 31
        lsrs r7, r7, # 28
        str r7, [r4, # 0x18]

        lsrs r7, r0, # 3
        lsls r7, r7, # 31
        lsrs r7, r7, # 29
        str r7, [r4, # 0x18]

        bl _lcdyanshi
        str r3, [r4, # 0x28]    @E=0

        pop {r0-r7,pc}
        .ltorg


_zhuanascii:                                        @ 16进制转ASCII
                @ R0要转的数据, R1长度,R2结果表首地址, r3=小数点位置
        push {r0-r7,lr}
        mov r7, r3
        mov r5, r0
        mov r6, r1
        movs r1, # 10
_xunhuanqiuma:
        bl _chufa
        mov r4, r0
        muls r4, r1
        subs r3, r5, r4
        adds r3, r3, # 0x30
        mov r5, r0
        subs r6, r6, # 1
        beq _qiumafanhui
        cmp r6, r7
        bne _meidaoxiaoshudian
        movs r4, # 0x2e                @小数点
        strb r4, [r2,r6]        @插入小数点
        subs r6, r6, # 1
_meidaoxiaoshudian:
        strb r3, [r2,r6]
        movs r6, r6
        bne _xunhuanqiuma
        pop {r0-r7,pc}
_qiumafanhui:
        strb r3, [r2, r6]
        pop {r0-r7,pc}

        
_chufa:                                @软件除法
        @ r0 除以 r1 等于 商(r0)余数R1
        push {r1-r4,lr}
        cmp r0, # 0
        beq _chufafanhui
        cmp r1, # 0
        beq _chufafanhui
        mov r2, r0
        movs r3, # 1
        lsls r3, r3, # 31
        movs r0, # 0
        mov r4, r0
_chufaxunhuan:
        lsls r2, r2, # 1
        adcs r4, r4, r4
        cmp r4, r1
        bcc _chufaweishubudao0
        adds r0, r0, r3
        subs r4, r4, r1
_chufaweishubudao0:
        lsrs r3, r3, # 1
        bne _chufaxunhuan
_chufafanhui:
        pop {r1-r4,pc}
        .ltorg


_nmi_handler:
        bx lr
_hard_fault:
        bx lr
_svc_handler:
        bx lr
_pendsv_handler:
        bx lr
_systickzhongduan:
        ldr r2, = jishu
        ldr r0, = 0xe000ed04
        ldr r3, [r2]
        ldr r1, = 0x02000000
        adds r3, r3, # 1
        str r3, [r2]
        str r1, [r0]                 @ 清除SYSTICK中断
aaa:
        bx lr






  
     

使用特权

评论回复
评论
lihui567 2019-5-31 20:40 回复TA
不得不说汇编牛 
yjmwxwx 2019-5-30 11:29 回复TA
@dirtwillfly :汇编容易写,而不容易看懂 
dirtwillfly 2019-5-29 20:40 回复TA
用汇编开发的越来越少了 
沙发
戈卫东| | 2019-5-28 08:12 | 只看该作者
居然全用汇编。。。。

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:26 回复TA
很无奈只会点汇编,我们5线小城市的老板都知道招会C语言的。 
板凳
xxshrimp| | 2019-5-28 09:01 | 只看该作者
赞,,,,,

使用特权

评论回复
地板
海中水| | 2019-5-28 09:16 | 只看该作者
这个我不得不给你点个赞!厉害。

使用特权

评论回复
评论
海中水 2019-5-31 08:57 回复TA
@yjmwxwx :自己探索就是好的开始,在论坛里我们可以多多交流。 
yjmwxwx 2019-5-30 11:43 回复TA
谢谢点赞,电路东拼西凑,自己也不会计算,程序还是参考别人算法,结构也是看书上的图,我就是把这些组装起来了。 
5
Dick Hou| | 2019-5-28 09:39 | 只看该作者
汇编写的,点赞

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:44 回复TA
谢谢 
6
qiangtech| | 2019-5-28 09:42 | 只看该作者
厉害

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:45 回复TA
我都不好意思了,完全业余水平。 
7
wenunit| | 2019-5-28 15:16 | 只看该作者
厉害了,手工活不错。

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:38 回复TA
15岁时候别人学习的时候我在做火药木仓,走火还差点打到同学的头。。虽然电路和程序不怎么样,但是动手做个东西还是有信心的,只是没什么工具和材料。 
8
springvirus| | 2019-5-28 15:28 | 只看该作者
楼主暴露年龄了

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:47 回复TA
我1989年的。。 
9
叶春勇| | 2019-5-28 18:35 | 只看该作者
应该是c写的,汇编优化的。

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:48 回复TA
不是 
10
kk118a| | 2019-5-29 14:25 | 只看该作者
纯汇编,还有这电路,厉害

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:50 回复TA
汇编就那么几条指令很容易学的,电路是东拼西凑的,算法是参考别人和书上的。 
11
mzb2012| | 2019-5-29 17:45 | 只看该作者
这手工,真不错

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:51 回复TA
手工有信心,只是我做的东西都很丑做不漂亮。 
12
xiw47| | 2019-5-30 09:02 | 只看该作者
楼主挺谦虚的,可比我厉害多了。

使用特权

评论回复
评论
yjmwxwx 2019-5-30 11:51 回复TA
我欧姆定律都不会背,就是个组装工。 
13
yjmwxwx|  楼主 | 2019-5-30 12:14 | 只看该作者


国家取消计量器具制造许可后,做测粮食水分的需要什么审核过程要花多少钱?  感觉这方面限制比较严格,老百姓不能随便做了卖。

看这个外国的产品不错,美国的用149M的,这个要是100元一个就好了。





书一本




下面这图是音频范围






[Stuart_Nelson]_Dielectric_Properties_of_Agricultu(z-lib.org).part2.rar (7.39 MB)

[Stuart_Nelson]_Dielectric_Properties_of_Agricultu(z-lib.org).part1.rar (7.4 MB)


使用特权

评论回复
14
叶春勇| | 2019-5-30 12:24 | 只看该作者
叶春勇 发表于 2019-5-28 18:35
应该是c写的,汇编优化的。

那你很厉害,基本只要给你hex,基本都能**了。

使用特权

评论回复
15
yjmwxwx|  楼主 | 2019-5-30 12:31 | 只看该作者
叶春勇 发表于 2019-5-30 12:24
那你很厉害,基本只要给你hex,基本都能**了。


人家搞**逆向的根本不看汇编的,都是看IDA PRO反出来的伪C,会用C语言编程转**很容易,反而会汇编搞**不如会C容易,因为汇编不容易看懂,要靠动态调试,而人家搞**的直接KEIL里面软件仿真和开发一样,**没什么门槛,只要会正向就会逆向。

使用特权

评论回复
16
blust5| | 2019-5-30 13:25 | 只看该作者
六个核桃给了你多少广告费?我银鹭给双倍!

使用特权

评论回复
17
一叶倾城wwq| | 2019-5-30 13:30 | 只看该作者
这就是传说中的汇编吗?厉害了

使用特权

评论回复
评论
一叶倾城wwq 2019-5-30 18:57 回复TA
@yjmwxwx :回想起小时候晒谷子晒玉米的时光了,楼主学以致用^_^ 
yjmwxwx 2019-5-30 15:10 回复TA
汇编比C简单的,就那么几条指令。 
18
anjf163| | 2019-5-30 14:20 | 只看该作者
给山东的兄弟几个建议:
1. 用个带 DA 输出的 STM32 单片机,通过 DA 直接产生正弦波,来做激励源。
2. 在检测桶上串联一个小容值电容,做分压。将分压得到的信号,直接送入 STM32 的 ADC 做分析。
这样能省下很多不必要的电路,供电电源也可以用低电压工作了,功耗会降低很多。
软件 ADC 与 DA 输出信号同步采集,这样等于做了锁相,可以提高信噪比,得到的数据再做傅里叶分析,计算出检测桶的阻性分量再与种子湿度做关联,就差不多了。

使用特权

评论回复
评论
lihui567 2019-5-31 20:44 回复TA
建议很好 
yjmwxwx 2019-5-30 15:09 回复TA
谢谢,你这个方法好省去很多不必要的电路 
19
雪山飞狐D| | 2019-5-30 19:56 | 只看该作者
哥们,都9102年了,不要整什么汇编了,另外,嘉立创打两层PCb好像才20还是50,不要搞得那么寒酸

使用特权

评论回复
评论
yjmwxwx 2019-6-1 07:30 回复TA
没办法也就汇编用的比较多,C语言学51时候学过,但是没怎么用不熟悉。没做过PCB,在家种地也没工作,不能花太多钱玩不务正业的东西,能有手头这些东西玩就不错了。 
20
七颗咖啡豆| | 2019-5-31 11:13 | 只看该作者
看到汇编反手就是一个赞

使用特权

评论回复
评论
yjmwxwx 2019-6-1 07:33 回复TA
其实汇编一点都不难,学几天就能写。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

117

主题

2729

帖子

48

粉丝