基于单片机的银行排队较好系统 c语言编程_第1页
基于单片机的银行排队较好系统 c语言编程_第2页
基于单片机的银行排队较好系统 c语言编程_第3页
基于单片机的银行排队较好系统 c语言编程_第4页
基于单片机的银行排队较好系统 c语言编程_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、#include#define uchar unsigned char /宏定义#define uint unsigned int /宏定义sbit k0=P23; /取号用的按键sbit k1=P24; /呼叫客户的按键1sbit k2=P25; /呼叫客户的按键2sbit k3=P26; /呼叫客户的按键3sbit k4=P27; /呼叫客户的按键4sbit buzzer=P22; /蜂鸣器接口sbit rs1=P20;sbit en1=P21;sbit rs2=P30;sbit en2=P31;uint num;/顾客所领取的号码uint num1;/服务人员所呼叫的号码uchar wi

2、ndown;/窗口号uchar i,t0;uchar code table2=;uchar code table1_1= NO.0000 come to;uchar code table1_2=0.window,please!;/用于液晶1初始化显示uchar code table2_1= HELLOW;uchar code table2_2=your number:;/用于液晶2初始化显示void keyscan();/按键检测void write_order1(uchar order);/写指令函数 液晶1void write_dat1(uchar dat);/写数据函数 液晶1void

3、init_lcd1();/液晶1初始化void write_add1(uchar address,uchar dat);/指定地址写入数据void display_lcd1(uint num,uchar );/液晶1显示void write_order2(uchar order);/写指令函数 液晶2void write_dat2(uchar dat);/写数据函数 液晶2void init_lcd2();/液晶2初始化void write_add2(uchar address,uchar dat);/指定地址写入数据void display_lcd2(uint num);/液晶2显示void

4、 delay(uchar z) /延时函数uchar i,j;for(i=z;i0;i-)for(j=110;j0;j-);void init()/初始化t0=0;windown=0;num=0;buzzer=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;/定时器0init_lcd2();init_lcd1();void main() init(); while(1) keyscan();display_lcd1(num1,windown);display_lcd2(num); void key

5、scan()/按键检测if(k0=0)/叫号按键检测delay(10);/延时消抖if(k0=0)num+;/号码数加1while(!k0);delay(10);/延时消抖while(!k0);/按键松手检测if(k1=0)delay(10);if(k1=0)if(num1num)windown=1;num1+;TR0=1;while(!k1);delay(10);/延时消抖while(!k1);/按键松手检测if(k2=0)delay(10);if(k2=0)if(num1num)windown=2;num1+;TR0=1;while(!k2);delay(10);/延时消抖while(!k

6、2);/按键松手检测if(k3=0)delay(10);if(k3=0)if(num1num)windown=3;num1+;TR0=1;while(!k3);delay(10);/延时消抖while(!k3);/按键松手检测if(k4=0)delay(10);if(k4=0)if(num1num)windown=4;num1+;TR0=1;while(!k4);delay(10);/延时消抖while(!k4);/按键松手检测void write_order1(uchar order)/写指令函数 液晶1rs1=0;en1=0;P0=order;delay(1);en1=1;delay(1)

7、;en1=0;void write_dat1(uchar dat)/写数据函数 液晶1rs1=1;en1=0;P0=dat;delay(1);en1=1;delay(1);en1=0;void init_lcd1()/液晶1初始化write_order1(0x38);write_order1(0x0c);write_order1(0x06);write_order1(0x80);write_order1(0x01);/液晶必备的一些初始化for(i=0;i16;i+)write_dat1(table1_1i);write_order1(0x80+0x40); /液晶显示换行for(i=0;i1

8、6;i+)write_dat1(table1_2i);void write_add1(uchar address,uchar dat)/指定地址写入数据write_order1(0x80+address);write_dat1(dat);void display_lcd1(uint num1,uchar windown)/液晶1显示uchar a,b,c,d;/用于液晶a=num1/1000;b=num1%1000/100;c=num1%1000%100/10;d=num1%10;write_add1(4,table2a);write_add1(5,table2b);write_add1(6,

9、table2c);write_add1(7,table2d);write_add1(0x40,table2windown);void write_order2(uchar order)/写指令函数 液晶2rs2=0;en2=0;P1=order;delay(1);en2=1;delay(1);en2=0;void write_dat2(uchar dat)/写数据函数 液晶2rs2=1;en2=0;P1=dat;delay(1);en2=1;delay(1);en2=0;void init_lcd2()/液晶2初始化write_order2(0x38);write_order2(0x0c);write_order2(0x0

温馨提示

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

最新文档

评论

0/150

提交评论