单片机最小系统实训报告

合集下载

单片机最小系统设计安装调试实训总结

单片机最小系统设计安装调试实训总结

单片机最小系统设计安装调试实训总结一、前言单片机是现代电子技术中应用最广泛的一种芯片,其能够实现各种各样的功能。

为了更好地学习和掌握单片机的应用,我们需要进行实际操作,设计单片机最小系统并进行安装调试。

二、单片机最小系统设计1. 硬件部分单片机最小系统由四个基本部分组成:单片机、时钟电路、复位电路和供电电路。

其中,时钟电路是最重要的部分,其作用是为单片机提供稳定的时钟信号。

复位电路可以保证在系统启动时单片机处于一个确定的状态。

供电电路则为整个系统提供所需的稳定电源。

2. 软件部分软件部分主要包括编程工具和编程语言。

常见的编程工具有Keil、IAR 等,编程语言可以选择C语言或汇编语言。

三、安装调试流程1. 硬件连接将单片机与其他器件按照设计图连接好,注意接线正确性和稳定性。

2. 软件设置打开编程工具,在设置中选择正确的芯片型号和下载器型号,并设置好相应参数。

3. 编写程序根据实际需求编写程序,并进行编译和下载。

4. 调试程序通过单步调试、断点调试等方法,逐步排除程序中的错误,确保程序正常运行。

四、实训感悟通过本次实训,我深刻认识到了单片机最小系统设计的重要性和复杂性。

在实际操作中,需要仔细检查每一个连接点,保证电路的稳定性和正确性。

同时,在编写程序时也需要考虑到各种可能出现的问题,并进行充分测试和调试。

五、总结单片机最小系统设计安装调试是单片机应用中不可或缺的一部分。

通过本次实训,我们掌握了相关知识和技能,并在实践中加深了理解。

在今后的学习和工作中,我们将更加注重实践操作,并不断提高自己的技能水平。

单片机最小系统设计安装调试实训总结

单片机最小系统设计安装调试实训总结

单片机最小系统设计安装调试实训总结单片机最小系统设计安装调试实训总结我在这篇文章中将对单片机最小系统设计安装调试实训进行深入探讨。

我们将从简单到复杂,从基础到进阶,全面了解这一主题。

在本文的结尾,我将分享我的观点和理解。

首先,让我们来介绍一下单片机最小系统设计的概念。

单片机最小系统是指包含处理器、存储器和必要的外设的最基本的硬件配置。

这个系统可以完成最简单的任务,如控制一个LED灯的开关。

了解单片机最小系统的设计原理和调试方法对于学习嵌入式系统编程非常重要。

在进行单片机最小系统设计之前,我们需要明确所使用的单片机的型号和芯片架构。

不同的单片机可能有不同的引脚配置和寄存器设置。

因此,在实际设计之前,我们需要仔细研究单片机的datasheet和用户手册,以确保正确地连接和配置引脚和寄存器。

接下来,我们开始设计单片机最小系统。

首先,我们需要将单片机与外部晶体振荡器相连,以提供时钟信号。

晶体振荡器为单片机提供精确的时钟信号,使其能够按照我们的预期进行计算和操作。

我们需要配置单片机的时钟模块,并将晶体振荡器与相应的引脚相连。

接下来,我们需要将单片机与外部电源相连,以为其提供工作电压。

不同的单片机可能有不同的电源要求,我们需要根据单片机的规格和datasheet来选择适当的电源电压和电源稳压模块。

我们还需要将电源的正负极与相应的引脚相连。

此外,为了与单片机进行交互,我们可能还需要将键盘、显示器、传感器或其他外部设备与单片机相连。

我们需要根据设备的规格和datasheet,选择适当的接口方式,并将其与单片机的引脚相连。

在连接过程中,我们要确保引脚的电平和信号都正确地连接。

完成了硬件的连接之后,接下来是调试阶段。

在调试过程中,我们需要使用相应的调试工具和软件,检查每个引脚的连接和信号是否正确,确保所有的硬件都能正常工作。

如果发现问题,我们需要逐个检查和排除可能的故障点,直到问题得到解决。

在安装和调试完单片机最小系统后,我们可以开始进行简单的程序编写和运行。

单片机最小系统实训报告

单片机最小系统实训报告

单片机最小系统实训报告一、实训目的1.掌握并理解“单片机最小系统”的原理及制作,牢记最小系统中各元器件的参数及各元器的作用。

2.掌握单片机芯片的内部组成及存储器结构。

3.理解常用指令的功能和使用方法。

3.掌握各种寻址方式。

4.掌握单片机的中断源,中断控制寄存器,中断响应过程,定时/计数器的电路结构、功能和使用方法,定时器/计数控制寄存器。

5.复习利用Keil51软件对程序进行编译6.用 Protel 软件绘制“单片机最小系统”电路,并用调试程序进行仿真。

7.会根据实际功能,正确选择单片机功能接线,编制正确程序。

对实验结果能作初步分析和解释,能写出合乎规格的实训报告。

二、实训工具1、单片机测试平台:PC机,串口线,并口线,单片机开发版2、软件:Keil51测试软件,Protel仿真软件,DXP2004软件三、实训要求通过本实训,学生应达到以下几方面的要求:素质要求•以积极认真的态度对待本次实训,遵章守经、团结协作。

•善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作的能力。

能力要求•模拟电路的理论知识。

•脉冲与数字电路的理念知识。

•通过模拟、数字电路实验有一定的动手能力。

•能够熟练地制作单片机最小系统。

•能够熟练地编写 8951 单片机汇编程序。

•能够熟练地运用仿真软件对单片机最小系统仿真。

四、实训内容•掌握并理解“单片机最小系统”的原理及制作,牢记最小系统中各元器件的参数及各元器的作用。

•用Keil51测试软件编写 8951 单片机汇编程序•用 Protel 软件绘制“单片机最小系统”电路原理图。

•运用仿真软件对单片机最小系统仿真五、实训基本步骤①用 Protel 软件绘制“单片机最小系统”电路原理图。

②根据原理图生成PCB图、GB文件、钻孔文件。

【见附件】③绘制印刷电路板。

④根据原理图焊接个原件。

生成单片机开发版。

⑤用Keil51软件编写单片机最小系统测试程序。

⑥用仿真软件绘制单片机最小系统原理图,测试测量程序。

单片机系统实验实训报告

单片机系统实验实训报告

一、实验目的1. 熟悉单片机的基本结构和原理。

2. 掌握单片机的编程方法和调试技巧。

3. 培养单片机应用系统的设计能力。

4. 提高实际操作能力和团队协作精神。

二、实验内容本次实验实训主要围绕单片机应用系统展开,包括以下内容:1. 单片机最小系统搭建- 熟悉单片机的最小系统组成,包括复位电路、晶振电路、VCC、GND等。

- 掌握电路板焊接和调试方法。

2. LED流水灯实验- 学习使用51单片机进行简单的单片机应用系统硬件设计。

- 掌握单片机GPIO端口的使用方法。

- 通过编程实现LED灯的流水效果。

3. 按键控制LED灯实验- 学习使用按键输入控制LED灯的亮灭。

- 掌握按键去抖动技术。

4. LCD1602显示屏控制实验- 学习使用LCD1602显示屏显示文字和数字。

- 掌握LCD1602的初始化和显示控制方法。

5. 串口通信实验- 学习使用单片机串口进行通信。

- 掌握串口初始化和通信协议。

6. 温湿度传感器实验- 学习使用温湿度传感器获取环境温度和湿度信息。

- 掌握传感器数据读取和温度湿度计算方法。

7. 多功能密码锁实验- 学习使用单片机实现密码锁功能。

- 掌握按键输入、密码存储和匹配方法。

三、实验步骤1. 实验一:单片机最小系统搭建- 根据实验指导书,准备好实验器材,包括51单片机、电路板、焊接工具等。

- 按照电路图焊接电路,确保电路连接正确。

- 上电测试,观察LED灯是否亮起,确认电路工作正常。

2. 实验二:LED流水灯实验- 编写LED流水灯程序,使用51单片机GPIO端口控制LED灯的亮灭。

- 烧录程序到单片机,观察LED灯的流水效果。

3. 实验三:按键控制LED灯实验- 编写按键控制LED灯的程序,使用按键输入控制LED灯的亮灭。

- 烧录程序到单片机,测试按键控制功能。

4. 实验四:LCD1602显示屏控制实验- 编写LCD1602显示屏显示文字和数字的程序。

- 烧录程序到单片机,观察LCD1602显示屏的显示效果。

51单片机最小系统实验报告

51单片机最小系统实验报告

51单片机最小系统实验报告1.实验目的:1).学习、了解单片机原理,即单片机的各引脚功能、特殊功能寄存器、中断系统、定时/计数器和通信方式等;2).了解指令系统,各指令的功能;3).学习电路原理设计,PC板设计以及编排;2.方案设计:1).最小系统部分的设计能够用于基本的数字信号处理,运行一些简单的程序。

此部分主要包括电源电路、复位电路、时钟电路、USB 接口设计等;2).扩展电路的设计对于51最小系统CPU芯片等在芯片出厂时不可能让片内存储器的大小满足所有功能的要求,如果将片内存储器做太大,必然造成芯片成本的提高。

所以合适的外部RAM、液晶、外部中断和串行接口电路设计等。

3.任务:51单片机最小系统的设计1)CPU选择:STC15W4K系列选择原因:a.宽电压(2.5V-5.5V)b. 大容量4K字节SRAM和多组并行端口c.16/32/56/61/63.5字节多选Flash程序储存器以及普通定时、计数器T0-T4外部管脚可掉电唤醒。

d.内置高精准时钟(5-28MHz任意设置)和集成MAX810专用复位电路e.看门狗、对外输出时钟及复位2).系统要实现的功能:以UPU为核心器件,并利用外存储器对最小系统电路进行扩展。

在介绍CPU基本特点的基础上,通过学习指导,开展出51单片机最小系统板。

系统要实现以下功能,最小系统部分的设计能够用于基本的数字信号处理,运行一些简单的程序。

此部分主要包括电源电路、复位电路、时钟电路、中断系统,USB 接口的设计和相对扩展等。

4.外围器件选择及说明:1).外部RAM:IS62C256AL。

ISSI的IS62C256AL是一个32Kx8位字长的低功耗CMOS静态随机存取存储器。

IS62C256AL采用ISSI公司的高性能,低功耗CMOS工艺制造。

当/CE处于高电平(未选中)时,IS62C256AL进入待机模式。

在此CMOS 输入标准的待机模式下,功耗低至150 μW(典型值)。

单片机最小系统实验设计报告

单片机最小系统实验设计报告

单片机最小系统实验设计报告一、实验目的(1)熟悉单片机最小系统的组成,上机步骤及调试方法;(2)加深理解C51汇编语言逻辑结构,能够使用汇编进行简单的程序编写;(3)将课上学到的理论知识联系实际,完成简单的电子控制系统;二、实验所需仪器及设备三、实验线路及原理下图为实验板电路图:(1)硬件组成及原理硬件组成:89S52单片机、8D锁存器74LS573两片、16选1译码器74LS154、16位七段数码显示器、轻触开关;原理:采用扫描显示,利用人眼视觉暂留效应,产生稳定的数码显示效果。

基于上述基本原理,利用单片机的P0口作为七段数码显示器的段选控制,通过两片8D 锁存器74LS573将段选控制分配到两组总共16位七段数码显示器上;单片机的P1.0-P1.3作为16位七段数码显示器的位选,而如何用单片机的4个管脚控制两组总共16位的七段数码显示器呢?这里使用的是1片16选1的译码器74LS154。

(2)软件原理程序流程图:显示主循环个按键完成设置、加、在按键子程序中以及加减闪烁的值,数据缓FLASH修改显示缓冲 区闪烁位在显示子程序中,只需负责将显示缓冲区的数据取出来进行显示即可按键子程序说明:KEYIN: JNB SSET,KEYIN1 ;判断SET键是否按下ACALL DELAY1 ;延时去抖动JNB SSET,KEYIN1JB SSET,$ ;判断SET键是否松开INC FLASH ;SET键按下调整闪烁标志位MOV R7,FLASHCJNE R7,#17,KEYIN1;判断FLASH是否已经移出16位MOV FLASH,#0HKEYIN1: MOV TEMP1,R0JNB SSUB,KEYIN2;判断减键是否按下ACALL DELAY1;延时去抖动JNB SSUB,KEYIN2JB SSUB,$ ;判断减键是否松开MOV A,FLASHADD A,#60HMOV R0,ADEC @R0;减键按下修改数据缓冲区对应位的值CJNE @R0,#0FFH,KEYIN2MOV @R0,#0BHKEYIN2: JNB AADD,KEYIN3;判断加键是否按下ACALL DELAY1;延时去抖动JNB AADD,KEYIN3JB AADD,$ ;判断加键是否松开MOV A,FLASHADD A,#60HMOV R0,AINC @R0; 加键按下修改数据缓冲区对应位的值CJNE @R0,#0CH,KEYIN3MOV @R0,#0KEYIN3: MOV R0,TEMP1RET显示子程序:DISP: MOV A,@R0ACALL TAB;查表取得由第一片74LS573送出的段代码的值 ACALL SEGU9;调用第一片74LS573数据锁存子程序MOV A,@R1ACALL TAB1;查表取得由第二片74LS573送出的段代码的值 ACALL SEGU10;调用第二片74LS573数据锁存子程序INC R0;调整显缓指针INC R1;调整显缓指针ACALL SENDBIT;调用位选子程序点亮16位7段LED中的两位 ACALL DELAY;延时CJNE R0,#58H,DISP;判断是否已完成16位显示MOV R0,#50H;显缓指针付初值MOV R1,#58H;显缓指针付初值RET主程序:FLAG EQU 20HFG1 BIT FLAG.0FG2 BIT FLAG.1DATABUF1 EQU 60HDATABUF2 EQU 61HDATABUF3 EQU 62HDATABUF4 EQU 63HDATABUF5 EQU 64HDATABUF6 EQU 65HDATABUF7 EQU 66HDATABUF8 EQU 67HDATABUF9 EQU 68HDATABUF10 EQU 69HDATABUF11 EQU 6AHDATABUF12 EQU 6BHDATABUF13 EQU 6CHDATABUF14 EQU 6DHDATABUF15 EQU 6EHDATABUF16 EQU 6FHFLASH EQU 70H ;TEMP0 EQU 71HTEMP1 EQU 72HTEMP2 EQU 73HTEMP3 EQU 74HTEMP4 EQU 75HSSET BIT P3.0; SET键AADD BIT P1.7; 加键SSUB BIT P1.6; 减键ORG 0000HAJMP MAINORG 0030HMAIN: CLR CSETB FG1MOV R0,#50HMOV R1,#58HMOV TEMP0,#0MOV TEMP2,#40MOV FLASH,#16MOV DATABUF1,#2MOV DATABUF2,#0MOV DATABUF3,#0MOV DATABUF4,#5MOV DATABUF5,#0BHMOV DATABUF6,#0MOV DATABUF7,#3MOV DATABUF8,#0BHMOV DATABUF9,#0MOV DATABUF10,#9MOV DATABUF11,#0BHMOV DATABUF12,#0MOV DATABUF13,#2MOV DATABUF14,#0BHMOV DATABUF15,#5MOV DATABUF16,#0 MAIN1: ACALL KEYINACALL GETDATAMOV A,FLASHCJNE A,#16,MAIN4AJMP MAIN3MAIN4: DJNZ TEMP2,MAIN2MOV TEMP2,#60CPL FG1MAIN2: JB FG1,MAIN3MOV A,FLASHADD A,#50HMOV R0,AMOV @R0,#0AHMOV R0,#50HMAIN3: ACALL DISPAJMP MAIN1GETDATA:MOV TEMP3,R0MOV TEMP4,R1MOV R0,#50H ;//显缓 MOV R1,#60H NEXT: MOV A,@R1MOV @R0,AINC R0INC R1CJNE R0,#60H,NEXTMOV R0,TEMP3MOV R1,TEMP4RETDISP: MOV A,@R0ACALL TABACALL SEGU9MOV A,@R1ACALL TAB1ACALL SEGU10INC R0INC R1ACALL SENDBITACALL DELAYCJNE R0,#58H,DISPMOV R0,#50HMOV R1,#58HRETKEYIN: JNB SSET,KEYIN1ACALL DELAY1JNB SSET,KEYIN1JB SSET,$INC FLASHMOV R7,FLASHCJNE R7,#17,KEYIN1MOV FLASH,#0HKEYIN1: MOV TEMP1,R0JNB SSUB,KEYIN2ACALL DELAY1JNB SSUB,KEYIN2JB SSUB,$MOV A,FLASHADD A,#60HMOV R0,ADEC @R0CJNE @R0,#0FFH,KEYIN2 MOV @R0,#0BHKEYIN2: JNB AADD,KEYIN3ACALL DELAY1JNB AADD,KEYIN3JB AADD,$MOV A,FLASHADD A,#60HMOV R0,AINC @R0CJNE @R0,#0CH,KEYIN3 MOV @R0,#0KEYIN3: MOV R0,TEMP1RETSENDBIT:MOV A,P1ANL A,#0F0HORL A,TEMP0INC TEMP0MOV P1,AMOV R2,TEMP0CJNE R2,#8H,SENDBIT1 MOV TEMP0,#0 SENDBIT1:RETSEGU9: CLR P1.4CLR P1.5MOV P2,ASETB P1.4MOV P1,#0AHRETSEGU10: CLR P1.4CLR P1.5MOV P2,ASETB P1.5MOV P1,#0AHRETTAB: ADD A,#1MOVC A,@A+PCRETDB 0C0H,0F9H,0A4HDB 0B0H,99H,92HDB 82H,0F8H,80HDB 90H,0FFH,0BFHTAB1: ADD A,#1MOVC A,@A+PCRETDB 03H,09FH,25HDB 0DH,99H,49HDB 41H,1FH,01HDB 09H,0FFH,0FDHDELAY1: MOV R7,#200TM2: MOV R6,#100TM1: DJNZ R6,TM1DJNZ R7,TM2RETDELAY: MOV R7,#4TMM2: MOV R6,#50TMM1: DJNZ R6,TM1DJNZ R7,TM2RETEND元件清单:C1:104C2:103C3:103C4:103C5:33pC6:33pC7:220u电解C8:103C9: 220u电解C10:103C11:4.7u电解D1--D8以及DP:LEDD9:1N4001Jmper:IDC-20Jpower:电源接插件Q1—Q9:9012R1—R16:75欧R17—R25:220欧R26—R30:1KRESET以及S1,S2,S3:轻触开关RP1—RP4:4XLED七段数码管RP5—RP6:10K排阻U1:89s52U2:74ls145U3:lm7805U9,U10:74ls573Y1:12M晶振。

单片机系统实训报告

单片机系统实训报告

单片机系统设计实训报告专业班级:电子信息工程技术101班姓名:喜欢单片机实训班级学号:不喜欢写单片机实训报告指导教师:XXX XXX成绩:摘要:单片机最小系统基本电路由电源、复位及振荡电路组成。

此系统采用单片机A T89C58作为控制器,兼容RS232标准的芯片MAX232单电源电平转换芯片、D9插口实现串行输入;复位电路采用手动复位方式,简单方便;振荡电路采用单片机引脚XTAL1、XTAL2跨接石英晶体振荡器和30pf的微调电容,12MH 晶振构成一个稳定的自激振荡器,使得单片机能够以此作为时钟控制信号。

同时,通过对I/O端口进行扩展,实现简单的蜂鸣器的驱动,流水灯显示、4×4矩阵式键盘功能,DS1302实时时钟芯片时钟的实现,光敏电阻,AD转换,驻极体话筒,可实现声光采集,进行光度检测,声光控制的楼梯灯模拟等。

A T89C58作为整个系统的控制部分,功能扩展电路的程序设计采用C语言在Keil的编辑器上编程实现。

经过反复调试和测试,系统基本达到设计目标,各项拓展功能均已实现。

此系统的完成有利于学生的动手操作能力关键词:单片机系统、Keil编辑器、功能扩展电路、动手能力目录摘要 (I)关键词 (II)实训目的 (4)实训内容及要求 (4)小组成员 (4)1、实训内容1.1单片机最小系统1.1实训内容1.1:单片机最小系统的制作要求 (4)1.2实训内容1.1:单片机最小系统的制实训心得 (5)2、实训内容1.2 流水灯2.1实训内容1.2:编程实现流水灯要求 (5)2.2实训内容1.2流水灯电路原理分析 (5)2.3实训内容1.2流水灯程序流程图 (6)2.4实训内容1.2流水灯程序代码 (6)2.5实训内容1.2流水灯实训心得 (6)3、实训内容1.3 数码管动态扫描3.1实训内容1.3 数码管动态扫描显示要求 (7)3.2实训内容1.3 数码管动态扫描显示电路原理分析 (8)3.3实训内容1.3 数码管动态扫描显示程序流程图 (8)3.4实训内容1.3 数码管动态扫描显示程序代码 (8)3.5实训内容1.3 数码管动态扫描显示实训心得 (8)4、实训内容1.4 4x4矩阵按键4.1实训内容1.4:4x4矩阵按键要求 (9)4.2实训内容1.4 4x4矩阵按键电路原理分析 (10)4.3实训内容1.4 4x4矩阵按键程序流程图 (10)4.4实训内容1.4 4x4矩阵按键程序代码 (11)4.5实训内容1.4 4x4矩阵按键实训心得 (12)5、实训内容2.1 基于RTC制作一个时钟。

单片机最小系统实验报告

单片机最小系统实验报告

单片机实验报告民生学院11级电子信息科学与技术最小系统:1、画实验原理图:2、焊接的实物图:3、流水灯程序,看能否运行4、在INT0、INT1装两个轻触按键,实现二进制加减程序:5、装LCD1602液晶并测试,装DS18B20并测试。

液晶、测温器:6用软件画PCB图实验指导书:一、名称:单片机最小系统二、功能:流水灯、加减程序、测温三、基本介绍:本单片机最小系统全手工焊制,总耗时五个小时,本组成员运用科学合理的布局,除能实现最基本的流水灯之外,还安装有温度传感器,时时刻刻监测你身边温度四、本产品售价$ 10,有意者联系马松松串口通信程序:ORG 0000HAJMP MAINORG 0023HAJMP RECEIVE ;跳转到接收中断入口ORG 0030HMAIN: MOV TMOD,#20H ;T1工作方式2MOV TH1,#0FDH ;波特率9600MOV SCON,#50H ;传口工作方式1,允许中断接受SETB EA ;打开总中断SETB ES ;打开串口中断SETB TR1 ;打开定时器1AJMP $RECEIVE:CLR RIMOV A,SBUF ;串口接收数据MOV R0,AMOV SBUF,A ;将接收的数据再传送给计算机JNB TI,$CLR TIMOV A,R0MOV DPTR,#TAB ;查表显示MOVC A,@A+DPTRMOV P2,#0FFHNOPMOV P2,#00H ;送LED显示MOV P0,ARETITAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;共阳字码表END。

单片机最小应用系统制作实训报告

单片机最小应用系统制作实训报告

单片机最小应用系统制作实训报告《单片机最小应用系统制作实训报告》一、实训目的和背景单片机是嵌入式系统的核心,其应用广泛,包括家电控制、智能家居、工业控制等。

为了提高学生对单片机的理论和实践掌握能力,本次实践任务是制作一个单片机最小应用系统,以培养学生的创新意识和动手能力。

二、实训内容和步骤1.实训准备根据实验要求,选取合适的单片机型号,并准备相应的开发板、开发软件和实验器材。

2.系统设计根据实训要求,设计单片机系统的硬件和软件结构。

硬件部分包括单片机、外围设备(如按键、LED等)的连接方式和引脚分配;软件部分包括初始化设置和主程序的设计。

3.硬件搭建根据设计方案,将单片机和外围设备连接起来,并进行电路布线和焊接等工作。

4.软件编程使用开发软件对单片机进行编程,实现系统的功能。

根据设计方案,编写初始化设置的代码和主程序的代码,并进行调试和修改。

5.系统测试将制作好的单片机应用系统与外围设备连接,进行功能测试和性能评估。

调试系统,确保其各项功能正常运行,同时测试系统的稳定性和可靠性。

6.实训总结根据实训经验,总结制作单片机最小应用系统的过程中遇到的问题和解决方法,总结经验教训,并提出改进意见。

三、实训结果和体会通过实践制作单片机最小应用系统,我收获了许多经验和体会。

首先,在系统设计阶段,我深入了解了单片机的硬件和软件结构,对于系统连接和引脚分配有了更深入的理解。

其次,在硬件搭建和焊接过程中,我学会了认真仔细地进行电路布线和焊接,确保电路的正确连接和稳定性。

此外,编程过程中,我掌握了单片机的初始化设置和主程序设计的方法,提高了自己的编程能力。

通过实训测试,我发现单片机最小应用系统能够正常运行,实现了预期的功能,并且稳定性和可靠性良好。

同时,我也意识到在实践过程中,遇到问题是很正常的,关键是要善于思考和解决问题,通过调试和修改,最终找到正确的解决方案。

总之,通过这次实训,我不仅学到了单片机的基本原理和应用技术,更重要的是培养了自己的动手能力和创新意识。

单片机最小系统实验报告

单片机最小系统实验报告

单片机最小系统实验报告
实验目的:
本实验目的是探究微处理器系统最小化原理并实际运用该原理设计一个基于单片机主控的最小系统,用来分析各部件之间的作用以及学习计算机系统的操作。

实验设备:
1.单片机主芯片:亚宝半导体C02晶振
2.外部电路元器件:2个8位数据输入输出口,4个4位数据的输入输出口,4个开关,10K水银温度计,7个键盘,1个指示灯。

实验步骤:
1. 设计单片机最小系统电路:根据实验指导书绘制单片机最小系统电路图,接线涉及到的所有元器件,并标注出每个元器件的引脚号。

2. 编写相关的程序:根据实验的要求,编写相关的CH02语言程序来完成IO口的输入输出功能。

3. 上传程序:将编写的程序用串口烧录到单片机内存中
4. 测试程序:检查所有的管脚,检查程序的正确性,根据程序要求使用按键输入信号,测试输出结果。

实验结果:
在实验过程中,我发现单片机最小系统电路设计较为简单,只需要有基本的电路和编程知识,即可完成本次实验。

经过多次修改和测试,我可以得出程序正确运行的结论。

经过本次实验,我深刻理解了计算机系统的结构,学会了io口的编程,还认识了有关电子元器件的基本用途和功能,研究了系统的最小化原理,以及其背后的道理。

更重要的是,本次实验提高了我的动手能力和分析问题的能力。

单片机实习报告3篇

单片机实习报告3篇

单片机实习报告单片机实习报告3篇随着人们自身素质提升,报告有着举足轻重的地位,报告具有成文事后性的特点。

相信很多朋友都对写报告感到非常苦恼吧,下面是小编帮大家整理的单片机实习报告3篇,希望对大家有所帮助。

单片机实习报告篇1一实习目的1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。

5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。

二实习意义通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。

在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。

达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。

三系统基本组成及工作原理1 系统基本组成系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。

流水灯部分由单片机、键盘模块等组成;四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;按键功能部分通过按键控制流水灯部分、四位数码显示部分;电子钟部分由单片机、键盘模块、液晶显示模块等组成;使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。

STC51单片机最小系统实验报告

STC51单片机最小系统实验报告
2、8个LED灯,直观显示程序运行状态
3、2个独立按键,可配置为中断模式和一般按键
4、双复位电路,可插拔晶振,能同时使用51和avr系列单片机
5、usb及外接电源双供电,带电源指示。
6、带10针ISP下载接口,方便AT89系列单片机下载程序。
7、板载红外接收管,配合程序遥控电视、风扇。
三、原件
部分图片
5.打印电路板安装图,按图安装元器件。
6.焊接元器件
(1)将各元器件按照电路图插在刚做好的板子上;
(2)用电烙铁把元器件焊接牢固,并检查是否有漏焊和虚焊的部分
经过以上步骤一个单片机最小系统就基本上做好了,经过调试之后就可以投入使用了。
四、成果展示
五、实验体会
自从我接触单片机,到现在能够用以单片机为控制核心设计出我的课程设计——单片机最小系统设计。通过本次课程设计,我获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习电学方面的知识有极大的帮助。在此,忠心感谢学校老师提供这个机会。
【3】:STC51单片机系统电路板的制作
3.1学习目标
1.掌握原理图和PCB图输出打印
2.了解单面印制电路板的制造工艺和流程3.学会手工制作单面印制电路板的方法
3.2任务要求
手工制作STC51单片机系统电路板,在电路板上安装元器件,并进行功能测试。
3.3技能训练
1.按1∶1的比例打印PCB图到热转印纸,并热转印到覆铜板2.腐蚀已转印有PCB图的覆铜板3.涂敷松香溶液4.钻焊盘孔
实验报告
实验名称:STC51单片机最小系统
所在专业:测控技术与仪器
学生姓名:陈****
班级学号:B1*******
任课教师:陆婷
2013 /2014 学年第 二 学期

单片机最小系统实验报告

单片机最小系统实验报告

长沙学院电子工艺实习报告姓名:潘舟学号:系别:电子与通信工程时间:2011.11.14-2011.11.25专业:电子信息工程指导老师:龙英、刘辉、王新辉、刘亮、马凌云目录1、引言2、目的3、任务4、要求5、主要原理图6、主要程序7、程序实现的功能8、系统调试9、总结目的:通过对单片机最小系统的研究,掌握单片机各引脚功能,理解单片机工作过程及原理,以及与各种外部扩展器件的连接,能够自己运用单片机来解决实际问题。

任务:1、单片机实验板的设计与制作2、声光控延时开光的焊接与调试要求:1、(1)功能要求单片机最小系统(晶振、复位电路);按键输入部分,可以做简单按键输入实验;键盘输入部分,可做矩阵式键盘扫描输入实验;RS-232串行接口部分,可进行单片机与计算机通信实验;LCD显示部分,可做LCD显示实验;LED数码管显示器部分,可进行定时计数等数据显示实验;喇叭发音部分,可做单片机发声实验;LED发光二极管部分,可做基本输出功能实验;稳压电源部分,可提供5V电源;(2)设计要求进行元器件及参数选择;画出电路原理图;PCB 图,焊接电路并调试。

(3)制作要求自行装配和调试,并能发现问题和解决问题。

(4)程序调试要求编写秒表程序和彩灯控制程序,利用自己制作的实验板进行程序调试。

2、(1)、能实现以下功能:a、能够实现光控声控控制灯的点亮;b、能够使灯包点亮后一段时间自动熄灭。

(2)设计要求进行元器件及参数选择;画出电路原理图;PCB 图,焊接电路并调试。

(3)制作要求自行装配和调试,并能发现问题和解决问题。

主要原理图:主要程序:1)编写一程序,达到按键加减的功能。

按一下+1键,显示加一,加到255时,显示归零按。

按下-1键,显示减1,当减到零时,显示变为255。

程序:#include<reg51.h>#include<intrins.h>#define uchar unsigned charsbit k1=P3^0;sbit k2=P3^1;sbit A1=P2^0;sbit A2=P2^1;sbit A3=P2^2;sbit A4=P2^3;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x 80,0x90};void delay (uchar j){uchar i;for(i=0;i<100;i++){_nop_();j--;}}void xianshi(uchar y){uchar m,n,x,i;m=y%10;n=y/10%10;x=y/100;for (i=0;i<4;i++){A1=0;P0=table[m];delay(1);A1=1;A2=0;P0=table[n];delay(1);A2=1;A3=0;P0=table[x];delay(1);A3=1;}}main(){char t;P2=0;P0=0x80;while(1){if(k1==0){delay(10);if(k1==0){delay(10);while(!k1);t++;if(t>255)t=0;xianshi(t);}}if(k2==0){delay(10);if(k1==0){delay(10);while(!k1);t--;if(t<0)t=255;xianshi(t);}}}}2)编写程序,实现跑秒功能。

单片机最小系统焊接监测实训报告

单片机最小系统焊接监测实训报告

《单片机最小系统焊接监测实训报告》一、简介在电子信息工程专业的学习过程中,学生需要通过实训来对专业知识进行实际操作和应用。

本次实训报告将对单片机最小系统焊接监测实训进行全面评估,并撰写有价值的文章,以便对该主题有更深入的理解。

二、单片机最小系统焊接监测实训的重要性单片机最小系统焊接监测实训是电子信息工程专业中非常重要的一环。

通过实际操作焊接单片机最小系统,学生可以更深入地了解单片机最小系统的组成和工作原理,并培养实际动手能力和解决问题的能力。

通过监测焊接质量,可以培养学生的严谨态度和工作细致的习惯。

三、实训过程与结果分析在实训过程中,学生需要熟悉焊接设备的使用方法,准备焊接材料和工具,并按照实训要求进行焊接操作。

通过这一过程,学生可以掌握焊接技术和注意事项,并在实践中不断提升自己的技能。

而监测焊接质量的过程则需要学生使用相关仪器对焊接后的系统进行测试,分析测试结果,并对焊接质量进行评估。

通过这一过程,学生可以了解监测设备的使用方法和测试原理,并提升自己的实验技能和数据分析能力。

经过实训,学生可以掌握单片机最小系统焊接监测的技术要点,并对焊接质量进行准确评估。

四、个人观点和理解在我看来,单片机最小系统焊接监测实训是非常重要的一部分。

通过这一实训,我对单片机最小系统的组成和工作原理有了更清晰的认识,同时也提升了自己的焊接技能和实验能力。

通过监测焊接质量的过程,我学会了如何使用监测设备和分析测试结果,同时也培养了我的严谨态度和工作细致的习惯。

整个实训过程让我受益匪浅,在未来的学习和工作中都会对我产生重要的影响。

五、总结与回顾通过本次实训,我深入了解了单片机最小系统焊接监测的技术要点,并掌握了相关的操作技能。

我也意识到监测焊接质量对于提高焊接技术和提升实验能力都有着重要的作用。

在未来的学习和工作中,我会继续努力,不断提升自己的实践能力和解决问题的能力。

单片机最小系统焊接监测实训是一次非常有意义的实践活动。

单片机最小系统设计安装调试实训总结

单片机最小系统设计安装调试实训总结

单片机最小系统设计安装调试实训总结1. 引言单片机最小系统是指由单片机芯片、晶振、复位电路和电源构成的基本硬件系统,是进行单片机开发的基础。

本次实训旨在通过设计、安装和调试单片机最小系统,加深对单片机工作原理和硬件组成的理解,并能够熟练操作相关工具和设备。

2. 设计方案2.1 硬件选型根据实际需求选择合适的单片机芯片,并考虑其性能、功能和价格等因素。

同时选择合适的晶振频率,一般选择常用的4~20MHz晶振。

2.2 复位电路设计复位电路用于保证单片机在上电或复位时能够正常初始化,并进入预期状态。

一般需要使用一个稳压芯片来提供稳定的复位电压,并使用一个复位按钮来手动触发复位。

2.3 电源设计根据单片机芯片的工作电压要求选择合适的电源模块,并注意提供足够稳定的电流输出。

同时需要考虑是否需要添加滤波电容来减小噪声干扰。

3. 安装步骤3.1 焊接电路板根据设计方案,将单片机芯片、晶振、复位电路和电源模块等元件焊接在电路板上。

注意焊接时要保证焊点的良好连接,避免短路和虚焊等问题。

3.2 连接调试工具使用USB转串口模块将单片机最小系统与计算机连接起来,以便通过串口进行调试和通信。

根据单片机芯片的规格书,确定相应的引脚连接方式。

3.3 烧录程序选择合适的烧录工具和烧录软件,将编写好的程序下载到单片机芯片中。

在烧录过程中需要注意选择正确的芯片型号和端口,并确保烧录成功。

4. 调试步骤4.1 复位测试按下复位按钮或重新上电后,观察单片机是否能够正常复位,并进入预期状态。

可以通过串口打印输出一些信息来验证单片机是否正常工作。

4.2 晶振测试观察晶振是否能够正常振荡,并使用示波器检测晶振输出的波形频率是否与选用的晶振频率一致。

4.3 电源测试检测电源模块的输出电压是否稳定,并使用示波器检测电源线上的纹波情况。

如果有较大纹波,可以考虑添加滤波电容来降低噪声。

4.4 程序测试编写一个简单的程序,如LED闪烁或串口通信等,通过下载到单片机芯片中进行测试。

单片机最小系统实验报告

单片机最小系统实验报告

《单片机原理及应用技术》课程设计报告设计课题:单片机最小系统(流水灯的设计)系别:物理与机电工程学院专业:机电一体化技术学号:姓名:指导老师:2012年6月单片机最小系统(流水灯的设计)一、单片机简介由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多记成电路生产家相继推出各种类型的单片机,在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。

目前,可用于MCS-51系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现在资源,开发出用于不同目的的各类应用系统。

单片机最小系统是在以MCS-51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。

单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时监测和自动控制领域中广泛应用的期间,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。

普遍来说,单片机又称单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM(数据存储器)、ROM(程序存储器)、定时器/ 计数器和多种功能的I/O(输入/ 输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。

二、电路简介在我们的单片机最小系统设计中,有些电路的介绍简单如下:复位电路:由电容串联电阻构成,"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。

典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。

单片机最小系统实验报告

单片机最小系统实验报告

单片机最小系统实验报告单片机最小系统实验报告一、引言单片机(Microcontroller)是一种集成了微处理器、存储器和输入/输出接口等功能的微型计算机系统。

它具有体积小、功耗低、成本低等特点,广泛应用于嵌入式系统、电子设备控制等领域。

本实验旨在通过搭建单片机最小系统,深入理解单片机的工作原理和应用。

二、实验器材1. 单片机:选用STC89C52RC型号;2. 开发板:包括电源、晶振、按键、数码管等;3. 连接线:用于连接单片机与开发板。

三、实验步骤1. 连接电源:将开发板的电源模块与单片机相连,确保电源供应正常。

2. 连接晶振:将晶振的两个引脚分别与单片机的两个晶振引脚相连,确保晶振的振荡频率与单片机的要求相符。

3. 连接按键:将按键的引脚与单片机的输入引脚相连,通过按下按键触发单片机的相应操作。

4. 连接数码管:将数码管的引脚与单片机的输出引脚相连,实现数字的显示。

四、实验原理单片机最小系统是指由单片机、晶振和复位电路构成的最基本的工作系统。

其中,晶振提供时钟信号,单片机根据时钟信号进行计算和控制,复位电路用于初始化单片机的状态。

通过连接按键和数码管,可以实现与外部环境的交互。

五、实验结果经过以上步骤的搭建,我们成功搭建了单片机最小系统。

在接通电源后,数码管上显示了默认的初始值。

通过按下按键,我们可以触发单片机的相应操作,例如改变数码管的显示内容、控制外部设备的开关等。

六、实验分析通过本次实验,我们深入了解了单片机最小系统的搭建和工作原理。

单片机作为一种微型计算机系统,具有灵活性和可编程性,可以根据不同的需求进行编程和控制。

通过连接外部设备,如按键和数码管,可以实现与外界的交互,提高系统的功能和扩展性。

七、实验应用单片机最小系统广泛应用于各种嵌入式系统和电子设备控制中。

例如,智能家居系统中的温度控制、照明控制等功能,汽车电子系统中的发动机控制、车载娱乐等功能,工业自动化系统中的生产线控制、传感器数据采集等功能等等。

单片机最小系统实训报告

单片机最小系统实训报告

单片机最小系统实训报告一、实训目的1、掌握并理解单片机最小系统的原理和制作,熟悉电子元件的参数以及应用。

2、熟悉PCB板的工业制作流程,并且要求会使用protel软件绘制相应的PCB图。

3、复习使用keil51软件编写相应程序,编译以及实现其功能。

4、要求具备手工焊接的能力,5、能够使用软件对原理图进行仿真,测试。

二、实训要求1、实现温度检测,并在数码管上显示。

2、流水灯的实现。

左循环和右循环。

3、键盘输入的控制。

三.实验设备及型号1、单片机测试平台;开发系统,PC机、串/并口线。

2、AT89C52单片机,A/D模数转换芯片D/A数模转换芯片,晶体管晶振。

最小系统板及其他外围电路器材。

3、开发软件;Protel 软件。

Keil51软件。

Proteus仿真软件。

四.实训原理最小系统原理电路图由复位电路,单片机和排阻及时钟电路组成最小单片机系统。

AD DA 转换电路图使用proteus软件对系统原理进行仿真测试。

仿真测试此处不一一列举仿真实例,如图为(温度仿真)单片机实现此四个功能的相应的程序代码完整源代码如下;#include<reg52.h>//单片机头文件#include<intrins.h>//左右位移头文件#define uint unsigned int#define uchar unsigned char#define led P1//流水灯端口宏定义#define _data P0//数码管数据宏定义sbit diola=P2^5;//流水灯选通端sbit dula=P2^6; //数码管段选sbit wela=P2^7; //数码管位选sbit DQ=P2^2;//DS18B20数据读取端sbit s1=P3^4;//四个按键sbit s2=P3^5;sbit s3=P3^6;sbit s4=P3^7;uint wendu,key_num=0,led_num=0;uchar code table[]={ //数码管字模0xed,0x48,0xe6,0x6e,0x4b,0x2f,0xaf,0x68,0xef,0x6f,0xeb,0x8f,0xa5,0xce,0xa7,0xa3};/*************DS18B20温度读取模块*************/void tmpDelay(int u) //延时函数{uint x;for(x=u;x>0;x--);}void Init_DS18B20()//初始化ds1820{unsigned char x=0;DQ = 1; //DQ复位tmpDelay(8); //稍做延时DQ = 0; //单片机将DQ拉低tmpDelay(80); //精确延时大于480usDQ = 1; //拉高总线tmpDelay(14);x=DQ; //稍做延时后,如果x=0则初始化成功x=1则初始化失败tmpDelay(20);}unsigned char ReadOneChar() //读一个字节{unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;tmpDelay(4);}return(dat);}void WriteOneChar(unsigned char dat) //写一个字节{unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;tmpDelay(5);DQ = 1;dat>>=1;}}uint Readtemp() //读取温度{unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器a=ReadOneChar(); //连续读两个字节数据b=ReadOneChar();t=b;t<<=8;t=t|a; //两字节合成一个整型变量tt=t*0.0625; //得到真实十进制温度值t= tt*1000+0.5; //放大十倍return(t);}void delay(uint z)//通用延时函数{uint x,y;for(x=z;x>0;x--){for(y=110;y>0;y--);if(!s1||!s2||!s3||!s4) break; //检测到按键退出}}void display(uint z)//数码管显示函数{_data=0xfb;wela=1;wela=0;_data=0x00;dula=1;_data=table[z/1000];delay(2);dula=0;_data=0xf7;wela=1;wela=0;_data=0x00;dula=1;// if(!key_num)_data=table[z/100%10]+0x10;// else// _data=table[z/100%10];delay(2);dula=0;_data=0xef;wela=1;wela=0;_data=0x00;dula=1;_data=table[z/10%10];delay(2);dula=0;_data=0xdf;wela=1;wela=0;_data=0x00;dula=1;_data=table[z%10];delay(2);dula=0;}void led_run_left()//流水灯左移函数{uint temp,j;diola=1;temp=0xf8;for(j=0;j<8;j++){led=temp;delay(300);temp=_crol_(temp,1);led=0xff;}}void led_run_right()//流水灯右移函数{uint temp,j;diola=1;temp=0x1f;for(j=0;j<8;j++){led=temp;delay(300);temp=_cror_(temp,1);led=0xff;}}uchar key_scan()//按键检测函数{if(!s1){delay(10);if(!s1){while(!s1);key_num=0;}}if(!s2){delay(10);if(!s2){while(!s2);key_num=1;led_num++;led_num=led_num%16;}}if(!s3){delay(10);if(!s3){while(!s3);key_num=2;}}if(!s4){delay(10);if(!s4){while(!s4);key_num=3;}}return(key_num);}void chuli()//温度处理函数{wendu=Readtemp()/10;}void main()//主函数{uint temp1;chuli();//读取一次温度while(1){key_scan();//按键检测switch(key_num){case 0://按下键s1时显示当前温度{temp1++;if(temp1==200){temp1=0;chuli();}display(wendu);}break;case 1://按下键s2时数码管显示{_data=0x00;wela=1;wela=0;dula=1;_data=table[led_num];delay(2);dula=0;}break;case 2://按下键s3时流水灯左移{_data=0x00;wela=1;wela=0;dula=1;_data=0x83;led_run_left();}break;case 3://按下键s4时流水灯右移{_data=0x00;wela=1;wela=0;dula=1;_data=0x4a;led_run_right();}break;default:break;}}}五、实训心得通过这几天的单片机的实训,我们在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。

_单片机最小系统实验报告

_单片机最小系统实验报告

单片机最小系统一、摘要:单片机最小系统设计主要在STC89C52单片机上扩展I/O口,用ZLG7290芯片扩展键盘和8段数码管显示接口,用TLC5615和TLC1549芯片进行数/模间转换,液晶连接单片机I/O口。

软件编程控制数码管显示、液晶显示、数/模间转换。

二、关键字:STC89C52、TLC5615、TLC1549、ZLG7290、按键、LED、LCD、8段数码管。

目录1.设计 (3)1.1 主要芯片简介 (3)1.1.1 ZLG7290芯片………………………………………………1.1.2 TLC5615芯片……………………………………………1.1.3 TLC1549芯片……………………………………………1.2 目的要求 (3)1.2.1 目的 (4)1.2.2 任务 (4)2. 系统原理 (4)2.1 电源 (4)2.2 复位及时钟电路 (4)2.3 八段数码显示管 (5)2.4 液晶显示电路 (5)2.5 按键电路 (6)2.6 AD/DA转换电路…………………………………………3. 具体步骤…………………………………………………………………4.设计总结…………………………………………………………………5. 软件设计…………………………………………………………………6. 参考文献……………………………………………………………………附录1 材料清单1.设计1.1主要芯片简介1.1.1 ZLG72901.直接驱动 8位共阴式数码管(1 英寸以下)或 64只独立的 LED;2.能够管理多达 64 只按键,自动消除抖动,其中有 8 只可以作为功能键使用;3.段电流可达 20mA,位电流可达 100mA以上;4.利用功率电路可以方便地驱动 1 英寸以上的大型数码管;5.具有闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能;6.提供有10种数字和21种字母的译码显示功能,或者直接向显示缓存写入显示数据;7.不接数码管而仅使用键盘管理功能时,工作电流可降至 1mA;8.与微控制器之间采用 I2C串行总线接口,只需两根信号线,节省 I/O资源;9.工作电压范围:+3.3~5.5V;10.工作温度范围:-40~+85℃;11.封装:DIP-24(窄体),SOP-24。

单片机最小应用系统制作实训报告

单片机最小应用系统制作实训报告

单片机最小应用系统制作实训报告
首先,我选用了一块常见的8051单片机作为系统的核心芯片。

这款单片机具有强大的处理能力和丰富的外设接口,非常适合用于小型应用系统的开发。

然后,我进行了硬件的搭建。

首先,我将单片机与外部电源和晶振进行了连接,以提供运行所需的电源和时钟信号。

接下来,我通过GPIO口将单片机与LED灯连接,以便控制LED的亮灭。

为了简化系统的搭建,我直接使用了面包板进行连接,并通过杜邦线将各个元件连接在一起。

在硬件搭建完成后,我转入软件部分的开发。

首先,我使用Keil软件进行编写和调试单片机的程序。

我采用了C语言作为开发语言,编写了一个简单的程序,用于控制LED灯的亮灭。

程序的基本逻辑是利用单片机的GPIO口输出高低电平信号,从而控制LED灯的开关。

经过多次调试和修改,我最终成功地实现了LED灯的亮灭控制。

当单片机输出高电平信号时,LED灯会亮起;当单片机输出低电平信号时,LED灯会熄灭。

这样,我就成功地完成了最小应用系统的制作。

通过这次实训,我对单片机应用系统的制作过程和原理有了更深入的了解。

我学会了如何选用合适的单片机、搭建硬件系统、编写程序并进行调试。

我也发现了在实际制作过程中可能出现的问题和解决方法。

这对提高我对单片机应用系统的开发能力非常有帮助。

总之,通过这次实训,我成功地制作了一个单片机最小应用系统,并对该系统的制作过程和原理有了更深入的了解。

我相信这次实训经验对我的学习和将来的工作都将有所帮助,我会继续深入学习和探索单片机应用系统的开发。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机最小系统实训报告一、实训目的1、掌握并理解单片机最小系统的原理及制作, 牢记最小系统中各元器件的参数及各元器的作用./2、掌握单片机芯片内部的组成及存储机构。

3、理解常用指令的功能和使用方法。

4、掌握单片机的中断源,中断控制寄存器,中断响应过程,定时/计数器的电路结构、功能我使用方法,定时器/计数控制寄存器.5、复习利用Keil51软件对程序进行编译。

6、用protel软件绘制“单片机最小系统”电路,并用测试程序进行仿真。

7、会根据实际功能,正确选择单片机功能接线,编制正确程序。

对实验结果能做出不分析我解释,能学出符合规格的实验报告。

二、实训工具1、点偏激测试平台:PC机,串口线,并口线,单片机开发板2、软件:keil51测试软件,protel仿真软件,DXP2004软件。

三、实训要求通过实训,学生应达到以下经济方面的要求:素质要求1、以积极认真的态度对待本次实训,遵章守纪、团结协作。

2、善于发现数字电路中存在的问题、分析问题、解决问题,努力培养独立工作能力。

能力要求1、模拟电路的理论知识2、脉冲与数字电路的理念知识3、通过模拟、数字电路实验有一定的动手能力4、能熟练的制作单片机最小系统5、嫩熟练的编写8951单片机汇编程序6、能够熟练的运用仿真软件对单片机最小系统仿真四、实训内容1、掌握并理解“单片机最小系统”的原理及制作,牢记最小系统中各元器件的参数及格元器件的作用。

2、用keil51测试元件编写8951单片机汇编程序3、用peotel软件绘制“单片机最小系统”单路原理图。

4、运用仿真软件对单片机最小系统进行仿真。

五.实训基本步骤1、用peotel乳酸钠几十年绘制“单片机最小系统”单路原理图。

2、根据原理图生成pcb图、GB文件。

钻孔文件3、绘制印刷电路板。

4、根据原理图焊接元件,生成单片机开发板。

5、用keil51软件编写单片机最小系统测试程序。

6、用仿真软件绘制单片机最小系统原理图,测试测量程序。

7、把测试程序拷贝到单片机里进行实物测试。

8、观察测试结果。

六、51单片机C编语言程序测试测试程序流水灯1://用定时器做流水灯测试//为定时显示做准备//P1-0-----PF1.3 L0-----L3#include<reg52.h>#include<absacc.h>#define unit unsigned int#define unchar unsigned charsbit L0 = P1^0;sbit L1 = P1^1;sbit L2 = P1^2;sbit L3 = P1^3;unsigned char data BUFFER[1]={0};void main(void){P2=0X0F;EA=1;IT0=1;ET0=1;TMOD=0X01;TH0=-5000/256;TL0=-5000%256;TR0=1;while(1){};}//定时器0中断服务程序//void timer0(void) interrupt 1 using 1{TH0=-5000/256;TL0=-5000%256;BUFFER[0]=BUFFER[0]+1;if(BUFFER[0]==100){L3=!L3;L2=!L2;L1=!L1;L0=!L0;}}测试程序流水灯2://此程序为了做花样流水灯的//采用了C的宏定义 X 可以实现一改全改#include<reg52.h>#include<absacc.h>#define unit unsigned int#define unchar unsigned char#define X 16 //unsigned int time=0;unsigned int a[X]={0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80,0X18,0X24,0X42,0X81,0X42,0X24,0X18,0X00,};void main(void){P1=0X0f;EA=1;IT0=1;ET0=1;TMOD=0X01;TH0=9000/256;TL0=9000%256;TR0=1;while(1){P1=a[time];};}//定时器0中断服务程序//void timer0(void) interrupt 1 using 1{TH0=9000/256;TL0=9000%256;time++;if(time==X) time=0;}//此程序来测试数码管//P0.0--P0.7 A B C D E F G dp//P2.0--P2.7 C0M0--------C0M8#include<reg52.h>#include<absacc.h>#define unit unsigned int#define unchar unsigned charunsigned char data BUFFER[1]={0};unsigned char X=0;//共阳极码表数码管unsigned char leddata[]={0xC0, //"0"0xF9, //"1"0xA4, //"2"0xB0, //"3"0x99, //"4"0x92, //"5"0x82, //"6"0xF8, //"7"0x80, //"8"0x90, //"9"0x88, //"A"0x83, //"B"0xC6, //"C"0xA1, //"D"0x86, //"E"0x8E, //"F"0x89, //"H"0xC7, //"L"0xC8, //"n"0xC1, //"u"0x8C, //"P"0xA3, //"o"0xBF, //"-"0xFF, //熄灭0xFF //自定义};unsigned char com[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,}; void Delay(unsigned char cnt){while(cnt--);}void xian_shi(unsigned char cp){unsigned char i;unsigned int z=cp;for(i=0;i<8;i++){P0=leddata[z%10];P2=com[i];Delay(200);z=z/10;}}void main(void){P0=0X00;P2=0Xff;EX0=1;IT0=1;EA=1;while(1){xian_shi(X);};}//定时器0中断服务程序//void timer0(void) interrupt 1 using 1 {X++;if(X==25){X=0;}}此程序测试键盘//P3.0---P3.3 L0-------L3//从左到有显示为 0 1 2 3 P3.4/ //上/// 4 5 6 7 P3.5/ //到/// 8 9 A B P3.6/ //下/// C D E F P3.7/ //P3.4--=P3.7 H0----H3#include<reg52.h>#define uchar unsigned char#define uint unsigned intunsigned char led_data[]={0xC0, //"0"0xF9, //"1"0xA4, //"2"0xB0, //"3"0x99, //"4"0x92, //"5"0x82, //"6"0xF8, //"7"0x80, //"8"0x90, //"9"0x88, //"A"0x83, //"B"0xC6, //"C"0xA1, //"D"0x86, //"E"0x8E, //"F"0x89, //"H"0xC7, //"L"0xC8, //"n"0xC1, //"u"0x8C, //"P"0xA3, //"o"0xBF, //"-"0xFF, //熄灭0xFF //自定义};void delay(uint i){while(i--);}uchar keyscan(void) //{uchar cord_h,cord_l;//行列值中间变量P3=0x0f; //行线输出全为0cord_h=P3&0x0f; //读入列线值if(cord_h!=0x0f) //先检测有无按键按下{delay(100); //去抖if(cord_h!=0x0f){cord_h=P3&0x0f; //读入列线值P3=cord_h|0xf0; //输出当前列线值cord_l=P3&0xf0; //读入行线值return(cord_h+cord_l);//键盘最后组合码值 }}return 0xFF;}void main(){uchar key;P2=0xbb; //1数码管亮按相应的按键,会显示按键上的字符while(1){key=keyscan(); //调用键盘扫描,switch(key){case 0xEE:P0=led_data[0];break;//0 按下相应的键显示相对应的码值 case 0xED:P0=led_data[1];break;//1case 0xEB:P0=led_data[2];break;//2case 0xE7:P0=led_data[3];break;//3case 0xDE:P0=led_data[4];break;//4case 0xDD:P0=led_data[5];break;//5case 0xDB:P0=led_data[6];break;//6case 0xD7:P0=led_data[7];break;//7case 0xBE:P0=led_data[8];break;//8case 0xBD:P0=led_data[9];break;//9case 0xBB:P0=led_data[10];break;//acase 0xB7:P0=led_data[11];break;//bcase 0x7E:P0=led_data[12];break;//ccase 0x7D:P0=led_data[13];break;//dcase 0x7B:P0=led_data[14];break;//ecase 0x77:P0=led_data[15];break;//f}}}//此程序用来测试中断键盘P3.2 INT0//下跳沿触发//#include<reg52.h>#include<absacc.h>#define unit unsigned int#define unchar unsigned charsbit L0=P1^0;sbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;unsigned int times=0;void delay(unsigned int cp){unsigned int i=cp;while(i--);}unsigned char leddata[]={0xC0, //"0"0xF9, //"1"0xA4, //"2"0xB0, //"3"0x99, //"4"0x92, //"5"0x82, //"6"0xF8, //"7"0x80, //"8"0x90, //"9"0x88, //"A"0x83, //"B"0xC6, //"C"0xA1, //"D"0x86, //"E"0x8E, //"F"0x89, //"H"0xC7, //"L"0xC8, //"n"0xC1, //"u"0x8C, //"P"0xA3, //"o"0xBF, //"-"0xFF, //熄灭0xFF //自定义};unsigned char com[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,};void xian_shi(unsigned char cp){unsigned char i;unsigned int z=cp;for(i=0;i<8;i++){P0=leddata[z%10];P2=com[i]; delay(200);z=z/10;}}void main(void){P1=0Xdd;EX0=1;IT0=1;EA=1;while(1){xian_shi(times);};}//INT0低电平中断服务程序//void intersvr0(void) interrupt 0 using 1 {L0=!L0;L1=!L1;L2=!L2;L3=!L3;times ++;}//最简单的24小时显示#include<reg52.h>#include<absacc.h>#define unit unsigned int#define unchar unsigned charunsigned char data BUFFER[1]={0};unsigned char time[3]={0};unsigned char leddata[]={0xC0, //"0"0xF9, //"1"0xA4, //"2"0xB0, //"3"0x99, //"4"0x92, //"5"0x82, //"6"0xF8, //"7"0x80, //"8"0x90, //"9"0x88, //"A"0x83, //"B"0xC6, //"C"0xA1, //"D"0x86, //"E"0x8E, //"F"0x89, //"H"0xC7, //"L"0xC8, //"n"0xC1, //"u"0x8C, //"P"0xA3, //"o"0xBF, //"-"0xFF, //熄灭0xFF //自定义};unsigned char com[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,}; void Delay(unsigned char cnt){while(cnt--);}void xian_shi(void){unsigned char i;unsigned int SS=time[0]+100*time[1]+10000*time[2];for(i=0;i<6;i++){P0=leddata[SS%10];P2=com[i];Delay(200);SS=SS/10;}}void main(void){P0=0X00;P2=0Xff;EA=1;IT0=1;ET0=1;TMOD=0X01;TH0=0xec;TL0=0x78;TR0=1;while(1){xian_shi();};}//定时器0中断服务程序//void timer0(void) interrupt 1 using 1{TH0=0xec;TL0=0x78;BUFFER[0]=BUFFER[0]+1;if(BUFFER[0]==100){time[0]++;BUFFER[0]=0;if(time[0]==60){time[0]=0;time[1]++;if(time[1]==60){time[1]=0;if(time[1]==60){time[1]=0;time[2]++;if( time[2]==24) time[2]=0;}}}}}七、实训心得高职高专教育培养的是技术应用型人才,学校为了陪养我们的创新精神和工程实践能力,提高我们的综合素质,我们进行实训,在实践中相互学习和进步。

相关文档
最新文档