杭电 短学期 单片机 实验报告 2012

合集下载

杭电单片机实验报告六(优秀范文5篇)

杭电单片机实验报告六(优秀范文5篇)

杭电单片机实验报告六(优秀范文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盘,这样上机时只需调试,解决出现的问题。

这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。

发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。

三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。

于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。

但是编程是一件很严肃的事情,容不得半点错误。

于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。

2011-2012下单片机实验报告

2011-2012下单片机实验报告

实验一流水灯实验 (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](文章内容仅供参考,具体实验过程和结果以实际情况为准。

)。

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

自动化学院单片机课程设计报告专业电子信息技术及仪器班级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所示。

相关文档
最新文档