//*****************************************************/ void LCD_check_busy(void) //检测LCD状态,看它是不是还在忙呢 { do
{ LCD_EN=0; LCD_RS=0; LCD_RW=1; LCDIO=0xff; LCD_EN=1; }
while(LCD_BUSY==1); LCD_EN=0; }
//*******LCD1602写命令***************/ void LCD_send_command(uchar command) {
LCD_check_busy(); LCD_RS=LOW; LCD_RW=LOW; LCD_EN=HIGH; LCDIO=command; LCD_EN=LOW; }
- 36 -
///**LCD1602写数据*************/ void LCD_send_data(uchar dat) {
LCD_check_busy(); LCD_RS=HIGH; LCD_RW=LOW; LCD_EN=HIGH; LCDIO=dat; LCD_EN=LOW; }
///************显示单个字符*********************/ void LCD_write_char(uchar x,uchar y,uchar dat) {
unsigned char address; if (y == LINE1)
address = LINE1_HEAD + x; else
address = LINE2_HEAD + x; LCD_send_command(address); LCD_send_data(dat); }
///**************LCD1602的初始化******************/
- 37 -
void LCD_init(void) {
LCD_send_command(LCD_DISPLAY_DOUBLE_LINE);
LCD_send_command(LCD_AC_AUTO_INCREMENT|LCD_MOVE_DISENABLE);
LCD_send_command(LCD_DISPLAY_ON|LCD_CURSOR_OFF); LCD_send_command(LCD_CLEAR_SCREEN); }
//********************************************************/ ///*************LCD1602显示字符串******************/ void LCD_disp_string(uchar x,uchar y,uchar *Data) { if(y==LINE1)
{ if(x { LCD_send_command(LINE1_HEAD+x); for(;x if(*Data!='\\0') { x=0; y=LINE2; } } } - 38 - if(y==LINE2) { LCD_send_command(LINE2_HEAD+x); for(;x //*******************************************************/ #endif //***************************************************** 结 论 经过努力,本次毕业设计成功实现了数字接口温湿度变送器自动标定仪对数字接口温湿度变送器的自动标定。本设计硬件电路比较简单,但是,由于扩展了EEPROM,使得软件程序设计较为复杂。在开发这款温湿度传感器的过程中遇到了许多问题,比如:如何扩展EEPROM?单片机如何从EEPROM指定地址读写程序?数值转换等。但是,经过认真思考,这些问题最终得以解决。 通过这次毕业设计,使我对四年以来所学的专业知识有了更深层次上的认识。不仅提高了动手能力,而且是我对产品开发的过程有了更深刻的了解。 - 39 - 致 谢 四年的大学本科阶段很快就要过去了,在我的毕业论文即将完成之际,谨向所有在四年的学习过程中给予我指导和帮助的老师和同学表示深深的谢意。 特别感谢我的指导老师杨进宝老师,他严谨的治学精神和生活态度也深深地影响着我,使我受益无穷。 - 40 - 参考文献 【1】 于永、戴佳、常江、51单片机C语言常用模块与综合系统设计,电子工业出版社。 【2】 【3】 孙育才,单片微型计算机及其应用,东南大学出版社。 赵亮、侯国锐,单片机C语言编程与实践,人民邮电出版社。 【4】 【5】 【6】 STC11F04E datasheet. www.symcukf.com. EEPROM datasheet.www.fpga-arm.com. 1602字符型LCD。长沙太阳人电子有限公司。www.hificat.com. - 41 -