第一篇:电子综合设计基于二维码扫描的开锁设计立项申请书
项目背景:
科技的进步促进了人们对数字信息的利用,这其中出现了令我们曾经以为不可能的应用,比如科技新秀二维码,横扫世界的智能手机,革命性创新的平板电脑等等,今天我们对科技改变生活的说法已经深信不疑了。那就看看我们生活中的一些麻烦。
有句话说出门必带的“伸手要钱”,身(伸)是身份证,手不是我们身体上的手,而是手机,(要)是钥匙。现实中,我们都有这样的体验,出门确实要“伸手要钱”。但是每一次出门都要带上手机,钱包,加上一大串钥匙,是不是有些麻烦呢?既然科技发展的足够快,那么我们是不是可以利用现代科技来减少随身携带的物品,又不会影响正常的工作娱乐呢?
答案是肯定的。比如我们可以把手和要合并在一起。出门只需“伸手钱”。
项目简介:
正如背景里提到的,我们要把手机和钥匙合二为一,出门“伸手钱”。主要是利用智能手机和科技宠儿二维码。让融合了科技和美感的二维码充当我们的“钥匙”。而这个“钥匙”存于手机或者随身携带的钱包或者贴在银行卡上,把我们从现实的锁中解脱出来。
具体来说就是,通过计算机产生一个二维码,这个二维码是可以更改的就像你换门锁一样,只是换个门锁可不是那么简单的事情。将这个二维码植入门中,这个门是可以放置存储,像RAM一样,并且具有扫描和认证处理能力。把对应二维码放入手机或者打印下来放在钱包里,或者贴在银行卡上。这样当你回家开门时候,按下扫描开关,并将手机的二维码照片放置在扫描范围内,等待扫描和认证,一旦认证通过,这个智能门就可以自动打开。全过程,不需要钥匙,你甚至都看不到门把手,只需拿出你日常使用率最高的手机扫一下即可。
而且,二维码的生成,可以根据适用场合的不同而改变,比如在一些私人别墅,保密性比较高的地方我们可以采用复杂度较高的算法生成二维码,在家用住宅可以使用简单的算法生成。即使简单的算法,也比我们目前任意一种锁难解。
对于这个项目,我们小组的主要任务就是实现扫描并认证通过,以及通过后的自动开门过程。具体来说就是我们将要采用一个摄像头,扫描二维码。将扫描的二维码通过开发板的处理变成比特流,然后和预先存储在门中的二维码对比,若是两者吻合,则产生高电压,这个高电压通过机械装置控制门打开。对于二维码的产生,这是很成熟的技术,只要我们使用软件就可以产生所需要的二维码。
第二篇:电子综合设计报告(推荐)
电子综合设计报告
课题:数字定时器
组号:06
组员:蔡德森(20092201)09通信2班
蒙文川(20092205)09通信2班 指导老师:叶文霞
2011年7月30日 西南交通大学
一、方案设计
1、方案论证与设计
设计任务:用CPLD(EMP570T100C5)设计制作一个数字定时器电路。论证:本课题主要需要对数字电路有过学习,同时对编程技术尤其是数字电路的编程要求较
高,对电子工艺基础有足够的了解,能够规范实现测试、电路安装及焊接,对基本的元器件会使用及测试。能够遵守实验室准则,满足课题老师要求。设计要求(1)基本功能
具有定时时间设置功能,定时调整步长有30秒、1分钟、10分钟和30分钟四种,最大定时时间是60分钟;具有启动、取消/停止、暂停功能,启动后以倒计时方式显示剩余时间,定时结束提示(声/光 提示)。
(2)提高部分:计时功能;提供预约功能,可设置预约时间(60分钟以内),预约时间到则执行某项操作;其他扩展功能。
2、系统原理框图(含工作原理介绍)
工作原理介绍:
功能键包括【开始停止】、【暂停继续】、【预约取消】;按键包括【定时增加】(30s,1min,10min,30min)和【清零】。其中【定时增加】(30s,1min,10min,30min)和【预置清零】由不带锁按键控制,【开始停止】、【暂停继续】和【预约取消】由带锁按键控制。
·停止时计数器默认为预置状态,此时通过四个【定时增加】可以设置初始时间。·开始后,开始减计数;连续计数过程中通过【暂停继续】暂停或继续。·计数结果输出后先通过译码对应数码管,再输入数码管显示。·分频电路由5.56MHz分出几个频率,作用分别如下:
Cp1:提供时间预置时【定时增加】(30s,1min,10min,30min)的高电平响应频率,从而可通过长按【定时增加】快速设置初始时间; Cp2:1Hz,提供计数器以每1s计数一次,从而实现倒计时功能; Cp3:提供四位数码管进行动态扫描,扫描频率为200Hz左右。
·定时结束处理包括显示及后续任务。具体为指示灯亮及另一段计数开始(扩展功能)。
3、主要电路设计与参数计算(各单元电路)CPLD内部程序电路:
①CPLD内部时钟
②分频电路
内部程序
module divide(cp,vcc3_3,cp0,cp1,cp2,cp3);input cp;output reg cp1,cp2,cp3,cp0;output vcc3_3;parameter N=5500,M=1000,K=5,P=200;integer i=0,j=0,y=0,x=0;assign vcc3_3=1;always@(posedge cp)//cp0:1000HZ begin if(i endmodule ③时间设置电路 内部程序 module set(point,cpset,nrst,t1,t2,t3,t4,t5,q3,q2,q1,q0);input nrst,t1,t2,t3,t4,t5,cpset,point;output[3:0] q3,q2,q1,q0;reg[3:0] q3,q2,q1,q0;always@(negedge cpset)begin if((~nrst)&& point)begin if(t5) {q3,q2,q1,q0}<=16'h0000;//m30 else if(t4) begin if(q3>=4'h7)q3<=4'h0;else q3<=q3+4'h3; end //m10 else if(t3) begin if(q3>=4'h9)q3<=4'h0;else q3<=q3+4'h1; end //m1 else if(t2) begin if(q2>=4'h9)q2<=4'h0;else q2<=q2+4'h1; end //s30 else if(t1) begin if(q1>=4'h3)q1<=4'h0;else q1<=q1+4'h3; end end end endmodule ④非预约下计数 内部程序 module timer_unpoint(minh,minl,sech,secl,alarm,nrst,npause,cp,q3,q2,q1,q0);input nrst,npause,cp,q3,q2,q1,q0;wire [3:0]q3,q2,q1,q0;output[3:0] secl,sech,minl,minh;reg[3:0] secl,sech,minl,minh;output alarm;assign alarm=({minh,minl,sech,secl}==16'h0000)&(nrst==1'b1);always@(posedge cp)begin if(~nrst){minh,minl,sech,secl}={q3,q2,q1,q0};else begin if(~npause){minh,minl,sech,secl}<={minh,minl,sech,secl};else if({minh,minl,sech,secl}==16'h0000){minh,minl,sech,secl}<={minh,minl,sech,secl};else if(secl==4'h0)begin secl<=4'h9;if(sech==4'h0)begin sech<=4'h5;if(minl==4'h0)begin minl<=4'h9;minh<=minh-1'b1; end else minl<=minl-1'b1;end else sech<=sech-1'b1;end else secl<=secl-1'b1;end end endmodule ⑤预约下计数 内部程序 module timer(point,minh,minl,sech,secl,alarm,alarm1,nrst,npause,cp,q7,q6,q5,q4);input point,nrst,npause,cp,q7,q6,q5,q4,alarm;wire [3:0]q7,q6,q5,q4;output[3:0] secl,sech,minl,minh;reg[3:0] secl,sech,minl,minh;output alarm1;assign alarm1=({minh,minl,sech,secl}==16'h0000)&(nrst==1'b1);always@(posedge cp)begin if(~nrst){minh,minl,sech,secl}={q7,q6,q5,q4};else if(alarm && point)begin if(~npause) {minh,minl,sech,secl}<={minh,minl,sech,secl}; else if({minh,minl,sech,secl}==16'h0000) {minh,minl,sech,secl}<={minh,minl,sech,secl}; else if(secl==4'h0)begin secl<=4'h9;if(sech==4'h0)begin sech<=4'h5;if(minl==4'h0)begin minl<=4'h9;minh<=minh-1'b1; end else minl<=minl-1'b1;end else sech<=sech-1'b1;end else secl<=secl-1'b1;end end endmodule ⑥显示电路 内部程序 module display(nrst,alarm,point,minh,minl,sech,secl,pminh,pminl,psech,psecl,cp1,dis1,dis2);input cp1,point,alarm,nrst;wire cp1;input[3:0] minh,minl,sech,secl,pminh,pminl,psech,psecl;output[7:0] dis1;output[3:0] dis2;reg[7:0] dis1;reg[3:0] dis2;integer n=0;function[7:0] dis;input[3:0] data;begin case(data)4'h0:dis=8'h02;4'h1:dis=8'hF2;4'h2:dis=8'h48;4'h3:dis=8'h60;4'h4:dis=8'hB0;4'h5:dis=8'h24;4'h6:dis=8'h04;4'h7:dis=8'h72;4'h8:dis=8'h00;4'h9:dis=8'h20;endcase end endfunction always @(posedge cp1)begin if(~point)begin if(n==3)n=0;else n=n+1;case(n)0:begin dis2<=4'h8;dis1=dis(minh);end 1:begin dis2<=4'h4;dis1=dis(minl);end 2:begin dis2<=4'h2;dis1=dis(sech);end 3:begin dis2<=4'h1;dis1=dis(secl);end endcase end else if((point&&alarm)||(point&&~nrst))begin if(n==3)n=0;else n=n+1;case(n)0:begin dis2<=4'h8;dis1=dis(pminh);end 1:begin dis2<=4'h4;dis1=dis(pminl);end 2:begin dis2<=4'h2;dis1=dis(psech);end 3:begin dis2<=4'h1;dis1=dis(psecl);end endcase end else begin if(n==3)n=0;else n=n+1;case(n)0:begin dis2<=4'h8;dis1=dis(minh);end 1:begin dis2<=4'h4;dis1=dis(minl);end 2:begin dis2<=4'h2;dis1=dis(sech);end 3:begin dis2<=4'h1;dis1=dis(secl);end endcase end end endmodule 4、总体电路图 限流电阻:Rs=1KΩ。发光二极管:绿,10mA。 数码管使用四位七段数码管(共阳)。 二、测试步骤 设计阶段: 数码管引脚位、段测试。测试4位数码管选定位、段的引脚及所需的高低电平; 各单元电路仿真及下载测试。编程结束后下载测试单元电路功能,修改,完善; 功能模块组合测试。组合单元电路成为功能模块,下载后测试,修改,完善; 总功能测试。整合各功能模块,测试功能,修改,完善。 要点: 1、注意分配引脚,分清数据的低位和高位。 2、稳扎稳打,化整为零,分部测试,及时记录。 难点:要求在对整体思路把握明确下测试,避免出现模块之间不相容、相似模块混淆的的情况。焊接阶段: 测试开关引脚。首先用万用表测出按下开关前后哪几个引脚是相连的,初步标记;其次需要将开关放置于面包板上,将发光二极管连入电路,看开关是否能点亮和熄灭二极管,并记下开关的各引脚。 测试各焊点是否短接、虚焊。用万用表调制电阻挡,测各接地点、接3.3V电源点是否相连,并且测两相邻焊点是否短接。 要点: 1.、实验所用开关的两端分别接电源和地,中间引脚接芯片IO口 2.、二极管的单向导电性以及考虑限流电阻 难点:保证发光二极管在测试过程中尽量不烧坏。 三、测试数据及实验结果 设计阶段 数码管引脚位段测试结果: 供高电平不大于3.3v 整合后的模块测试结果 取消预约时 ①停止且暂停,测试【定时增加】四键有效。结果:可置数; ②开始且继续,数码管显示倒计时,时间到指示灯亮。结果:可正常计时(倒); ③开始且继续,之后暂停,再继续。结果:计时中可暂停(恢复); ④停止且继续。结果:计时可停止。开启预约时 重复①-④步。结果:③步中不可暂停,预约功能实现,且预约时不可暂停。焊接阶段 限流电阻Rs>5/0.01x1000Ω=500Ω,选1k; 开关引脚测试:略。EPM570引脚图: 四、结论 1、本方案特点及存在的问题 特点:可通过长按【定时增加】键快速设置时间;实现了提高部分中的预约功能(分段定时)。缺陷:【定时增加】键可能会出现不灵敏的状况;冒号有时显示不完全。 2、功能扩展方案 I、预约(已实现):通过分段定时实现,及一段计数结束后开始另一段计数。 方案: 一个计数器工作结束后提示另一个计数器开始工作。用【预约/取消预约】来控制是否选择此功能,同时控制内部电路的工作。 设计问题解决: 显示电路囊括预约开始前和开始后的计数,需要多个控制其控制其输出。II、计时功能(未实现):由零开始加计时,停止后显示经过时间; 方案: 通过一个加法计数器实现计时功能(因与基本功能有所重复,未设计); 设计过程中可能遇到的问题: 需要通过另设按键选择定时或计时功能;基本功能键的共享实现。III、计时结束显示流水灯(未实现) 方案: 通过在显示模块,由计数器通知是否结束计时,若是,在数码管显示流水灯; 设计过程中可能遇到的问题: 流水灯的频率控制;需要另外编译和测试流水灯译码电路。 五、【数字定时器】使用说明 基本功能键 【开始停止】 开始(按下):由设置的时间开始倒计时; 停止(弹起):停止计时,回到开始前设置的时间;可设置新初始时间 【暂停继续】 暂停(弹起):暂停计时;预约功能下二段计时暂停无效; 继续(按下):继续计时; 扩展功能键 【预约取消】 预约(按下):开启预约功能,同时可设置第二段计时; 取消(弹起):关闭预约功能,同时可设置第一段计时初始时间; 按键【定时增加】加30秒钟:初始时间加30秒。超过60秒不进位,十秒位置零; 【定时增加】加1分钟:初始时间加1分钟。超过10分不进位,一分位置零; 【定时增加】加10分钟:初始时间加10分。超过100分不进位,十分位置零; 【定时增加】加30分钟:初始时间加30分。超过100分不进位,十分位置零; 以上四键可通过长按实现连续加时; 【清零】在停止状态下可将预置的时间清零;开始状态下无效。 六、实物图(电路) 电子综合设计 红外传输设计 指导老师 : 红外传输设计总结报告 一.系统功能描述 1.1实现的基本功能 原设计主要研究并设计一个基于单片机的红外传输系统,并实现对八路开关的控制。控制系统主要是由51和52系列单片机、红外发射电路、红外接收电路、等部分组成,单片机编码发射遥控信号经红外接收处理传送给单片机,单片机根据不同的信息码控制八路LED发光二极管各个状态,并完成相应的状态指示 修改后设计有电脑软件设置发送字符,红外发送接收后显示在LCD屏幕上。 1.2系统的工作原理 红外通信是利用 950nm近红外波段的红外线作为传递信息的媒体, 即通信信道。发送端采用脉时调制(PPM)方式, 将二进制数字信号调制成某一频率的脉冲序列, 并驱动红外发射管以光脉冲的形式发送出去, 接收端将收到的光脉冲转换成电信号, 再经过放大、滤波处理后送给解调电路进行解调, 还原为二进制数字信号后输出。换句话说, 红外通信的实质就是对二进制数字信号进行调制和解调, 以便利用红外进行传输。 1.3系统组成 原设计系统硬件由以下几部分组成:键盘采用矩阵键盘,4×4矩阵键盘中P1.0-P1.3为采集数据入口,P1.4-P1.7采集数据出口,红外数据发射电路,红外接收电路,继电器电路。 软件部分包括AT89S52单片机,STC89C52单片机 修改后设计硬件包括发射电路,接收电路,LCD 二.实际各部分电路的电路图和设计方案 2.1硬件电路 2.1.1 AT89S52单片机介绍 原设计采用了AT89C2051,它是由ATMEL公司推出的一种小型单片机。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,其程序的电可擦写特性,使得开发与试验比较容易。但此芯片需要独特的下载方法,不便使用,故本设计换为AT89S52。 AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 2.1.2 STC89C52RC单片机介绍 STC89C52RC系列单片机是有超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟机器周期和6时钟机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。 2.1.3 时钟电路及RC复位电路 STC89C52RC芯片内部有一高增益反相放大器,用于构成振荡器.反相放大器的输入端为XTAL1,输出端为XTAL2。在XTAL1、XTAL2(第19、18引脚)两端跨接一个石英晶体振荡器,和两个电容就构成了稳定自激谐振电路。晶振频率为11.0592MHz。C12,C13是两个瓷片电容,与晶振Y2构成了自激谐振电路。其电容的作用主要是对频率进行微调,一般取30-45PF左右。使用该电路可产生稳定的11.0592MHZ频率,受外界的环境的干扰影响非常小。其接法如图3-2所示: 图2-2 晶振电路 图2-3复位电路图 2.2 单片机红外发射器的电路设计 原设计 2.2.1 矩阵键盘电路(1)4×4矩阵键盘的工作原理: 矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。行线接P1.4-P1.7,列线接P1.0-P1.3,如图2-4所示。 图2-4 矩阵键盘电路图 (2)按键功能说明: 设备1-3是用电器件的选择按键,按下时则相应的用电器件被选中,如果长按下超过5秒钟,则会关断对应的用电器件;S1-12是用电器件的功能选择按键;OFF是LED指示灯和所有用电器件的总关断按键,OFF按键按下时会使LED指示灭二达到节能的目的,如果长按超过5秒钟,则会关掉所有的用电器件。修改后设计采用电脑发送字符。 2.2.2 红外发射电路 (1)红外线遥控制系统的原理: 将指令脉冲编码信号调制在载波振荡器产生的载波上(也称脉码调制),然后用这脉码调制信号去驱动红外发光二极管,以发出经过调制的红外光波。 (2)红外编码原理: 通常,红外遥控器将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去。二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位置调制码)。本课题是以PPM码(脉冲位置调制码及遥控编码中的NEC码)对红外数据的发送进行论证。如图2-5示 图2-5 指令脉冲图 编码脉冲信号由引导码、系统码、系统反码、功能码、功能反码等信号组成。引导码也叫起始码,由宽度为9ms的高电平和宽度为4.5ms的低电平组成,用来标志遥控编码脉冲信号的开始。如图2-6所示 图2-6 信号引导码图 脉冲位置表示的“0”和“1”组成的32位二进制码前16位控制指令,控制不同的红外遥控设备。而不同的红外家用电器又有不同的脉冲调控方式,后16位分别是8位的功能码和8位的功能反码。串行数据码时序图如2-7所示 图2-7 串行数据码时序图 将要发送的指令脉冲编码信号调制在38KHz的载波上,可以增加信号的抗干扰能力,提高信号传输效率。 (3)红外数据发射电路的设计: 在红外数据发射过程中,由于发送信号时的最大平均电流需几十mA,所以需要三极管放大后去驱动红外光发射二极管。软件编程将数据从P30将数据输出。T0定时产生38KHz载波信号,与门采用了74LS08。红外数据射发射电路图如2-8所示。 图2-8 红外数据发射电路 2.3 单片机红外接收器的电路设计 2.3.1 红外接收电路 LT0038是用于红外遥控接收的小型一体化接收头,集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。红外接收电路连接图如图2-9所示。 图2-9红外接收电路图 原设计采用八路LED显示 2.3.2八路LED开关电路 八路开关电路的实现是本次设计的重点,通过八路开关的功能演示来体现本次多功能红外遥控器的设计思想,其电路图2-10所示。 图2-10 八路LED开关电路 修改后采用LCD屏幕显示发射的字符电路如图2-11 图2-11 接收及显示电路 三.实际各部分电路的调试过程 遇到的问题及解决方案 原设计首先对矩阵键盘进行了测试,发现出现了短路,及按键损坏,下载程序后测量晶振正常起振频率为11.0592正弦波,按下按键测量发射脚P30为38K正常,P37脚发射波形持续时间不对,对程序中的时间进行调整,仍得不到正确波形,检查后发现线性关系错误,修改后得到了正确的波形,紧接着测量与门输出正确为38K和发射波形相乘结果。 接收电路经测量复位电路并联电容出现了短路,修改后得到了正确的结果。 四.测试结果 原设计实物图 修改后设计实物图 原设计虽未在硬件上实现但得到了正确的仿真结果如下 五.成功经验和失败原因:收获和不足 初次设计发送采用了AT89C51,此单片机是精简的AT89C51,但程序下载较困难,需要特殊下载电路,因此耽误了设计的进度。修改后设计发送采用较常用的AT89S系列,晶振为24M,采用电脑做为发射信号源消除了键盘发射的复杂性,但在显示上采用了LCD12864液晶屏使设计更加有意义。在这次设计中因为中途更换了题目了解了很多种芯片包括AT89C2051 AT89S52 STC89C52以及矩阵键盘、红外发射管、红外一体化接收头、LCD等的构造原理及使用方法。此次设计起初因为芯片选择出现问题,程序无法下载,之后因为元器件放置不当而损坏以及程序错误得不到理想波形,经过查询资料请教老师并对电路进行各级排查,在各测试点检测波形得到了正确的发射码字。 通过本次设计对单片机有了更深的了解,锻炼了编程能力以及硬件检错能力,加强了我们动手、思考和解决问题的能力,出现差错的随机应变能力,和与人合作的能力,今后的制作应该会更加更轻松。在整个设计过程中,我们通过这个方案包括设计了一套电路原理和PCB连接图,和芯片上的选择。由于粗心出现了很多基础性错误,也因此耗费了很多时间。做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。在制作PCB时,发现细心耐心,恒心一定要有才能做好事情,首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很需要的,否则只是一纸空话。其次我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。设计的过程可以说是困难重重,过程中发现了自己很多的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固遇到的很多专业知识问题,最后在老师的专业指导下,终于迎刃而解。对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 1、《单片机原理及接口技术》[M],高等教育出版社 2、《C语言控制与应用》[M],清华大学出版社 3、《高频电子线路》[M],高等教育出版社 4、《实用声光及无线电遥控电路300例》[M],中国电力出版社出版 5、《单片机典型模块设计实例导航》[M],人民邮电出版社 附录 键盘及发送程序 #include static bit OP;//红外发射管的亮灭 static unsigned int count;//延时计数器 static volatile unsigned int endcount;//终止延时计数 char iraddr1;//十六位地址的第一个字 节 char iraddr2;//十六位地址的第二个字节 typedef unsigned char uchar; unsigned char datau,flagu=0; uchar kbscan(void); void SendIRdata(char p_irdata);void delay();void delays(unsigned char c);uchar kbscan(void){ uchar sccode,recode;P1=0x0f;//置所有行为低电平,列扫描,列线输入 if((P1&0xf0)!=0xf0)//判断是否有有键按下,有往下执行 { delay();//延时去抖动(10ms)if((P1&0xf0)!=0xf0)//再次判断列中是否是干扰信号,不是则向下执行 { sccode=0xFE;//逐行扫描初值(即先扫描第1行)while((sccode&0x10)!=0)//行扫描完成时停止while程序 { P1=sccode;//输出行扫描码 if((P1&0xf0)!=0xf0)//本行有键按下 { recode=(P1&0xf0)|0x0f;//列 return(sccode&recode);//返回行和列 } else //所扫描的行没有键按下,则扫描下一行 { //sccode=(~sccode);//sccode=(sccode<<1);//sccode=(~sccode);//sccode=(~((~sccode)<<1));//行扫描码左移一位 sccode=(sccode<<1)|0x01;} } } } else { return 0;//无键按下,返回0 } } void main(void){ volatile unsigned char key;volatile unsigned char mod;count = 0;OP = 0;P3_7 = 0;P3_0 = 1;P3_1 = 1;P3_3 = 1;EA = 1;//允许CPU中断 TMOD = 0x21;//设定时器0和1为16位模式1 ET0 = 1;//定时器0中断允许 TH0 = 0xFF;TL0 = 0xE8;//设定时值0为38K 也就是每隔26us中断一次 TR0 = 1;//开始计数 SCON=0X50;TH1 = 230;TL1 = 230;TR1=1;IE|=0X90; iraddr1=0xff;iraddr2=0xff; init_lcd();qingping(); do{ key=kbscan();delays(2); if(key==0xed){ mod=1;} else if(key==0xdd){ mod=0;} if(mod==0){ if(flagu){ SendIRdata(datau); flagu=0;} write_com(0x80);write_data(0x43); } else { switch(key){ case 0xed: SendIRdata(0x00);//0 break;case 0xDD: SendIRdata(0x01);//1 break;case 0xBD: SendIRdata(0x02);//2 P3_1=~P3_1; break;case 0x7D: SendIRdata(0x03);//3 break;case 0xEB: SendIRdata(0x04);//4 break;case 0xDB: SendIRdata(0x05);//5 break;case 0xBB: SendIRdata(0x06);//6 break;case 0xE7: P3_0=1; break;case 0xD7: P3_1=1; break;case 0xB7: P3_2=1; break;default: break;} } }while(1);} //定时器0中断处理 void timeint(void)interrupt 1 { TH0=0xFF;TL0=241;//设定时值为38K 也就是每隔26us中断一次 count++;P3_3=~P3_3;} void serial()interrupt 4 using 3 { if(RI){ RI=0;datau=SBUF;flagu=1;} } void SendIRdata(unsigned char p_irdata){ char i;volatile unsigned char irdata;//发送4.5ms的起始码 endcount=351;count=0;P3_7=1;do{}while(count for(i=0;i<8;i++){ irdata=(0X80>>i);if(p_irdata&irdata){ //先发送0.56ms的38KHZ红外波(即编码中0.56ms的低电平)endcount=123;count=0;P3_7=1;do{}while(count void delay(){ unsigned int i,j;for(i=0;i<26;i++){ for(j=0;j<20;j++){ _nop_();} } } void delays(unsigned char c){ unsigned int i;for(i=0;i #include sfr p0=0x80;sfr p3=0xb0; sbit p10=P1^0; sbit p32=P3^2;sbit p00=P0^0;sbit p01=P0^1;sbit p02=P0^2;sbit p03=P0^3;sbit p04=P0^4;sbit p05=P0^5;sbit p06=P0^6;sbit p07=P0^7; unsigned char led,dm,i,j,k; void ds_9ms(void){ unsigned char j,k;for(j=180;j>0;j--)for(k=50;k>0;k--);} void ds0_56ms(void){ unsigned char i,j;for(i=3;i>0;i--)for(j=184;j>0;j--);} void ds4_5ms(void){ unsigned char i,j;for(i=90;i>0;i--)for(j=50;j>0;j--);} void ds1_68ms(void){ unsigned char i,j;for(i=9;i>0;i--)for(j=184;j>0;j--);} void ds0_1ms(void){ unsigned char i,j;for(i=9;i>0;i--)for(j=10;j>0;j--);} void main(){ IT0=1;EX0=1;EA=1;dm=0;p0=0;p10=1;P2=0xff;while(1){ p10=~p10;ds0_1ms();} } /* void t0(void)interrupt 0 using 2// { unsigned char tt,flag;EA=0;flag=1;for(tt=0;tt<40;tt++){ if(p32==0){ flag=0;break;} ds0_1ms();} while(!p32);if(flag){ for(tt=0;tt<85;tt++){ if(p32==1){ flag=0;break;} ds0_1ms();} } while(p32);if(flag){ for(tt=0;tt<85;tt++){ if(p32==1){ flag=0;break;} ds0_1ms();} } while(!p32);if(flag){ for(tt=0;tt<85;tt++){ if(p32==1){ flag=0;break;} ds0_1ms();} } switch(led) { case 0x00:p00=0;p01=1;p02=1;p03=1;p04=1;p05=1;p06=1;p07=1;break;case 0x01:p00=1;p01=0;p02=1;p03=1;p04=1;p05=1;p06=1;p07=1;break;case 0x02:p00=1;p01=1;p02=0;p03=1;p04=1;p05=1;p06=1;p07=1;break;case 0x03:p00=1;p01=1;p02=1;p03=0;p04=1;p05=1;p06=1;p07=1;break; case 0x04:p00=1;p01=1;p02=1;p03=1;p04=0;p05=1;p06=1;p07=1;break;case 0x05:p00=1;p01=1;p02=1;p03=1;p04=1;p05=0;p06=1;p07=1;break;case 0x06:p00=1;p01=1;p02=1;p03=1;p04=1;p05=1;p06=0;p07=1;break;case 0x07:p00=1;p01=1;p02=1;p03=1;p04=1;p05=1;p06=1;p07=0;break; default:p00=1;p01=1;p02=1;p03=1;p04=1;p05=1;p06=1;p07=1; } } } LCD显示程序 #include “lcd.h” { _nop_();_nop_();_nop_();} void write_com(unsigned char com){ unsigned char i;set_sid();for(i=0;i<5;i++){ set_sclk();delaylcd();clr_sclk();delaylcd();} clr_sid();for(i=0;i<3;i++){ set_sclk();delaylcd();clr_sclk();delaylcd();} for(i=0;i<4;i++){ if(com&(128>>i))set_sid();else clr_sid();set_sclk();delaylcd();clr_sclk();delaylcd();} clr_sid();for(i=0;i<4;i++){ set_sclk();delaylcd();clr_sclk();delaylcd();} for(i=4;i<8;i++){ if(com&(128>>i))set_sid();else clr_sid();set_sclk();delaylcd();clr_sclk();delaylcd();} clr_sid();for(i=0;i<4;i++){ set_sclk();delaylcd();clr_sclk();delaylcd();} } void write_data(unsigned char datas){ unsigned char i;set_sid();for(i=0;i<5;i++){ set_sclk();delaylcd();clr_sclk();delaylcd();} clr_sid();set_sclk();delaylcd();clr_sclk();delaylcd(); set_sid();set_sclk();delaylcd();clr_sclk();delaylcd();clr_sid();set_sclk();delaylcd();clr_sclk();delaylcd(); for(i=0;i<4;i++){ if(datas&(128>>i))set_sid();else clr_sid();set_sclk();delaylcd();clr_sclk();delaylcd();} clr_sid();for(i=0;i<4;i++){ set_sclk();delaylcd();clr_sclk();delaylcd();} for(i=4;i<8;i++){ if(datas&(128>>i))set_sid();else clr_sid();set_sclk();delaylcd();clr_sclk();delaylcd();} clr_sid();for(i=0;i<4;i++){ set_sclk();delaylcd();clr_sclk();delaylcd();} } void qingping(){ unsigned char i,j;write_com(0x34);write_com(0x36);for(i=0;i<32;i++){ write_com(0x80|i);write_com(0x80);for(j=0;j<16;j++){ write_data(0x00);} } for(i=0;i<32;i++){ write_com(0x80|i);write_com(0x88);for(j=0;j<16;j++){ write_data(0x00);} } write_com(0x30);} void init_lcd(){ clr_rest();delaylcd();set_rest();set_cs();write_com(0x01);delaylcd();write_com(0x0c);write_com(0x30);write_com(0x38);write_com(0x0e);write_com(0x01);write_com(0x06);write_com(0x0c);delaylcd();} 单元教学设计 一、课程说明 (一)课程性质及定位 《电子商务实务》是物流管理等经济类专业的专业必修课程。在现代信息社会中,学习电子商务知识可以使掌握信息技术和商务规则的企业和个人,系统地利用各种电子工具和网络,高效率、低成本地从事各种以电子方式实现的商业贸易活动。 它的前导课程有物流基础,计算机网络技术,市场营销,管理学后续课程有物流信息技术,供应链管理。 (二)该课程对培养学生职业能力培养的作用 1.培养学生终身学习能力,没有一个行业比电子商务发展得更快,技术、模式、用户、观念天天在变,要保持终身学习心态。 2.培养学生利用资源,参与交流,思考总结能力。 3.培养学生从事创业实践活动所必须具备的意识、精神、品质、知识和能力等方面的一种教育,能有效缓解大学生就业难的问题。 二、单元教学目标 1.知识目标 通过本章学习,使学生了解二维码的分类,发展,制作,及在生活的应用。2.技能目标 学会利用在线工具制作条码;学会利用软件制作条码;学会认识并体验感受生活中的条码。 3.素质目标 提升理论联系实际的能力,加强学生对条码的深刻学习,激发学生利用条码的潜力比如他们自己可以制作二维码简历,有些同学展望以后拿着手机就可以做火车等。 三、教学设计过程 (一)理念与思路 通过条码技术这节的学习,让学生了解条码技术知识,并认识生活中的条码,感受条码对生活的改变。让学生掌握在如何制作条码,并利用条码技术更好的为自己的生活和社会服务。 (二)教学内容设计 1.本节教学时间分配 理论知识:2个学时,主要介绍书中的理论知识。 校内实训:2学时,利用机房上网环境和免费制作软件自己制作条码,并应用到个人简历,网店,个人主页的设计上面。 校外实训:2学时,感受条码技术对生活的改变,到生活中(超市,快递,公交站牌等)观摩学习,聆听专家的现场指导。 总结提升:让学生自己回来总结形成实训报告,做成PPT答辩,并展望怎样更好的利用这项技术为生活服务,为社会服务。 2.本节教学内容的安排 (1)上次上课时布置作业安排学生留意二维码,并安装手机二维码扫描软件,为这次课做好充分的准备。 (2)课堂导入(3分钟);和学生聊聊生活当中的条码,比如公交站牌,电视上等的条码,引起学生对条码的学习兴趣。 (3)加强共鸣(5分钟):利用条码在生活中的应用视频和图片给学生带来全新的视听文化大餐。 (4)理论联系实际讲述书中的理论知识:抓住兴趣后,开始导入手机二维码的概念,并现场演示如何使用,然后讲二维码的分类,二维码的分为主读和被读两种方式。主读其中比较知名的应用有 易拍酷,快拍,我查查等,应用领域:读码上网、下载软件,读取名片信息,商品防伪,购物等亦可随时随地的轻松 体验像铃声、游戏、视频等 流媒体信息和增值业务下载。被读比如火车票,电影票,电子优惠券之 类。应用领域: 电子票务、电子折扣券、电子凭证、电子回执、物流等。 (5)特别要注重和实践操作进行结合,注意网络资源的利用,注意师生互动。比如在讲述这一节时,我利用互联网的资源对条形码的在线制作过程进行截图并下载了二维码制作软件,在课堂上对软件进行了安装,并亲自制作了多款条码,利用学生手中的手机上安装的我查查专业扫描软件进行现场扫描,课堂气氛很活跃。(6)最后介绍了二维码目前在国外和国内的应用现状。 (7)拓展延伸:让学生说说咱们怎样可以利用二维码为咱们的生活更好的服务,说说优点和缺点。同学们很积极,有的说可以把简历制作成二维码,有的说咱们以后可以直接拿手机上火车了,可以直接拿手机到饭店吃饭。。。 (8)利用学校的有利资源,安排同学们到机房在线制作各种各样的二维码。大家兴趣很高。 (9)组织学生去石家庄各大超市进行观摩学习,让学生分小组学着观察生活,体验生活,感受电子商务技术给生活带来的新变化。 (10)布置作业:对学生分组到生活和指定的超市去参观学习条码等电子商务技术在生活中的应用,并形成PPT,要求提出自己对条码技术的独特的生活感受并展望条码技术可以在社会哪些方面有更好的发展应用。(11)借助便利的网络资源和同学们利用微信和QQ群进行交流信息,和同学们互为良师益友。 四、教学资源与考核 1、加大平时成绩比重,由20%增加到50%。 包括考勤(10分)、实验作业(20分)、课堂表现(20分)三部分; 2、期末考试针对“电子商务的热点问题”采用专题方案提交,满分50分; 3、评分标准为PPT制作(10分)、资料准备是否充分、及时和全面(10分)观点的创新性(10分)、语言表达(10分)、总体效果(10分); 4、成绩由老师和同学代表现场打分,得分为所有评委的平均分,并予以现场点评。五.教学效果 1.通过学习,学生不仅掌握了理论知识,而且学会了认识和使用生活中的二维码。 2.通过实训,学生自身的应用条码的能力有所提升,学生不仅学会了制作各种二维码,而且有的同学还把自己的简历和个人主页,个人网店制作成了二维码,让知识为自己服务。3.部分学生考取了电子商务师资格证。六.教学反思 1.在讲授过程中,发现学校的教材内容已经老化,我鼓励同学们要与时俱进,积极利用身边的资源汲取新知识。 2.在多种媒介的感官刺激下实现对新知的体验和实践。最后,在真实的情景中运用实现能力的发展。 3.同学们都很喜欢学习能够学以致用的知识或技能而且大家都很喜欢自己的思想能够被别人认同。所以要多鼓励同学们。 4.学生和老师可以互为良师益友,有些学生在某方面的能力已经超越我,所以我需要每天学习新知识。 《探秘二维码》教学设计及反思 教材分析 本课是大连理工大学出版社出版的小学信息技术五年级下册第一单元“信息世界奇遇”第二课的内容。本课主要围绕当下流行的“二维码”展开活动,先认识二维码、了解二维码在生活中的广泛应用,并在此基础上,学习使用智能手机和扫描软件来识别二维码,同时能利用在线网站平台制作二维码,为自己的学习和生活服务。 学情分析 本课的教学对象是小学六年级的学生。他们通过之前的学习,已经掌握了文字编辑、图片插入、上网下载等操作,具有一定的计算机操作基础。课前笔者经过调查,了解到学生对二维码的学习非常感兴趣,对用手机软件扫描二维码的实践操作有所尝试,但对二维码的相关知识及使用了解并不多。 教学目标 知识与技能目标:①了解什么是二维码;②了解二维码在生活中的广泛应用;③知道如何应用智能工具识别二维码;④掌握利用网站平台生成二维码的操作方法。 过程与方法目标:①通过观察、操作,了解识别二维码的方法;②通过完成层次递进的小任务(扫二维码、生成二维码),感受二维码在生活中的广泛应用。 情感态度与价值观目标:①通过学习,感受二维码的神奇,体验信息技术在生活中的实际应用;②在实践操作中,了解信息技术发展的前沿动态,激发求知欲望,不断探索信息世界。 教学重点、难点 重点:二维码的用途,生成二维码及其识别方法。 难点:生成二维码及识别二维码的方法。 教学过程 1.创设情境 师:今天老师给大家表演一个小魔术,请仔细看。我用手机对着黑板上的图案扫一下,手机里出现了什么? 教师用手机扫描黑板上的二维码图案,用投影将手机上的画面呈现到白板屏幕上。 师:老师可以在手机里和你们打招呼了。现在,我手里拿的是学习时用的练习册,翻开其中一页,我用手机对着图案扫一下,看看会出现什么情况?(教师手机中出现数学题的答案讲解视频)黑板上、练习册中的这个图案,咱们都见过吧?它叫什么? 生:二维码。 教师揭开本课活动主题:探秘二维码。 设计意图:借助手机扫描不同的二维码,引导学生体验二维码的奇妙之处,从而调动他们的学习积极性。 2.新授探究 (1)认识二维码 课件展示各种不同的二维码图案。 师:从外形上看,二维码是什么样子的? 学生回答。 师:二维码是一种用特定的几何图形,按规律在平面上分布的图形。 设计意图:展示不同图案的二维码,让学生观察、发现图形的特点,并用自己的语言从形状、颜色等方面来描述二维码的样子。教师结合学生的认知进行总结,从而使学生对二维码有初步了解。 (2)应用二维码 师:生活中,你在哪些地方见过二维码?它有什么作用呢? 学生结合自己的经历,简单介绍自己所看到的二维码包含了什么信息。 课件出示二维码在生活中应用的各种图片资料。 师:大家观察得很仔细,我们每个人与二维码都有过接触,在食品包装、电视节目、网站页面,甚至我们买的电影票、火车票等上面,都能看到二维码的“身影”。 设计意图:学生虽然能够说出自己在哪里见过二维码,但由于接触得较少,对二维码应用的具体意义理解得还不够。教师通过出示二维码在生活中具体应用的实例图片,让学生不仅能够认识到二维码的应用之广,更能了解二维码存在的意义。 (3)识别二维码 师:二维码虽然很小,看上去也很简单,但却蕴藏着大量的信息。在智能手机上安装扫码软件,扫描二维码,就可以显示出相关的文字、图片等信息资料。那么,怎样用手机扫描二维码呢?老师这里有一个二维码图案,有过扫码经历的同学,请给大家演示一下。 学生演示操作,其他同学动手尝试,教师指导。 师:这位同学操作得非常准确,他是用“微信”自带的“扫一扫”功能来扫描二维码的,大家都看明白了吗? 生:看明白了。 设计意图:教师不是直接讲给学生听,而是让有过扫码经历的学生和其他学生一起探讨操作方法,会的学生能够提升自我成就感,不会的学生也跃跃欲试,通过看、问、做,共同达成学习目标,把复杂的操作简单化,创设学生互助的学习氛围。 师:除了微信以外,扫码的软件还有很多。既然大家都会用微信扫码,那么现在老师给每组发一个正方体,这个正方体每个面都有序号和二维码,第一位同学扫描1号二维码,然后依次扫描,最后每组同学根据本组的扫描结果交流分析,并告诉大家你们得出的答案。 一组:英语单词apple(苹果)——学生自己拼读。 二组:家乡的名胜古迹图片——学生介绍。 三组:科普网站——学生展示喜欢的网页。 四组:古诗句(文字、插图等)——学生有感情地朗诵诗句。 设计意图:本环节将扫描二维码这个操作转化为一种游戏竞赛,让学生充分体验用手机扫描二维码的过程,学生查看扫描结果,并与同伴交流讨论,找到问题的答案。这样不仅巩固了学生操作的准确度和熟练度,也让他们更愿意参与活动,并促进其与同伴的合作学习。 (4)制作二维码 师:二维码的作用可真大,它就像是一把特殊的“钥匙”,能打开信息世界的大门,让我们了解更多的内容。那么,我们能不能把一些喜欢的图文信息制作成二维码传递给别人呢?请大家打开计算机桌面上的微视频,自学制作二维码的方法。 学生带着疑问,观看视频。 师:对照视频的讲解,请你制作一个能显示自己名字的二维码。 学生尝试制作二维码,教师跟踪指导。 设计意图:学习利用在线网站平台制作二维码的过程,是学生思维与操作并行的过程。学生借助微课资源,多次观看,反复试做,用手机验证成果,不仅能掌握生成二维码的基本操作,也能呈现自己的思想内容。 3.拓展分享 师:在微视频的拓展学习中,还提到了可以生成网址、图片、文件、名片等类型的二维码,大家可以参考学习。 学生继续观看视频,并做验证。 师:现在我们以三人为一组,打开桌面上的资源文件夹,请大家利用这些资源,制作你们小组的名片二维码,向大家展示你们最精彩的一面。 学生制作二维码,教师巡视,了解学生的创作思想,并给出建议。 师:请大家离开座位互相欣赏其他组制作的二维码,用手机扫一扫,看看成果。 学生扫码,分享作品。 教师请学生代表介绍本组二维码所表达的思想。 设计意图:学生在已掌握生成二维码操作方法的基础上,自主探究,制作更多类型的二维码,提出问题,师生共同解决,并将成果与他人分享。这样有助于学生加强对获取信息、加工信息、传递信息等知识的理解。 4.活动总结 教师出示课件内容:二维码的安全性问题和拓展内容。 师:二维码给我们的生活带来了便捷,但同时也存在着安全问题,因此我们除了利用好二维码,更要建立使用二维码的安全意识。有些不法分子借助二维码传播手机病毒、恶意程序,盗取用户信息等,所以大家不要随意扫描来历不明的二维码。同时,在我们的身边还有很多二维码,世界上最大的二维码就是麦田画联萌团队设计并种出来的(展示图案,学生扫码)。大家也可以发挥自己的想象力,设计出更有特点和意义的二维码。 设计意图:二维码是一种新兴科技,不能只看到它的优点,还要让学生建立使用二维码的安全意识,对二维码的应用发展有正确的认识,同时让他们了解二维码更多的应用奇闻,拓宽视野。 教学反思 本课经过教学实践,有较好的成效。首先,笔者设计的活动充分考虑了学生的实际,尊重学生的需求。在课前,笔者对学生的已有经验进行了调查、了解。课堂伊始,笔者以魔术的形式和常见的学习工具,激发学生的好奇心,让他们有学习的需求。而在后续每个环节的衔接、设计活动中,笔者都充分调动了学生的学习积极性,并围绕二维码这一主题层层探究,让每位学生都有体验的过程,都渴望参与其中。其次,微课资源的利用给学生的学习带来了一定的优势,学生可以在操作的过程中,对每个小细节反复观看并领悟其方法。 本节课也有不足之处,笔者没有进行集中性的评价活动,导致学生对自己的学习成效不太了解,这无疑对课堂的整体效果产生了一定影响。 《探秘二维码》教学设计及反思 高新实验玉龙湾学校 刘强第三篇:电子综合设计报告
第四篇:二维码单元教学设计
第五篇:《探秘二维码》教学设计及反思