单片机生产实习报告

时间:2024.4.20

单片机生产实习报告

一、生产实习的目的和意义:

生产实习是培养本科学生理论联系实际,提高实际动手操作能力的重要教学环节。本专业的生产实习旨在使学生广泛了解实际电子产品生产的全过程,熟悉电子产品的主要技术管理模式,并在实习的操作过程中学习、掌握电子产品的焊接、安装、调试的实际操作技能。巩固和加深理解所学的理论,开阔眼界,提高能力,为培养高素质大学本科人才打下必要的基础。通过学习,是理论与实际相结合,可以使学生加深对所学知识的理解,并为后续专业课的学习提供必要的感性知识,同时使学生直接了解本业的生产过程和生产内容,为将来走上工作岗位提供必要的实际生产知识。

二、实习的基本内容:

  1、集中授课,进行相关知识的学习。

  2、学习、掌握电子产品的独立性设计与安装、调试的能力;进一步掌握电子测量仪器的正确使用方法,电元器件的测量与筛选技术。

  3、初步了解电子整机产品的工艺过程。

  4、为能使学生得到充分的锻炼,较大的提高学生的实际动手能力,本次生产实习安排每一位学生独立完成全部系统的设计与安装工作。

  5、本实习环节,学生要独立使用电焊铁及各种电子测试设备电路安装与调试,要学生严格遵守电器设备的使用安全,遵守实验室的各项规章制度。

三、基本要求:

  1、在教师的指导下练习在测试电路德核心板上焊接元件,掌握焊接要领。

  2、熟悉元器件的性能及管脚分配。

  3、在给定的PCB板上焊接跳线,IC插座,电阻,电容,LED器件等。

  4、检查焊接是否正确。

  5、插上元器件,运行系统,并观测系统工作是否正常。

四、总体设计电路思想和原理:

    本次生产实习用到的开发板和模块共7块,分别为:单片机核心板,电子钟模块,MP3模块,RFID模块,无线传输模块,脉搏传感模块,GPS模块。

    各模块相互组合,其所能实现的基本功能如下:

  1、单片机核心板+电子钟模块:实现时间的显示,温度的测量,且可通过遥控器调时、定闹等。

  2、单片机核心板+无线传输模块:实现数据的近距离无线传输。

  3、单片机核心板+MP3模块(含SD卡):实现MP3播放功能。

  4、单片机核心板+RFID模块:实现地铁检票系统的模拟。

  5、单片机核心板+脉搏传感模块:实现人体脉搏传感的测量。

  6、单片机核心板+GPS模块:实现GPS卫星定位功能。

(一)核心板电路设计 

单片机核心板电路主要包括STC12C5A60S2单片机,电子钟模块接口电路,MP3接口电路,无线传输模块接口电路,脉搏传感模块接口电路,GPS模块接口电路,串口扩展电路,电源供电电路。该系统的单片机是宏晶科技生产的单时钟机器周期(IT)的单片机,是高速、低功耗、超强干扰的新一代8051单片机。通过使用STC-ISP软件,该单片机可实现串口在线编程,无需编程器,无需仿真器。

核心板电路的设计思想主要是围绕单片机芯片的工作原理和特点,为其实现合理的设计出外围电路:包括电源电路,显示电路部分,复位电路部分,串行口通信电路,按键电路等。

(二)电子钟模块电路设计

该模块主要用到的芯片有:时钟保持芯片DS1302,单总线数字温度传感器DS18B20,红外遥控解码器TL1838A。

    该模块电路设计的思想是了解这三种芯片的工作电压,DS1302的工作时钟频率以及三种芯片与单片机之间的硬件连接。

(三)MP3模块电路设计

该模块用到的主要芯片有MP3音频解码芯片VS1003,3.3V电压转换芯片LM1117-3.3,2.5V电压转换芯片LM1117-2.5。

该电路的设计思想主要是了解芯片的作用和特点,寻找各芯片之间的联系,VS1003芯片是该模块的主要部分。单片机设有单独解码MP3文件的功能,而单片机可与通过VS1003的接口电路的连接,进行MP3的解码,实现音频的输出。通过芯片各引脚的功能和特点,合理的设计出相应的外围电路。

(四)RFID模块电路的设计

该模块的电路所用到的主要芯片为13.56MHZ的非接触式通信读卡芯片FM1702。该芯片是基于ISO/4443标准的非接触卡读卡机专用芯片,采用0.6微米CMOS 、EEPROM工艺,支持13.56MHZ频率下的type A非接触式通信协议,支持多种加窗算法,兼容philips的MFRC530(SPI接口)读卡机芯片。

该模块的电路设计思想是基于FM1702各引脚的功能和特点,合理的设计芯片的外围电路,其中的电容和电感所构成的天线是芯片与S50卡通信的工具。

五、单元电路设计:

  1、单片机核心板电路分析

   单片机核心板是本次实习中最重要的部分,它是实现各种模块功能的基础部分。单片机核心板的核心是STC12C5A60S2单片机芯片,围绕该芯片设计出相应电源供电电路,蜂鸣器驱动电路,按键电路,串行口通信电路,复位电路,液晶屏驱动电路以及各模块的接口电路,由以上的电路部分就构成一个核心板电路系统。

  2、电子钟模块电路分析

   电子钟模块配合单片机核心板,可在LCD1602液晶屏上显示当前的日期(年月日)时间(时分秒),环境温度值,和红外遥控解码值。用户可通过遥控器或单片机核心板上的按键来进行日期和时间的设置。

   通过遥控上的“EQ”键,可控制LED显示界面在时间、温度、红外解码之间的切换。如果想调整时间,需要首先使用遥控器的“EQ”键将LCD显示调制时间界面;之后通过按“播放停止键”将时间停止;然后再按“左快捷键”向右切换;最后按“加减键”可以进行数值的加减操作,调整完成后,再次按“播放停止键”,时间开始运行。另外通过单片机核心板上的K1-K4键也可以完成时间的调整:其中K1键对应遥控器的“右快捷键”,即实现向右切换年月日时分;K3键对应遥控器的“加键”,即实现年月日时分的加1;K4键对应遥控器的“减键”,即实现年月日时分的减1。

3、MP3电路模块分析

   VS1003是一单芯片MP3/WMA/MIDI音频解码和ADPCM编码芯片,其拥有一个高性能低功耗的DSP处理器核VS-DSP。5K的指令RAM,0.5K的数据RAM,串行的控制和数据输入接口,4个通用IO口,1个UART口;同时片内带有一个可变采样率的DAC,一个立体声DAC以及音频耳机放大器;VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。

VS1003与单片机连接的引脚主要有7个,分别为:SO、SI、SCLK、XDCS、XRESET、DREQ、MOSI,只有保证它们与单片机正确可靠的连接,才能对VS1003进行有效的操作与控制。另外,VS1003各部分的供电电压与输出电压值是不同的。

VS1003芯片各部分供电电压如下表:

SDIMMC卡是一种大容量,性价比高,体积小,访问接口简单的存储卡。SDIMMC卡大量 应用于数码相机、MP3、手机、大容量存储设备。作为这些便携式设备的存储载体,它具有低功耗,非易失性,保存数据无需消耗能量的特点。

MMC卡只使用了1-7触点。对于1号引脚(CD/DAT3)扩展的DAT线(DAT1-DAT3)在上电后处于输入状态,它们在执行SET-BUS-WIDTH命令后作为DAT线操作,当不用DAT1-DAT3线时,主机应使自己的DAT1-DAT3线处于输入模式,这样定义是为与MMC卡保持兼容。上电后,CD/DAT3作为带50K上拉电阻的输入线(可用于检测卡是否存在或选择SPI模式)。用户可以在正常的数据传输中用SET-CLR-CARD-DETECT(ACMDA口)命令断开上拉电阻的连接。MMC卡的该引脚在SD模式下为保留引脚,在SD模式下无任何作用。对于2号引脚CMD,MMC卡在SD模式下为IO/PP/OO,MMC卡在SPI模式下为I/PP。

关于电压匹配问题,SD卡的逻辑电平相当于3.3V TTL电平标准,而单片机的逻辑电平为5V。因此,它们之间不能直接相连,否则会有烧毁SD卡的可能。解决逻辑器件接口的电平兼容问题,原则主要有两条:一为输出电平器件输出高电平的最小电压值,应大于接受电压器件识别为高电平的最低电压值;二为输出电平器件输出低电平的最大电压值,应小于接受器件识别为低电平的最高电压值。考虑到SD卡在SPI协议的工作模式下,通讯都是单向的,于是在单片机向SD卡传输数据时采用晶体管加上拉电阻法的方案。在SD卡向单片机传输数据时,可以直接连接。因为它们之间的电平刚好满足上述的电平兼容原则,既经济又实用。该方案可以双电源供电(一个5V电源,一个3.3V电源供电),3.3V电源可用ASL1117稳压管从5V电源稳压获取。

4、RFID模块电路分析

基于FM1702SL的非接触式IC卡读写器,只要稍加改动就能开发成不同的射频识别应用系统,如考勤系统,门禁系统,公交车收费系统等。S50非接触式卡符合MIFARE的国际标准,容量8K位,数据保存期10年,又可改写10万次,读无限次。S50卡不带电源,自带天线,内含加密控制逻辑电路和通用逻辑电路,卡与读卡器之间的通讯采用国际通用DES和RES保密交叉算法,具有较高的保密性能。

单片机与FMITDISL通用SPI总线通信,采用中断工作模式,在FMITDISL复位后,必须进行一次初始化程序以便初始化SPI接口模式,而且可以同步实现单片机和FMITDISL的启动工作。信息存储在MIFARSE卡里,读写器与卡通过各自的天线建立起二者之间非接触信息传输通道。当卡进入系统的工作区时,读写器向卡发射一组固定频率的电磁波,卡内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端接有一个单向导通的电子粟,将带内容内的电荷送到另一个电容内存储,当所有积累的电荷达到2V时,此电容可做到电源为其它电路提供工作电压,将卡内数据发射出去或读取读写器的数据。

根据互感原理可知,读写器天线半径越大,匝数越多,读写器上的天线和卡上的天线的互感系数就越大。根据国际标准的要求,卡和读写器的通信距离为10cm,通过调整天线驱动电压可以改变通信的最长距离。天线的传输带宽和品质因数成反比关系。过高的品质因数会导致带宽减小,从而减弱读写器的调制边带,会导致读写器无法与卡通信。

5、无线传输模块分析

nRF24L01是一无线通信芯片,采用FSK调制,可以实现点对点或是1对6的无线通信。无线通信速度最高可达2Mbps,只需为单片机系统预留5个GPIO,1个中断输入引脚,就可很容易地实现天线通信的功能,非常适合用MCU系统构建无线通信功能。

nRF24L01具有收发模式,待机模式和掉电模式,四种工作模式,并由CE、寄存器内部PWR、VP和PRIM、RX共同控制。nRF24L01所有的配置都由配置寄存器来定义,这些配置寄存器可通过SPI口访问。SPI接口由SCK、MOSI、MISO及CSN组成,在配置模式下单片机通过SPI接口配置nRF24L01的工作参数,在发射或接收模式下单片机SPI接口发送和接收数据。

单片机的控制指令从nRF24L01的MOSI引脚输入,而nRF24L01的状态信息和数据是从其MISO引脚输出并送给单片机的。利用SPI传输数据时,是先传输低位字节,再传输高位字节,并且在传输每个字节时是从高位传起。

六、单片机软件系统工作流程

通过使用STC-ISP软件,STC12C5A60S2单片机可实现串口在线编程。由于现在大的数据计算机都不存在提供单独的串口,所以需要USB转RS232串口线。

1、USB转RS232串口设备驱动程序的安装

2、STC-ISP V483串口下载软件

七、实习过程心得:

新学期伊始,就迎来了为期四周的单片机生产实习。在这次生产实习过程中,我受益颇多。这是我们经历的第一次广泛了解实际电子产品生产的全过程。从最初的设计,到焊接,安装,调试,我们都是逐一亲自动手操作完成的。在这次实习中,我们遇到了不少问题,但正是因为有了这些问题,才有了我们更加深入学习的机会。为了解决这些问题,我们查资料,探讨,请教老师,充分利用自己身边的一切资源来学习。这样的学习过程让我们对所学内容理解的更深刻,而且大大提高了我们的团结协作能力。在实际操作焊接的过程中,我们从笨拙到熟练,动手能力不断提高,有了很大的进步。这为我们以后步入工作岗位做了良好的铺垫。

总之,通过这次生产实习,我受益匪浅,各方面的能力都有了提高。最后,感谢在实践过程中悉心指导的每一位老师!


第二篇:单片机生产实习报告电子钟


东北石油大学

实习总结报告

单片机生产实习报告电子钟

实习类型 生产实习 实习单位 电子科学学院实习基地 实习起止时间 20xx年6月25日至20xx年7月14日 指导教师 所在院(系) 电子科学学院 班 级 学生姓名 学 号

20xx年 7月 14日

一、实验目的与要求

通过单片机开发板安装实习,巩固以前所学理论知识,让学生掌握单片机的硬件知识及设计方法,提高自身的动手能力,通过对单片机硬件和软件的综合训练,增进学生对电子工艺的感性认识,了解电子产品制造过程,熟悉电子产品工艺,掌握锡焊接技术、电子元器件、电子产品设计、装配技术、调试与检测技术以及电子技术文件的制订等操作技能,通过把设计好的程序利用软件将编译文件加载到单片机芯片中,实现仿真电路,得到结果,为进一步学习和应用奠定基础,全面提高学生的实践动手能力和分析问题、解决实际问题的能力,培养其创新精神。

二、单片机开发板原理及各部分功能说明

1.设计原理

5l系列单片机中典型芯片(AT89S51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的I/O端口:P0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。

5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。ATMEL的AT89S51是一种高效微控制器,AT89S2051是它的一种精简版本。AT89S单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

单片机编程,用单片机设计电路,调节时间时,按动调节按钮,六位数码管显示实时时间。

2.时钟电路工作原理

STC89C52单片机片内的Flash可允许在线重新编程,也可用通用非易失性存储编程器编程;片内数据存储器内含128字节的RAM;有40个引脚,32个外部双向输入/输出(I/O)端口;具有两个16位可编程定时器;中断系统是具有6个中断源、5个中断矢量、2级中断优先级的中断结构。在STC89C52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

1

3. 共阴极数码管

LED数码管是由7个发光二极管构成的,亦称半导体数码管。将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。若按规定使某些笔段上的发光二极管发光,就能显示从0~9的?系列数字。LED显示器多采用动态显示方式, LED显示器动态显示需要为各位提供段码以及相应的位控制,此即通常所说的段控和位控。数码管的八个位控口接在AT89S52单片机的P1口线上,从左到右顺序连接,段控制线接在AT89S52单片机的P0口线上,从低位到高位对应连接。它亮度高、单色性好、发光响应的时间短,能与TTL、CMOS电路兼容等的数显器件。+、-分别表示公共阳极和公共阴极。a~g是7个笔段电极,DP为小数点。另有一种字高为7.6mm的超小型LED数码管,管脚从左右两排引出,小数点则是独立的。本系统利用4位LED数码管显示时间,共阴极结构。显示模块要具有显示时分秒和间隔闪烁符(至于每两级单位之间)的功能,共需要八位数码管。并排使用的多位数码管称为LED显示器。显示模块要具有显示时分秒和间隔闪烁符(至于每两级单位之间)的功能,共需要八位数码管。并排使用的多位数码管称为LED显示器。LED显示器多采用动态显示方式, LED显示器动态显示需要为各位提供段码以及相应的位控制,此即通常所说的段控和位控。数码管的八个位控口接在AT89S52单片机的P1口线上,从左到右顺序连接,段控制线接在AT89S52单片机的P0口线上,从低位到高位对应连接。把LED显示器段码表预先存放在存储器中,使用时通过查表就可以得到段码。段码输出后送到公共段码线上,也可称为段控信号。而通过并行口输出的相互独立的位码则是起选通作用的,也称位控或扫描信号,用于选择显示位。

单片机生产实习报告电子钟

图1 共阴极数码管

以八段数码管为例,显示十六进制的段码值如表1

2

单片机生产实习报告电子钟

表1十六进制段码表

4. 按键

本设计中主要有三个控制按键,P3.2为调时间模式,长按P3.2进入调分状态:分单元闪烁,按P3.2加1,按P3.3减1.再长按P3.2进入时调整状态,时单元闪烁,加减调整同调分.按长按退出调整状态;按P3.3进入设定闹时状态: 12:00: ,可进行分设定,按P3.4分加1,再按P3.2为时调整,按P3.4时加1,按P3.3调闹钟结束.在闹铃时可按P3.2停闹,不按闹铃1分钟;按下P3.4进入秒表状态:再按P3.4秒表又启动,按P3.4暂停,再按P3.4秒表清零,按P3.4退出秒表回到时钟状态。

图2控制按键

3

单片机生产实习报告电子钟

5.蜂鸣器电路

图3蜂鸣器电路图

因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。

6.单片机系统电路

单片机生产实习报告电子钟

单片机生产实习报告电子钟

AT89S52

图4单片机系统电路图

此部分是电路的核心部分,系统的控制采用了单片机STC89C52。单片机STC89C52内部集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。因此系统不必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。

4

三、硬件调试

首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线是否存在相互之间短路或与其它信号线路短路。硬件电路调试的一般顺序是:对接地和接电源进行检查,看是否接通;插上芯片和接上电源看复位开关是否正常使用;数码管未插上芯片检查管各段LED灯是否按要求接入。元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。测试数码管:把万用表调到测二极管的档,用红表笔触行输入端,用黑表笔触列输入端.注意观察256个点是否正常亮.(2) 测试按键:直接连接按键到单个可用LED发光二极管(这里采用实验板上发光二极管),按下每个按键看LED是否可亮,若亮,说明按键可用.(3)调试:建立一个新工程,输入源程序,最后编译得到一个目标文件,用编程器把程序写入单片机STC89C52中,插到实验板,把电路板与+5V稳压电源连接,把芯片插入电路板,打开电源,六个数码管分别显示时、分和秒的十位和个位,通过电路把六个数码管调为零,通

5

单片机生产实习报告电子钟

过两个开关分别调时分的十位,个位。调时调为23,把分调59,秒调为59,然后等一秒钟,如果显象管的时分的十位、个位和秒位都显示为0,那就说明调试成功,在测试工程中,不但要认真观察和检测,还要认真记录,包括记录观察的现象,测量的数据,通过数据才能把实际观察的现象和理论预计的结果加以定量比较,从中发现问题,加以改进,最终完成设计。在这个设计中主要测试时间是否正确,是否能符合设计的要求。

四、软件开发

此程序是用定时器0,1实现电子钟的时分秒的输出分别用按键k1,k2来改变时和分的数值,再用扫描按键,键处理来实现按键的数字扫描,先关闭所有数码管,定时器0, 1工作模式1, 16位定时方式,装入10ms定时初值,用th1和tl1中的数控制定时器1定时多少再进入中断,再实现秒进分,分进时的完成。

#include <REG51.H>

#include <INTRINS.H>

unsigned char DATA; //数据端口

unsigned char DIS_DIGIT; //位选通值

unsigned char KEY_S; //定义按键

unsigned char KEY_V; //定义按键

unsigned char code DIS_CODE[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3

0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, OFF

unsigned char data DIS_BUF[8]; //缓冲区数组可访问数值

unsigned char data DIS_INDEX; //表示数码管、缓冲区偏移量

unsigned char HOUR,MIN,SEC; //定义时分秒

unsigned char SEC100; //定义百分之一秒

sbit K1 = P3^2; //用k1表示P3.2

sbit K2 = P3^3; //用k2表示P3.1

bit SCAN_KEY();//扫描按键

void PROC_KEY();//键处理

void INC_SEC();//秒

void INC_MIN();//分

void INC_HOUR();//时

void DISPLAY();//显示

void DELAYMS(unsigned char MS); //延时子程序

void MAIN()

{

P0 = 0x00; //先关闭所有数码管

P1 = 0x00;

TMOD = 0x11; // 定时器0, 1工作模式1, 16位定时方式

6

TH1 = 0xdc; //装入10ms定时初值

TL1 = 0; //用th1和tl1中的数控制定时器1定时多少再进入中断 TH0 = 0xfc;

TL0 = 0x17;

HOUR =00; //时初值

MIN = 00; //分初值

SEC = 00; //秒初值

SEC100 = 0; //百分之一秒初值

DIS_BUF[7] = DIS_CODE[HOUR / 10]; // 时十位

DIS_BUF[6] = DIS_CODE[HOUR % 10]; // 时个位

DIS_BUF[4] = DIS_CODE[MIN / 10]; // 分十位

DIS_BUF[3] = DIS_CODE[MIN % 10]; // 分个位

DIS_BUF[1] = DIS_CODE[SEC / 10]; // 秒十位

DIS_BUF[0] = DIS_CODE[SEC % 10]; // 秒个位

DIS_BUF[2] = 0Xbf; // 显示"-"

DIS_BUF[5] = 0Xbf; // 显示"-"

DIS_DIGIT = 0XFE; //位选通值初值11111110先亮秒

DIS_INDEX = 0; //当前显示的数码管、缓冲区的偏移量为0 TCON = 0x01; //让定时器t0工作在01模式下

IE = 0x8a; // 使能TIMER0,1 中断

TR0 = 1; //启动定时器0

TR1 = 1; //启动定时器1

KEY_V = 0X03; //两个按键都释放

while(1)

{

if(SCAN_KEY())//扫描按键

{

DELAYMS(10); //延时去抖动

if(SCAN_KEY())//再次扫描

{

KEY_V = KEY_S; //保存键值

PROC_KEY();//键处理

}

}

}

}

bit SCAN_KEY()//扫描按键

7

{

KEY_S = 0x00; //将KEY_S值清零

KEY_S |= K2; //KEY_S的最低位和k2相或

KEY_S <<= 1; //将所得到值左移一位

KEY_S |= K1; //用KEY_S最低位和k1相或

return (KEY_S ^ KEY_V); //KEY_S与KEY_V值作异或其结果作为返回值返回 }

void PROC_KEY()//键处理

{

EA = 0; //关闭全局中断

if((KEY_V & 0x01) == 0) // K1按下

{

INC_HOUR();//输入时

}

else if((KEY_V & 0x02) == 0) // K2按下

{

MIN++;//分加1

if(MIN > 59) //当分大于59时

{

MIN = 0; //分归零

}

DIS_BUF[4] = DIS_CODE[MIN / 10]; // 分十位

DIS_BUF[3] = DIS_CODE[MIN % 10]; // 分个位

}

EA = 1; //打开中断

}

void timer0() interrupt 1 // 定时器0中断服务程序, 用于数码管的动态扫描 {

TH0 = 0xfc;

TL0 = 0x17;

P1 = 0x00; // 先关闭所有数码管

P0 = DIS_BUF[DIS_INDEX]; // 显示代码传送到P0口

P1 = DIS_DIGIT; //传送到p1口用于选通当前数码管数值

DIS_DIGIT = _crol_(DIS_DIGIT,1);

DIS_INDEX++; //位选通值左移, 下次中断时选通下一位数码管

DIS_INDEX &= 0x07; // 8个数码管全部扫描完一遍之后,再回到第一个开始下一次扫描

8

}

void timer1() interrupt 3//定时器1中断服务程序, 用于数码管的动态扫描 {

TH1 = 0xdc;

SEC100++;//百分之一秒加1

if(SEC100 >= 100) //如果百分之一秒大于100

{

SEC100 = 0; //百分之一秒为0

INC_SEC();//输入秒

}

}

void INC_SEC()//秒函数

{

SEC++;//秒加1

if(SEC > 59) //如果秒大于59

{

SEC = 0; //秒为0

INC_MIN();//输入分

}

DIS_BUF[1] = DIS_CODE[SEC / 10]; //

DIS_BUF[0] = DIS_CODE[SEC % 10]; //

}

void INC_MIN()//分函数

{

MIN++;//分加1

if(MIN > 59) //如果分大于59

{

MIN = 0; //分为0

INC_HOUR();//输入时

}

DIS_BUF[4] = DIS_CODE[MIN / 10]; //

DIS_BUF[3] = DIS_CODE[MIN % 10]; //

}

void INC_HOUR()//输入时

{

HOUR++;//时加1

if(HOUR > 23) //如果时大于23

秒十位 秒个位 分十位 分个位 9

{

HOUR = 0; //时为0

}

if(HOUR > 9) //如果时大于9

DIS_BUF[7] = DIS_CODE[HOUR / 10]; // 时十位

else

DIS_BUF[7] = 0xff; // 当小时的十位为0时不显示

DIS_BUF[6] = DIS_CODE[HOUR % 10]; // 时个位

}

void DELAYMS(unsigned char MS) // 延时子程序

{

unsigned char I;

while(MS--)//每一次循环1ms

{

for(I = 0; I < 120; I++);//最大循环120次

}

}

五、心得体会

我在这一次数字电子钟的设计过程中,通过对自己学习过的知识的回顾,充分发挥对所学知识的理解和对实习项目的思考,完成了这次生产实习,这为自己今后进一步深化学习积累宝贵的经验。经过二十天的实习,我学到了很多,我知道了STC89C52在整个时钟电路中的作用以及各部分电路的原理。我们主要由两部分内容,首先,由老师讲解单片机各部分的功能及特点,我们将发到手里的元器件组装焊接成完整的单片机开发板。第二部分就是在焊接完成的基础上进行软件编程并实现一定功能以完成一个系统设计。因为有了去年焊接收音机的基础所以焊接对于我来说并不是件难事,轻而易举就解决了。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。随着社会发展,我们的生活对数字电子产品的需求日趋强烈。通过这次对单片机发展前景的展望,充分认识到单片机在我们生活和工业领域应用的重要性。特别是对单片机实验板的亲手焊接,认识到理论与实践之间的差距,也知道了理论和实际想结合的重要性,也从中学到了很多的书本上无法学到的知识。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。这次生产实习中,感谢老师的悉心指导和严格要求,让我们获得了丰富的电子工艺理论知识,极大地提高了实践动手能力。

10

单片机生产实习报告电子钟

11

更多相关推荐:
单片机生产实习报告

20xx届实习报告姓名班级学号指导教师电气工程学院20xx年6月成绩评定

51单片机生产实习报告

测控技术与仪器生产实习说明目录前言2实习制作任务书3第1章方案的论证4第2章硬件的焊接5第3章芯片的介绍531单片机STC89C52的介绍532ADC0809的介绍833MC4543B显示译码器的介绍1134L...

燕山大学单片机生产实习报告

燕山大学单片机生产实习报告一、生产实习的目的和意义:生产实习是培养本科学生理论联系实际,提高实际动手操作能力的重要教学环节。本专业的生产实习旨在使学生广泛了解实际电子产品生产的全过程,熟悉电子产品的主要技术管理…

51单片机生产实习报告

学号10780220实习报告生产实习起止日期20xx年6月24日至20xx年7月19日学班成生姓名岳维启级电子信息科学与技术2班绩指导教师签字计算机与信息工程学院20xx年7月19日目录第一章系统开发与调试11...

单片机生产实习报告

学号实习报告生产实习起止日期20xx年6月24日至20xx年7月19日学班成生姓名级绩10电信科1班指导教师签字计算机与信息工程学院20xx年7月19目录第一章生产实习介绍111生产实习的目的112生产实习的意...

单片机生产实习报告

生产实习班级姓名学号成绩电子与信息工程学院信息与通信工程系目录1设计任务111基础项目1111单片机最小系统1112简单外围电路制作与编程112提高项目12设计思路221简单外围电路设计思路222提高项目设计思...

单片机生产实习报告

河北联合大学轻工学院生产实习报告学院轻工学院专业自动化5班组别第五组姓名杜鹏程学号20xx15010524指导老师杨志刚20xx年7月1日

单片机焊接实习报告1

20xx20xx学年第2学期实习名称生产实习分项名称电路板焊接系别计算机与通信工程系专业铁道信号学号姓名实习地点实验中心507实习时间8月14日8月1日实习成绩指导教师签字西南交通大学峨眉校区20xx年8月日实...

c51单片机实习报告

基于单片机实现短距离无线通信设计1引言短距离无线传输具有抗干扰性能强可靠性高安全性好受地理条件限制少安装灵活等优点在许多领域有着广泛的应用前景低功耗微型化是用户对当前无线通信产品尤其是便携产品的实际需求短距离无...

里仁学院电子工程系生产实习报告

里仁学院电子工程系报告一生产实习的目的和意义生产实习是培养本科学生理论联系实际提高实际动手操作能力的重要教学环节本专业的生产实习旨在使学生广泛了解实际电子产品生产的全过程熟悉电子产品的主要技术管理模式并在实习的...

单片机实训报告模板

单片机实训设计报告单片机实训设计报告题目可调电子时钟的设计学院交通信息学院专业电气自动化技术班级电气091姓名学号长号指导老师1单片机实训设计报告一实验内容利用CPU的定时器和实验仪上提供的数码显示电路设计一个...

单片机电路板焊接实习报告

一:实习目的1、熟悉手工焊锡的常用工具的使用。2、基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。3、焊接PCB电路板,调试制作的电路板。二:实习内容与时间安排第一阶段:实习说明、理论学习…

单片机生产实习报告(29篇)