- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机按键按下的先后顺序判断
单片机按键按下的先后顺序判断
2010-06-25 23:49
K4、K3:“进出”模拟检测键。每先按K3、再按K4,即代表“进”一人次;每先按K4、再按K3,则代表“出”一人次。每“进”一人次,就在原“进”显示基础上加1(“进”显示初始状态为“b000”);每“出”一人次,就在原“出”显示基础上加1(“出”显示初始状态为“C000”)。 悬赏分:100 - 解决时间:2010-6-25 19:14 最好把C语言程序给出来~
按照题目,编写了程序。用 PROTEUS 软件仿真截图如下。
插图链接: HYPERLINK /%D7%F6%B6%F8%C2%DB%B5%C0/album/item/597e3e10c0c70f2eb8127b08.html /%D7%F6%B6%F8%C2%DB%B5%C0/album/item/597e3e10c0c70f2eb8127b08.html
呵呵,原来编写的程序,是使用汇编语言,现按照要求改成了C语言。//================================================================#includereg52.h#define uint unsigned int#define uchar unsigned charsbit K3 = P3^2;sbit K4 = P3^3;uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,//????????????????????? 0??? 1??? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9 ????????????????????? 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xc2,0x89,0xff};//????????????????????? A??? b??? C??? d??? E??? F??? G??? H?? [ ]uchar DispD[] = {0,0,0,11,0,0,0,12};uchar DispW[] = {0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//------------------------------------void delay(uint z){??? uint x, y;??? for(x = z; x 0; x--) for(y = 110; y 0; y--);}//------------------------------------void display(void){??? uint i;??? for (i = 0; i 8; i++) {????? P2 = 0;????? P0 = table[DispD[i]];????? P2 = DispW[i];????? delay(3);??? } }//------------------------------------void main(){??? uint in_num = 0, outnum = 0;??? while(1) {????? display();//--------------------------????? if (K3 == 0) {??????? display();??????? if (K3 == 0) {????????? while(K3 == 0) display();????????? while(K4 == 1) display();????????? in_num++;????????? DispD[0] = in_num % 10;????????? DispD[1] = in_num / 10 % 10;????????? DispD[2] = in_num / 100;????????? while(K4 == 0) display();??????? }????? }//--------------------------????? if (K4 == 0) {??????? display();??????? if (K4 == 0) {????????? while(K4 == 0) display();????????? while(K3 == 1) display();????????? outnum++;????????? DispD[4] = outnum % 10;????????? DispD[
您可能关注的文档
- 北京凝华DK7732使用说明书.doc
- 北京市东城区2010届高三第二次模拟考试数学理科试题.doc
- 北京《丸》音乐创意演出工作室-太阳雨乐团S....ppt
- 北京市施工现场检查表10页.doc
- 北京市朝阳区光华路1号嘉里中心北楼30层.pdf
- 北京亮起来了第二课.ppt
- 北京市西城区2011年初三一模试卷_____语___文___2011.doc
- 北京市西城区(北区)2011-2012九年级上学期期末考试数学试卷-全新校对版.doc
- 北京护士学校胸科医院、LS红斑狼疮.ppt
- 北京智联融诚通信技术有限公司市场上400电话三大特点.doc
- 白银区大井子沟建筑用石料矿开采项目报告表.pdf
- 甘肃天鑫热力科技有限公司(省军区供热站)锅炉房建设项目报告表.pdf
- 甘肃天鑫热力科技有限公司(警备区供热站)锅炉房建设项目报告表.pdf
- 景泰县竞诚矿业有限责任公司年产5万吨石英石改扩建建设项目报告表.doc
- 黄河流域生态保护和高质量发展引大入秦延伸增效景泰生态供水工程环境影响报告书.pdf
- 靖远煤业集团刘化化工有限公司三聚氰胺尾气制硝铵改造利用项目报告书.doc
- 景泰县兴华石膏矿石膏、建筑石料用石灰岩及石英岩开采及加工项目报告表.doc
- 甘肃锐金混凝土有限公司搅拌站、机制砂建设项目报告表.pdf
- 西北矿冶研究院先进金属材料和矿用浮选药剂智能化中试基地项目环境影响报告书.pdf
- 甘肃省武威肿瘤医院兰州重离子DSA应用项目报告表.pdf
文档评论(0)