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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(无线抢答器.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

无线抢答器.docx

1、无线抢答器 无线抢答器 1. 系统功能要求(1)可任意设定回答时间、抢答时间(0-999秒),时间可正计、倒计切换;(2)可显示组号,显示时间;(3)抢中或违规可自动语音播报出组号;(4)内置喇叭,声音可调节;(5)抢答时限规定:01999秒可调,答题时限规定:01999秒可调;(6)建议使用PT2262/PT2272制作。2. 系统整体结构2.1主控台框图 图2.1主控台框图2.1.1数码管显示 数码管显示采用的是74HC573锁存、ULN2803驱动显示模块,通过锁存器控制位选、段选均使用P0口,使系统简单化。2.1.2语音模块 语音模块采用较为容易控制的SYN6288模块,采用串行通信方

2、式。 2.1.3无线收发模块 无线接收模块采用315MHzDF无线收发模块配套PT2272解码 部分,形成控制命令,对显示、语音模块加以控制。 无线发送模块采用的是315MHzDF无线收发配套PT2262编码,此部分不与单片机相连。 2.1.4键盘控制键盘、拨码开关部分通过对I/O口控制,实现主控命令。2.2抢答端框图 图2.2抢答端框图 2.2.1 数码管显示 数码管显示部分采用的是74HC595实现I/O口模拟串口,ULN2803驱动显示模块,74595实现了I/O口的大节约化,仅用三个口驱动段选。 2.2.2无线收发模块无线发送模块采用的是315MHZ无线收发配套PT2262编码部分,此

3、部分不与单片机相连。无线接收模块采用315MHZ无线收发模块配套PT2272解码部分,形成控制命令。3.系统硬件电路设计 3.1系统总电路图3.1.1 主控端原理图 图3.1.2 抢答端原理图3.2无线收发模块图3.2.1无线发射模块原理图 图3.2.2无线发射模块原理图 DF无线模块的工作频率是315MHZ,采用省标谐振器SAW进行稳频,受环境温度的影响非常小,声表谐振器的频率稳定度仅次于晶体。DF无线接收模块实际上是一个超再生接收电路,这是一个非常成熟的电路。 3.3 PT2262/PT2272解码/编码芯片图3.3.1 PT2262原理图PT2262发出的编码信号是由:地址码、数据码、同

4、步码组成一个完整的码字,解码芯片接收到解码信号时,其地址码经过两次比较核对后,VT标志位才会输出高电平,相应的数据码也会变成高电平,当发射机没有按键按下的时候,PT2262不接通电源,PT2262不工作,当有按键摁下的时候,其17管脚输出经调制的串行数据信号。PT2272采用的是PT2272-M4,表示数据输出为四位的暂存性红外遥控接收芯片,采用此型号的芯片主要是为了配套语音模块的只刷新一遍,否则采用L4型号语音模块将不断刷新播报,采用四位数据输出因为四位数据输出的编码足够各种功能的组合。 3.4 74HC573、74HC595图3.4 74HC573原理图74HC573是器件的输入是和标准C

5、MOS兼容的,具有高噪声抵抗特性的8路锁存器,恰好够数码管的8路输出。74HC595是硅结构的CMOS器件,兼容低电压TTL电路,由串行输入8位并行输出的移位寄存器和一个存储器构成,因为移位寄存器和存储器是不同的时钟。因此当输出8位数据时,通过控制两个时钟,当连接数码管时中间的移位状态不会显示,只会显示移位后的状态。这也是74595相较于74164的优点。3.5 驱动芯片ULN2803 图3.5 ULN2803原理图ULN2803 属于高电压、大电流的达林顿晶体管阵列。他的驱动负载电流是500mA,驱动电压为50V。适合驱动大数码管。4.系统软件设计4.1系统软件开发环境采用KEIL开发环境,

6、对STC89C51进行控制,通过单片机开发板将程序下载到单片机中。具体步骤如下: 1、启动KEILC51。2、新建一个工程。Project菜单New Project,选择好要保存好的文件后,键入qiangda保存,接着弹出CPU的类型,选择STC89C51。3、在工程中加入文件,新建一个文件,文件菜单FileNew,我们再选择文件菜单FileSave as,弹出对话框后,我们文件名框中键入qiangda.c,这样C文件就建立好了。再把文件加入到工程中去。点击Target1前面的+号键,右键单击Source Group 1选择Add File to Group Source Group 1,选择

7、添加Add。4、Project设置:在Projectoptions for Target(target 1)output将create HEX选中,这样编译后如果程序没有问题就可以生成单片机可以识别的HEX文件。5、将程序下载到单片机中,打开STC-ISP ,选择单片机的型号,打开程序文件,选择正确的com口,下载程序,给开发板上电,当显示下载成功后,就可以实现实现相应的功能。 图4.1 52系统开发板 4.2系统主要功能的实现流程 图4.2系统流程4.3 系统主要功能实现源代码 #include#include #define uchar unsigned char#define uint

8、unsigned intsbit zhengdao=P32;/正倒计sbit qidong=P33;/启动 sbit pan=P34;/抢答时间还是回答时间sbit baiadd=P35;/百位的按键sbit shiadd=P36;/十位的按键sbit geadd=P37;/个位的按键sbit zanting=P15;/暂停sbit pan2=P17;/ 清屏#define KEY P1 /定义用来检测按键的端口sbit K0 = P11;sbit K1 = P12;sbit K2 = P13;sbit K3 = P14;/程序代码为四个抢答端sbit DUAN=P26;/定义锁存使能端口 段

9、锁存sbit WEI=P27;/ 位锁存sbit TTS_BUSY = P10; /检测SYN6288模块工作状态#define HEAD_LEN 5 /数据包头的长度#define LEN_OFFSET 2 /长度字节的偏移量(本例中长度不超过255字节,因此只使用1字节长度)#define BKM_OFFSET 4 /背景音乐命令偏移#define BKM_MAX 15 /背景音乐数量/数据包头(0xFD + 2字节长度 + 1字节命令字 + 1字节命令参数)uchar code headHEAD_LEN = 0xfd,0x00,0x00,0x01,0x00;uchar nBkm = 0x

10、00; /背景音乐编号static uchar bai2=0;shi2=0;ge2=0;/初始化static uchar bai1=0;shi1=0;ge1=0;/初始化ucha code TAB10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;static unsigned int second;int m;unsigned char text = soundu选手抢答犯规,组号 ; unsigned char text1 = soundu选手抢答成功,组号 ;unsigned char text2 = soundu选手抢答犯规,组号

11、;#define TEXT_LEN 28 / 正文长度#define NUM_POS 25#define NUM_MIN 1#define NUM_MAX 8uint nNum = NUM_MIN;static uchar counter=0; second_1=0;second_0=0;second_2=0;void delay(unsigned char m);void delayms(unsigned int i);void display();void UART_InitBaud(void);void Delay1(uint n);void BkMusic(uchar num);voi

12、d Speech(uchar *buf);void scankey2(void);void Timer0(void)interrupt 1ET0=0;TH0=0X3C;TL0=0XB0;counter+;if(counter=20)counter=0;if(zhengdao=1)second+;else second-; if(second=0|second=999)TR0=0;second_1=(second%100)/10;/shisecond_0=(second%100)%10;/gesecond_2=second/100;ET0=1;void delay(unsigned char m

13、) while(m-) unsigned char i; for(i=120;i0;i-) void delayms(unsigned int i)unsigned char a,b;for(a=0;ai;a+)for(b=0;b120;b+);void display1(void)P0=0Xfe; WEI=1; /位锁存WEI=0;P0=TABbai1;DUAN=1; /段锁存DUAN=0;delayms(2);P0=0Xfd;WEI=1; /位锁存WEI=0;P0=TABshi1;DUAN=1; /段锁存DUAN=0;delayms(2);P0=0Xfb;WEI=1; /位锁存WEI=0;

14、P0=TABge1;DUAN=1; /段锁存DUAN=0;delayms(2);P0=0Xf7; WEI=1; /位锁存WEI=0;P0=TABbai2;DUAN=1; /段锁存DUAN=0;delayms(2);P0=0Xef;WEI=1; /位锁存WEI=0;P0=TABshi2;DUAN=1; /段锁存DUAN=0;delayms(2);P0=0Xdf;WEI=1; /位锁存WEI=0;P0=TABge2;DUAN=1; /段锁存DUAN=0;delayms(2);void scankey1(void)if(pan=1)if(baiadd=0) delayms(10); if(baiad

15、d=0) while(baiadd=0); (bai1)+; if(bai1)=9) (bai1)=0; if(shiadd=0) delayms(10); if(shiadd=0) while(shiadd=0); (shi1)+; if(shi1)=9) (shi1)=0; if(geadd=0) delayms(10); if(geadd=0) while(geadd=0); (ge1)+; if(ge1)=9) (ge1)=0; else if(baiadd=0) delayms(10); if(baiadd=0) while(baiadd=0); (bai2)+; if(bai2)=

16、9) (bai2)=0; if(shiadd=0) delayms(10); if(shiadd=0) while(shiadd=0); (shi2)+; if(shi2)=9) (shi2)=0; if(geadd=0) delayms(10); if(geadd=0) while(geadd=0); (ge2)+; if(ge2)=9) (ge2)=0; void display()P0=0Xfe;WEI=1; /位锁存WEI=0;P0=TABsecond_2;DUAN=1; /段锁存DUAN=0;delay(3);P0=0Xfd;WEI=1; /位锁存WEI=0;P0=TABsecond

17、_1;DUAN=1; /段锁存DUAN=0;delay(3);P0=0Xfb;WEI=1; /位锁存WEI=0;P0=TABsecond_0;DUAN=1; /段锁存DUAN=0;delay(3);void Delay1(uint n) uchar i=112; while(n-) while(i-);/串口初始化void UART_InitBaud(void) SCON=0xD8; /晶振为11.059MHZ时,设定串口波特率为9600bit/s,方式3 PCON=0x00; TH1=0xFD; TR1=1; /串口发送数据void SendChar(uchar n) SBUF = n; w

18、hile(TI=0); /发送数据 TI=0; /背景音乐(参数为0表示关闭背景音乐)void BkMusic(uchar num) num %= BKM_MAX + 1; nBkm = num;/发声程序void Speech(uchar *buf) uchar i = 0; /循环计数变量 uchar xor = 0x00; /校验码初始化 uchar ch = 0x00; uchar len = 0x00; while(buflen+);/当数组buf的第len个值的内容不为0时执行下列程序/发送数据包头(0xFD + 2字节长度 + 1字节命令字 + 1字节命令参数) for(i =

19、0; i HEAD_LEN; i+) if(i = BKM_OFFSET) ch = nBkm 3; /写入背景音乐 else if(i = LEN_OFFSET) ch = len + 3; else ch = headi; xor = ch; SendChar(ch); Delay1(1); /发送文字内容 for(i = 0; i len; i+) xor = bufi; SendChar(bufi); Delay1(1); SendChar(xor); /发送校验位 Delay1(10); while(TTS_BUSY); /等待语音结束 Delay1(10);/键扫描void sca

20、nkey2(void) uchar k; KEY = 0xff; /置位键端口以读取键值 if(KEY != 0xff) /如果有键按下 k = KEY; /取键值 Delay1(1); /消抖 if(K0 = 1) nNum = 1; else if(K1 = 1) nNum = 2; else if(K2 = 1) nNum = 3; else if(K3 = 1) nNum = 4; else return; sprintf(text + NUM_POS,%1d,nNum); /修改选手号码 Speech(text); /合成语音 Delay1(1000); /抢答间隔 return;

21、void main()TMOD=0X21;TH0=0X3C;TL0=0XB0;ET0=1;EA=1;UART_InitBaud(); /初始化串口为 9600bpsDelay1(200); BkMusic(4); /背景音乐4Delay1(200);Speech(t5欢迎大家参加竞赛,请3选手们做好准备); /欢迎词BkMusic(0); /关闭背景音乐Delay1(1000)while(1)if(qidong=1) if(zanting=0) TR0=1; for(m=0;m28;m+) textm=text1m; scankey2(); display(); if(K0=1&K1=0&K2

22、=0) P0=0Xf7; WEI=1; WEI=0; P0=0X06; DUAN=1; DUAN=0; delayms(4); else if(K0=0&K1=1&K2=0) P0=0Xf7; WEI=1; WEI=0; P0=0X5B; DUAN=1; DUAN=0; delayms(4); else if(K0=0&K1=0&K2=1) P0=0Xf7; WEI=1; WEI=0; P0=0X4F; DUAN=1; DUAN=0; delayms(4); else if(zanting=1) TR0=0;second=100*(bai2)+10*(shi2)+(ge2); else if(

23、qidong=0) for(m=0;m28;m+) textm=text2m; scankey2(); second=100*(bai1)+10*(shi1)+(ge1); TR0=0; if(pan2=1) scankey1(); display1(); else P0=0Xff; WEI=1; WEI=0; P0=0X00; DUAN=1; DUAN=0; if(K0=1&K1=0&K2=0) P0=0Xf7; WEI=1; WEI=0; P0=0X06; DUAN=1; DUAN=0; delayms(4); else if(K0=0&K1=1&K2=0) P0=0Xf7; WEI=1;

24、 WEI=0; P0=0X5B; DUAN=1; DUAN=0; delayms(4); else if(K0=0&K1=0&K2=1) P0=0Xf7; WEI=1; WEI=0; P0=0X4F; DUAN=1; DUAN=0; delayms(4); 5.系统测试 5.1无线模块的测试 图5.1地址码和数据码的脉冲表示其中,Ta=8个时钟宽度,Tb=1个时钟宽度,Tc=2个字码长度。地址码和数据码都用宽度不同的脉冲来表示,两个窄脉冲表示“0”;两个宽脉冲表示“1”;一个窄脉冲和一个宽脉冲表示“F”也就是地址码的“悬空”。 图5.2 pt2272的不同后缀功能后缀的6和4表示有几路并行的控

25、制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应的地址编码应该是6位。图 PT2262 2272 编码信号波形 5.2显示数码管调试经过一系列的调试,八英寸数码管已经可以完全实现可任意设定回答时间、抢答时间(0-999秒),时间可正计、倒计切换、清屏、显示抢答组号及分数的功能。 图5.2.1 设定抢答时间、回答时间 图5.2.2 抢答时间的正计/倒计 图5.2.3 回答时间的正计/倒计 图5.2.4抢答组号显示 图5.2.5分数的加、减、清零及保持6.课程建议 此门课程开的非常有意义,在以前觉得学接口什么的没有什

26、么用处,觉得自己学的只是书本上的比较死的知识,但是通过这次实验,能够意识到一门课程只要学过了就一定能够用的上,这也是一个学习新的知识的过程,比如加深了我对高频知识的理解。也让我理解了一个产品,他的系统的形成是一个不断优化的过程,要敢于突破,敢于创新。通过电子实验,我们掌握应用基本理论和设计软件,设计电子电路的能力。掌握电子电路的测试方法,熟练应用电子工程领域相关仪器、仪表和设备对电路的技术指标进行测试。我们通过自主设计电路和软件来完成,解决一些实际问题。而且开放性创新实验,给了我们一个完全自由发挥的平台。在这里,我们利用所有资源实现自己的创意,提高了主动学习的积极性。但是我觉得最好不要和学长学

27、姐合作,容易产生依赖的心理。并且产品的系统最好不是一方面的东西,不能直视软件方面的开发,或者只是模电知识。 7参考文献【1】康华光,邹寿彬.电子技术基础(数字部分)(第五版).高等教育出版社.2005【2】康华光,邹寿彬.电子技术基础(模拟部分)(第五版).高等教育出版社.2005【3】李朝青单片机原理及接口技术M北京:北京航空航天大学出版社.2005【4】朱勇单片机原理与应用技术清华大学出版社.2006【5】张毅刚,彭喜元等新编MCS-51单片机应用设计(第二版) 哈尔滨工业大学出版社.2006【6】潭博学,苗江静集成电路原理及应用北京:电子工业出版社.2003【7】高峰. 单片微机应用系统设计及实用技术M.北京:机械工业出版社.2004【8】楼然苗,李光飞51系列单片机设计实例北京航空航天大学出版社.2006 【9】何书森,何华斌.实用电子线路设计速成.福州:福建科学技术出版社,2006 【10】陈欢庆. 电子制作理论与实践M.浙江大学出版社.2005【11】马淑华、王凤文、张美金.单片机原理及接口技术.北京邮电大学出版社.2005.10【12】杨金岩,郑应强,张振仁8051单片机数据传输接口扩展技术与应用实例人民邮电出版社.2005【13】王文杰基于逻辑数字电路的抢答器设计-毕业论文(20

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

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