手电大家谈-手电筒爱好者之家

 找回密码
 注册成为会员,享受更多功能。

QQ登录

只需一步,快速开始

只需一步,快速开始

搜索
查看: 14200|回复: 76

[其他DIY] 6.5 位表头带模拟条图,求画板、求发行套件

[复制链接]

该用户从未签到

发表于 2012-6-9 18:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册成为会员,享受更多功能。

x
我原来那个 1602 LCD 的 6.5 位表头,很早就做了一个用 12864 点阵,带模拟条图的亮骚版

sh363.jpg

而且不少坛友也挺喜欢的样子 {:4_320:} 但是原来帮我画 PCB 帮我做(手工)板的学弟上个月跑去修仙去了 {:4_327:}  而我不太会画 PCB {:4_309:} 所以在这里求画板,最好还能帮我发行这个套件最好啦 {:4_313:}

电路图和源程序公开如下:

sh641.jpg

sh642.jpg

源程序

$Device= m16   
$Stack = 32   
$Clock = 8  
$Timer2 = PWM, 8, Normal
$GLCD HD61202, Data=PORTC, Ctrl=PORTA, 128, 64, 3
$Gctrl EN=0, WR=2, DI=1, CS1=5, CS2=4
$ShiftIn Data=PORTA.6, Clock=PORTA.7, Msb
$LeadChar="0", Format(1,6)
Dim F3HD As Flash Byte
Dim F2HD As Flash Byte
Dim F1HD As Flash Byte
Dim F0HD As Flash Byte
Dim LTC2400arr1 As Flash Byte
Dim i As Byte
Dim iBusystp As Byte
Dim iTrd As Byte
Dim iDraw As Word
Dim iDa As Byte
Dim iDb As Byte
Dim iDc As Byte
Dim iDd As Byte
Dim iTa As Byte
Dim iTb As Byte
Dim iTc As Byte
Dim iTd As Byte
Dim bREGa(33) As Byte
Dim bREGb(33) As Byte
Dim bREGc(33) As Byte
Dim bREGd(33) As Byte
Dim iMax As Byte
Dim iMin As Byte
Dim lMax As Long
Dim lMin As Long
Dim lrec As Long
Dim fOut As Float
Dim fTrn As Float
Dim fMax As Float
Dim fMin As Float
Pwm2 = 3
Set DDRD.7
Start Timer2
' Reset Graph LCD
DDRA.3 = 1
PORTA.3=0
WaitMs 200
PORTA.3=1
GLcdInit
Gcls
FontSet F0HD
GLcd(0, 5), "0     Min    Max    5"
'GLcd(0, 7), "AZ:OFF FILT:SMTH 32Pt"
FontSet F1HD
GLcd(0, 0), "Voltmeter"
GLcd(0, 1), "Range 5000"
FontSet F2HD
GLcd(94, 0), "mVDC"
ImgSet(0,4),LTC2400arr1
'主体程序开始
Do      
    '等待 LTC2400 结束信号
   iBusystp = 0
    Do
      iBusystp = iBusystp + 1
      WaitMs 1   
    Loop While PINA.6 = 1   
    'GLcd(0, 0), Str(iBusystp)
    '读取所有的转换数据  
    iDa = ShiftIn
    iDb = ShiftIn
    iDc = ShiftIn
    iDd = ShiftIn   
      
    iDd = iDd And &b11110000
    iDd = Swap(iDd)
    iTrd = iDc And &b00001111
    iTrd = Swap(iTrd)
    iTd = iDd + iTrd
   
    iTrd = iDc And &b11110000
    iTc = Swap(iTrd)
    iTrd = iDb And &b00001111
    iTrd = Swap(iTrd)
    iTc = iTrd + iTc   
   
    iTrd = iDb And &b11110000
    iTb = Swap(iTrd)
    iTrd = iDa And &b00001111
    iTrd = Swap(iTrd)
    iTb = iTrd + iTb  
    iTrd = iDa And &b00110000
    iTa = Swap(iTrd)
   
    '将当前结果立即打印到显示器上
   fTrn = 5 * (16777216 * iTa + 65536 * iTb + 256 * iTc + iTd - 33554432) / 16777216
   
    ImgSet(0,4),LTC2400arr1
    iDraw = 3 + iTb * 100 / 211
   
    LineV(iDraw-2,36,36),1
    LineV(iDraw-1,35,38),1
    LineV(iDraw,34,38),1
    LineV(iDraw+1,35,38),1
    LineV(iDraw+2,36,36),1
   
    'GLcd(0, 0), "Orig= "; fTrn; " VDC"   
    '对转换结果进行一阶滞后滤波
   'fPre = fCur
    'fCur = fTrn * 2 / 4 + fPre  * (4 - 2) / 4
    'GLcd(0, 3), "Filt= "; fCur; " VDC"
   
    'GLcd(30, 0), fTrn
    '设置一个先入先出寄存器
   For i = 1 To 32
        bREGd(i) = bREGd(i + 1)
        bREGc(i) = bREGc(i + 1)
        bREGb(i) = bREGb(i + 1)
        bREGa(i) = bREGa(i + 1)                 
    Next i
    bREGd(32) = iTd
    bREGc(32) = iTc
    bREGb(32) = iTb
    bREGa(32) = iTa
   
    '排查最大最小值   
    lrec = 16777216 * iTa + 65536 * iTb + 256 * iTc + iTd - 33554432
    lMax = lrec
    lMin = lrec
    iMax = 1
    iMin = 1  
    fOut = 0
    For i = 1 To 32
        iTa = bREGa(i)
        iTb = bREGb(i)
        iTc = bREGc(i)
        iTd = bREGd(i)
        
        lrec = 16777216 * iTa + 65536 * iTb + 256 * iTc + iTd - 33554432
        fTrn = 5000 * (16777216 * iTa + 65536 * iTb + 256 * iTc + iTd - 33554432) / 16777216
        If lrec > lMax Then   ' 找到最大值
          lMax = lrec
           iMax = i
        End If
        If lrec < lMin Then   ' 找到最小值
          lMin = lrec
           iMin = i
        End If              
        fOut = fOut + fTrn
    Next i   
    'GLcd(0, 1), "Max= "; iMax; " Min= "; iMin
    '显示未经剔除最大最小值的平滑滤波结果
   'GLcd(0, 1), "Smor= "; fOut / 10; " VDC"
    fOut = fOut / 32
    fOut = fOut * (10000 / 10004)
    FontSet F3HD
    Format(4,3)
    GLcd(0, 2), fOut
   
    '剔除最大值
   iTa = bREGa(iMax)
    iTb = bREGb(iMax)
    iTc = bREGc(iMax)
    iTd = bREGd(iMax)
    fMax = 5 * (16777216 * iTa + 65536 * iTb + 256 * iTc + iTd - 33554432) / 16777216
    '剔除最小值
   iTa = bREGa(iMin)
    iTb = bREGb(iMin)
    iTc = bREGc(iMin)
    iTd = bREGd(iMin)
    fMin = 5 * (16777216 * iTa + 65536 * iTb + 256 * iTc + iTd - 33554432) / 16777216   
    '显示剔除了最大最小值的平滑滤波结果
   'fOut = (fOut - fMax - fMin) / 8
    'GLcd(0, 1), "Max = "; fMax; " VDC"
    'GLcd(0, 2), "Min = "; fMin; " VDC"
    'GLcd(0, 3), "Smth= "; fOut; " VDC"
   
    FontSet F0HD
    Format(1,6)
    GLcd(0, 6), fMin; "   "; fMax
   
    Format(Scientific,2)
    GLcd(0, 7), "Peak:"; fMax - fMin; " Vpp"
   
    'GLcd(62, 3), fOut
Loop
$Include "..\Help\samples\F3HD.bas"     ‘ 字体建模
$Include "..\Help\samples\F2HD.bas"     ‘ 字体建模
$Include "..\Help\samples\F1HD.bas"     ‘ 字体建模
$Include "..\Help\samples\F0HD.bas"     ‘ 字体建模
$Include "..\Bitmap\LTC2400arr1.bas"     ‘ 小游标(指针)建模

回复 dsu_marcocopyright:copyright

使用道具 举报

该用户从未签到

发表于 2012-6-9 18:51 | 显示全部楼层
造福坛友,谢谢楼主
回复

使用道具 举报

该用户从未签到

发表于 2012-6-9 19:02 | 显示全部楼层
同求。。。。。。不过这东西校准搞不定啊,或者集体找您老校准?
回复

使用道具 举报

  • TA的每日心情
    开心
    2014-5-20 08:21
  • 签到天数: 38 天

    [LV.5]常住居民I

    发表于 2012-6-9 19:04 | 显示全部楼层
    看看就好~
    回复

    使用道具 举报

    该用户从未签到

    发表于 2012-6-9 19:06 | 显示全部楼层

    RE: 6.5 位表头带模拟条图,求画板、求发行套件

    感兴趣!同求套件,不过手里只有2440
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-9 20:06
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    发表于 2012-6-9 19:27 来自手机 | 显示全部楼层
    啊……陌生又熟悉的Basic
    回复

    使用道具 举报

    该用户从未签到

    发表于 2012-6-9 19:41 | 显示全部楼层
    楼主35+了?
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-29 08:22
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2012-6-9 20:03 | 显示全部楼层
    高级货哦~
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2019-8-2 09:08
  • 签到天数: 1722 天

    [LV.Master]伴坛终老

    发表于 2012-6-9 20:13 | 显示全部楼层
    有兴趣啊,哪位高人来做个好人啊?
    回复

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2012-6-9 20:30 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2012-6-9 20:31 | 显示全部楼层
    renjieah 发表于 2012-6-9 19:02
    同求。。。。。。不过这东西校准搞不定啊,或者集体找您老校准?

    这个有没有在桂林的坛友比较有空的 {:4_322:} 我提供一台 8.5 的表好啦 {:4_309:}
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2015-5-27 18:31
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    发表于 2012-6-9 20:31 | 显示全部楼层
    很好很强大
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2014-11-4 17:56
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2012-6-9 20:32 | 显示全部楼层
    呵呵。帮画pcb送两个成品啊。{:1_292:}{:4_328:}{:3_106:}
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2019-8-2 09:08
  • 签到天数: 1722 天

    [LV.Master]伴坛终老

    发表于 2012-6-9 20:33 | 显示全部楼层
    去电子市场问问报价看
    回复

    使用道具 举报

    该用户从未签到

    发表于 2012-6-9 20:37 | 显示全部楼层
    顺便问下楼主,24位的AD要比16位的牛很多吧,为什么AD976要比你用的AD贵很多呢,求科普
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-9-4 08:20
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2012-6-9 20:44 | 显示全部楼层
    楼主是牛人!
    桂林现在的山水好像也不太好了,真的吗?
    回复

    使用道具 举报

    该用户从未签到

    发表于 2012-6-9 20:44 | 显示全部楼层
    有34401,等楼主发套件搞了玩
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-8-3 11:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2012-6-9 21:01 | 显示全部楼层
    什么语言写的
    怎么像vb啊?
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2015-4-21 19:41
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2012-6-9 21:03 | 显示全部楼层
    show下俺用面包板做的6.5位的表头  {:1_303:}
    1602果然不给力啊

    1109131225bf484c6deb003112.jpg
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2017-10-8 19:51
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    发表于 2012-6-9 21:03 | 显示全部楼层
    期待出套件,造福坛友。
    回复

    使用道具 举报

    本版积分规则

    小黑屋|手机版|Archiver|论坛自带搜索|下载论坛app|手电大家谈-手电筒爱好者之家 ( 备案序号:鲁ICP备05002565号 )
    以上言论纯属个人观点,与手电大家谈立场无关。
    最佳浏览模式:1920*1080


    GMT+8, 2024-11-19 01:43 , Processed in 0.232657 second(s), 73 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表