超市储物柜模拟系统C程序.doc_第1页
超市储物柜模拟系统C程序.doc_第2页
超市储物柜模拟系统C程序.doc_第3页
超市储物柜模拟系统C程序.doc_第4页
超市储物柜模拟系统C程序.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

/*-| 名称:超市储物柜模拟系统 | 学校:广西交通职业技术学院 | 系:信息工程系 | 专业:电子信息工程技术 | 设计者:杨旭涛 | QQ:237155875 | * 仅供研究,不得用于商业用途!* |-*/#include#define uchar unsigned char#define uint unsigned intuchar code LCD_Display_Common_i16=Welcome To Use! ;uchar code LCD_Display_Common_j16=Design By Mr.Tom;uchar code LCD_Display_Full_i16= All Full! ;uchar code LCD_Display_Full_j16= Plese Wait! ;uchar code LCD_Display_GetPassw_i16= Your Password: ; uchar code LCD_Display_Box1Password_i16= Box1 Password: ; uchar code LCD_Display_Box2Password_i16= Box2 Password: ;uchar code LCD_Display_Box3Password_i16= Box3 Password: ;uchar code LCD_Display_Box4Password_i16= Box4 Password: ;uchar LCD_Display_i16;uchar LCD_Display_j16;sbit a=P20; /定义3x4键盘端口,发送a,b,c,d,扫描x,y,zsbit b=P21; /sbit c=P22; /sbit d=P23; /sbit x=P24; /sbit y=P25; /sbit z=P26; /sbit Box1=P30; /define Box(x) Port 定义箱子继电器端口sbit Box2=P31;sbit Box3=P32; sbit Box4=P33;sbit Key_Box1=P14; /定义箱子的取物按键端口sbit Key_Box2=P15; /sbit Key_Box3=P16; /sbit Key_Box4=P17; /sbit Cus_In=P37; /进超市人数 +sbit Cus_Out=P36; /出超市人数 -sbit Bee=P34; /蜂鸣器输出端口sbit Shock=P35; /震动输入端口sbit LCD_E=P10;/define 1602 Esbit LCD_RW=P11;/define 1602 RWsbit LCD_RS=P12;/define 1602 RSuchar temp_a,temp_b,temp_c,temp_d,temp_e,temp_f; /输入密码暂存变量uchar Num,Interface,Customer; /定义各种标志位uchar Passw_Box1_a,Passw_Box1_b,Passw_Box1_c,Passw_Box1_d,Passw_Box1_e,Passw_Box1_f;/各箱子的密码移位暂存位uchar Passw_Box2_a,Passw_Box2_b,Passw_Box2_c,Passw_Box2_d,Passw_Box2_e,Passw_Box2_f;/uchar Passw_Box3_a,Passw_Box3_b,Passw_Box3_c,Passw_Box3_d,Passw_Box3_e,Passw_Box3_f;/uchar Passw_Box4_a,Passw_Box4_b,Passw_Box4_c,Passw_Box4_d,Passw_Box4_e,Passw_Box4_f;/uchar Show_P_a,Show_P_b,Show_P_c,Show_P_d,Show_P_e,Show_P_f; /*-| 延时子函数 |-*/void delay(uint t)while(t-);/*-| 定时器初始化子函数 |-*/void Timer0_Init()TMOD=0x01; /方式选择TH0=(65535-100)/256; /TL0=(65535-100)%256; /初值设定ET0=1;/开定时器T0的中断EA =1;/开总中断TR0=1;/启动T0/*-| LCD子函数 |-*/void Write_Bit_Com(uchar com) /*写命令*/LCD_E=0; /关闭使能端LCD_RW=0; /写命令LCD_RS=0; /表示选择 命令P0=com; /将命令赋给P0口delay(10); /等待命令赋完LCD_E=1; /给以上升沿开始写命令delay(10); /等待命令写完LCD_E=0; /关闭使能端void Write_Bit_Date(uchar date) /*写数据*/LCD_E=0; /关闭使能端LCD_RW=0; /写数据LCD_RS=1; /表示选择 数据P0=date; /将数据赋给P0口delay(10); /等待数据赋完LCD_E=1; /给以上升沿开始写命令delay(10); /等待数据写完LCD_E=0; /关闭使能端void Init_LCD() /*初始化液晶*/ LCD_E=0; /关闭使能 Write_Bit_Com(0x38); /设置显示模式Write_Bit_Com(0x0c); /开显示,示显示光标,光标不闪烁(不显示不闪烁为0x0d)Write_Bit_Com(0x06); /设置显示移动 自加1Write_Bit_Com(0x01); /清屏 void Display_Common() /常态显示,欢迎语,进出人数计数 uchar i,j; Write_Bit_Com(0x80+0x00); for(i=0;i16;i+) Write_Bit_Date(LCD_Display_Common_ii);delay(100);LCD_Display_j0=0x30+Customer/10;LCD_Display_j1=0x30+Customer%10;LCD_Display_j2= ;LCD_Display_j3= ;LCD_Display_j4= ;LCD_Display_j5= ;LCD_Display_j6= ;LCD_Display_j7= ;LCD_Display_j8= ;LCD_Display_j9= ;LCD_Display_j10= ;LCD_Display_j11= ;LCD_Display_j12= ;LCD_Display_j13= ;LCD_Display_j14= ;LCD_Display_j15= ;Write_Bit_Com(0x80+0x40); for(j=0;j16;j+) Write_Bit_Date(LCD_Display_jj);delay(100);void Display_Input_Box1()/box 1 password input 箱子一密码输入界面 uchar i,j; Write_Bit_Com(0x80+0x00); for(i=0;i16;i+) Write_Bit_Date(LCD_Display_Box1Password_ii);delay(100); LCD_Display_i0= ; LCD_Display_i1= ; LCD_Display_i2= ; LCD_Display_i3= ; LCD_Display_i4= ; LCD_Display_i5=0x30+temp_f; LCD_Display_i6=0x30+temp_e; LCD_Display_i7=0x30+temp_d; LCD_Display_i8=0x30+temp_c; LCD_Display_i9=0x30+temp_b; LCD_Display_i10=0x30+temp_a; LCD_Display_i11= ; LCD_Display_i12= ; LCD_Display_i13= ; LCD_Display_i14= ; LCD_Display_i15= ; Write_Bit_Com(0x80+0x40); for(j=0;j16;j+) Write_Bit_Date(LCD_Display_ij);delay(100);void Display_Input_Box2() /box 2 password input 箱子二密码输入界面 uchar i,j; Write_Bit_Com(0x80+0x00); for(i=0;i16;i+) Write_Bit_Date(LCD_Display_Box2Password_ii);delay(100); LCD_Display_i0= ; LCD_Display_i1= ; LCD_Display_i2= ; LCD_Display_i3= ; LCD_Display_i4= ; LCD_Display_i5=0x30+temp_f; LCD_Display_i6=0x30+temp_e; LCD_Display_i7=0x30+temp_d; LCD_Display_i8=0x30+temp_c; LCD_Display_i9=0x30+temp_b; LCD_Display_i10=0x30+temp_a; LCD_Display_i11= ; LCD_Display_i12= ; LCD_Display_i13= ; LCD_Display_i14= ; LCD_Display_i15= ; Write_Bit_Com(0x80+0x40); for(j=0;j16;j+) Write_Bit_Date(LCD_Display_ij);delay(100);void Display_Input_Box3()/box 3 password input uchar i,j; Write_Bit_Com(0x80+0x00); for(i=0;i16;i+) Write_Bit_Date(LCD_Display_Box3Password_ii);delay(100); LCD_Display_i0= ; LCD_Display_i1= ; LCD_Display_i2= ; LCD_Display_i3= ; LCD_Display_i4= ; LCD_Display_i5=0x30+temp_f; LCD_Display_i6=0x30+temp_e; LCD_Display_i7=0x30+temp_d; LCD_Display_i8=0x30+temp_c; LCD_Display_i9=0x30+temp_b; LCD_Display_i10=0x30+temp_a; LCD_Display_i11= ; LCD_Display_i12= ; LCD_Display_i13= ; LCD_Display_i14= ; LCD_Display_i15= ; Write_Bit_Com(0x80+0x40); for(j=0;j16;j+) Write_Bit_Date(LCD_Display_ij);delay(100);void Display_Input_Box4() /box 4 password input uchar i,j; Write_Bit_Com(0x80+0x00); for(i=0;i16;i+) Write_Bit_Date(LCD_Display_Box4Password_ii);delay(100); LCD_Display_i0= ; LCD_Display_i1= ; LCD_Display_i2= ; LCD_Display_i3= ; LCD_Display_i4= ; LCD_Display_i5=0x30+temp_f; LCD_Display_i6=0x30+temp_e; LCD_Display_i7=0x30+temp_d; LCD_Display_i8=0x30+temp_c; LCD_Display_i9=0x30+temp_b; LCD_Display_i10=0x30+temp_a; LCD_Display_i11= ; LCD_Display_i12= ; LCD_Display_i13= ; LCD_Display_i14= ; LCD_Display_i15= ; Write_Bit_Com(0x80+0x40); for(j=0;j16;j+) Write_Bit_Date(LCD_Display_ij);delay(100); void Display_GetPassw() /获取密码显示界面 uchar i,j; Write_Bit_Com(0x80+0x00); for(i=0;i16;i+) Write_Bit_Date(LCD_Display_GetPassw_ii);delay(100); LCD_Display_i0= ; LCD_Display_i1= ; LCD_Display_i2= ; LCD_Display_i3= ; LCD_Display_i4= ; LCD_Display_i5=0x30+Show_P_f; LCD_Display_i6=0x30+Show_P_e; LCD_Display_i7=0x30+Show_P_d; LCD_Display_i8=0x30+Show_P_c; LCD_Display_i9=0x30+Show_P_b; LCD_Display_i10=0x30+Show_P_a; LCD_Display_i11= ; LCD_Display_i12= ; LCD_Display_i13= ; LCD_Display_i14= ; LCD_Display_i15= ; Write_Bit_Com(0x80+0x40); for(j=0;j16;j+) Write_Bit_Date(LCD_Display_ij);delay(100);delay(60000); /密码显示时间,延时6ms*3delay(60000);delay(60000);Interface=0; /返回常态界面void Display_BoxFull() /满箱显示 uchar i,j; Write_Bit_Com(0x80+0x00); for(i=0;i16;i+) Write_Bit_Date(LCD_Display_Full_ii);delay(100);Write_Bit_Com(0x80+0x40); for(j=0;j1)Customer-; /人数出入超市判断,进入则变量Customer-if(Shock=1)Bee=1; delay(60000);else Bee=0; /*-| 主函数 |-*/void main()Init_LCD(); /Init the lcd1602Timer0_Init(); /Init the

温馨提示

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

评论

0/150

提交评论