毕业设计单片机液晶显示器多功能显示(4)

2019-04-21 17:07

安徽财贸职业学院

}

LCD_SCLK = 1;

// 传送数据到SPI寄存器

// SPDR = data;

//while ((SPSR & 0x80) == 0); // 等待数据传送完毕

// 关闭LCD

//PORTB |= LCD_CE ; LCD_CE = 1; }

2.3 Ds1302头文件

sbit RST=P3^4; sbit IO=P3^3; sbit SCLK=P3^2; sbit ACC0=ACC^0; sbit ACC7=ACC^7;

void write_byte(unsigned char da) //DS1302:写入操作 {

unsigned char i; ACC=da; for(i=8;i>0;i--) {

IO=ACC0;

SCLK=1; ACC=ACC>>1; } }

unsigned char read_byte(void) //DS1302:读取操作 {

unsigned char i; for(i=0;i<8;i++) {

ACC=ACC>>1;

SCLK = 1; SCLK=0;

-14-

安徽财贸职业学院

ACC7 = IO; }

return(ACC); }

SCLK = 0;

unsigned char read_1302(unsigned char addr) //DS1302:读取数据(先送地址,再读数据) {

unsigned char temp;

RST=0; //停止工作 SCLK=0;

RST=1; //重新工作 write_byte(addr); //写入地址 temp=read_byte(); RST=0;

SCLK=1; //停止工作 return(temp); }

void write_1302(unsigned char addr,unsigned char da) //DS1302:写入数据(先送地址,再写数据? {

RST=0; //停止工作

SCLK=0; RST=1; //重新工作

write_byte(addr); //写入地址 write_byte(da); RST=0; SCLK=1; }

void set_time(unsigned char time[]) {

unsigned int i;

unsigned char temp=0x80; // 地址80:秒写入寄?

-15-

安徽财贸职业学院

write_1302(0x8e,0x00); //WP=0 写操作 for(i=0;i<3;i++) {

write_1302(temp,time[i]); temp+=2; }

write_1302(0x8e,0x80); //WP=1 写保护 }

void set_ram(unsigned char x[4][2]) {

unsigned int i,j;

unsigned char temp=0xc0; write_1302(0x8e,0x00); for(i=0;i<4;i++) {

for(j=0;j<2;j++) { write_1302(temp,x[i][j]); temp+=2;

} }

write_1302(0x8e,0x80); }

void ds1302int(unsigned char year,mon,date,hour,mini,sec) { RST=0; SCLK=0; RST=1;

write_1302(0x8e,0x00); RST=0; SCLK=1;

write_1302(0x8c,year);

write_1302(0x88,mon);

-16-

//WP=0 写操作//WP=1 写保护

安徽财贸职业学院

}

write_1302(0x86,date); write_1302(0x84,hour); write_1302(0x82,mini); write_1302(0x80,sec); RST=0; SCLK=0; RST=1; write_byte(0x8e); write_byte(0x80);

心得体会

本次设计融合了我在课堂中学到的知识,启发我向更复杂,更多变的环境应用微型处理器的决心。

设计中遇到许多的问题让自己困惑,也不知道何从下手,在求教于人后,终于理解自己的弱项,对编程员而言,最基本的当然是逻辑性要强,然而还要调试的技巧和耐性。在开发中会经常遇到结果并不是要的结果,即使自己的程序已经正确,这就是:在编程中遇到了数据存储时用整形可以,却不能使用数组。这个问题也让我想到是否是编译器的缺陷或是c语言虽然高级却不能操作硬件,当然最有可能的是我的编程不规范,的确,这次设计所用的变量很多,编程时确定不知变量的意义,这就让我理解到注释的重要性,在编写完程序后我也给每个函数和变量添加了解释,不仅给读程序的人一种便捷,也给优化,程序模块一种捷径。设计中就是将功能相似的函数放在同一个头文件中,这样只需调用函数就行了。我想:

在我们中缺的不是编程能力,大家都能,而是能够将程序模块化,能够做到互不影响却能互相利用。

致谢

经过两个月的努力,我终于完成此次单片机液晶显示的毕业设计,在此过程中,我非常要感谢的是我的指导老师,不仅仅教会我怎样去完成一项编程的思路,而且让我理解作为一名程序员所需要的不是那份能力,而是你对待任务的态度,我想老师是授人于

-17-

安徽财贸职业学院

渔吧。这才是我由衷的致谢的原因,我的这份致谢或许有许多人跟我一样的言词,或许在别人眼中好虚,但是这并不是主要的,我依然诉说我的真实心情,因为我看到了在朱自清先生文中犹如慈父一样的背影。

-18-

安徽财贸职业学院毕业论文(设计)

参考文献

1 郭强等. 液晶显示应用技术. 电子工业出版社. 2000

2 王建校等. 51系列单片机及C51程式设计. 科学出版社. 2002 3 李朝青. 单片机原理及接口技术. 北京航空航天大学出版社. 1999


毕业设计单片机液晶显示器多功能显示(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山西省忻州一中2014-2015学年高二下学期期末考试数学(理)试卷

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

马上注册会员

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