




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
百度贴吧,中国南车1985编写C程序源码:/*猜图案小游戏,通过4*4矩阵键盘下注,键值按从上到下,从左到右依次为016。*/#include#include stdlib.h /后面ran()随机函数调用,必须先声明#include#include /后面要调用strlen()函数,必须声明#define uchar unsigned char#define uint unsigned intsbit key_a=P10;sbit key_b=P11;sbit key_c=P12;sbit key_d=P13;sbit key_1=P14;sbit key_2=P15;sbit key_3=P16;sbit key_4=P17;sbit rs=P25;sbit rw=P26;sbit ep=P27;unsigned char code dis_num=0123456789abcdef;unsigned char code dis2=7,4,1,.,8,5,2,0,9,6,3,=,/,*,-,+,0;/键盘按键值unsigned char a8;uchar code zf188= /自定义字符字模表1 0x04,0x0e,0x0f,0x1f,0x1e,0x0e,0x04,0x00, /方块0x04,0x0e,0x1f,0x1f,0x1f,0x04,0x0e,0x00,0x0e,0x0e,0x1f,0x1f,0x1f,0x04,0x0e,0x00,0x00,0x0a,0x1f,0x1f,0x1f,0x0e,0x04,0x00,0x04,0x04,0x0e,0x1f,0x0e,0x04,0x04,0x00,0x1b,0x1b,0x00,0x1b,0x00,0x1b,0x1b,0x00,0x04,0x04,0x1b,0x04,0x1b,0x04,0x04,0x00,0x04,0x0c,0x1c,0x1e,0x0f,0x06,0x04,0x00 ;uchar code zf288=/自定义字符字模表2 0x04,0x0e,0x1e,0x1b,0x0f,0x0e,0x04,0x00,0x09,0x1b,0x1f,0x0e,0x1f,0x1b,0x12,0x00, 0x0e,0x1f,0x1f,0x1f,0x1f,0x1f,0x0e,0x00,0x1f,0x1f,0x15,0x1f,0x15,0x1f,0x1f,0x00,0x0e,0x0a,0x04,0x15,0x15,0x0e,0x04,0x00,0x04,0x1f,0x15,0x04,0x0e,0x1b,0x0e,0x00,0x00,0x00,0x0a,0x00,0x11,0x0e,0x00,0x00,0x0e,0x11,0x1b,0x11,0x15,0x1b,0x0e,0x00 ;void delay(unsigned char ms)/延时函数 unsigned char i; while(ms-) for(i=0;i=2) /是否显示在第二行(若在第一行Y=0,不进入IF语句,若在第二行,进入IF语句 x+=0x40; /第二行起始地址加上列数为字符显示地址 x+=0x80; /设置数据指针位置 lcd_wcmd(x); lcd_wdat(z); /写入数据void dis_lcd_text(unsigned char y,unsigned char x,unsigned char table) /Y,X同上字符显示,table字符串数组 unsigned char z=0; unsigned char t; t=strlen(table)+x; / 求得字符串长度加上起始列位置 while(xt) /功能为LCD显示到字符串最后一个字符,防止字符串 /没有16个字符,从而不够位产生乱码; dis_lcd_byte(y,x,tablez); /逐位显示数组内字符 x+; z+; void lcd_init() /初始化LCD函数 delay(15); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x38); delay(5); lcd_wcmd(0x38); delay(1); lcd_wcmd(0x08); delay(1); lcd_wcmd(0x0c); delay(1); lcd_wcmd(0x06); delay(1); lcd_wcmd(0x01); delay(1);void lcd_cls() /清屏函数 lcd_wcmd(0x01);unsigned char key_scan() /键盘扫描函数,4*4键盘扫描返回结果为015 unsigned char i,key; unsigned char k=88; P1=0xf0; if(P1!=0xf0) P1=0xfe; for(i=0;i4;i+) key=P1&0xf0; switch(key) case 0xe0:k=i;break;case 0xd0:k=i+4;break;case 0xb0:k=i+8;break;case 0x70:k=i+12;break;default: ; P1=(P11)+1; if(k!=88)break; P1=0xf0; while(P1!=0xf0); return(k); else return 16;void my_word(uchar wei,uchar *zf) /自定义字符函数 uchar j; wei=wei3; for(j=0;j8;j+) lcd_wcmd(0x40|wei+j); /自定义字符地址 delay(1); /延迟,否则容易出错 lcd_wdat(*zf+); /自定义字符字模 void main(void) unsigned int j,i,HP,ran,sum8; lcd_init();/初始化LCD P1=0xf0; dis_lcd_text(0,0, Made by:); dis_lcd_text(2,0, CSR1985); while(P1=0xf0); while(P1!=0xf0); start:lcd_wcmd(0x01); HP=100; while(1) for(i=0;i8;i+) my_word(i,zf1i); /将自定义字符字模表1写入CGRAM dis_lcd_text(0,0,Ready go !); lcd_wcmd(0x0f); /光标闪烁 while(P1=0xf0); delay(10); while(P1!=0xf0); lcd_wcmd(0x0c); /关光标 lcd_cls(); delay(5);lcd_wdat(H);delay(5); /延迟一下,否则容易出错显示不出来lcd_wdat(P);delay(5);lcd_wdat(=);delay(5);lcd_wdat(dis_numHP/100);delay(5);lcd_wdat(dis_numHP%100/10);delay(5);lcd_wdat(dis_numHP%10); for(j=0;j8;j+) dis_lcd_byte(1,8+j,j); /从CGRAM输出8个自定义字符dis_lcd_text(2,0,Choose 00000000);xz:lcd_pos(2,9); /下注开始处光标设定为第二行第9个,并在此行程序做好标记XZlcd_wcmd(0x0f); for(i=0;i8;i+) while(P1=0xf0); delay(10); ai=key_scan();/用键盘下注 for(j=0;j=ai)/判断总分是否够下注 HP=HP-ai; else ai=HP; HP=0; lcd_pos(1,4); lcd_wdat(dis_numHP/100); delay(5); lcd_wdat(dis_numHP%100/10); delay(5); lcd_wdat(dis_numHP%10); delay(5); lcd_pos(2,9+i); lcd_wdat(dis_numai); /输出下注分数 delay(5); while(P1!=0xf0); lcd_wcmd(0x0c); while(P1=0xf0); while(P1!=0xf0); ran=TL1; j=rand();/随机一个数作为结果 j=j%8; aj=aj*(2*j+1); /所得分等于所押下注分数乘以对应倍数 lcd_pos(2,1); delay(5); for(i=0;i800)/判断HP如果到了800,则赢得了比赛 delay(5);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025定点采购的房地产销售合同范本
- 2025年度安保技术研发与应用合同
- 2025车库租赁合同范本汇编:车位租赁合同争议解决途径
- 2025年大型商场电梯采购、安装与运营管理服务合同范本
- 2025版高端皮毛服装定制与销售合作协议
- 2025代办知识产权维权及侵权纠纷处理合同
- 2025年度挖掘机租赁施工合同风险控制范本
- 2025版高端餐饮机构食堂管理委托合同
- 诸葛亮的谏子书课件
- 说明文的课件
- 百师联盟2025-2026学年高三上学期开学摸底联考化学试卷
- 茶壶课件教学课件
- 孟良崮战役课件
- 幼儿园物资采购应急预案(3篇)
- 卫生院医疗质量管理方案
- 2025年山东省济南中考数学试卷及标准答案
- 2025-2026学年人教版(2024)初中数学七年级上册教学计划及进度表
- 2025-2026学年冀教版(2024)小学数学三年级上册教学计划及进度表
- 医学检验职称评审答辩
- 医药药品采购平台建设方案
- 人力资源招聘流程规范及操作手册
评论
0/150
提交评论