ImageVerifierCode 换一换
格式:DOC , 页数:10 ,大小:43KB ,
资源ID:2486378      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2486378.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机模拟智能物料搬运控制显示系统及答案.doc)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机模拟智能物料搬运控制显示系统及答案.doc

1、单片机模拟智能物料搬运控制显示系统总体要求:请你在三小时(180分钟)内完成1. 请你仔细阅读并理解模拟智能物料搬运显示与控制系统的控制要求和有关说明根据你的理解,选择你所需要的控制模块和元器件。2. 在赛场提供的图纸上,画出模拟智能物料搬运显示与控制系统的模块接线图,并在纸的右下角填写你的竞赛工位号。3. 请你编写模拟智能物料搬运控制系统的控制程序,存放在F盘中以工位号命名的文件夹内。4. 请调试你编写的程序,检测和调整有关元器件设置,完成模拟智能物料搬运显示与控制系统的整体调试,使该智能物料搬运控制系统能实现规定的控制要求,并将相关程序“烧入”单片机中。操作面板一、指示灯状态指示灯由八个发

2、光二极管组成,灯的排序是从实验板的左端到右端,依次为灯1到灯8。1、灯1,系统运行指示灯,通电后,灯1一直以1Hz的频率闪烁。2、灯2,为设置灯,在设置状态下,灯2一直亮着,退出设置后,灯2灭。3、灯3,为在设置状态下加球灯,按一下加球键灯亮一下4、灯4,为在设置状态下减球灯,按一下减球键灯亮一下5、灯5灯8,为时钟灯,当上电时灯5到灯8全灭,同时数码管显示“00.00”,表示“0分0秒”。当时钟走一秒时,显示“00.01”时仅时钟灯5亮;显示“00.02” 时仅时钟灯6亮;显示“00.03”时仅时钟灯7亮;显示“00.04” 时仅时钟灯8亮;显示“00.05”时又返回仅时钟灯5亮,按照这个规

3、律流水下去,且当小数点后的数等于60的时候,前面的数字加1,后面的数字归零,及显示“00.59”后的下一秒显示“01.00”,并且时钟灯全灭,如此循环下去。6、当进入,机械手模拟抓球状态下,也就是系统运行时,4个时钟灯全亮。7、当进入,系统暂停状态下,4个时钟灯以2hz频率亮灭闪烁。8、当进入,系统停止状态下,4个时钟灯全灭。二、按键键盘接口由6个独立按键组成,按键的排序是从实验板的左端到右端,依次为按键1到按键61、按键1,设置键2、按键2,“+”球键 3、按键3,“-”球键/模拟机械手抓球键4、按键4,系统暂停键5、按键5,系统停止键6、按键6,系统运行键三、显示由四位数码管组成,用来实现

4、左右不同功能的显示。1、在单片机上电后,四位数码管显示时钟,前两位显示分钟,后两位显示秒。目的是记录系统开启后到运行这段期间的时间。2、当系统运行后不再显示时钟,前两位显示之前预设的抓球数,也就是说预设加球只能设置到99个。在抓球的过程(也就是按键3第二功能,每按一下为抓一个球)中,后两位显示当前剩余的抓球数直至“00”。四、蜂鸣器指示1. 系统上电蜂鸣器长鸣两声。2蜂鸣器一声长鸣(0.3秒)指示抓球成功。(三)系统控制要求1、初始设置(1)系统上电后,数码管显示为“00.00” (2)灯5到灯8全灭(3)灯1以1Hz的频率闪烁 (4)灯2,灯3熄灭 (5)预置抓球总数:按下“设置”键,先按“

5、+”键使预置抓球总数加1,之后每按一次“+”键”或“-”键,预置抓球总数便可加1或减1,要求预置总数在左边两位数码管显示,同时右边的两位数码管与左边的两位数码管显示一样的数据。(6)要求预置抓球总数为10(及系统上电默认的抓球总数)。2、系统运行按“运行”键启动系统运行、数码管左边二位显示抓球总数,右边两位显示剩余的抓球数。同时“+”键“-”键和“设置”键按失效。运行过程为:(1) 按下按键3表示机械手抓到球并放球成功,蜂鸣器长鸣一声。此时数码管右边二位显示当前剩余球数,即:每放一个球,剩余抓球数便减1。(2) 重复上述步骤,直到抓完10个球,剩余抓球数显示为“00”,系统自动停止运行。3、系

6、统工作过程中,按“停止”键可立即结束系统运行,四位数码管显示熄灭。4、系统运行中间,任意时刻按“暂停”键都可以暂停系统工作,数码管显示数据不变,并且4个时钟灯以2Hz频率亮灭闪烁;当重按“运行”键时,系统能从暂停前状态继续运行,并且4个时钟灯全亮表示系统在运行状态。注意:系统上电按一下设置键,才能进入设置状态,才可以加减预设球数,同时数码管前两位显示“10”,后两位显示“10”,此时时钟暂停不显示;按一下按键2,加一,显示变为“11.11”;如果按键3,这两边的数字减一,显示变为“09.09”。在按一下设置键,退出设置状态,加减键失灵,并且显示时钟,时钟继续走。参考程序(C语言)#includ

7、e#define SEG P2sbit SETKEY=P30;sbit PARKEY=P31;sbit ADDKEY=P32;sbit SUBKEY=P33; sbit STOPKEY=P35;sbit RUNKEY=P36;sbit SPK=P37;sbit LED1=P00;sbit LED2=P01;sbit LED3=P02;sbit LED4=P03; sbit LED5=P04;sbit LED6=P05;sbit LED7=P06;sbit LED8=P07;unsigned char TAB10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0

8、x80,0x90;unsigned char disp4=0xc0,0xf9,0xc0,0xf9;unsigned char disp14=0xc0,0xf9,0xc0,0xf9 ;unsigned char num=10,stat=0;void delay(unsigned int x)unsigned int i,j;for (i=0;ix;i+) for(j=0;j120;j+);void spker (unsigned char x1)unsigned char i;for(i=0;ix1;i+) SPK=1;delay(500); SPK=0;delay(500);void keys

9、can(void)unsigned char stat=0;if(SETKEY=0) delay(20); stat=1; LED2=0; while(SETKEY=0);if(RUNKEY=0) delay(20); stat=2; while(RUNKEY=0) ;if(STOPKEY=0) delay(20); stat=3; LED5=LED6=LED7=LED8=1; while(STOPKEY=0);if(PARKEY=0) delay(20); stat=4; LED5=LED6=LED7=LED8=1; while(PARKEY=0);void TMER0_INT(void)

10、interrupt 1static unsigned char flag=0,seconds=0,min=0,h=0,k=0,stat=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;if(flag+=20) flag=0; LED1=LED1; if(stat=0) h+; switch(h-1) case 0: LED5=0;LED8=1;break; case 1:LED6=0;LED5=1;break; case 2:LED7=0;LED6=1;break; case 3:LED8=0;LED7=1;break; case 4:LED5=0;

11、LED8=1;h=1;break; if(seconds+=60) seconds=0; min+; disp0=TABseconds%10; disp1=TABseconds/10; disp2=TABseconds%10+0x80; disp3=TABseconds/10; if(stat=3) if(k+=2) k=0; LED5=LED6=LED7=LED8=LED5; void INT_INT0(void) interrupt 0 if(stat=1) LED2=0; if(ADDKEY=0) delay(20); while(ADDKEY=0); LED3=0; delay(500

12、); num=(num0)?num-1:99; LED4=1; if(stat=2) LED8=LED5=LED6=LED7=0; if(SUBKEY=0) delay(20); spker(1); num=(num0)?num-1:0; disp13=TABnum/10;disp12=TABnum%10+0x80;disp11=TABnum/10;disp10=TABnum&10; void main(void) unsigned char i;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;IE=0x87;TR0=1;LED1=0;while(1) if(stat=0) for(i=0;i4;i+) SEG=disp3-i; P1=i; delay(4); if(stat=1|stat=2) for(i=0;i4;i+) SEG=disp13-i; P1=i; delay(4); keyscan(); 10

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1