基于单片机的银行排队较好系统 c语言编程.docx

上传人:scccc 文档编号:14398200 上传时间:2022-02-05 格式:DOCX 页数:7 大小:14.99KB
返回 下载 相关 举报
基于单片机的银行排队较好系统 c语言编程.docx_第1页
第1页 / 共7页
基于单片机的银行排队较好系统 c语言编程.docx_第2页
第2页 / 共7页
基于单片机的银行排队较好系统 c语言编程.docx_第3页
第3页 / 共7页
基于单片机的银行排队较好系统 c语言编程.docx_第4页
第4页 / 共7页
基于单片机的银行排队较好系统 c语言编程.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于单片机的银行排队较好系统 c语言编程.docx》由会员分享,可在线阅读,更多相关《基于单片机的银行排队较好系统 c语言编程.docx(7页珍藏版)》请在三一文库上搜索。

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=0123456789;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);/写数据函

3、数 液晶1void 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);

4、/液晶2显示void 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)

5、; void keyscan()/按键检测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);/延时

6、消抖while(!k2);/按键松手检测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=

7、1;delay(1);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); /液晶显示换行

8、for(i=0;i16;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);wri

9、te_add1(6,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(0x06);write_order2(0x80);write_order2(0x01);for(i=0;i11;i+)write_dat2(table2_1i);write_order2(0x80+0x40); /液晶显示换行for(i=0;i60)TR0=0;t0=0;buzzer=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1