课程设计(论文)-印张计数器设计汇.docVIP

课程设计(论文)-印张计数器设计汇.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计(论文)-印张计数器设计汇

印张计数器设计 一.设计任务要求 1能够进行6位数码显示,显示当前的印张数; 2能够进行印数的预置; 3能够进行正/反计数; 4能够模拟机械手取出次品; 5当计数结束时,可以报警; 二.硬件设计总图 三.硬件部分分析说明 1)、显示部分 实验箱提供了6位8段码LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。 在实验箱中8位段码输出地址为0X004H,位码输出地址为0X002H。此处X 是由KEY/LED CS决定,参见地址译码。做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。将KEY/LED CS接到CS0上,则段码地址为08004H,位码地址为08002H。 2)、键盘部分 1 预设初始计数值:可通过数字键键入所需计量的印张数,按下“确定(A)”键后开始。 2 正向\反向计数:可通过键盘上的正向(B)\反向(C)键切换正向计数或者反向计数。当选择正向计数时,显示屏显示从0开始,每印刷一张,数值加1,直到遇到暂停或者到达预设值时停止计数;当选择反向计数时,显示屏从预设值开始,每印刷一张,数值减1,直到遇到暂停或者到达0时停止计数。 3次品报告:当按下键盘上次品键(D)时,代表出现次品,此时直流电机停止运转,步进电机缓慢转动一周,代表机械手取出次品,之后直流电机恢复运转。 4 报警提示:当计数为0或者到预设值时,停止计数,发出报警,此时L2亮。 5 复位键(F) 四.源程序 #include reg51.h #define LEDLen 6//用6个八段管 xdata unsigned char OUTBIT _at_ 0x8002; // 位码输出+列扫描地址 xdata unsigned char OUTSEG _at_ 0x8004; // 段码输出 xdata unsigned char IN _at_ 0x8001; // 行扫描地址入口 xdata unsigned char CS0832 _at_ 0x9000;//产生电压启动直流电机 xdata unsigned char control _at_ 0xa003;//control=0832---8255内部指令 xdata unsigned char ctl _at_ 0xa000; //产生电流启动步进电动机 code unsigned char LEDMAP[] = {//数码显示管段码 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; code unsigned char KeyTable[] = { //4*6键盘定义码 0x16, 0x15, 0x14, 0xff, 0x13, 0x12, 0x11, 0x10, 0x0d, 0x0c, 0x0b, 0x0a, 0x0e, 0x03, 0x06, 0x09, 0x0f, 0x02, 0x05, 0x08, 0x00, 0x01, 0x04, 0x07};//code,单片机中的ROM unsigned char LEDBuf[LEDLen]; // 显示缓冲 unsigned char ch; //ch=getkey int num,num1,num2,i;//num(用户输入数)num1(正计)num2(反计) sbit LED1 = P1^0;//正计指示灯 sbit LED2 = P1^1;//反计指示灯 sbit LED3 = P1^2;//结束指示灯 sbit Speaker = P1^3; //喇叭接口 //////////////////////////////////////////////////////////////////////////////延时程序 void Delay(unsigned char CNT) { unsigned char i; while (CNT-- !=0) for (i=100; i !=0; i--); } void Delay3() //喇叭延时 { unsigned char l; for (l=0; l100; l++); } void delay2()//////////////////// { unsigned char i

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档