无线餐厅点菜机 - 图文(5)

2019-05-24 17:12

send_data1(*chn-0xA0);chn++; send_data1(*chn-0xA0);chn++; } }

/******************显示单个字符8x8****************/ void disp_char(uint addr_x,uint addr_y,uchar code) { send_data1(0xF1); send_data1(addr_x); send_data1(addr_y); send_data1(code); }

/*********************************************** ***************显示8x8ASCII码子程序***************/ void disp_ascii(uint addr_x, uint addr_y, uchar *eng) { uint i;

uint lenght;

lenght=strlen(eng); for(i=0;i

/***********************************************

***************显示8x16ASCII码子程序***************/ void disp_ASCII(uint addr_x, uint addr_y, uchar *eng) { uint i;

uint lenght;

lenght=strlen(eng); for(i=0;i

/*********************************************** *函数名称:disp_img() * *功能描述:使一个汉字字符串在指定位置显示出来 * *参数说明:addr_x-----要显示的首个字符所在的行 * * addr_y-----要显示的首个字符所在的列 * * wide-------显示图形的宽度(像素) *

* hight------显示图形的宽度(像素) * * img--------要显示的位图点阵的数组名 * *补 充:坐标原点为液晶右上角,行列均以0开始 * * : 行以8个像素计算,列以1个像素计算 * ***********************************************/

void disp_img(uchar addr_x,uchar addr_y,uchar wide,uchar hight, uchar *img) { uchar i,j; for(j=0;j

/*********************************************** *函数名称:disp_record() * *功能描述:在指定位置以一定格式显示一条记录 * *参数说明: * * addr_y-----要显示的首个字符所在的行 * * num-------记录的ID号 * * name------记录名称 * * price--------价格 * ***********************************************/

void disp_record(uchar addr_y,uchar *num,uchar *name,uchar *price) {

disp_ASCII(4,addr_y,num); disp_chn(5,addr_y,name);

disp_char(22,6+addr_y*16,127); disp_ASCII(23,addr_y,price); }

List.c 程序清单

uchar menu0_0[]={\编号\

uchar menu0_1[]={\菜 名%uchar menu0_2[]={\单 价%uchar error[]={\

uchar cm[]={\您所点的菜如下:\

uchar sel[]={/*--选中时显示的标志\V\ 宽度x高度=24x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x38,0x00, 0x00,0x70,0x1C,0x00,0xE0,0x0E,0x01,0xC0,0x07,0x03,0x80,0x03,0x87,0x00,0x01,0xCE, 0x00,0x00,0xFC,0x00,0x00,0x78,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };

struct menu record[60]={

{\鸡皮鲟龙\ {\蟹黄鲜菇\ {\玉簪出鸡\ {\夜合虾仁\ {\酥姜皮蛋\ {\京都肾球\ {\酥炸鲫鱼\ {\凤眼腰\ {\一品官燕\ {\凤尾大裙翅\ {\象拔虞琴\ {\金钱豹狸\ {\虎扣龙藏\ {\仙鹤烩熊掌\ {\银针炒翅\ {\鼎湖上素\ {\月中丹桂\ {\鹿羧水鸭\ {\清汤雪耳\ {\清蒸海鲜\ {\广肚乳鸽\ {\乌龙肘子\ {\灯烧羊腿\ {\母子鲜虾饺\ {\鸡肉拉皮卷\ {\云腿馅儿府\ {\蟹肉海棠果\ {\蒸熊掌\ {\烧花鸭\ {\酱鸡\

{\什锦苏盘\ {\卤子鹅\ {\炝虾仁儿\ {\焖白鳝\ {\豆鼓鲇鱼\ {\烀皮甲鱼\ {\锅烧鲤鱼\ {\软炸里脊\ {\炒白虾\ {\炝青蛤\ {\芙蓉燕菜\ {\炒肝尖儿\ {\油爆肚仁儿\ {\炒金丝\ {\烩银丝\ {\糖熘荸荠\

{\蜜丝山药\ {\拔丝鲜桃\ {\烩鸭丝\ {\清蒸鸡\ {\黄焖鸡\

{\清蒸玉兰片\ {\炒虾仁儿\ {\锅烧海参\ {\锅烧白菜\ {\清蒸翅子\ {\炸飞禽\

{\烩鸡肠肚儿\ {\盐水肘花儿\ }; uchar img1[]={/*-- “图片:欢迎光临” 宽度x高度=208x96 已省略--*/}; uart.c 程序清单 //定义串口操作变量

char nRX0_Flag; // 串口 0 的接收标志 char UART0_RX_BUF[16]; // 串口 0 的接收缓冲区 char nRX0_Len_temp; // 串口 0 接收长度计数 char nRX0_Len; // 串口 0 接收字符串长度

char UART0_TX_BUF[16]; // 串口 0 的发送缓冲区 int nTX0_Len_temp; // 串口 0 发送长度计数 int nTX0_Len; // 串口 0 发送字符串长度 char nTX0_Flag; // 串口 0 的发送标志 void Init_UART0(void) {

U1CTL = CHAR; //00010000控制寄存器 U1TCTL = 0X00; //发送控制寄存器 U1TCTL = SSEL1; //波特率发生器选择SMCLK UBR0_1 = 0X43; //波特率为9600 UBR1_1 = 0X03;

UMCTL_1 = 0X03; //调整寄存器

ME2 |= UTXE1 + URXE1; //使能UART0的TXD和RXD IE2 |= URXIE1; //使能UART0的RX中断 IE2 |= UTXIE1; //使能UART0的TX中断 P3SEL |= BIT6; //设置P3.4为UART1的TXD P3SEL |= BIT7; //设置P3.5为UART1的RXD P3DIR |= BIT6; //P3.4为输出管脚 return; }

void Init_CLK(void) {

unsigned int i;

BCSCTL1 = 0X04; //将寄存器的内容清零

//XT2震荡器开启 //LFTX1工作在低频模式 //ACLK的分频因子为1 do { IFG1 &= ~OFIFG; // 清除OSCFault标志 for (i = 0x20; i > 0; i--);

}while(IFG1 & OFIFG == OFIFG); // 如果OSCFault =1 BCSCTL2 = 0X00; //将寄存器的内容清零

BCSCTL2 += SELM1; //MCLK的时钟源为TX2CLK,分频因子为1 BCSCTL2 += SELS; //SMCLK的时钟源为TX2CLK,分频因子为1 }

// 处理来自串口 1 的接收中断 #if __VER__ < 200

interrupt [UART1RX_VECTOR] void UART1_RX_ISR(void) #else

#pragma vector=UART1RX_VECTOR __interrupt void UART1_RX_ISR(void) #endif {

UART0_RX_BUF[nRX0_Len_temp] = RXBUF1; //接收来自的数据 nRX0_Len_temp += 1;

if(UART0_RX_BUF[nRX0_Len_temp - 1] == '!') {

nRX0_Len = nRX0_Len_temp; nRX0_Flag = 1;

nRX0_Len_temp = 0; } }

// 处理来自串口 1 的发送中断 #if __VER__ < 200

interrupt [UART1TX_VECTOR] void UART1_TX_ISR(void) #else

#pragma vector=UART1TX_VECTOR __interrupt void UART1_TX_ISR(void) #endif {

if(nTX0_Len != 0) {

TXBUF1 = UART0_TX_BUF[nTX0_Len_temp]; nTX0_Len_temp += 1; if(nTX0_Len_temp >= nTX0_Len) {

nTX0_Len_temp = 0; nTX0_Len = 0; } } }

void uart_sendstring(char UART_sendstring[],char send_len) {

char i;


无线餐厅点菜机 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:模拟量输入输出模块

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: