杭电 短学期 单片机 实验报告 2012
- 格式:doc
- 大小:572.50 KB
- 文档页数:23
杭电单片机实验报告六(优秀范文5篇)第一篇:杭电单片机实验报告六单片机原理与应用技术实验报告实验题目: :A D/A 转换器得接口与应用姓名: :* **学号: :*** *** * **实验日期: :17 7、6 6、6 6指导教师: :高惠芳1、实验内容、1波得波齿锯现实程编请,V01—为压电考参,接所上堂课如线接得机片单与2380CADﻩ形,锯齿波得周期为20+作业号,单位就是ms。
我得作业号就是6,所以周期就就是26ms。
经过计算后时间应为0、102ms左右。
1)程序代码:H0000 GROﻩ WASAD PMJAﻩ H0020 GROﻩDASAW:CLR A LOOP1:MOV P1,A DELAY: 61#,7R VOMﻩDLY1: MOV R6,#1 DLY2: DJNZ R6,DLY2PONﻩ DJNZ R7,DLY1INC A1POOL PMJSﻩEND 2)软件程序截图3)编译通过截图4)调试截图时间满足 0 0、s 102ms 左右5)仿真电路图6)仿真波形图2、DAC0832 与单片机得接线如课堂上所接,参考电压为—10V,请编程实现三角波得波形,三角波得周期为 20+作业号,单位就是ms。
我得作业号就是6,所以周期就就是26ms。
经过计算后时间应为0、102ms 左右。
1)程序代码:ORG 0000HWASAD PMJAﻩORG0200HDASAW:CLRA LOOP 1:MOV P1,A; DELAY: 61#,7R VOMﻩDLY1:1#,6R VOMﻩDLY2: DJNZ R6,DLY2PONﻩ 1YLD,7R ZNJDﻩ A CNIﻩCJNE A,#00H,LOOP1 LOOP2:MOV P1,A;DEC A2POOL,H00#,A ENJCﻩ SJMP DASAWEND 2)代码程序截图3)编译通过截图4)仿真电路图5)仿真结果3、实验心得通过以上得实验,对DAC 得转换原理有了比较深刻得了解,也对D/A 转换器有了一定得了解,DAC得基本原理就是把数字量得每一位按照权重转换成相应得模拟分量,然后根据叠加定理将每一位对应得模拟分量相加,输出对应得电流或电压。
单片机实验报告班级:信科09-3姓名:王艳辉学号:08093581指导老师:陈岱完成时间:2012年1月8日实验一 I/O接口P1、P3口实验一,实验题目1,用P1口做输出,接八只发光二极管,编写程序,使发光二极管循环点亮。
2,用P3口做输入口,接八个扭子开关,通过P1口在实验箱上LED 灯上输出,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
二,实验目的1.熟悉使用CPLD实验箱进行单片机实验的方法。
2.设计出符合实验要求的CPLD硬件电路。
3.学习单片机仿真开发软件Keil 51的使用方法。
4.学习MCS-51汇编语言编程方法。
5.学习Pl口的使用方法。
6.学习延时子程序的编写和使用。
三,实验准备P1和P3口为准双向口,Pl、P3的每一位都能独立地定义为输出线或输入线,作为输入时,必须向锁存器相应位写入“l”,该位才能作为输入。
803l中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写入过“0”,在需要时应写入一个“l”使它再成为一个输入。
再来看一下延时程序的实现。
现常用的有两种方法:一是用定时器中断来实现,一是用指令循环来实现。
在系统时间允许的情况下可以采用后一种方法。
根据实验系统的工作主频,计算出延时0.1s的时间常量,编制延时程序:MOV R7, #200 (1)DEl:MOy R6,#X (2)DE2:DJNZ R6,DE2 (3)DJNZ R7,DEl (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需1÷0.256us现求出X值:(X*1/0.256+1/0.256+l/0.256)*200+l/0.256=0.1*10^6。
解出X=l26。
代入上式可知实际延时约0.100O04s,近似符合要求。
四,实验步骤(1)打开MAX+PLUSⅡ CPLD实验开发系统。
(2)点击File菜单Project子菜单之Name项,出现Project Name 对话框。
单片机实验报告第一篇:单片机实验报告单片机实验报告一、实验目的1.熟练使用Keil、Protues两款软件2.通过上机操作,增强个人动手实践能力3.加深对理论知识的理解4.培养运用汇编语言进行初步编写程序的能力二、实验内容1.将片外RAM3050-306FH中数据转移至片内70-8FH中。
要求:可以从Keil或Protues上看到RAM的数据转移结果。
2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮。
要求:开发板或Prrotues演示3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术。
要求:在Keil或Protues上看到数据转换结果。
4.各使用中断方式和查询方式设计一个方波发生器,频率为50HZ。
要求:Protues使软件间示波器显示方波。
三、实验程序1.将片外RAM3050-306FH中数据转移至片内70-8FH中ORG 0000H AJMP MAIN 上电,转向主程序ORG 0030H 主程序入口MAIN: MOV DPTR,#3050H 数据指针指向地址3050H MOV A,#04H 将立即数04H送A寄存器MOV R0,#20H NEXT: MOVX @DPTR,A INC DPTR 数据指针DPTR自加一DJNZ R0,NEXT 判断是否跳转到NEXT或继续向下执行MOV DPTR,#3050H MOV R0,#70H MOV R2,#20H NEXT1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,NEXT1SJMP $ 等待END 2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮ORG 0000H SJMP MAIN 上电,转向主程序ORG 0003H 外部中断0向量入口AJMP INSER ORG 0030H 主程序入口MAIN: SETB EX0 SETB IT0SETB EA CPUHERE: SJMP HERE ORG 0200H INSER: MOV R2,#08H MOV A,#01H NEXT: MOV P2,A LCALL DELAY RL A DJNZ R2,NEXT NEXT或继续向下执行RETI DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP 允许外部中断0中断选择边沿触发方式开中断等待中断设置循环次数赋初值,设置高电平亮将初值送往P2口延时左移一位判断循环次数,是否跳转到中断返回延时程序DJNZ R4,DEL1 DJNZ R3,DEL2 RET END 3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术 ORG 0000H LJMP MAIN ORG 0030H主程序起始地址 MAIN: MOV 80H,#05H 将立即数50H转送内存单元80H MOV A,80H 将内存单元80H中的内容送寄存器A MOV DPTR,#TAB MOVC A,@A+DPTR A寄存器内容加指针偏移量后送A寄存器 MOV 80H,A RET TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 4.1中断方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口 MAIN: MOV TMOD,#10H 设置定时器工作模式为模式1 MOV TH1,#0D8H 装入T1计数初值MOV TL1,#0F0HSETB ET1 开中断SETB EA CPU开中断SETB TR1 启动定时器T1 HERE: SJMP HERE 等待中断ORG 001BH T1中断向量地址CLR TF1 将TF1清零CPL P2.0 P2.0取反输出MOV TH1,#0D8H 重装初值MOV TH0,#0F0HRETI;中断返回END 4.2 查询方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口MAIN: MOV TMOD,#10H 设置定时器的工作模式为模式1 SETB TR1 启动定时器T1 LOOP: MOV TH1,#0D8H 装入T1计数初值MOV TH0,#0F0H JNB TF1,$ T1没有溢出则等待CLR TF1产生溢出,清标志位CPL P2.0 P2.0取反输出SJMP LOOP 循环END四、实验结果截图1.23.4.14.2第二篇:单片机实验报告实验四、中断交通灯实验林立强1000850116一、实验目的1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。
一、实验目的1. 理解单片机的基本工作原理和组成结构。
2. 掌握单片机编程的基本方法,包括汇编语言和C语言。
3. 学会使用Keil uVision等集成开发环境进行单片机程序的开发和调试。
4. 通过实验,了解单片机在实际应用中的功能和使用方法。
二、实验仪器设备1. 单片机实验板2. 电脑3. 示波器4. 信号发生器5. 电源6. 电阻、电容、电位器等电子元器件三、实验内容1. 单片机最小系统搭建- 搭建单片机最小系统,包括时钟电路、复位电路、电源电路等。
- 测试单片机是否能够正常工作。
2. LED流水灯实验- 利用单片机的I/O口控制LED灯的亮灭,实现流水灯效果。
- 通过编程实现LED灯的移位控制,观察流水灯的动态效果。
3. 按键输入实验- 设计按键输入电路,实现按键控制LED灯的亮灭。
- 编写程序,实现按键去抖动功能,确保按键信号的稳定性。
4. 定时器实验- 利用单片机的定时器实现定时功能,例如定时闪烁LED灯。
- 编写程序,设置定时器的时间间隔,观察LED灯的闪烁频率。
5. 串口通信实验- 配置单片机的串口通信参数,实现单片机与电脑之间的数据传输。
- 编写程序,实现数据的发送和接收,测试串口通信的稳定性。
四、实验步骤1. 单片机最小系统搭建- 根据实验板说明书,连接时钟电路、复位电路、电源电路等。
- 测试单片机的电源电压和复位功能。
2. LED流水灯实验- 编写程序,初始化I/O口,设置LED灯的移位控制方式。
- 编写延时函数,实现LED灯的动态效果。
- 将程序烧录到单片机中,观察LED流水灯效果。
3. 按键输入实验- 设计按键输入电路,连接到单片机的I/O口。
- 编写程序,实现按键的读取和去抖动功能。
- 将程序烧录到单片机中,测试按键输入功能。
4. 定时器实验- 配置单片机的定时器参数,设置定时器的时间间隔。
- 编写程序,实现定时器的中断处理,控制LED灯的闪烁。
- 将程序烧录到单片机中,观察LED灯的闪烁频率。
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机实验报告总结单片机实验报告总结单片机实验心得体会单片机实验心得体会时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。
在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。
这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。
将所学知识运用到实践中,在实践中发现问题,强化理论知识。
现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。
第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。
第一次实验体现了一个人对新事物的接受能力和敏感度。
虽然之前做过许多种实验。
但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。
所以第一次试验相对失败。
鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。
在做实验中,第二个问题应该是准备不充分吧。
一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。
后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。
于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。
这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。
发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。
三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。
于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。
但是编程是一件很严肃的事情,容不得半点错误。
于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。
实验一流水灯实验 (2)实验二数码管静态显示实验 (3)实验三按键输入与数码管静态显示实验 (6)实验四数码管动态显示实验一 (10)实验五数码管动态显示实验二 (12)实验六键盘扫描实验 (15)实验七外部中断实验一 (17)实验八外部中断实验二 (20)实验九定时器实验一 (23)实验十定时器实验二 (25)实验十一定时器实验三 (28)实验十二串口实验一 (29)实验十三串口实验二 (31)实验十四串口实验三 (34)实验十五 AD实验 (39)实验十六 DA实验 (42)实验十七点阵屏显示实验 (45)实验十八 LCD1602显示实验 (47)实验一流水灯实验一、实验要求1.在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路2.继续在Proteus软件中绘制电路,将P1口做输出口,接八只发光二极管3.在Keil软件中编写程序,实现功能,间隔1S点亮一个发光二极管,顺序从P1.0到P1.7依次点亮。
二、实验目的1.学习Proteus软件的使用方法2.学习Keil软件的使用方法3.学习端口输出的使用方法4.掌握延时程序的设计三、实验说明(条理清晰,含程序的一些功能分析计算)在Proteus软件中把实验要求的电路连接好,再利用Keil软件把要实现的功能编写程序,生成hex文件,把hex文件导到Proteus软件中进行仿真。
在编写程序时需要延时1s,我们选的单片机是12MHz的,一机器周期是12个时钟脉冲,一个时钟脉冲的时间是1/12us,即一个机器周期为1us。
程序中子函数void delay_ms(int x)中x为1是可延时1ms,以此类推可得1s=1000ms,当x=1000时刚好延时1s。
四、硬件原理图及程序设计(一)硬件原理图设计电路中P1.0到P1.7为LED控制端口,排阻RP1阻值为330Ω,AT89c51单片机的9脚(RST)为复位引脚;31引脚(EA)为存取外部存储器使能引脚:单片机内部已接地,所以我们不用再接了。
单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。
它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。
本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。
2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。
3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。
4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。
具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。
接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。
4.2 编程使用XXX软件对单片机进行编程。
根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。
验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。
4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。
在实验过程中需记录实验结果,并进行分析。
5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。
掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。
实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。
当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。
在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。
6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。
)。
单片机技术与应用实验报告实验名称:单片机技术与应用实验班级: 10062813 学号: 10061314 姓名:陆维俊指导老师:朱胜利实验一 P1口、P3口输入输出实验一.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二.实验代码P1口输出程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV A,#0FEH LOOP1: MOV P1,AACALL DELAYRL ACJNE A,#0FEH,LOOP1AJMP MAIN DELAY: MOV R7,#10H DELAY0: MOV R6,#7FH DELAY1: MOV R5,#7FH DELAY2: DJNZ R5,DELAY2DJNZ R6,DELAY1DJNZ R7,DELAY0RETEND P1口输入程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV P1,#0FFHMOV A,p1MOV DPTR,#0F200HMOVX @DPTR,AAJMP MAINEND三.实验说明1.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS 管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对于程序 DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知 MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS四.心得体会这次实验让我了解了P1口和P3口作为普通I/O口的使用方法,并通过编程将P1口作为输入输出口进行简单的发光二极管的点亮和开关状态的读取,这在单片机学习中是及为基础的练习。
杭电自动化单片机实验报告单片机原理与应用及 C51程序设计实验报告实验名称:单片机技术实验实验一继电器控制输出实验一、实验目的1.掌握STC12C5A16S2单片机的最基本电路的设计;2.了解单片机I/O端口的使用方法;3.了解继电器和蜂鸣器控制电路以及小电压控制大电压的方法。
二、实验要求1.利用STC12C5A16S2单片机的P1.2、P1.3口作按钮S9和S10输入,P1.0和P1.1口作开关量输出,并分别控制一个5V的继电器和蜂鸣器。
2.当S9闭合时,P1.0控制继电器闭合并控制灯泡闪亮;当S9断开时,继电器触电断开,灯泡不亮;3.当S10闭合时,P1.1控制蜂鸣器闭合并发出声音;当S10断开时,蜂鸣器不响。
三、电路四、原理说明Q1、Q2为9012三极管即PNP型,低电平导通,当S9或S10按下时,相应的IO口拉低,当P1.0或P1.1赋0时即可控制继电器的吸合活着蜂鸣器的发声。
五、程序代码#includesbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;sbit L0=P1^0;//定义位变量void delay(){int i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);//利用系统时钟,定义延时函数}void main (){int n=20;while(1) //不断循环检测{if(L2==0) //判断S9输入{while(n--){L0=0;delay();L0=1;delay(); //灯泡以2*delay为周期闪亮}n=20;}if(L3==0) //判断S10闭合{while(n--){L1=0;delay();delay(); //蜂鸣器以2*delay为周期发声}n=20;}}}实验二 LED轮换点亮实验一、实验目的1.掌握STC12C5A16S2单片机的I/O电路设计;2.学习SN74HC573数据锁存输出方法。
一、实验名称单片机原理及应用实验二、实验目的1. 熟悉单片机的基本结构和原理,了解单片机在电子系统中的应用。
2. 掌握单片机编程语言C的基本语法和编程技巧。
3. 学会使用单片机进行简单控制,实现LED流水灯、数码管显示等基本功能。
4. 提高动手实践能力,培养团队合作精神。
三、实验仪器与设备1. 单片机实验箱:包括单片机、电源、按键、LED灯、数码管等。
2. 电脑:用于编程和仿真。
3. 编程软件:Keil uVision5或IAR EWARM等。
四、实验原理单片机是一种集成度高、功能强大的微控制器,具有运算速度快、功耗低、体积小等优点。
本实验以51单片机为例,介绍其基本原理和编程方法。
51单片机主要由以下几个部分组成:1. 中央处理器(CPU):负责执行指令,控制整个单片机系统。
2. 存储器:包括程序存储器(ROM)和数据存储器(RAM),用于存储程序和数据。
3. 输入/输出接口:用于与外部设备进行数据交换。
4. 定时器/计数器:用于实现定时和计数功能。
5. 中断系统:用于处理中断事件。
本实验主要涉及以下几个方面:1. 单片机基本结构和工作原理。
2. 单片机编程语言C的基本语法和编程技巧。
3. 单片机I/O口的使用和驱动能力。
4. 定时器/计数器的使用和编程。
5. 中断系统的使用和编程。
五、实验内容1. 实验一:LED流水灯(1)实验目的:掌握单片机I/O口的使用,实现LED流水灯效果。
(2)实验原理:通过单片机I/O口输出高低电平,控制LED灯的亮灭,实现流水灯效果。
(3)实验步骤:① 连接实验箱电路,将LED灯连接到单片机的P1口。
② 编写程序,设置P1口为输出模式,通过循环改变P1口输出电平,实现LED流水灯效果。
③在电脑上编译、下载程序,观察实验效果。
2. 实验二:数码管显示(1)实验目的:掌握单片机I/O口的使用,实现数码管显示功能。
(2)实验原理:通过单片机I/O口输出高低电平,控制数码管显示数字。
单片机实训报告范文精选5篇(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--单片机实训报告范文精选5篇单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。
第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。
比如:小灯得点亮就没有用到中断可以先不用看。
这样可以避免知识过多记不住的麻烦。
对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。
第三:程序不要只是看别人得,一定要自己写过才是自己的。
开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。
明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。
当你自己能写出来的时候说明你真懂了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运行时不能实现理想的现象。
这时有人就晕了不知该怎么办,然后就去问别人。
当别人找出问题出在哪里时就会恍然大悟。
其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。
自己一定要掌握解决问的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个很有用。
通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。
单片机原理及应用实验报告姓名:王翀学号************ 班级:通信工程专业 2012级 2班指导教师:**单片机原理及应用实验报告实验项目名称:键盘、数码管显示综合实验实验日期:12.21 实验成绩:实验评定标准:1)实验报告是否按照规定格式A()B()C()2)实验内容及说明是否完整A()B()C()3)实验步骤及说明是否正确A()B()C()4)实验结果及分析是否合理A()B()C()一、实验目的通过实验,掌握单片机在输入输出口线不够用时,怎样扩展接口的方法来支持8位LED显示和16键盘集成实现。
熟悉8155、8279等芯片性能;掌握其编程方法。
掌握键盘子程序调试方法,掌握按一个键并将键值显示出来的编程方法,这是诊断硬件、测试硬件、产品开发、软件编程必须掌握的方法。
二、实验器材实作实验的器材:组合最小系统板、14 脚插座板、20 脚插座板、六位数显板,开发系统一台或固化器一台、+5V 电源一台。
三、实验内容通过8155芯片的扩展功能,建立描述线与数据线同步功能。
①编写并调试出一个键盘实验子程序。
②用子程序调用方法,调用显示子程序,将按一个键的键值(0-F),在数码管上显示出来。
扩展部分为:实现模拟控制十字路口交通灯功能。
四、实验步骤1)仿真实验过程:打开Keil程序,执行菜单命令“Project”-“New Project”创建“键盘数码管显示综合实验”项目,并选择单片机型号为AT89C52.BUS。
执行菜单命令“File”-“New”创建文件,输入源程序,保存为“键盘数码管显示综合实验.A51或键盘数码管显示综合实验.c”。
在“Project”栏的File项目管理窗口中右击文件组,选择“Add Files to Group ‘Source Group1’”将源程序“键盘数码管显示综合实验.A51或键盘数码管显示综合实验.c”添加到项目中。
执行菜单命令“Project”-“Options for Target ‘Target 1’”,在弹出的对话框中选择“Output”选项卡,选中“Greate HEX File”。
一、实验目的1. 掌握单片机的基本工作原理和编程方法。
2. 熟悉常用单片机的硬件结构和接口。
3. 学习使用单片机进行简单的电子系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验仪器与设备1. 单片机实验板(含8051单片机、电源、按键、LED灯等)2. 示波器3. 万用表4. 电阻、电容、二极管等电子元件5. 编译器及调试软件三、实验内容1. 单片机最小系统搭建- 目的:学习单片机最小系统的构成和作用。
- 实验步骤:1. 将单片机插入实验板。
2. 连接电源、按键、LED灯等元件。
3. 使用示波器检测单片机的时钟信号。
- 实验结果:成功搭建单片机最小系统,时钟信号正常。
2. 按键控制LED灯- 目的:学习按键的读取和LED灯的控制。
- 实验步骤:1. 编写程序实现按键的读取。
2. 根据按键读取结果控制LED灯的亮灭。
- 实验结果:按键按下时LED灯亮,松开时LED灯灭。
3. 定时器中断控制LED闪烁- 目的:学习定时器中断的应用。
- 实验步骤:1. 编写程序设置定时器中断。
2. 在中断服务程序中控制LED灯闪烁。
- 实验结果:LED灯按照设定的频率闪烁。
4. 串口通信实验- 目的:学习串口通信的原理和应用。
- 实验步骤:1. 编写程序实现串口发送和接收。
2. 使用串口调试助手进行数据传输。
- 实验结果:成功实现串口通信,发送和接收数据。
5. 温度检测实验- 目的:学习使用温度传感器进行温度检测。
- 实验步骤:1. 连接温度传感器。
2. 编写程序读取温度传感器数据。
3. 将温度数据显示在LCD显示屏上。
- 实验结果:成功读取温度数据,并在LCD显示屏上显示。
四、实验总结通过本次单片机电子实习实验,我掌握了以下知识和技能:1. 单片机的基本工作原理和编程方法。
2. 常用单片机的硬件结构和接口。
3. 使用单片机进行简单的电子系统设计。
4. 串口通信、定时器中断、温度检测等应用。
在实验过程中,我遇到了一些问题,如程序调试、硬件连接等,通过查阅资料和请教老师,最终成功解决了这些问题。
电子实习单片机实验报告一、实验目的1. 掌握单片机的基本原理和结构,了解单片机在各行各业中的应用。
2. 学习单片机的编程和调试方法,培养实际操作能力和解决问题的能力。
3. 通过对单片机的实验操作,加深对单片机理论知识的理解和掌握。
二、实验内容本次实验主要分为以下几个部分:1. 单片机的基本原理和结构的学习。
2. 单片机的编程和调试方法的学习。
3. 完成一个简单的单片机应用项目。
三、实验器材1. 单片机学习板。
2. 电脑。
3. 编程软件。
4. 调试器。
四、实验步骤1. 学习单片机的基本原理和结构。
了解单片机的组成部分,如中央处理器、存储器、输入输出接口等。
2. 学习单片机的编程和调试方法。
学习如何使用编程软件进行程序编写,如何使用调试器进行程序调试。
3. 完成一个简单的单片机应用项目。
例如,设计一个流水灯电路,通过单片机控制LED灯的闪烁。
4. 分析实验结果,总结实验过程中的问题和解决方法。
五、实验结果与分析1. 实验结果通过实验,成功完成了流水灯电路的设计,通过单片机控制LED灯的闪烁。
实验过程中,掌握了单片机的编程和调试方法,能够熟练使用编程软件和调试器。
2. 实验分析在实验过程中,遇到了一些问题,如编程语句的错误、程序调试过程中的故障等。
通过查阅资料、请教老师和同学,逐步解决了这些问题,提高了自己的实际操作能力和解决问题的能力。
六、实验收获1. 掌握了单片机的基本原理和结构,了解了单片机在各行各业中的应用。
2. 学会了单片机的编程和调试方法,提高了实际操作能力和解决问题的能力。
3. 加深了对单片机理论知识的理解和掌握。
七、实验总结通过本次实验,对单片机有了更深入的了解,掌握了单片机的编程和调试方法。
在实验过程中,培养了自己的实际操作能力和解决问题的能力。
实验结束后,对单片机的理论知识有了更深的理解。
今后,将继续努力学习单片机的知识和技能,为将来的工作和发展打下坚实的基础。
一、实验目的1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机的编程方法,包括C语言和汇编语言。
3. 学习单片机的接口技术和应用系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验环境1. 单片机开发系统:STC89C52单片机开发板2. 编译器:Keil uVision3. 调试器:Proteus4. 实验指导书:《单片机实训教程》三、实验内容1. 单片机基本原理实验(1)实验目的:了解单片机的结构、工作原理和引脚功能。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与Proteus仿真软件;2)编写程序,设置单片机的工作模式;3)通过Proteus仿真软件观察单片机的运行状态。
(3)实验结果:通过仿真软件,观察到单片机能够按照程序的要求进行运行,实现了实验目的。
2. 单片机C语言编程实验(1)实验目的:掌握单片机的C语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写C语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
3. 单片机汇编语言编程实验(1)实验目的:掌握单片机的汇编语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写汇编语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
4. 单片机接口技术实验(1)实验目的:了解单片机的接口技术,掌握常用接口的编程方法。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与外部设备;2)编写程序,实现单片机与外部设备的通信;3)通过Proteus仿真软件观察通信过程。
(3)实验结果:通过仿真软件,观察到单片机与外部设备能够成功通信,实现了实验目的。
单片机电子实习实验报告一、实习目的和任务本次电子实习的主要目的是通过实际操作,深入理解单片机的工作原理和应用,提高动手能力,并培养团队协作和解决问题的能力。
实习任务是设计和制作一个基于单片机的简易温度监测系统。
二、实习内容和过程1. 理论学习和准备在实习开始前,我们首先学习了单片机的基本原理和编程方法,了解了不同类型的单片机及其应用场景。
同时,我们还学习了温度传感器的工作原理和常见类型。
2. 设计和选型根据实习任务要求,我们设计了简易温度监测系统。
系统主要由单片机、温度传感器、显示模块和控制模块组成。
在选型阶段,我们充分考虑了各种模块的性能、价格和易用性,最终选定了AT89S51单片机、DS18B20温度传感器和LCD1602显示模块。
3. 电路设计和制作在电路设计阶段,我们根据所选模块的引脚和功能,设计了电路图,并进行了仿真测试。
在确认电路设计无误后,我们开始制作电路板。
在制作过程中,我们严格遵守安全操作规程,确保电路板的质量。
4. 编程和调试根据电路设计和功能需求,我们编写了单片机程序。
程序主要包括温度检测、数据处理、显示等功能。
编写完成后,我们进行了程序调试,通过不断优化和修正,确保程序稳定运行。
5. 系统集成和测试将电路板、温度传感器、显示模块等组装成系统后,我们进行了功能测试。
测试过程中,我们发现了部分功能不符合预期,经过分析和修正,最终实现了预期的功能。
三、实习成果和总结通过本次实习,我们成功设计和制作了一个基于单片机的简易温度监测系统。
系统能够实时检测环境温度,并将温度值显示在LCD1602液晶屏上。
此外,我们还通过实习,提高了动手能力、团队协作能力和问题解决能力。
回顾实习过程,我们认识到单片机应用系统的设计和制作并非易事,需要充分考虑各个环节。
在今后的学习和工作中,我们将不断积累经验,努力提高自己在电子工程领域的综合素质。
四、实习体会本次实习让我们深刻体会到理论与实践相结合的重要性。
自动化学院单片机课程设计报告专业电子信息技术及仪器班级09062912学号09061939学生姓名瓦达喜指导教师学期大四上完成日期2012.9.9一、目的智能仪表课程设计是一项综合性的专业实践活动,目的是让学生将所学的基础理论和专业知识运用到具体的工程实践中,以培养学生综合运用知识能力、实际动手能力和工程实践能力,为此后的毕业设计打下良好的基础。
二、任务本次智能仪表课程设计的任务是设计一个温度控制器,并完成相关的编程工作。
基本任务是利用AT89C51单片机、ADC0809模数转换器等芯片设计一个具有温度测量显示和开关控制输出的装置。
三、温度控制系统具体设计要求电路设计、软件编程的功能和要求:1)该装置要求利用Proteus仿真软件完成软件编程与实现。
2)用6只共阴极的八段数码管来分别显示工作状态、设定温度和实际温度温度。
如下图所示:实际温度设定温度工作状态:“1”“1”表示开机“0”“0”表示关机3)用3只按钮来分别作为开机/关机键、温度设定上升键和下降键。
4)用1只LED发光二极管来表示加热器开关量控制输出,所有发光二极管均要求用2003达林顿管或三极管放大驱动。
5)温度设定范围0~99℃,在装置处于开机状态情况下,当实际温度高于等于设定温度时,加热器控制输出“关”;当实际温度低于设定温度5℃时,加热器控制输出“开”。
6)上电后,自动显示关机状态、设定温度50℃和实际室内温度,这时用户可以设定温度进行设定,但只有在按下启动/关闭键后,控制器正式工作;在运行期间,若对温度状态进行设定,则控制器按新设定开始。
若关机后(非断电)重新启动控制器,则自动进入上次关机前的设定状态。
7)温度传感器采用AT502热敏电阻(Proteus软件中用滑动变阻器代替)。
8)完成电路原理图设计,请注意:只设计本课题要求相关的电路;9)完成2)~ 5)所规定功能的软件流程图和编程工作;10)完成软硬件调试四、硬件设计部分1、系统设计整体框架图如图4-1所示图4-1 温度控制系统框架图本系统总体框架如图4-1所示,主要是基于AT89C51单片机和其他四个模块组成,四个模块即:LED显示模块、加热器控制模块、按键扫描/处理模块和基于ADC0808芯片的数据采集模块。
AT89C51单片机将通过ADC0808数据采集模块采集到的数据经过相应的处理送往LED显示模块进行显示。
数据采集模块:系统要求对温度进行实时采样、控制、显示,利用芯片ADC0808对温度采样,用一路模拟通道采集信号,就能满足要求。
由于温度的变化在短时间内不是非常明显,没必要一直都要采集温度值,因此本系统采用内部中断0产生定时中断定时的对温度值进行采集,并送显示。
按键扫描/处理模块:通过外部中断来实现,即有中断产生就去执行按键相应程序(开/关加热器、温度设置值上调、温度设置值下调)。
加热器控制模块:在装置处于开机状态情况下,当实际温度高于等于设定温度时,加热器控制输出“关”;当实际温度低于设定温度5℃时,加热器控制输出“开”。
实时的控制温度的变化使得温度值在设定值附近,以满足系统的设计要求。
1-1 ADC0809与MCS-51系列单片机的接口方法ADC0809与8051单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本系统中选用中断接口方式。
由于ADC0809无片内时钟,时钟信号可由单片机I/0口产生。
ADC0809内部设有地址锁存器,所以通道地址由P0口的低3位直接与ADC0809的A 、B 、C 相连。
通道基本地址为0000H ~0007H 。
其对应关系如表4-1-1所示。
表4-1-1 0809输入通道地址控制信号:将P2.7作为片选信号,在启动A/D 转换时,由单片机的写信号和P2.7控制ADC 的地址锁存和启动转换。
由于ALE 和START 连在一起,因此ADC0809在锁存通道地址的同时也启动转换。
在读取转换结果时,用单片机的读信号RD 和P2.7引脚经或非门后,产生正脉冲作为OE 信号,用以打开三态输出锁存器。
其接口电路如图4-3-1 数据采集电路所示。
2、AT89C51晶振电路和复位电路 2-1 晶振电路原理图 如图4-2-1所示图4-2-1内部振荡器方式地址码输入通道C B A 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 111IN7c、2c构成并联内部方式时钟电路如图4-2-1所示。
外接晶体以及电容1谐振电路,接在放大器的反馈回路中,内部振荡器产生自激振荡,一般晶振可在2~12MHz之间任选。
对外接电容值虽然没有严格的要求,但电容的大小多少会影响振荡频率的高低、振荡器的稳定性、起振的快速性和温度的稳c和2c通常选30pF左右;外接陶瓷谐振器时,1c和2c 定性。
外接晶体时,1的典型值为47pF。
2-2 上电外部复位电路如图4-2-2所示图4-2-2上电外部复位电路单片机的复位是靠外部电路实现的。
无论是HMOS还是CHMOS型,在振荡器正运行的情况下,RST引脚保持二个机器周期以上时间的高电平,系统复位。
在RST端出现高电平的第二个周期,执行内部复位,以后每个周期复位一次,直至RST端变低。
本文采用上电外部复位电路,如图4-2-2所示,相关参数为典型值。
3、数据采集模块3-1 原理图如图4-3-1所示图4-3-1 数据采集电路3-2 数据采集模块工作原理数据采集电路就是将滑动变阻器上的阻值通过IN0读入经过AD转换在OUT1--OUT8输出高低电平。
我们的电阻电阻阻值是1千欧,从0到100%显示,我们的输出端有256种显示方式。
00h--0ffh。
我们在滑动变阻器前面加上一个串联电阻阻值为1.56K,这样子我们滑动阻值的1%就对应输出端的二进制数00000001B,这样子二进制转换成相应的十进制在建立表格方面也会有相应的简便。
当P2.6,WR置低位时,ALE跟OE(输出使能端)置高位,start端也至高位,这时INT0从滑动变阻器读进来的阻值通过AD转换,在输出端形成高低电平输入单片机的P1端,这就形成了对电阻值的数据采样。
温度表的建立:温度标的建立就是通过滑动变阻器的改变电阻值来对OUT输出端端口的高低电平的改变来对应相应的温度值。
比如:滑动变阻器上显示的是12%,那么OUT端口显示的二进制代码是00001100B,通过对端口的比较:if (adcv==buddle[i])adcv即为端口的二进制数。
然后对变量realtep赋值。
这样再调用显示函数,在数码管上就显示12.uchar code fm []={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 ,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70, 71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93, 94,95,96,97,98} ;uchar code buddle[]={0x00,0x01,0x02 ,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0 b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d ,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d ,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d ,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d ,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d ,0x5e,0x5f,0x60,0x61,0x62} ;通过对端口数据的比较,然后再给变量赋值建立了从0--98十进制与二进制之间的关系。
4、温度值/加热器开关设置模块4-1电路原理图,如图4-4-1所示图4-4-1 温度值/加热器设置原理图4-2 工作原理三个开关中任何一个开关按下,INT0都将置低。
INT0置低时单片机将有一个外部中断0产生中断,此时说明有按键按下。
单片机检测到有按键按下但是还是未知哪个按键。
此时我们可以通过检测P2.7,P3.0,P3.1口的状态来判断是哪个按键按下,如果在相应位置上出现低电平则相应按键被按下。
然后执行相应的按键功能的程序以及显示程序。
5、LED显示模块5-1LED原理图如图4-5-1所示图4-5-1 LED显示电路图5-2 LED显示工作原理本系统应用8段6位共阴数码管作为显示器件,用片选信号来控制数码管的显示字符,应位选信号来控制点亮那个数码管。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。
显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。
所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;其他数字以此类推。
P0口对应的是控制数码管的段选,也就是说可以让数码管显示不同的数字,字符。
而在不同的数码管显示则是通过P2口的位选来实现的。
换句话说P2口就是控制1--6号数码管哪个被点亮,哪个来显示数字。
如果程序循环显示的时间比较少那就呈现在眼前的就是六位数码管全亮,其实是循环点亮,但是人的眼没法在这么短时间内辨别出来。
6、加热器控制模块6-1 电路原理图如图6-1-1所示图6-1-1 加热器控制电路6-2 电路图简要说明本系统用1只LED发光二极管来表示加热器开关量控制输出,电路如图6-1-1所示。