带温度无字库12864的万历程序.doc

上传人:文库蛋蛋多 文档编号:4143155 上传时间:2023-04-07 格式:DOC 页数:35 大小:185KB
返回 下载 相关 举报
带温度无字库12864的万历程序.doc_第1页
第1页 / 共35页
带温度无字库12864的万历程序.doc_第2页
第2页 / 共35页
带温度无字库12864的万历程序.doc_第3页
第3页 / 共35页
带温度无字库12864的万历程序.doc_第4页
第4页 / 共35页
带温度无字库12864的万历程序.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《带温度无字库12864的万历程序.doc》由会员分享,可在线阅读,更多相关《带温度无字库12864的万历程序.doc(35页珍藏版)》请在三一办公上搜索。

1、SW08A15_带温度无字库12864的万年历程序本例程完成了万年历的显示,包括设置时间,农历,温度,1302的初始化以及帮助界面,采用不带字库的12864,所以整体程序比较大,编译完成后,不能在89C52中运行,建议使用89C54。本程序还有很多冗杂之处,未做调整,全做抛砖引玉。#include reg52.h#include sw08a15.h#include 1302.h#include 12864.h#include intrins.huchar num,week;uchar timeNow6;uint LunarCal;uchar SolarCalYear, SolarCalMont

2、h, SolarCalDay;uchar times=0;uchar wendu=0;uchar code dian32=0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,/*:*/;uchar code hz32=0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x

3、04,0x04,0x04,0x04,0x00,/*年,0*/0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00,/*月,1*/0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x1

4、0,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00,/*日,2*/0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00,/*星,3*/0x00,0x04,0xFF,0x54,0x54,0x54,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE

5、,0x00,0x00,0x42,0x22,0x1B,0x02,0x02,0x0A,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3F,0x00,0x00,/*期,4*/0x00,0x20,0x18,0x08,0x88,0xE8,0x1F,0x6A,0x88,0x08,0x88,0xC8,0xA8,0x1C,0x08,0x00,0x08,0x04,0x02,0x41,0xFF,0x40,0x20,0x10,0x01,0x02,0x0D,0x18,0x70,0x20,0x20,0x00,/*农,5*/0x00,0x00,0xFE,0x02,0x22,0x22,0x22,

6、0x22,0xFA,0x22,0x22,0x22,0xE2,0x02,0x02,0x00,0x40,0x30,0x0F,0x00,0x40,0x20,0x18,0x06,0x01,0x00,0x20,0x60,0x3F,0x00,0x00,0x00,/*历,6*/0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/*温,7*/0

7、x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,/*度,8*/0x00,0x02,0x05,0xE2,0x18,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x40,0x40,0x40,0x40

8、,0x40,0x20,0x18,0x00,0x00,/*,9*/0x40,0x41,0xCE,0x04,0x00,0x80,0x40,0xBE,0x82,0x82,0x82,0xBE,0xC0,0x40,0x40,0x00,0x00,0x00,0x7F,0x20,0x90,0x80,0x40,0x43,0x2C,0x10,0x10,0x2C,0x43,0xC0,0x40,0x00,/*设,10*/0x00,0x20,0x2F,0xA9,0xA9,0xAF,0xE9,0xB9,0xA9,0xAF,0xA9,0xA9,0x2F,0x20,0x00,0x00,0x80,0x80,0x80,0xFF,

9、0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0x80,0x80,0x80,0x00,/*置,11*/0x00,0x20,0x2A,0x2A,0xAA,0x7F,0x2A,0x2A,0xAA,0x00,0xFE,0x42,0x9A,0xA6,0x42,0x00,0x00,0x04,0x02,0x01,0x3E,0x02,0x02,0x02,0xFF,0x02,0x13,0x22,0x1E,0x00,0x00,0x00,/*帮,12*/0x00,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x10,0x10,0xFF,0x10,0x10

10、,0xF0,0x00,0x00,0x10,0x10,0x1F,0x11,0x11,0x09,0x4F,0x28,0x10,0x0C,0x03,0x20,0x40,0x3F,0x00,0x00,/*助,13*/0x40,0x40,0x42,0xCC,0x00,0x50,0x4E,0xC8,0x48,0x7F,0xC8,0x48,0x48,0x40,0x00,0x00,0x00,0x40,0x20,0x1F,0x20,0x48,0x46,0x41,0x40,0x40,0x47,0x48,0x48,0x4E,0x40,0x00,/*选,14*/0x08,0x08,0xFF,0x88,0x48,0x0

11、8,0x42,0x46,0x2A,0xD2,0x2A,0x46,0x42,0x80,0x80,0x00,0x42,0x81,0x7F,0x00,0x00,0x08,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x08,0x08,0x00,/*择,15*/0x20,0x21,0xEE,0x04,0x00,0x00,0xFF,0x29,0xA9,0xBF,0xA9,0xA9,0x01,0xFF,0x00,0x00,0x00,0x00,0x1F,0x88,0x44,0x30,0x0F,0x00,0x0F,0x04,0x04,0x4F,0x80,0x7F,0x00,0x00,

12、/*调,16*/0x00,0x04,0x74,0xD4,0xFF,0xD4,0x74,0x04,0x10,0x0C,0xB7,0x44,0xB4,0x0C,0x04,0x00,0x00,0x42,0x43,0x7A,0x43,0x42,0x43,0x7E,0x4B,0x4B,0x4A,0x4A,0x42,0x43,0x01,0x00,/*整,17*/0x00,0x84,0xE4,0x5C,0x44,0xC4,0x10,0xF8,0x97,0x92,0xF2,0x9A,0x96,0xF2,0x00,0x00,0x01,0x00,0x3F,0x08,0x88,0x4F,0x30,0x0F,0x04

13、,0x04,0x3F,0x44,0x84,0x7F,0x00,0x00,/*确,18*/0x40,0x41,0x42,0xCC,0x04,0x00,0x00,0x00,0x80,0x7F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x20,0x90,0x60,0x18,0x07,0x00,0x03,0x0C,0x30,0xC0,0x40,0x00,/*认,19*/0x40,0x42,0xDC,0x08,0x00,0x00,0xFE,0x52,0x92,0x12,0x12,0x92,0x73,0x02,0x00,0x00,0x40,0x2

14、0,0x1F,0x20,0x48,0x46,0x51,0x50,0x48,0x45,0x42,0x45,0x48,0x50,0x00,0x00,/*返,20*/0x00,0xFE,0x02,0x02,0xF2,0x12,0x12,0x12,0x12,0x12,0xF2,0x02,0x02,0xFE,0x00,0x00,0x00,0x7F,0x40,0x40,0x47,0x44,0x44,0x44,0x44,0x44,0x47,0x40,0x40,0x7F,0x00,0x00,/*回,21*/0x00,0x08,0x88,0xC9,0x2E,0x98,0x48,0x00,0x08,0x08,0x

15、F8,0x08,0x08,0xFC,0x08,0x00,0x02,0x01,0x00,0x7F,0x01,0x02,0x44,0x20,0x10,0x0C,0x03,0x20,0x40,0x3F,0x00,0x00,/*初,22*/0x10,0x90,0x70,0x1F,0x12,0xF0,0x00,0x20,0x70,0x28,0x27,0x22,0x28,0x70,0x20,0x00,0x40,0x21,0x12,0x0C,0x06,0x09,0x30,0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,/*始,23*/0x80,0x40,0x20,0

16、xF8,0x07,0x02,0x00,0x00,0xFF,0xC0,0x60,0x30,0x1C,0x08,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x04,0x02,0x01,0x3F,0x40,0x40,0x40,0x40,0x78,0x00,0x00,/*化,24*/;uchar code weekCode32=0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

17、0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*一,0*/0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00,/*二,1*/0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,0x00,0x20,0

18、x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,/*三,2*/0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00,/*四,3*/0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x

19、82,0x02,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00,/*五,4*/0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00,/*六,5*/0x00,0x00,0x00,0xFE,0x4

20、2,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00,/*日,6*/;uchar code numberCode16=0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*0,0*/0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00

21、,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*1,1*/0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,/*2,2*/0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,/*3,3*/0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,/*4

22、,4*/0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,/*5,5*/0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,/*6,6*/0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,/*7,7*/0x00,0x70,0x88,0x08,0x08,0x88,0x70,

23、0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,/*8,8*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,/*9,9*/0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,/*A,0*/0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E

24、,0x00,/*B,11*/0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,/*C,12*/0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,/*D,13*/0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,/*E,14*/0x08,0xF8,0x88,0x88,0x

25、E8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,/*F,15*/;/农历数据/uchar code year_code= 0x4d,0x4A,0xB8, /2001 0x0d,0x4A,0x4C, /2002 0x0d,0xA5,0x41, /2003 0x25,0xAA,0xB6, /2004 0x05,0x6A,0x49, /2005 0x7A,0xAd,0xBd, /2006 0x02,0x5d,0x52, /2007 0x09,0x2d,0x47, /2008 0x5C,0x95,0xBA, /2009 0x0A,0x

26、95,0x4e, /2010 0x0B,0x4A,0x43, /2011 0x4B,0x55,0x37, /2012 0x0A,0xd5,0x4A, /2013 0x95,0x5A,0xBf, /2014 0x04,0xBA,0x53, /2015 0x0A,0x5B,0x48, /2016 0x65,0x2B,0xBC, /2017 0x05,0x2B,0x50, /2018 0x0A,0x93,0x45, /2019 0x47,0x4A,0xB9, /2020 0x06,0xAA,0x4C, /2021 0x0A,0xd5,0x41, /2022 0x24,0xdA,0xB6, /2023

27、 0x04,0xB6,0x4A, /2024 0x69,0x57,0x3d, /2025 0x0A,0x4e,0x51, /2026 0x0d,0x26,0x46, /2027 0x5e,0x93,0x3A, /2028 0x0d,0x53,0x4d, /2029 0x05,0xAA,0x43, /2030 0x36,0xB5,0x37, /2031 0x09,0x6d,0x4B, /2032 0xB4,0xAe,0xBf, /2033 0x04,0xAd,0x53, /2034 0x0A,0x4d,0x48, /2035 0x6d,0x25,0xBC, /2036 0x0d,0x25,0x4

28、f, /2037 0x0d,0x52,0x44, /2038 0x5d,0xAA,0x38, /2039 0x0B,0x5A,0x4C, /2040 0x05,0x6d,0x41, /2041 0x24,0xAd,0xB6, /2042 0x04,0x9B,0x4A, /2043 0x7A,0x4B,0xBe, /2044 0x0A,0x4B,0x51, /2045 0x0A,0xA5,0x46, /2046 0x5B,0x52,0xBA, /2047 0x06,0xd2,0x4e, /2048 0x0A,0xdA,0x42, /2049 0x35,0x5B,0x37, /2050 0x09,

29、0x37,0x4B, /2051 0x84,0x97,0xC1, /2052 0x04,0x97,0x53, /2053 0x06,0x4B,0x48, /2054 0x66,0xA5,0x3C, /2055 0x0e,0xA5,0x4f, /2056 0x06,0xB2,0x44, /2057 0x4A,0xB6,0x38, /2058 0x0A,0xAe,0x4C, /2059 0x09,0x2e,0x42, /2060 0x3C,0x97,0x35, /2061 0x0C,0x96,0x49, /2062 0x7d,0x4A,0xBd, /2063 0x0d,0x4A,0x51, /20

30、64 0x0d,0xA5,0x45, /2065 0x55,0xAA,0xBA, /2066 0x05,0x6A,0x4e, /2067 0x0A,0x6d,0x43, /2068 0x45,0x2e,0xB7, /2069 0x05,0x2d,0x4B, /2070 0x8A,0x95,0xBf, /2071 0x0A,0x95,0x53, /2072 0x0B,0x4A,0x47, /2073 0x6B,0x55,0x3B, /2074 0x0A,0xd5,0x4f, /2075 0x05,0x5A,0x45, /2076 0x4A,0x5d,0x38, /2077 0x0A,0x5B,0

31、x4C, /2078 0x05,0x2B,0x42, /2079 0x3A,0x93,0xB6, /2080 0x06,0x93,0x49, /2081 0x77,0x29,0xBd, /2082 0x06,0xAA,0x51, /2083 0x0A,0xd5,0x46, /2084 0x54,0xdA,0xBA, /2085 0x04,0xB6,0x4e, /2086 0x0A,0x57,0x43, /2087 0x45,0x27,0x38, /2088 0x0d,0x26,0x4A, /2089 0x8e,0x93,0x3e, /2090 0x0d,0x52,0x52, /2091 0x0

32、d,0xAA,0x47, /2092 0x66,0xB5,0x3B, /2093 0x05,0x6d,0x4f, /2094 0x04,0xAe,0x45, /2095 0x4A,0x4e,0xB9, /2096 0x0A,0x4d,0x4C, /2097 0x0d,0x15,0x41, /2098 0x2d,0x92,0xB5, /2099;uchar code day_code19=0x0,0x1f,0x3b,0x5a,0x78,0x97,0xb5,0xd4,0xf3;uint code day_code23=0x111,0x130,0x14e;/农历转换算法bit get_moon_da

33、y(uchar month_p,uint table_addr)/bit15-9-year,bit8-5-month,bit4-0-dayswitch (month_p) case 1: if(year_codetable_addr&0x08)=0) return(0);else return(1); case 2: if(year_codetable_addr&0x04)=0) return(0);else return(1); case 3: if(year_codetable_addr&0x02)=0) return(0);else return(1); case 4: if(year_

34、codetable_addr&0x01)=0) return(0);else return(1); case 5: if(year_codetable_addr+1&0x80)=0) return(0);else return(1); case 6: if(year_codetable_addr+1&0x40)=0) return(0);else return(1); case 7: if(year_codetable_addr+1&0x20)=0) return(0);else return(1); case 8: if(year_codetable_addr+1&0x10)=0) retu

35、rn(0);else return(1); case 9: if(year_codetable_addr+1&0x08)=0) return(0);else return(1); case 10: if(year_codetable_addr+1&0x04)=0) return(0);else return(1); case 11: if(year_codetable_addr+1&0x02)=0) return(0);else return(1); case 12: if(year_codetable_addr+1&0x01)=0) return(0);else return(1); cas

36、e 13: if(year_codetable_addr+2&0x80)=0) return(0);else return(1);uint Conversion(uchar year,uchar month,uchar day) uchar temp1,temp2,temp3,month_p; uint temp4,table_addr; uint dat_return,dat_buffer; bit flag_y; table_addr=(year-1)*3; temp1=year_codetable_addr+2&0x60; temp1=_cror_(temp1,5); temp2=yea

37、r_codetable_addr+2&0x1f; if(temp1=0x1) temp3=temp2-1; else temp3=temp2+0x1f-1; if (month0x2)&(year%0x4=0) temp4+=1; if (temp4=temp3) temp4-=temp3; month=0x1; month_p=0x1; flag_y=0; if(get_moon_day(month_p,table_addr)=0)temp1=0x1d; else temp1=0x1e; temp2=year_codetable_addr/16; while(temp4=temp1) tem

38、p4-=temp1; month_p+=1; if(month=temp2) flag_y=flag_y; if(flag_y=0)month+=1; else month+=1; if(get_moon_day(month_p,table_addr)=0)temp1=0x1d; else temp1=0x1e; day=temp4+1; else temp3-=temp4; year-=1; table_addr-=0x3; month=0xc; temp2=year_codetable_addr/16; if (temp2=0)month_p=0xc; else month_p=0xd;

39、flag_y=0; if(get_moon_day(month_p,table_addr)=0)temp1=0x1d; else temp1=0x1e; while(temp3temp1) temp3-=temp1; month_p-=1; if(flag_y=0)month-=1; if(month=temp2)flag_y=flag_y; if(get_moon_day(month_p,table_addr)=0)temp1=0x1d; else temp1=0x1e; day=temp1-temp3+1; dat_buffer=0; dat_return=0; dat_buffer=(u

40、int)year; dat_buffer=9; dat_return|=dat_buffer; dat_buffer=(uint)month; dat_buffer0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(4);return(dat);/写一个字节WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1;/读取温度float Rea

41、dDQerature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t=8;t=t|a;tt=t*0.0625;return(tt);/void displayMessage()hz_disp8(0,0,numberCode2,0); /20hz_disp8(0,8,numberCode0,0); /20hz_disp16(0,32,hz0,0);/年hz_disp16(0,64,hz1,0);/月hz_disp16(0,96,hz2,0);/日hz_disp8(2,16,dian,0);/点hz_disp8(2,40,dian,0);/点hz_disp16(2,72,hz3,0);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号