单片机实验7学习资料
- 格式:doc
- 大小:421.00 KB
- 文档页数:5
目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
单片机实验讲义执笔人:杨晓锋DVCC单片机实验系统简介本科目实验使用的平台为启东公司的DVCC-52JH单片机仿真实验仪(带有配套试验软件)。
可基本满足MCS-51(80C51)系列单片机课程(本/专科)的实验要求。
实验平台资源:1、AT89C52单片机(6MHz晶体振荡器、256B片内RAM、8KB程序存储器(FLASH)、3个定时/计数器、6个中断源(T2))。
2、实验平台带有总线扩展有64BK片外RAM,用户可使用范围0000H~0FEFFH;64KB片外ROM,用户可使用范围0000H~0FEFFH。
3、实验平台的主要芯片有:1片8255可编程通用并行接口芯片、1片8155芯片、1片译码芯片74138、1片74393芯片、1片D/A转换芯片0832、1片A/D转换芯片0809、2片串/并转换芯片74164、若干辅助芯片74240、74373等和常用逻辑门电路芯片。
4、实验平台上的主要外设包括:K1~K10滑动开关、L1~L12发光二极管(有3种颜色)、2个LED七段数码管、1个单脉冲发生器、1个时钟频率选择器、1个步进电机(带驱动电路)、1个直流电机(带驱动电路)、2个电位器、1个继电器、1个扬声器驱动、1个双踪模拟示波器、带有总线扩展区、带有EPROM烧录区。
实验系统的使用步骤:1、在计算机、实验仪关闭时,使用实验平台自带的RS-232通用串口线连接计算机的COM口和实验箱的J2串行口。
2、启动计算机,运行“DVCC52JH实验系统”。
3、在计算机上编写并调试实验程序,在实验箱中联接实验所需连线。
4、打开试验箱电源,点击实验箱上的“复位”按钮,再点击实验箱上键盘区的“PCDBG”按钮。
5、在计算机上的“DVCC实验系统”软件中,左键单击工具栏上的“联接”按钮(或选择“动态调试”菜单下的“联接DVCC实验系统选项”)。
6、如果联接正常将弹出若干小窗口。
如果联接失败重新执行步骤3、4。
选项,将实验程序传送到实验箱。
一、熟悉学习工具开发板二、点亮LED1.单片机及最小系统电路1)电源电路2)晶振电路3)复位电路2.74HC245和74HC13874HC245的输入:DB_0 即P0.0DB_1 即P0.1DB_2 即P0.2DB_3 即P0.3DB_4 即P0.4DB_5 即P0.5DB_6 即P0.6DB_7 即P0.7U3 74HC138的输入:ADDR0即P1.0ADDR1即P1.1ADDR2即P1.2ADDR3即P1.3 E3ENLED即P1.4 E1 E2 3.跳线4.LED三极管基极端输入LEDS6是U3 74HC138的输出Y68个LED小灯阴极端的8个输入是74HC245的8个输出:DB 0 也就是P0.0DB 1 也就是P0.1DB 2 也就是P0.2DB 3 也就是P0.3DB 4 也就是P0.4DB 5 也就是P0.5DB 6 也就是P0.6DB 7 也就是P0.75.点亮一个LED的程序新建工程,添加.c文件,编辑编译,生成hex文件编译成功会出现reg2.h,,双击可以打开STP-ISP下载程序到板子,小灯被点亮1)点亮第1个小灯,熄灭第1个小灯2)点亮第2个小灯,熄灭第2个小灯3)点亮第3个小灯,熄灭第3个小灯4)点亮第1、2小灯,熄灭第1、2小灯5)点亮第1、3、5、7小灯,熄灭第1、3、5、7小灯三、闪烁LED修改小灯闪烁的时间:低于20ms,大于50HZ,小灯的闪烁人眼看到是连续的四、流水灯1、用P0点亮小灯2、依次点亮每个小灯,依次要赋给P0 的数值就是:0xFE、0xFD、0xFB、0xF7、0xEF、0xDF、0xBF、0x7F。
•左移<<右移>>•左移,最低位填0补充;右移,最高位填0补充•0xf0 11100000 01111000流水灯程序1.将流水灯左移理解透彻后,独立完成流水灯右移操作。
2.独立完成一个左移到头接着右移,右移到头再左移的花样流水灯程序。
实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件keilC51。
二、实验设备1.G2200 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容P1端口接发光二极管,加1点亮。
四、连线方案:实验箱内部已连好五、实验步骤1.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
2.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。
3.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。
拆线时,应先回转一下,不要硬拨,以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
4.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
5.在计算机上打开keil软件建立新程序ORG 0MOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND6.建立新的项目7.设置项目8.编译程序选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。
双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误后,就可以执行、调试程序了。
9.执行、调试程序六、实验结果七、实验总结实验二查表程序一、实验目的1.学习Keil uvision3单片机仿真软件的使用方法。
教案用纸课题;MCS-51系列单片机并行I\O口的使用教学目标(知识、能力、情感);知识目标:1、掌握P0 、P1、P2、P3口的使用2、掌握P0 、P1、P2、P3口的结构特点能力目标:培养学生的学习单片机的基本能力情感目标:通过本次课培养学生的基本能力,团队协作能力,激发学生的学习兴趣,教学重点与难点;教学重点:P0 、P1、P2、P3口的使用。
教学难点:P0 、P1、P2、P3口的结构原理。
教学方法(教具);讲授法、演示法,举例法,任务驱动法课型;1、理实一体;2、新授课课时;2课时教学步骤与内容(板书计划);组织教学:(5分钟)1、检查学生人数,强调课堂纪律和要求。
2、上节课内容回顾。
课程讲授:(70分钟)内容回顾:1、单片机复位电路与时钟电路2、单片机最小系统电路的设计课程导入:从单片机LED控制实例引出本次教学内容(举例法,讨论法)一、并行I / O端口四个端口、双向、每个口包含一个锁存器、一个输出驱动器和二个输入缓冲器。
1.P0口(1)、结构(P0口电路图)(2)、通用I / O 口1)读(端口外数据 内部寄存器)方式1(读锁存器)Q G2 D 内部总线,适于“读—修改—写” 方式2(读引脚):P0·x G1 D 内部总线。
作为通用I / O 使用, 是一个准双向口:“在输入数据时应先把口置1,使两个FET 都截止,引脚处于悬浮状态,可作高阻抗输入” 2)写(片内数据 端口)数据 锁存 MUX P0·x 3)地址/数据总线口 控制MUX写:地址/数据为1,P0·x ——高 地址/数据为0,P0·x ——低 读:经缓冲器G1读入 4)负载能力可带8个TTL 输入,驱动NMOS 时,接上拉电阻。
总结特点:(1)P0口可作通用I / O 口使用,又可作地址/数据总线口; (2)P0既可按字节寻址,又可按位寻址; (3)P0作为输入口使用时:是准双向口; (4)作通用I / O 口输出时:是开漏输出;(5)作地址/数据总线口时,P0是一真正双向口,而作通用I / O 口时,只是一个准双向口 二、P1口1、结构只能作I / O 口用,且是一个准双向口。
《单片机原理与应用》实验讲义实验要求及注意事项一.预习实验内容1. 明确本次实验目的及任务,了解和掌握实验所需的理论知识。
2. 通过课上老师讲解,掌握编程方法及相关技巧。
3. 对每次实验,选择一个题目自己试着独立设计编写整个程序。
二.实验过程1. 在实验箱上实验时,连接实验导线一定要关闭实验箱电源,连接好后,在检查一遍是否有误,连接正确后,再依次打开实验箱电源开关及实验底板上电源开关,进行实验。
严禁带电操作。
2. 实验箱底板上的所有芯片出厂时经过严格测试和老化,实验时切忌插拔。
3. 带上理论课教材、实验指导书及准备的实验程序。
4. 调试实验程序,记录实验结果。
5. 实验结束后,关闭实验底板上的电源开关及实验箱电源开关,确认关闭后,整理好自己的实验导线,摆放老师交代的地方。
三.编写实验报告1. 实验题目。
2. 分析设计思想,绘制实验原理图、流程图。
3. 程序清单及相关注释。
4. 分析实验结果。
5. 说明在实验过程中遇到了哪些问题,是如何处理的。
6. 收获体会,不足之处和今后应注意的问题等。
实验目录实验一、单片机P1口实验(02 广告流水灯控制实验)实验二、外部中断实验(12单一外部中断实验)实验三、单片机定时/计数器实验(14 定时器实验)实验四、单片机与与矩阵键盘接口(32 PS/2 键盘实验)实验五、单片机与A/D转换器实验(31 模/数转换器(ADC0809)实验)实验六、单片机串行口实验(16 串行通信RS232 实验)实验一、单片机P1口实验(02 广告流水灯控制实验)一.实验目的1.以P1 口为例,学会使用51 系列单片机I/O 口的基本输出功能;2.学习循环指令的用法和软件延时的编程方法;3. 掌握RR.RL 指令的用法;二.实验内容编写程序,利用单LED 灯有条件的左右扫描,八个LED 发光二极管L0-L7 分别接在单片机的P1.0-P1.7 接口上,输出“0”时,发光二极管点亮,输出”1”时,发光二极管灭,先由右至左P1.0→P1.1→P1.2→P1.3→┅→P1.7 ,再由左往右P1.7→P1.6→┅→P1.0 亮,重复循环下去。
《微机应用实验》课程教学所做的基本实验前言需要说明的是,设置本实验课程的目的完全是为了培养读者的“计算机工程概念”,即学习如何用最短的时间和最少的花费,将实际问题转化成使计算机能够“做到并完成”的方法。
故读者在做每个实验之前,必须对所做实验的理论依据做出“形式化”的说明,只有在完全理解了这些依据的情况下,再进行实验才有意义。
以下是每个合格的计算机工程人员在工作时都必须遵守的五个基本步骤(或称为五条原则)。
步骤一.对所希望解决的问题做出“形式化”的描述(用术语说就是“无二义性”,因为早在微型计算机出现之前,就有人证明过“计算机无法解决‘二义性’的问题”这个定理);若别人已经对该问题做出了这样的描述,则应确实理解它。
步骤二.根据所解决的问题的特性与规模,建立该问题与计算机所能处理的对象(即数据)之间的相互对应关系,用术语说就是进行问题的“数据设计”。
需要特别说明的是,前两个步骤基本上与所使用的计算机系统(包括硬件和软件)无关。
步骤三.选择某一种(或几种)相应的程序设计语言(必要时还要选择或设计相应的机器硬件),将步骤一中“人对问题的形式化描述”,转化成“计算机对问题的快速处理”,而计算机的“处理对象”则由步骤二所确定。
用术语说就是进行问题的“程序代码设计”。
另外需要说明的是在动手编写具体的程序代码之前,应先做“确定设计目标”的工作。
即若编写的是子程序,就必须确定该子程序所处理的各种参数的形式和该子程序的“引用条件”;若编写的是程序,就必须确定该程序执行时所产生的现象、用户所做的操作和执行后所产生的结果等等。
步骤四.在各种特定的环境下,调试步骤三所编写的程序代码以保证其正确性。
步骤五.书写相应的“软件(或软件+硬件)使用说明”,注意这其实是步骤三中“确定设计目标”的简述。
值得注意的是,后三个步骤的“正确性”是建立在前两个步骤的“正确性”的基础之上的,没有前两个步骤,后面所做的全部工作都毫无意义(因为你的“出发点”就不对,即犯了“南辕北辙”的错误)。
单片机原理及接口技术实验报告一、引言单片机(Microcontroller)是一种集成为了处理器、存储器和各种接口电路的微型计算机系统。
它具有体积小、功耗低、成本低等优点,广泛应用于嵌入式系统、自动化控制、电子设备等领域。
本实验旨在深入了解单片机的原理和接口技术,并通过实验验证相关理论。
二、实验目的1. 理解单片机的基本原理和结构。
2. 掌握单片机与外部器件的接口技术。
3. 进一步培养实际操作能力和解决问题的能力。
三、实验仪器与材料1. 单片机开辟板2. 电脑3. 串口线4. LED灯5. 蜂鸣器6. 数码管7. 按键开关8. 电阻、电容等元件四、实验内容与步骤1. 单片机原理实验1.1 单片机的基本结构单片机由中央处理器(CPU)、存储器(RAM、ROM)、输入输出接口(I/O)、定时器/计数器、串行通信接口等组成。
通过学习单片机的基本结构,我们可以了解各个部份的功能和作用。
1.2 单片机的工作原理单片机的工作原理是指单片机在不同工作模式下的内部状态和运行规律。
通过学习单片机的工作原理,我们可以更好地理解单片机的工作过程,为后续的实验操作提供基础。
2. 单片机接口技术实验2.1 LED灯接口实验将LED灯与单片机相连,通过控制单片机的输出口电平,控制LED灯的亮灭。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.2 蜂鸣器接口实验将蜂鸣器与单片机相连,通过控制单片机的输出口电平和频率,控制蜂鸣器的声音。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.3 数码管接口实验将数码管与单片机相连,通过控制单片机的输出口电平和数据,显示不同的数字。
通过实验,我们可以学习到单片机的输出接口和数码管的使用方法。
2.4 按键开关接口实验将按键开关与单片机相连,通过检测单片机的输入口电平,实现按键的功能。
通过实验,我们可以学习到单片机的输入接口的使用方法。
五、实验结果与分析1. 单片机原理实验结果通过学习单片机的基本结构和工作原理,我们深入了解了单片机的内部组成和工作过程,为后续的接口技术实验打下了基础。
实验报告实验项目名称:P1口实验同组人:实验时间:实验室:K2-407单片机室指导教师:胡蔷一、实验目的:(l)学习P1口的使用方法; 熟悉Proteus软件电路设计和Keil软件程序调试方法。
(2)学习软件延时程序的编写。
重点:延时程序,P1口结构二、实验顶备知识:(l)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
(2)Proteus软件应用,Keil软件程序调试应用。
三、实验内容:㈠模拟开关灯的Proteus仿真及C语言程序设计1、设计要求:监视开关K1(接在P3.0端口上),用发光二级管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管;⑥SWITCH:开关。
模拟开关灯的电路原理图3、程序设计内容①开关状态的检测过程单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨动开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。
单片机可以采用if(K1= =1)或者if(K1= =0)指令来完成对开关状态的检测。
②输出控制当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二级管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二级管L1亮。
(预习内容)模拟开关灯的程序流程图4、程序清单(预习内容)㈡广告灯(利用查表方式)的Protues仿真及程序设计1、设计要求:利用查表的方法,使端口P1作单一灯的变化;左移2次,右移2次,闪烁2次(延时的时间0.2 s)。
2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管。
实验一扩展存储器读写实验一.实验要求编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线将P1.0接至L1。
CS256连GND孔。
四.实验说明1.单片机系统中,对片外存贮器的读写操作是最基本的操作。
用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序的方法。
用户编程可以参考示例程序和流程框图。
本示例程序中对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。
不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。
读写数据的选用,本例采用的是55(0101,0101)与AA(1010,1010)。
一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察等方法,来观察程序执行的流程和各中间变量的值。
2.在I状态下执行MEM1程序,对实验机数据进行读写,若L1灯亮说明RAM读写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,在I状态执行SX0000↓ 55,SPACE,屏幕上应显示55,再键入AA,SPACE,屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
注:SX是实验机对外部数据空间读写命令。
4.本例中,62256片选接地时,存储器空间为0000~7FFFH。
五.实验程序框图六.实验程序:ORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HMOV DPTR,#0000H ;置外部RAM读写地址 MOV A,#55H ;测试的数据一MOV B,AMOVX @DPTR,A ;写外部RAMMOVX A,@DPTR ;读外部RAMXRL A,B ;比较读回的数据JNZ ERRORMOV A,#0AAH ;测试的数据二MOV B,AMOVX @DPTR,AMOVX A,@DPTRXRL A,BJZ PASS ;测试通过ERROR: SETB P1.0 ;测试失败,点亮LED SJMP $PASS: CPL P1.0 ;LED状态(亮/灭)转换 MOV R1,#00H ;延时DELAY: MOV R2,#00HDJNZ R2,$DJNZ R1,DELAYLJMP START ;循环测试END_实验二 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
第13章实验31913.1.7 实验七 键盘和显示实验1.实验目的通过本次实验进一步熟悉Keil uVision4和Proteus开发环境以及它们联机调试单片机汇编语言和C语言源程序方式方法,掌握STC89C52单片机扩展可编程并行接口82C55方法,82C55连接键盘和数码管,掌握扫描键盘和驱动数码管亮灭方法。
2.实验要求在本次实验前,使用Proteus软件画电路原理图,电路如图13-18所示。
图13-18 键盘、显示实验仿真电路图3.实验器材仿真实验:装有Keil uVision4以及Proteus7.0以上版本软件的笔记本或台式PC。
元件清单:1个STC89C52、1个HC573、1个82C55、2组七段数码管7SEG-MPX2-CA、16个按键键盘BUTTON、4个4.7K电阻10WATT4K7,一个+5V稳压电源。
4.实验内容根据电路原理图编写软件实现:(1)按逐行扫描方法或反转法,编写键盘扫描子程序。
(2)编写数码管显示子程序。
(3)将从键盘输入数据送数码管显示出来。
5.设计分析分析图13-18电路82C55两侧知:CPU端:单片机数据线与82C55数据线相连,单片机地址线A7连接82C55片选,单片机地址线A1A0连接82C55的端口选择线A1A0,单片机的读写线RD、WR与82C55的读写线相连。
外设端:82C55芯片A口连接数码管段码端,B口连接数码管位码端,C口低4位连接键盘行线,C口高4位连接键盘列线。
82C55的A、B、C和控制/命令端口地址为:FF7CH、FF7DH、FF7EH、FF7FH6.程序框图方法一:逐行扫描方法,该键盘、显示实验的主程序框图如图13-19所示,键盘扫描子。
单片机原理实验一、实验目的本实验旨在帮助学生深入了解单片机原理,并通过实践掌握单片机的基本工作原理和应用。
二、实验设备本实验所需设备及材料如下:1. 单片机开发板2. USB数据线3. 电脑(已安装单片机开发软件)4. 电路连线板5. LED灯若干6. 电阻若干7. 杜邦线若干三、实验步骤1. 将单片机开发板和电脑通过USB数据线连接起来,确保开发板的供电和通信正常。
2. 准备一个简单的电路连线板,将LED灯和电阻连接起来,组成一个简单的电路。
3. 打开电脑上的单片机开发软件,在软件中选择合适的开发环境和单片机型号。
4. 根据实验要求,编写相应的程序代码,控制LED灯的亮灭。
5. 将编写好的程序下载到单片机开发板中,启动程序,观察LED灯的变化。
四、实验结果分析通过以上实验步骤,我们可以通过编写简单的程序代码控制单片机的输出,从而控制实验用的LED灯的亮灭。
实验结果如预期一样,我们可以通过改变代码中的逻辑关系和时序控制实现不同的效果。
五、实验应用掌握了单片机的原理和编程技巧后,我们可以将单片机应用于各种电子设备的控制。
比如智能家居系统、电子产品的自动控制、传感器系统的数据采集和处理等。
单片机的应用范围非常广泛,我们只需要根据实际需求进行相应的硬件连接和程序编写即可实现我们想要的功能。
六、实验总结通过本次实验,我们对单片机的原理有了更深入的了解,并通过实践掌握了单片机的基本工作原理和应用方法。
通过编写简单的程序代码,我们成功地控制了LED灯的亮灭,并了解了单片机的应用潜力和扩展性。
实验过程中需要注意安全,确保实验设备的正常运行。
同时,需要更多的实践和学习,才能在单片机的应用领域中取得更多的成果。
七、参考资料1.《单片机原理与应用》2.《嵌入式C语言程序设计》以上是本次单片机原理实验的实验过程和结果分析,通过实践加深对单片机原理的理解,并实现基本的控制功能。
希望本实验能够帮助读者更好地掌握单片机的原理和应用,为日后进一步的学习和实践奠定基础。
单片机实验7
实验七直流数字电压表设计
姓名:田坤学号:200912512 专业:电子信息科学与技术
1.实验目的:
掌握LED动态显示和A/D 转换接口设计方法。
2.实验原理:
实验电路原理图如图A..94所示。
图中显示器采用4位共阴极数码管,并按动态显示方式接线。
A/D转换结束标志采用查询法检查,启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生,频率为5kHz。
电位器的输出电压送到A/D转换器中转换,转换结果以十进制形式显示在数码管上。
调节电位器可使数码管的显示值发生相应变化。
图A.94 实验7的电路原理图
3.实验内容:
(1)、学习使用Proteus软件,掌握原理图绘图方法;
(2)、学习使用Keil C软件,掌握C51程序编写与调试方法;(3)、理解动态显示与A/D转换工作原理,完成单片机电压采集与显示程序的编写与调试。
4.实验步骤:
(1)、在Proteus中绘制电路原理图,按照表A.9将元件添加到编辑环境中;
(2)、在Keil中编写C51程序,并使之编译通过;
(3)、在Proteus中加载程序,观察仿真结果。
5.实验要求:
提交的实验报告中应包括电路原理图、含注释内容的源程序及实验结果分析。
表A.9 实验7的元器件清单
1)源程序如下:
#include <reg51.h> // 头文件
#include <absacc.h>
unsigned int tmp; //定义一个整形中间变量
sbit START=P2^5; //定义ADC0808启动位
sbit ad_busy=P2^6; //定义ADC0808转换结束标志位
sbit OE=P2^7; //定义ADC0808输出使能标志位
sbit P2_0=P2^0; //定义四个数码管
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
char led_mod[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //LED字模
void delay( unsigned int time) //延时函数
{
unsigned int j=0;
for(;time>0;time--)
for(j=0;j<125;j++) ;
}
void show () // 数码管动态显示函数
{
unsigned i,j;
P2_0=0;
j=tmp/1000;i=j%1000;P0=led_mod[i]; delay(10); // 显示千位 P2_0=1;
P2_1=0;
j=tmp/100;i=j%100;P0=led_mod[i]; delay(10); // 显示百位
P2_1=1;
P2_2=0;
j=tmp/10;i=j%10;P0=led_mod[i]; delay(10); // 显示十位
P2_2=1;
P2_3=0;
i=tmp%10; P0=led_mod[i]; delay(10); // 显示个位
P2_3=1;
}
void main() // 主函数
{
while(1){
START=0;
START=1; // 启动A/D转换
START=0;
while(ad_busy==1); //等待A/D转换结束
OE=1; // 转换结果输出
tmp=P1; // 转换结果赋给中间变量
OE=0;
show(); // 输出转换数据
}
}
2)仿真结果:
3)实验结果分析:
本实验是使用A/D转换器将模拟信号(电位器输出电压)转换为数字信号,A/D转换器与80C51接在一起,转换结果通过80C51以十进制形式动态显示在四个共阴极数码管上,通过改变模拟信号大小可以显示0~255之间任意数据。
其中A/D转换器启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生。
6.实验小结:
这次实验掌握了数码管动态显示程序的编写,熟练了Proteus软件的使用。