[导读]作者| strongerHuang微信公众号|嵌入式专栏这是一款基于AVR128DA48的超低功耗LCD时钟,能够使用CR2032纽扣电池或太阳能电池运行三年以上:它使用AVR128DA48的片上温度传感器,用ADC读取其自身的电源电压。还有一个I2C接口,你可以连接一...
作者 | strongerHuang
微信公众号 | 嵌入式专栏
这是一款基于 AVR128DA48 的超低功耗 LCD 时钟,能够使用 CR2032 纽扣电池或太阳能电池运行三年以上:
它使用 AVR128DA48 的片上温度传感器,用 ADC 读取其自身的电源电压。还有一个 I2C 接口,你可以连接一个外部传感器,如湿度传感器。
介绍
尽管LCD液晶显示是相对较旧的技术,但与新型显示器相比,它们仍具有多项优势,包括低功耗、低成本和可读性。
1.硬件电路LCD 时钟的电路:
基于 AVR128DA48单片机
LCD显示LCD显示器为四位七段静态LCD,40引脚,可显示温湿度,LCD 显示器安装在电路板的正面,元件在背面。
MCU处理器该处理器是采用 TQFP-48 封装的 AVR128DA48,但该 PCB 可与一系列其他 48 引脚处理器配合使用,比如选择内存容量更低、价格更低的一些MCU代替。
电池(电源)
这里采用CR2032 或类似电池为其供电,或者使用太阳能电池,附加超级电容来供电:
I2C接口为方便扩展,这里添加了I2C接口,这里可以添加温湿度传感器,或者其他I2C从设备。
源码
这里先分享一些主要源码内容,最后提供源码链接。
1.IO配置
void PortSetup () { for (int p=0; p<4; p ) Digit[p]->DIR = 0xFF; // All pins outputs PORTE.DIR = PIN0_bm | PIN1_bm; // COMs outputs, PE0 and PE1 PORTF.DIR = PIN5_bm | PIN4_bm; // 1A, colon}
2.时钟这里节省成本,并非使用时钟芯片或模块,用单片机定时器计数实现时钟的功能。
利用定时器中断实现时钟计数、更新:
ISR(RTC_PIT_vect) { static uint8_t cycles = 0; static unsigned long halfsecs; RTC.PITINTFLAGS = RTC_PI_bm; // Clear interrupt flag // Toggle segments for (int p=0; p<4; p ) Digit[p]->OUTTGL = 0xFF; // Toggle all PORTA,B,C,D pins PORTE.OUTTGL = PIN0_bm | PIN1_bm; // Toggle COMs, PE0 and PE1 PORTF.OUTTGL = PIN5_bm | PIN4_bm; // Toggle segment 1A, Colon
cycles ; if (cycles < 32) return; cycles = 0;
// Update time halfsecs = (halfsecs 1) % 172800; // 24 hours uint8_t ticks = halfsecs % 120; // Half-second ticks if (MinsButton()) halfsecs = ((halfsecs/7200)*60 (halfsecs/120 1)%60)*120; if (HoursButton()) halfsecs = halfsecs 7200;
if (MinsButton() || HoursButton() || ticks < 108) DisplayTime(halfsecs); else if (ticks == 108) DisplayVoltage(); else if (ticks == 114) DisplayTemp();}
3.显示时间LCD显示部分就LCD有关:
void DisplayTime (unsigned long halfsecs) { uint8_t minutes = (halfsecs / 120) % 60; #ifdef TWELVEHOUR uint8_t hours = (halfsecs / 7200) % 12 1; #else uint8_t hours = (halfsecs / 7200) % 24; #endif Digit[0]->OUT = Char[hours/10]; Digit[1]->OUT = Char[hours%10]; Digit[2]->OUT = Char[minutes/10]; uint8_t units = Char[minutes%10]; Digit[3]->OUT = units; uint8_t colon = (halfsecs
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
LCD背光源将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。
关键字:
LCD
背光源
Holtek A/D Flash LCD MCU新增系列成员HT67F2362A与HT67F2372A,分别为HT67F2362及HT67F2372的延伸产品,特点为新增C-type LCD驱动使得低压时可维持显示效果,...
关键字:
MCU
LCD
LED 驱动电路
LCD与LED是两种采用不同工作原理的显示技术,LCD是由液态晶体组成的显示屏,而LED则是由发光二极管组成的显示屏。
关键字:
LED
手机屏
LCD
台湾液晶显示面板制造商——群创光电,近日传出了变相裁员、逼迫员工自愿离职的消息。
关键字:
LCD
显示器
群创光电
随着科技的不断发展,嵌入式系统在各个领域得到了广泛的应用,如智能家居、智能穿戴设备、智能医疗等。然而,随着嵌入式系统的复杂度和功耗的限制,如何实现低功耗方案设计成为了嵌入式系统设计的一个重要课题。本文将探讨如何实现嵌入式...
关键字:
嵌入式
DSP系统
低功耗
为增进大家对显示屏的认识,本文将对LCD显示屏、延长LCD显示屏寿命的方法、防止LCD显示屏静电的方法予以介绍。
关键字:
LCD
显示屏
指数
为增进大家对显示屏的认识,本文将对LCD显示屏驱动方法以及定制LCD显示屏需要注意的参数予以介绍。
关键字:
LCD
显示屏
指数
为增进大家对显示屏的认识,本文将对LCD显示屏的特点、LCD显示屏存储注意事项、处理LCD显示屏花屏的方法予以介绍。
关键字:
LCD
显示屏
指数
ISOFACE™数字隔离器是英飞凌产品组合中的新成员,借助英飞凌二十载隔离技术经验,提供完整的系统解决方案。
关键字:
安全隔离
低功耗
数字隔离器
(全球TMT2023年8月22日讯)逐点半导体宣布,完美世界游戏出品的《女神异闻录:夜幕魅影》集成了逐点半导体手游渲染加速引擎SDK,该SDK作为连接游戏内容与独显芯片的桥梁,可为搭载逐点半导体X7系列视觉处理器的智能...
关键字:
SDK
半导体
集成
低功耗
液晶显示器(Liquid Crystal Display,简称LCD)是一种常见的显示技术,其基本工作原理是利用液晶材料的物理特性实现图像显示。下面我们将详细介绍LCD的基本工作原理和构造。
关键字:
液晶显示器
LCD
液晶显示器(LCD)作为现代主流的显示设备,已经广泛应用到各个领域中。它以其低功耗、低辐射、高清晰度和长寿命等优点,赢得了广大用户的青睐。然而,任何产品都不可能完美,LCD同样存在其优劣势。本文将针对LCD在使用方面的优...
关键字:
液晶显示器
LCD
CRT技术
液晶显示器(LCD)作为一种主流的显示设备,已经深入到人们的日常生活和工作之中。它以其低功耗、低辐射、高清晰度和长寿命等优点,赢得了广泛的市场和用户青睐。如何进行液晶显示器的系统设计,直接影响其性能和用户体验。本文将详细...
关键字:
液晶显示器
LCD
一、引言
随着科技的飞速发展,液晶显示器(LCD)已经成为了我们日常生活和工作中的重要组成部分。然而,面对着不断变化的市场环境和消费者需求,我国液晶显示器市场也正在经历前所未有的挑战和机遇。本文将探讨我国液晶显示器...
关键字:
LCD
液晶显示器
LCD显示器是一种基于液晶技术的显示器,广泛应用于计算机、电视、手机等设备中。根据不同的分类标准,LCD显示器可以分为以下几类:
关键字:
LCD显示器
LCD
使用5V低功耗运算放大器不会产生失真为–100dBc的正弦波。尽管如此,采用 LTC6258 的带通滤波器可与一个易于使用的低功率振荡器结合使用,以低成本、低电压和极低耗散产生正弦波。
关键字:
低功耗
运算放大器
正弦波
液晶显示屏相信每个人都应该见过,现在电脑、电视机基本都是使用液晶显示屏了。随着社会越来越进步,科技越来越发达,LCD液晶显示屏也越来越多了。
关键字:
LCD
显示器
电视机
液晶显示器由若干层组成,包括两个极化面板滤波器和电极。LCD技术用于在笔记本或其他电子设备(如微型计算机)中显示图像。光从透镜投射到一层液晶上。
关键字:
LCD
显示器
滤波器
随着LCD技术的发展和完善,LCD显示器已经基本普及,价格对于普通消费者来说也可以接受,LCD显示器已经逐渐开始取代CRT成为人们日常生活中最主要的显示设备。
关键字:
显示器
LCD
电源指示灯