| 
				打卡等级:常住居民III打卡总天数:139最近打卡:2024-05-24 15:33:43 金牌会员 
 
 
	积分1437 
 | 
 
| 之前有几位朋友说需要个基于8H8K64U开天斧开发板编写的类似万年历的功能,于是本人就参考了本网几个经典代码,拼凑成了今天发出的这个代码。代码未能优化,请高手勿喷。发出来可供大家参考,比如自行修改加入DS3231、DS18B20之类。这里要感谢STC提供的开天斧、实验箱演示例程。 硬件组成:STC8H8K开天斧3,板载4个独立按键,板子上部的OLED屏接口,接插单色OLED 128*64(默认SPI),板载NTC(使用1%精度的MF52 10K@25度的NTC),单片机自带RTC实时时钟。
 实现功能:基于STC8H8K64U为主控芯片的开天斧3开发板,读写芯片内部集成的RTC获取日期和时间;通过NTC获取周围温度,由对应ADC口读取对应电压值并转换成温度数据。由于RTC相关寄存器位于XFR中, 读RTC之前需使能XFR访问。OLED显示日期时间(年月日 小时:分钟:秒), 显示温度(支持负温),分辨率0.1度。按键用于调节时间, 只支持单键按下, 支持长按快速调节。P3.5: 小时+,P3.4: 小时-,P3.3: 分钟+,P3.2: 分钟-。闹钟到时间会在0点(可自行修改)自动显示“Alarm!”。下载时选择时钟24MHZ。
 
 
   
 
  内部RTC时钟与NTC读温度.rar
(28.13 KB, 下载次数: 653) 
 文件说明:
 isr.asm        汇编用于RTC中断向量(入口地址),借用保留中断号13使用RTC中断。
 RTC.c        主程序
 bmp.h        包含图片数据
 oledfont.h        字模数据
 STC8H.h        定义STC8H系列单片机的特殊功能寄存器
 RTC.hex        编译后的固件,可直接烧录
 RTC_NTC.uvproj        KEIL工程文件
 
 OLED的显存存放格式:
 [0]0 1 2 3 ... 127
 [1]0 1 2 3 ... 127
 [2]0 1 2 3 ... 127
 [3]0 1 2 3 ... 127
 [4]0 1 2 3 ... 127
 [5]0 1 2 3 ... 127
 [6]0 1 2 3 ... 127
 [7]0 1 2 3 ... 127
 
 OLED的汉字字模数据由“字模3”生成,设置为纵向取模,字节倒序, 小四字体。也可由免费的"PCtoLCD"点阵取模软件生成。这里用到的半角字符8*16大小,每个半角字符占两行,占8列。每个全角汉字(16*16)占两行,占16列。图片由Image2LCD v3.2软件生成,取模设置: “数据水平, 字节垂直,单色,128x64, 字节内像素数据反序, 自左向右, 自顶向底扫描, 低位在前, 颜色反转”。
 STC8H8K开天斧、128x64 OLED屏可在程序注释中的本人店铺地址购买。顺便提一下,屏幕的7PIN接插件、五向开关和板子固定脚均为基于原版上另外加入。
 
 
 
 
 
 | 
 |