单片机课设(三篇课设均带带仿真图和源程序代码)(2)

2019-03-04 14:16

{0x00,0x00,0x00,0xC8,0xE8,0xA8,0x88,0xFC,0xF4,0x84,0xC4,0x40,0x00,0x00,0x00,}, {0x00,0x20,0x31,0x1B,0x0E,0x07,0x01,0x1F,0x3F,0x31,0x20,0x30,0x3C,0x1C,0x00,},/*\死\{0x00,0x00,0x08,0x08,0x0E,0xCE,0xE8,0x68,0xCE,0x8E,0x0E,0x04,0x00,0x00,0x00,}, {0x08,0x08,0x0C,0x06,0x3F,0x7F,0x42,0x5E,0x5E,0x43,0x73,0x73,0x02,0x02,0x02,},/*\苍\{0x00,0xC0,0xC0,0xFC,0xFC,0xE0,0xF8,0xB8,0xE8,0xF8,0xDC,0xCC,0x80,0x00,0x00,}, {0x00,0x10,0x19,0x0F,0x07,0x07,0x07,0x0F,0x1F,0x3F,0x27,0x27,0x30,0x30,0x00,},/*\蝇\{0x00,0x00,0x00,0x00,0x80,0x90,0xFE,0xFE,0x90,0xD0,0x40,0x00,0x00,0x00,0x00,},

{0x00,0x20,0x31,0x19,0x0D,0x07,0xFF,0xFF,0x06,0x0C,0x18,0x10,0x30,0x20,0x00,},/*\未\{0x00,0x00,0x00,0x80,0xB8,0x78,0xE8,0xEC,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,}, {0x20,0x30,0x1C,0x0F,0x07,0x04,0x0F,0x0F,0x19,0x31,0x30,0x20,0x20,0x20,0x20,},/*\足\{0x00,0x80,0x80,0x80,0xC8,0xE8,0xB8,0x9E,0xFE,0xEC,0xC4,0x40,0x40,0x40,0x00,}, {0x00,0x00,0x00,0x00,0x0E,0x0E,0x0E,0x06,0xC2,0xFF,0x3F,0x00,0x00,0x00,0x00,},/*\奇\{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},

{0x00,0x00,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,},/*\。\};

2012 01 24 更新 原来的程序虽然正常运行,但总觉得数组部分有点问题。更改 display()子函数如下,总算可以了。 void display() {

uchar i,j,page;

for(page=0;page<4;page++) {

SetPage(page,page); SetAddress(0,0); for(i=0;i<4;i++) {

for(j=0;j<15;j++) { if(page<2) {

WR_Mdat(chr16[2*i+page][j]); WR_Sdat(chr16[2*i+8+page][j]); } else {

WR_Mdat(chr16[2*i+14+page][j]); WR_Sdat(chr16[2*i+22+page][j]); } }

6 / 53

} } }

2013.05.25 更新 取模

7 / 53

要注意,你说的通用型其实并不通用,LCD模块中使用不同的控制器,其控制方法都不同!所有的LCD模块都在Optoelectronics大类下。 1602是LM016L; 12232有好几种:

AGM1232G DISPLAY 122x32 Graphical LCD with SED1520 controllers EW12A03GLY DISPLAY 122x32 Graphical LCD with SED1520 controllers

HDM32GS12-B DISPLAY 122x32 Graphical LCD with SED1520 controllers, LED Backlight HDM32GS12Y-3 DISPLAY 122x32 Graphical LCD with SED1520 controllers, Selectable Interface, VAC LED Backlight 12864也有好几种:

AMPIRE128X64 DISPLAY 128x64 Graphical LCD with KS0108 controllers

HDG12864F-1 DISPLAY 128x64 Graphical LCD with SED1565 controller, Serial data input

HDG12864F-3 DISPLAY 128x64 Graphical LCD with SED1565 controller, Parallel data input

HDG12864L-4 DISPLAY 128x64 Graphical LCD with SED1565 controller, Parallel data input, LED Backlight

HDG12864L-6 DISPLAY 128x64 Graphical LCD with SED1565 controller, Selectable Interface, LED Backlight

LGM12641BS1R DISPLAY 128x64 Graphical LCD with KS0108 controllers LM3228 DISPLAY 128x64 Graphical LCD LM4228 DISPLAY 128x64 Graphical LCD LM4265 DISPLAY 128x128 Graphical LCD PG128128A DISPLAY 128x128 Graphical LCD Display PG12864F DISPLAY 128x64 Graphical LCD Display

TG126410GFSB DISPLAY 128x66 Graphical LCD with SED1565 controllers, Bottom View

8 / 53

单片机与接口技术课程设计总结报告

设计题目: 电子万年历学生姓名: 系 别: 专 业: 班 级: 学 号: 指导教师:

2011年12月16日

9 / 53

设计题目:

电子万年历

设计任务与要求:

1、显示年月日时分秒及星期信息 2、具有可调整日期和时间功能 3、增加闰年计算功能

方案比较:

方案一:系统分为主控制器模块、显示模块、按键开关模块,主控制模块采用AT89C52单片机为控制中心,显示模块采用普通的共阴LED数码管,键输入采用中断实现功能调整,计时使用AT89C52单片机自带的定时器功能,实现对时间、日期的操作,通过按键盘开关实现对时间、日期的调整。

方案二:系统分为主控模块、时钟电路模块、按键扫描模块,LCD显示模块,电源电路、复位电路、晶振电路等模块。主控模块采用AT89C52单片机,按键模块用四个按键,用于调整时间,显示模块采用LCD1602,时钟电路模块采用DS1302时钟芯片实现对时间、日期的操作。

两个方案工作原理大致相同,只有显示模块和时钟电路不同。LED数码管价格适中,对于数字显示效果较好,而且使用单片机的端口也较少; LCD1602液晶显示屏,显示功能强大,可以显示大量文字、图形,显示多样性,清晰可见,价格相对LED数码管来说要昂贵些,但是基于本设计显示的东西较多,若采用LED数码管的话,所需数码管较多,而且不利于控制,因此选择LCD1602作为显示模块。DS1302是一款高性能的实时时钟芯片,以计时准确、接口简单、使用方便、工作电压范围宽和低功耗等优点,得到广泛的应用,实时时钟有秒、分、时、星期、日、月和年,月小于31天时可以自动调整,并具有闰年补偿功能,而且在掉电时能够在外部纽扣电池的供电下继续工作。单片机有定时器的功能,但时间误差较大,且需要编写时钟程序,因此采用DS1302作为时钟电路。

对比以上方案,结合设计技术指标与要求我们选择了方案二进行设计。

10 / 53


单片机课设(三篇课设均带带仿真图和源程序代码)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:葡萄胎1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: