单片机实训报告

时间:2024.4.13



   

随着社会的进步,人们的发展水平逐渐提高,单片机技术已经成为我们生活的一部分。随着时代的发展,单片机已经为现代人工作、科研、生活、提供更好的更方便的设施,一切都已向着数字化控制,智能化控制方向发展。

通过本次的实习,使我们进一步的理解了我们学到的理论知识,巩固和深化了单片机的基本认识,提高了单片机应用技术的实践操作技能,掌握单片机的应用系统设计的一般方法。本次实习培养我们利用单片机进行科研技术革新,开发和创新的基本能力,为毕业从事与单片机有关的事业打下了一定的基础。

本次设计的总体就是利用Protuse软件以及keil软件进行基础的认识,学会对单片机系统的设计及仿真,并能学会自主对单片机进行设计和仿真。本次实习主要进行了两个设计并对其进行了扩展:单片机控制步进电动机以及数字温度计设计。虽然仅仅是两个基本设计,但从中我们也获益无穷,正说为只有基础稳定,我们才能站的更高,看的更远,学到跟多的知识。

本人水平有限,编写过程中难免有错误之处,希望老师能给与批评指导。                                                     

实习中常用软件

1.Proteus 7 Professional软件

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,20##年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

2.1Proteus 7 Professional基本概念

2.1.1功能特点

Proteus软件具有其它EDA工具软件的功能。这些功能是:

  (1)原理布图

  (2)PCB自动或人工布线

  (3)SPICE电路仿真

革命性的特点

  (1)互动的电路仿真

  用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

  (2)仿真处理器及其外围电路

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

2.1.2功能模块

  (1)智能原理图设计

  丰富的器件库:超过27000种元器件,可方便地创建新元件;

  智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;

  智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;

  支持总线结构:使用总线器件和总线布线使电路设计简明清晰;

  可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。

  (2)完善的电路仿真功能

  ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;

   超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;

  多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;

  丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;

  生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;

  高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;

  (3)独特的单片机协同仿真功能(VSM)

  支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;

  支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;

  实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;

  编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试;

  (4)实用的PCB设计平台

  原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;

  先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理。

  完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览;

多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。

2.1.3电路功能仿真

  在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

  PROTEUS 是单片机课堂教学的先进助手。

  PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

  它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

  课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台

  随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。

  使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。

二 单片机系统设计

1.单片机控制步进电动机设计

1.1正反转设计

1.主要元器件

(1)单片机(AT89C51);(2)运放(ULN2003A);(3)电阻(MINRES10K);(4)按钮(BUTTON);(5)电容(CAP);(6)晶振(CRYSTAL);(7)单极性步进电机(MOTOR.STEPPER);(8)反向器(74LS04)。

2.电路原理图

    电路原理图如下图所示。

电路中有三个按钮:STOP键使电动机停止转动;FOR控制电动机正转;REV键控制电动机反转。按键分别接在单片机的P1.0~P1.2引脚上,作为控制信号的输入端,输出端采用ULN2003驱动电路控制步进电动机的转向。

3.系统程序设计

ORG 0

 NOP

 ACALL DLY

 STOP:ORL P2,#0FFH

 LOOP:JNB P1.0,FOR2

 JNB P1.1,REV2

 JNB P1.2,STP1

 JMP LOOP

 FOR:MOV R0,#0

 FOR1:MOV A,R0

 MOV DPTR,#TAB

 MOVC A,@A+DPTR

 JZ FOR

 MOV P2,A

 JNB P1.2,STP1

 JNB P1.1,REV2

 ACALL DLY

 INC R0

 JMP FOR1

 REV:MOV R0,#5

 REV1:MOV A,R0

 MOV DPTR,#TAB

 MOVC A,@A+DPTR

 JZ REV

 MOV P2,A

 JNB P1.2,STP1

 JNB P1.0,FOR2

 ACALL DLY

 INC R0

 JMP REV1

 STP1:ACALL DLY

 JNB P1.2,$

 ACALL DLY

 JMP STOP

 FOR2:ACALL DLY

 JNB P1.0,$

 ACALL DLY

 JMP FOR

 REV2:ACALL DLY

 JNB P1.1,$

 ACALL DLY

 JMP REV

 DLY:MOV R1,#20

 D1:MOV R2,#248

 DJNZ R2,$

 DJNZ R1,D1

 RET

 TAB:DB 3,6,0CH,9

 DB 0

 DB 3,9,0CH,6

 DB 0

 END

1.2正反转调速设计

1.主要元器件

(1)单片机(AT89C51);(2)运放(ULN2003A);(3)电阻(MINRES10K);(4)扳动开关(SW-SPST);(5)电容(CAP);(6)晶振(CRYSTAL);(7)单极性步进电机(MOTOR.STEPPER);(8)反向器(74LS04)。

2.电路原理图

电路原理图如下图所示。

电路中有三个扳动开关:一个控制电动机启动停止;一个控制电动机正转反转;一个控制电动机快速慢速。按键分别接在单片机的P1.0~P1.2引脚上,作为控制信号的输入端,输出端采用ULN2003驱动电路控制步进电动机的转向。

3.系统程序设计

ORG   0000H

L6: MOV P2,#00H

   MOV R0,#00H

L1:JB  P1.0,L1

L8:JNB P1.1,L2

   MOV DPTR,#TAB

   SJMP L3

L2:MOV DPTR,#TAB1

L3:MOV R7,#04

L7:JNB P1.2,L4

   MOV B,20H

   SJMP L5

L4:MOV B,21H

L5:ACALL HU

   JB P1.0,L6

   DJNZ R7,L7

   SJMP  L8

HU: MOV A,#00H

    MOVC A,@A+DPTR

       MOV  P2,A

       ACALL DEL

       INC DPTR

L12:RET

DEL:MOV R2,B

DL1:MOV R3,#250

    DJNZ R3,$

       DJNZ R2,DL1

       RET

TAB:DB 03,06,0CH,09

TAB1:DB 09,0CH,06,03

END

单片机仿真

1.数字温度计的设计与仿真

【任务目的】了解DS18B20智能温度传感器的基本工作原理,掌握系统的软件,硬件设计方法,熟悉PROTEUS仿真软件的使用。

【任务描述】用DS18B20智能温度传感器作为检测元件;用LED数码管显示温度;用PROTEUS实现电路设计和程序设计,并进行实时交互仿真。

1.1.设计意义

单片机原理及应用是自动化专业的专业实践课程。本课程的任务是使学生通过“简易数字电压表的设计”的设计过程,综合所学课程,掌握目前自动化仪表的一般设计要求,工程设计方法,开发及设计工具的使用方法,通过这一设计实践过程,锻炼自己的动手能力和分析解决问题的能力;积累经验,培养一丝不苟的学习精神和对所学知识的综合应用能力。

1.2 功能要求与方案论证

1.1.1功能要求

    测温范围:-50~+110℃,精度误差在0.5℃以内。

1.1.2方案论证

按照系统设计功能的要求,确定系统有三个模块组成:主控制器﹑测温电路及显示电路。

数字温度计总体电路结构框图如下图所示。

1.3硬件设计

1.3.1主控制器

    单片机AT89C51具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可以用两节电池供电。

1.3.2显示电路

     显示电路采用4位共阳LED数码管,从p1口输出段码,列扫描用p3.0~p3.3口来实现,列驱动用PN4249三极管。

1.3.3数字温度传感器DS18B20

    由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。

1.   DS18B20性能特点

DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。

2.   DS18B20工作原理

     DALLAS 半导体公司的数字化温度传感器DS18B20 是支持“一线总线”接口的温度传感器。一线总线独特且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构成引入全新概念。DS18B20 的测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为0.5℃。

  现场温度直接以“一线总线”的数字方式传输,明显提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。

  DS18B20 的测温原理如图所示。

 


图中低温度系数晶振的振荡频率受温度的影响小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。图中还隐含着计数门。当计数门打开时,DS18B20就对低温度系数晶振产生的脉冲信号进行计数,进而完成温度测量。计数门的开启时间由高温度系数晶振来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中。

  减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行减法计数,如此循环,直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测量温度值。

  图中的斜率累加器用于补偿和修正测温过程的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器中的数值达到被测量温度值。

  另外,由于DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

1.4系统程序设计

       系统程序主要包括主程序、读出温度子程序、温度转换子程序、计算温度子程序、显示数据刷新子程序等等。

1.4.1主程序

       主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次,其程序流程图如下图。

      

 主程序流程图

1.4.2读出温度子程序

       读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如下图所示。

 读出温度子程序流程图

1.4.3温度转换命令子程序

       温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如下图所示。

1.4.4计算温度子程序

       计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如下图所示。

温度转换命令子程序流程图

 计算温度子程序流程图

1.4.5显示数据刷新子程序

显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图下1所示。

 显示数据刷新子程序流程图

1.4.6源程序清单

TIMEL EQU 0E0H

TIMEH EQU 0B1H

TEMPHEAD EQU 36H

BITST DATA 20H

TIME1SOK BIT BITST.1

TEMPONEOK BIT BITST.2

TEMPL DATA 26H

TEMPH DATA 27H

TEMPHC DATA 28H

TEMPLC DATA 29H

TEMPDIN BIT P3.7

ORG 0000H

LJMP START

ORG 000BH

LJMP T0IT

ORG 100H

START: MOV SP,#60H

CLSMEM: MOV R0,#20H

MOV R1,#60H

CLSMEM1:MOV @R0,#00H

INC R0

DJNZ R1,CLSMEM1

MOV TMOD,#00100001B

MOV TH0,#TIMEL

MOV TL0,#TIMEH

SJMP INIT

ERROR: NOP

LJMP START

NOP

INIT: NOP

SETB ET0

SETB TR0

SETB EA

MOV PSW,#00H

CLR TEMPONEOK

LJMP MAIN

T0IT: PUSH PSW

MOV PSW,#10H

MOV TH0,#TIMEH

MOV TL0,#TIMEL

INC R7

CJNE R7,#32H,T0IT1

MOV R7,#00H

SETB TIME1SOK

T0IT1: POP PSW

RETI

MAIN: LCALL DISP1

JNB TIME1SOK,MAIN

CLR TIME1SOK

JNB TEMPONEOK,MAIN2

LCALL READTEMP1

LCALL CONVTEMP

LCALL DISPBCD

LCALL DISP1

MAIN2: LCALL READTEMP

SETB TEMPONEOK

LJMP MAIN

INITDS1820:SETB TEMPDIN

NOP

NOP

CLR TEMPDIN

MOV R6,#0A0H

DJNZ R6,$

MOV R6,#0A0H

DJNZ R6,$

SETB TEMPDIN

MOV R6,#32H

DJNZ R6,$

MOV R6,#3CH

LOOP1820:MOV C,TEMPDIN

JC INITOUT

DJNZ R6,LOOP1820

MOV R6,#64H

DJNZ R6,$

SJMP INITDS1820

RET

INITOUT:SETB TEMPDIN

RET

READDS1820: MOV R7,#08H

SETB TEMPDIN

NOP

NOP

READLOOP: CLR TEMPDIN

NOP

NOP

NOP

SETB TEMPDIN

MOV R6,#07H

DJNZ R6,$

MOV C,TEMPDIN

MOV R6,#3CH

DJNZ R6,$

RRC A

SETB TEMPDIN

DJNZ R7,READLOOP

MOV R6,#3CH

DJNZ R6,$

RET

WRITEDS1820:MOV R7,#08H

SETB TEMPDIN

NOP

NOP

WRITELOOP:CLR TEMPDIN

MOV R6,#07H

DJNZ R6,$

RRC A

MOV TEMPDIN,C

MOV R6,#34H

DJNZ R6,$

SETB TEMPDIN

DJNZ R7,WRITELOOP

RET

READTEMP: LCALL INITDS1820

MOV A,#0CCH

LCALL WRITEDS1820

MOV R6,#34H

DJNZ R6,$

MOV A,#44H

LCALL WRITEDS1820

MOV R6,#34H

DJNZ R6,$

RET

READTEMP1:LCALL INITDS1820

MOV A,#0CCH

LCALL WRITEDS1820

MOV R6,#34H

DJNZ R6,$

MOV A,#0BEH

LCALL WRITEDS1820

MOV R6,#34H

DJNZ R6,$

MOV R5,#09H

MOV R0,#TEMPHEAD

MOV B,#00H

READTEMP2: LCALL READDS1820

MOV @R0,A

INC R0

READTEMP21: LCALL CRC8CAL

DJNZ R5,READTEMP2

MOV A,B

JNZ READTEMPOUT

MOV A,TEMPHEAD+0

MOV TEMPL,A

MOV A,TEMPHEAD+1

MOV TEMPH,A

READTEMPOUT: RET

CONVTEMP: MOV A,TEMPH

ANL A,#80H

JZ TEMPC1

CLR C

MOV A,TEMPL

CPL A

ADD A,#01H

MOV TEMPL,A

MOV A,TEMPH

CPL A

ADDC A,#00H

MOV TEMPH,A

MOV TEMPHC,#0BH

SJMP TEMPC11

TEMPC1:MOV TEMPHC,#0AH

TEMPC11:MOV A,TEMPHC

SWAP A

MOV TEMPHC,A

MOV A,TEMPL

ANL A,#0FH

MOV DPTR,#TEMPDOTTAB

MOVC A,@A+DPTR

MOV TEMPLC,A

MOV A,TEMPL

ANL A,#0F0H

SWAP A

MOV TEMPL,A

MOV A,TEMPH

ANL A,#0FH

SWAP A

ORL A,TEMPL

LCALL HEX2BCD1

MOV TEMPL,A

ANL A,#0F0H

SWAP A

ORL A,TEMPHC

MOV TEMPHC,A

MOV A,TEMPL

ANL A,#0FH

SWAP A

ORL A,TEMPLC

MOV TEMPLC,A

MOV A,R7

JZ TEMPC12

ANL A,#0FH

SWAP A

MOV R7,A

MOV A,TEMPHC

ANL A,#0FH

ORL A,R7

MOV TEMPHC,A

TEMPC12: RET

TEMPDOTTAB: DB 00H,01H,01H,02H,03H

DB 03H,04H,04H,05H,06H

DB 06H,07H,08H,09H,09H

DISPBCD:MOV A,TEMPLC

ANL A,#0FH

MOV 70H,A

MOV A,TEMPLC

SWAP A

ANL A,#0FH

MOV 71H,A

MOV A,TEMPHC

ANL A,#0FH

MOV 72H,A

MOV A,TEMPHC

SWAP A

ANL A,#0FH

MOV 73H,A

MOV A,TEMPHC

ANL A,#0F0H

CJNE A,#010H,DISPBCD0

SJMP DISPBCD2

DISPBCD0: MOV A,TEMPHC

ANL A,#0FH

JNZ DISPBCD2

MOV A,TEMPHC

SWAP A

ANL A,#0FH

MOV 73H,#0AH

MOV 72H,A

DISPBCD2:RET

DISP1:MOV R1,#70H

MOV R5,#0FEH

PLAY: MOV P1,#0FFH

MOV A,R5

MOV P3,A

MOV A,@R1

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P1,A

MOV A,R5

JB ACC.1,LOOP5

CLR P1.7

LOOP5: LCALL DL1MS

INC R1

MOV A,R5

JNB ACC.3,ENDOUT

RL A

MOV R5,A

AJMP PLAY

ENDOUT: MOV P1,#0FFH

MOV P3,#0FFH

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H

DB 99H,92H,82H,0F8H

DB 80H,90H,0FFH,0BFH

DL1MS: MOV R6,#14H

DL1: MOV R7,#19H

DL2: DJNZ R7,DL2

DJNZ R6,DL1

RET

HEX2BCD1: MOV B,#64H

DIV AB

MOV R7,A

MOV A,#0AH

XCH A,B

DIV AB

SWAP A

ORL A,B

RET

CRC8CAL: PUSH ACC

MOV R7,#08H

CRC8LOOP1: XRL A,B

RRC A

MOV A,B

JNC CRC8LOOP2

XRL A,#18H

CRC8LOOP2: RRC A

MOV B,A

POP ACC

RR A

PUSH ACC

DJNZ R7,CRC8LOOP1

POP ACC

RET

END

1.5系统调试

  系统的调试主要以程序调试为主。硬件调试首先检查焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检测,然后分别进行主程序,读出温度子程序,温度转换命令子程序,计算温度子程序和显示数据刷新子程序等的编辑及调试。

由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。本程序采用C语言编写,用keil编译器编程调试。

1.6系统仿真

      按数字温度计设计原理图,在ISIS编辑区中进行设计。首先从Protuse库中选取元器件和工具(AT89C51:单片机;7SEG.MPX4.CA:LED数码管;74HC245:三同相三态缓冲器;DS18B20:数字温度传感器);其次放置元器件、放置电源和地;要特别注意正确连线和正确设置网络标号;最后完成元器件属性设置和电气检测。

       执行菜单Source→add/Remove Source File、,新建源程序文件WDJ.ASM。

       执行菜单Source→WDJ.ASM,打开PROTUSE提供的文本编辑器SRCEDIT,在其中编辑源程序,并保存。

       执行菜单Source→Build All,编辑源程序,生成目标代码文件WDJ.HEX。若编译失败,修改编译直至成功。

       打开单片机元器件的属性窗口,在Program File 栏中添加上面的编译好的目标代码文件WDJ.HEX;在ClockFrequency 栏中输入晶振频率12MHZ。

       启动仿真后,LED数码管显示DS18B20的初始温度,可以分别单机DS18B20调试器中的左按钮和右按钮来实现输出温度的升降,LED数码管的显示温度也随之变化。

1.7设计小结

 本设计利用AT89C51芯片控制温度传感器DS18B20,再辅之以部分外围电路实现对环境温度的控制,性能稳定,精度较高,而且扩展性很强。由于DS18B20支持单总线协议,我们可以将多个DS18B52并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B52通信,占用较少的微处理器的端口就可以实现多点测温监控系统。

从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们学习的理论知识用到实际中,学习单片机更是如此。

实习总结

大学三年的学习生涯即将结束,通过最后一年这一段时间的毕业设计,我查图书资料,利用Protuse软件经过一段时间的系统仿真和设计,使我得到了很多的经验,学会了更多的知识,并且巩固和加深以及扩大了专业知识面,锻炼综合及灵活运用所学知识的能力,正确使用技术资料的能力。是我向社会迈进了一大步。

通过此次毕业设计,我了解了怎样查找文献资料,正确使用技术资料。熟悉了与单片机相关的系统技术、系统仿真、对单片机有了更深一步的了解,并且通过对单片机编程,锻炼了自己的思维逻辑,对以后单片机运行有了一定掌握,熟悉了与单片机相关的系统技术、系统仿真、对单片机有了更深一步的了解。在此次毕业设计中更重要的是培养了我实践能力,进行制作,调试和运行的能力。

培养了我严肃认真,一丝不苟和实事求是的工作作风,使我尽快实现从学生到一个合格的工程技术人员的过渡,并且巩固和加深专业知识面,锻炼综合及灵活运用所学知识的能力。

毕业设计的结束,意味着从此我将进入社会,把我所学的知识运用到社会实践当中去,通过这次毕业设计,我更加地认识到自己的不足之处,指导老师耐心和细致的指导,使我的知识水平有更进一步的提高,为我走向社会,走向岗位打下了坚实的基础。

参考文献

更多相关推荐:
单片机实训报告

单片机实训报告姓名学号班级指导老师实训时间前言一周的单片机实训很快就结束咯在这一周的时间里我学到了很多关于单片机各方面的知识老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识一周的实训中我们一共实...

单片机实验报告

单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实验目的熟悉MCS51指令系统掌握程序设计方法加深对内部存储器读写的认识熟悉仿真开...

单片机实训报告

目录一概述11设计制作产品的背景目的意义12设计制作产品的设计要求13分工情况工作计划及本人所总结工作14本课题的基本内容重点及难点二正文21实验原理22实验流程图23硬件设计24软件设计25C语言程序26简易...

单片机实训报告心得

广东轻工职业技术学院实训报告实训项目单片机实训系别:电子通信工程系专业:应用电子技术班级:嵌入式091班姓名:**学号:***指导老师:***实训地点:第三实训楼C309实训时间:20**年1月10日至1月14…

单片机实验报告

题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握Keil软件的基本使用12掌握单片机汇编语言基本编程二实验内容1学习用Keil软件...

单片机实验报告

通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日1实验一单片机汇编语言程序设计一实验目的1学习MedWin或Keilc51仿真软...

单片机实习总结报告

专业综合实习总结专业班级:电子信息工程0801学生学号:***指导教师:实习时间:20XX.6.2020XX.7.15机电工程学院一、实习目的和意义1、实习目的:(1)利用单片机小系统实习板,掌握电路原理图;(…

单片机课程实训报告

重庆电子工程职业学院单片机实训报告院系机电工程系班级机电一体化1103姓名学号指导老师日期20xx66一前言11课题简介单片机全称叫单片微型计算机SingleChipMicrocomputer是一种集成在电路芯...

单片机实习报告

淮阴工学院计算机工程学院单片机项目开发实习报告课题名称简易计算器的设计指导教师金鹰张粤刘虎孙成富胡荣林班级通信1122学号1121302115姓名鲍茜提交日期20xx119目录目录I1引言12简易计算器的系统总...

单片机实验报告

单片机课程设计报告实验五系别物理与电子工程学院年级专业班级学号学生姓名指导教师设计时间常熟理工学院课程设计报告目录1题目22实验要求221实验目的222实验内容23总体设计231硬件设计232软件设计44运行结...

华中科技大学单片机实验实验报告MCS51单片机

华中科技大学单片机实验报告MCS51系列单片机单片机原理及应用实验根据20xx年电气与电子工程学院单片机实验课程改编专业电气工程及其自动化班级气卓1301姓名廖鹏毅学号ALLRIGHTRESERVED1目录实验...

单片机实验报告(BUPT)

实验课程名称自动控制综合实验2》姓名学院自动化学院专业班级学号、班内序号指导教师20##年月单片机部分一、仿真软件的使用以及跑马灯的设计1.实验目的:1)掌握仿真软件的使用方法。2)掌握MCS-51单片机的P0…

单片机实训报告(41篇)