基于单片机的LCD1602科学计算器设计(8)

2019-04-13 23:10

本科毕业设计说明书(论文)

致 谢

共 29 页第 29 页

本科毕业设计说明书(论文)

参 考 文 献

共 29 页第 30 页

[1] 黄惟公. 单片机原理与应用技术[M]. 西安:西安电子科技大学出版社,2007.

[2] 三恒星科技. 单片机原理与应用实例[M]. 北京:电子工业出版社,2007. [3] 于志赣. 液显LCD1602模块的应用[J]. 机电技术,2009(3):21-23. [4] 于永. 单片机C语言实例精讲[M]. 北京:电子工业出版社, 2008. [5] 陆应华. 电子系统设计教程[M]. 北京:国防工业出版社, 2009. [6] 谭浩强. C程序设计教程[M]. 北京:清华大学出版社,2007.

[7] 贾立新. 电子系统设计与实践[M]. 北京:清华大学出版社, 2007 .

[8] 李建忠. 单片机原理及应用[M]. 西安:西安电子科技大学出版社,2007. [9] 范爱平. 电子电路实验与虚拟技术[M]. 济南:山东科学技术出版社, 2002. [10] 谢自美. 电子线路设计.实验.测试[M]. 武汉:华中科技大学出版社, 2001. [11] 王立欣. 电子技术实验与课程设计[M]. 哈尔滨:哈尔滨工业大学出版社, 2003. [12] 路勇. 电子电路实验与仿真[M]. 北京:清华大学出版社, 2003.

[13] 吴建辉. CMOS模拟集成电路分析与设计[M]. 北京:电子工业出版社, 2004. [14] 陈金平. 电子系统设计[M]. 北京:电子工业出版社, 2007.

[15] 徐爱军. 单片机原理实用教程[M]. 北京:电子工业出版社, 2009. [16] 姚福安. 电子电路设计与实践[M]. 山东:山东科学出版社, 2001.

[17] 何立民. 单片机应用系统设计[M]. 北京:北京航空航天大学出版社, 1990. [18] 夏继强. 单片机实验与实践教程[M]. 北京:北京航空航天大学出版社, 2001. [19] Kang,Sung-Mo/Leblebici,Yusuf. CMOS Digital Integrated Circuits Analysis and Design[M]. McGraw-Hill College, 2002.

[20] Meehan Joanne,Muir Lindsey. SCM in Merseyside SMEs:Benefits and barriers[J]. TQM Journal, 2008.

[21] Lee Jri.High-Speed Circuit Designs for Transmittersin Broad-band Data Links[J]. IEEE Journal of Solid-State Circuits, 2006(5):566-573.

本科毕业设计说明书(论文)

共 29 页第 31 页

源码仅供参考。。

#include \

#include //包含atof(),字符串->实数 #include //包含sprintf(),实数->字符串 #include //包含strcpy(),字符串复制 #include //数学函数头文件 #define uchar unsigned char #define uint unsigned int uchar num;

/*************lcd****************/ sbit lcdrs=P3^7; //LCD控制脚 sbit lcdrw=P3^6; sbit lcden=P3^5;

bit form; //lcd显示方式切换 uchar idata state; //lcd状态字存储 /************计算器*************/

sbit reset=P3^0; //计算器复位 sbit back=P3^1; //撤销上次键入键

sbit save=P3^2; //存储键,存储有上次的结果和另外某次计算值 bit eqsign; //按等号标志 bit press; //键按标志

bit savesign; //可存储结果标志 bit sc; //复用标志

uchar idata process[30],proc; //记忆计算过程,以便错误恢复和撤销输入 uchar idata continu=0; //连续计算运算符号存储 uchar idata pai[2][2]; //π 前有数据标志 uchar idata ferror; //计算检错标志 uchar idata ywei; //屏幕移位 uchar idata count=0; //输入计数 uchar idata count_num=0; //组号计数

uchar idata result[15]; //计算结果立存,save uchar idata saveresult[15];//存储结果数组, sc+save uchar idata jieguo[15]; //结果字符串

uchar idata bdate[2][14]; //待计算字符串二维组 uchar idata on_symbol; //运算符号 uchar idata fsym[2]; //函数前符号 uchar idata ssym[2]; //存储组前符号

uchar idata bfun[2]; //计算值调用函数选择 uchar idata futojiao[2]; //幅度 to 角度变换 double idata date[2]; //计算值双精度变量组 double idata resultdate; //双精度结果值 sbit sfyong=P3^3; //计算器复用键

/******************函数声明**********************/

/***************延时******************/

本科毕业设计说明书(论文)

void delay(uchar z);

/*************lcd写命令***************/ void write_com(uchar com);

/*************lcd写数据***************/ void write_date(uchar date);

/*************lcd读状态***************/ void read_date(void);

/*************lcd写字符串*************/ void write_str(uchar *str);

/************液晶初始化***************/ void init(void );

/**********移屏*******************/ void write();

/**********复用提示开关***************/ void shift(void);

/**************键盘扫描***************/ uchar keyscan(void);

/*************计算器复位**************/ void fuwei();

/************error处理****************/ void callerror(void);

/***************撤销键入**************/ void huifu(void);

/**********函数组前符号处理***********/ uchar funqian(void);

/************运算符预处理*************/ void cullars(uchar);

/***********输出存储数据预处理********/ char memory(void);

/***********按键功能主处理************/ void process_date(uchar press_date); /***********按键功能子处理************/ void calculator(uchar press_date);

/************************************************/ void write() {

for(num=0;num<16;num++) {

write_com(0x18); delay(200); } }

/*************LCD程序****************/ /**************延时******************/

共 29 页第 32 页

本科毕业设计说明书(论文)

void delay(uchar z) {

uchar x,y;

for(x=z;x>0;x--) for(y=100;y>0;y--); }

/**************写命令*****************/ void write_com(uchar com) {

lcdrs=0; lcdrw=0; lcden=0; P1=com; delay(5); lcden=1; delay(5); lcden=0; }

/*************写数据******************/ void write_date(uchar date) {

lcdrs=1; lcdrw=0; lcden=0; P1=date; delay(5); lcden=1; delay(5); lcden=0; }

/*************读AC 地址*****************/ void read_date(void) {

lcdrs=0; lcdrw=1; delay(5); P1=0xff; lcden=1; delay(5); state=P1; delay(5);

lcden=0;delay(5); state=state&127; }

共 29 页第 33 页


基于单片机的LCD1602科学计算器设计(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:娱乐类谈话节目的环节设计

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

马上注册会员

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