基于MSP430F149电子秤设计论文附电路图_第1页
基于MSP430F149电子秤设计论文附电路图_第2页
基于MSP430F149电子秤设计论文附电路图_第3页
基于MSP430F149电子秤设计论文附电路图_第4页
基于MSP430F149电子秤设计论文附电路图_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、附录1 电路原理图附录2 程序/*程序功能:在12864液晶上显示重量-测试说明:观察液晶显示*/#include typedef unsigned char uchar;typedef unsigned int uint;extern const unsigned char shuzi_table;float e;/*全局变量*/uchar key_pressed; /按键是否被按下:1-是,0-否uchar key_val; /存放键值uchar key_flag; /按键是否已放开:1-是,0-否/*设置键盘逻辑键值与程序计算键值的映射*/uchar key_map = 0,1,2,3,

2、4,5,6,7,8,9,10,11,12,13,14,15;#define lcd_datain p4dir=0x00 /数据口方向设置为输入#define lcd_dataout p4dir=0xff /数据口方向设置为输出#define lcd2mcu_data p4in#define mcu2lcd_data p4out#define lcd_cmdout p3dir|=0x07 /p3口的低三位设置为输出#define lcd_rs_h p3out|=bit0 /p3.0#define lcd_rs_l p3out&=bit0 /p3.0#define lcd_rw_h p3out|=

3、bit1 /p3.1#define lcd_rw_l p3out&=bit1 /p3.1#define lcd_en_h p3out|=bit2 /p3.2#define lcd_en_l p3out&=bit2 /p3.2/*写入内容待显示内容*/const uchar hang1 = 小小苏电子称系统;const uchar hang2 = 净重: g ;const uchar hang3 = 总价: 元;const uchar hang4 = 单价 /kg;const uchar hang5 = 萝卜;const uchar hang6 = 豆角;const uchar hang7 =

4、土豆;const uchar hang8 = 白菜;const uchar hang9 = 苹果;const uchar hang10 = 香蕉;const uchar hang11 = 橘子;const uchar hang12 = 桃子;const uchar hang13 = 猪肉;const uchar hang14 = 羊肉;const uchar hang15 = 牛肉;const uchar hang16 = 鸡肉;const uchar hang17 = 山药;const uchar hang18 = 生姜;const uchar hang19 = 木耳;/*函数名称:init

5、_keypad功 能:初始化扫描键盘的io端口参 数:无返回值 :无*/void init_keypad(void) p1dir = 0xf0; /p1.0p1.3设置为输入状态, p1.4p1.7设置为输出状态 p1out |= 0xf0; / p1.4p1.7输出低电平 key_flag = 0; key_pressed = 0; key_val = 5;/*函数名称:check_key功 能:扫描键盘的io端口,获得键值参 数:无返回值 :无*/void check_key(void) uchar row ,col,tmp1,tmp2; tmp1 = 0x80; for(row = 0;

6、row =1; if (p1in & 0x0f) 0x0f) /是否p1in的p1.0p1.3中有一位为0 tmp2 = 0x01; / tmp2用于检测出那一位为0 for(col = 0;col 4;col+) / 列检测 if(p1in & tmp2) = 0x00) / 是否是该列,等于0为是 key_val = key_maprow * 4 + col; / 获取键值 return; / 退出循环 tmp2 0;tmp-);/*函数名称:key_event功 能:检测按键,并获取键值参 数:无返回值 :无*/void key_event(void) uchar tmp; p1out

7、&= 0x00; / 设置p1高四位全为0,等待按键输入 tmp = p1in; / 获取 p1in if (key_pressed = 0x00)&(tmp & 0x0f) 0;i-) _nop(); /*函数名称:delay_nms功 能:延时n个1ms的时间参 数:n-延时长度返回值 :无*/void delay_nms(uint n) uint i; for(i = n;i 0;i-) delay_1ms();/*函数名称:write_cmd功 能:向液晶中写控制命令参 数:cmd-控制命令返回值 :无*/void write_cmd(uchar cmd) uchar lcdtemp

8、= 0; lcd_rs_l; lcd_rw_h; lcd_datain; do /判忙 lcd_en_h; _nop(); lcdtemp = lcd2mcu_data; lcd_en_l; while(lcdtemp & 0x80); lcd_dataout; lcd_rw_l; mcu2lcd_data = cmd; lcd_en_h; _nop(); lcd_en_l;/*函数名称:write_data功 能:向液晶中写显示数据参 数:dat-显示数据返回值 :无*/void write_data(uchar dat) uchar lcdtemp = 0; lcd_rs_l; lcd_r

9、w_h; lcd_datain; do /判忙 lcd_en_h; _nop(); lcdtemp = lcd2mcu_data; lcd_en_l; while(lcdtemp & 0x80); lcd_dataout; lcd_rs_h; lcd_rw_l; mcu2lcd_data = dat; lcd_en_h; _nop(); lcd_en_l; /*函数名称:ini_lcd功 能:初始化液晶模块参 数:无返回值 :无*/void ini_lcd(void) lcd_cmdout; /液晶控制端口设置为输出 delay_nms(500); write_cmd(0x30); /基本指令

10、集 delay_1ms(); write_cmd(0x02); / 地址归位 delay_1ms();write_cmd(0x0c); /整体显示打开,游标关闭 delay_1ms();write_cmd(0x01); /清除显示 delay_1ms();write_cmd(0x06); /游标右移 delay_1ms();write_cmd(0x80); /设定显示的起始地址/*函数名称:disp_hz功 能:控制液晶显示汉字参 数:addr-显示位置的首地址 pt-指向显示数据的指针 num-显示字符个数返回值 :无*/void disp_hz(uchar addr,const uchar

11、 * pt,uchar num) uchar i; write_cmd(addr); for(i = 0;i num;i+) write_data(*(pt+); /*函数名称:disp_wei功 能:控制液晶显示汉字参 数:addr-显示位置的首地址 pt-指向显示数据的指针 num-显示字符个数返回值 :无*/void disp_wei(uchar addr,int c,char num) uchar i; write_cmd(addr); for(i = 0;i 400) a=g/1000; b=g%1000/100; c=g%1000%100/10; d=g%1000%100%10; else a=b=c=d=0;y=0; write_cmd(0x93);write_data(a+0x30);write_data(b+0x30); write_data(c+0x30);write_data(d+0x30); delay_nms(200); write_cmd(0x8b);write_data(y/100000+0x30); write_data(y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论