|
手头的结构废掉的体重计,屏的尺寸不错,这种屏大多数是4位数字带冒号的段码屏,做个时钟,刚刚好
给体重计上电,显示效果相当可以
测了波形,是1/3 bias, 1/4 duty的,想到使用HT1621了
热压斑马线到转接板
把屏装回去,引出排针,供测试
使用ATmega16L + 3个按键,测试效果
只是注意HT1621的驱动,手册有提到
//101 + A5A4A3A2A1A0 + D0D1D2D3
地址就是SEG值,数据就是COM值,这里HT1621B与屏的引脚可以根据自身情况连接,固定后就不要改了
然后测试真值表
可以正常显示4位数字了
这里编译环境就用CVAVR,比较老的版本,里面带DS1302的库,直接来用了,简便快捷
DS1302的手册提到
//the DS1302 can also be driven by an external 32.768KHz oscillator.
//in this configuration, the X1 pin is connected to the external oscillator signal and the X2 pin is floated.
哈哈,前阵子屯了些RX8025T,这里就用RX8025输出的32.768KHz供给DS1302的X1了,X2悬空
上外壳,洞洞板切割后,强度不够,换了个厚一些的
利用原结构安装到新面板
试装屏 ,竟然完美
斑马纸特写
试装到外壳,OK
原外壳可以下岗了
利用这款前阵子画的板子,临时拉过来,上下的洞洞板结构正好承载本次的ATmega16L+DS1302+RX8025
主角ATmega16L上场,呱唧呱唧
DS1302
RX8025T
焊接完,测试效果
面板加了3个小按键,手感可以
外壳背部加装绝缘垫片,防止金属外壳导致短路
总装,电源用了1节18650+ME6209A33,当然H7333也可以
简单调试一下,库函数没有注释,以为参数是BCD,后测试为HEX
ATmega16L,熔丝位配置为内部4MHz,使用TIMER0,CTC模式溢出1ms,用作定时任务的基准
在pin10 VCC,pin9 GND,接入后,即成最小系统,非常方便
ISP用的SP200S,多年前的51 AVR下载器,MOSI MISO SCK RESET GND,这5个脚,当然目标板需要上电。
按键为状态机判断机制,段码屏100ms刷新一次,冒号500ms取反一次,DS1302 900ms读取一次。
引脚连接如下
#asm
.equ __ds1302_port=0x12 ;PORTD
.equ __ds1302_io=5
.equ __ds1302_sclk=4
.equ __ds1302_rst=6
#endasm
#include <ds1302.h>
//CVAVR support bit definition
#define HT1621_CS PORTA.0
#define HT1621_WR PORTA.1
#define HT1621_DATA PORTA.2
#define KEY_SET PINA.3
#define KEY_INCREASE PINA.4
#define KEY_DECREASE PINA.5
程序就一个main.c
在这
链接:https://pan.baidu.com/s/13wvQsCZF8GSsMkEjeJBFyQ
提取码:i4rv
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|