单片机实验一报告

上传人:工**** 文档编号:570679539 上传时间:2024-08-05 格式:PDF 页数:5 大小:237.43KB
返回 下载 相关 举报
单片机实验一报告_第1页
第1页 / 共5页
单片机实验一报告_第2页
第2页 / 共5页
单片机实验一报告_第3页
第3页 / 共5页
单片机实验一报告_第4页
第4页 / 共5页
单片机实验一报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机实验一报告》由会员分享,可在线阅读,更多相关《单片机实验一报告(5页珍藏版)》请在金锄头文库上搜索。

1、实实 验验 报报 告告 1 1实验项目名称:I/OI/O 口实验口实验同组人:实验时间:实验室: K2-407K2-407 单片机室单片机室指导教师:一、实验目的:一、实验目的:(l)学习 P1 口的结构及使用方法; 熟悉 Proteus 软件电路设计和 Keil 软件程序调试方法。(2)学习软件延时程序的编写。重点:延时程序,P1 口结构二、实验预备知识:二、实验预备知识:(l)Pl 口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。(2)Proteus 软件应用,Keil 软件程序调试应用。三、实验内容:三、实验内容: 模拟开

2、关灯的模拟开关灯的 ProteusProteus 仿真及仿真及 C C 语言程序设计语言程序设计1 1、设计要求:设计要求:监视开关 K1(接在 P3.0 端口上) ,用发光二级管 L1(接在单片机 P1.0 端口上)显示开关状态,如果开关合上,L1 亮,开关打开,L1 熄灭。2 2、仿真电路原理图(预习)、仿真电路原理图(预习)元器件选取: AT89C52:单片机; RES:电阻; CRYSTAL:晶振; CAP、CAP-ELEC:电容、电解电容; LED-GREEN:绿色发光二级管; SWITCH:开关。C130pFX112MHzU119XTAL1P0.0/AD0P0.1/AD1P0.2/

3、AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617GNDC21830pFXTAL2R1GND10kVCC9RSTC310uF293031PSENALEEAR2300L1LED-GREEN12345678P1.0/T2P1

4、.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52模拟开关灯的电路原理图模拟开关灯的电路原理图3 3、程序设计内容(预习)、程序设计内容(预习) 开关状态的检测过程单片机对开关状态的检测相对于单片机来说,是从单片机的 P3.0 端口输入信号,而输入的信号只有高电平和低电平两种,当拨动开关 K1 拨上去,即输入高电平,相当开关断开,- 1 -当拨动开关 K1 拨下去, 即输入低电平, 相当开关闭合。 单片机可以采用 if(K1= =1)或者 if(K1=0)指令来完成对开关状态的检测。 输出控制当 P1.0 端口输出高电平,即 P1.0=1 时,根据发光二极管的单向导电

5、性可知,这时发光二级管 L1 熄灭;当 P1.0 端口输出低电平,即 P1.0=0 时,发光二级管 L1 亮。4 4、程序清单(预习)、程序清单(预习)#includesbit K1=P30;sbit L1=P10;void main(void)while(1)if(K1!=1)L1=0;elseL1=1;5 5、实验结果及分析:、实验结果及分析:C130pFX112MHzU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P

6、2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617GNDC21830pFXTAL2R1GND10kVCC9RSTC310uF293031PSENALEEAR2300L1LED-GREEN12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52实验结果:C52 加载 HEX 文件进行仿真运行之后,通过鼠标操控开关闭合可以达到控制发

7、光二极管明灭的效果。实验分析:通过位定义 P3.0 和 P1.0 口分别赋给 K1 和 L3,二极管通过灌电流点亮,电阻 R2为限流电阻,防止电流过大烧坏二极管,因此,只有P1.0 为低电平时二极管点亮。开关如果闭合,K1=1,程序显示 P3.0 低电平,则控制 P1.0 输出低电平,二极管顺利点亮。广告灯(利用查表方式)的广告灯(利用查表方式)的ProtuesProtues仿真及程序设计仿真及程序设计- 2 -1 1、设计要求:利用查表的方法,使单片机端口输出电平控制灯光的变化。 (例如:左移,右移,闪烁等等)延时的时间0.2 s。2 2、仿真电路原理图(预习)、仿真电路原理图(预习)元器件

8、选取: AT89C52:单片机; RES:电阻; CRYSTAL:晶振;CAP、CAP-ELEC:电容、电解电容; LED-GREEN:绿色发光二级管。VCCR1C130pF19300R2300R3300R4300R5300R6300R7300R8300U1X112MHzXTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT

9、1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617D1D2D3D4D5D6D7D8C230pFGND18LED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREENXTAL29RSTR910k293031PSENALEEAVCCC310uF12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52广告灯的电路原理图广告灯的电路原理图3 3、程序设计内容(预习

10、)、程序设计内容(预习)查表法是单片机程序设计中常用的一种方法,它多用于一些较复杂的控制场合,如判断键盘按键的键值、利用 I/O 口控制外部设备作一些预先设定好的复杂动作(本题是其简单的示意) 、 输出正余弦、 三角、 梯形或更复杂的波形, 甚至可以利用查表法实现一些复杂的算法。C 语言步骤如下: 定义一维数组 TABLE (复杂情况也可以用二维数组, 另外, 为节省单片机的 RAM资源,数组一般放在代码段中) ; 把控制码按顺序放入数组 TABLE 中; 定义变量 i,改变 i 的值,就可以取出数组中对应的控制码。4 4、程序清单(预习)、程序清单(预习)#includeunsigned c

11、har code table=0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0x0f,0xfe,0xfc,0xf8,0xf0,0x00,0xf0,0x7f,0x3f,0x1f,0x0f,0x00,0x5a;unsigned char i=0;void delay(void)unsigned int a,b;- 3 -for(a=0;a=1000;a+)for(b=

12、0;b=110;b+);void main(void)while(1)if(tablei!=0x5a)P3=tablei;i+;delay();elsei=0;5 5、实验结果及分析:、实验结果及分析:VCCR1300R2300R3300R4300R5300R6300R7300R8300P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11

13、P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0x0f,0xfe,0xfc,0xf8,0xf0,0x00,0xf0,0x7f,0x3f,0x1f,0x0f,0x00,然后通过程序控制依次显示, 并且编写延时函数来控制二极管显示的时间间隔。程序延时函数为 1s 延时:voiddelay(void)unsignedinta,b;for(a=0;a=1000;a+)for

14、(b=0;b=110;b+);根据 CPU 执行空操作指令 NOP 来达到延时效果,每个空操作指令均是一个指令周期,所以执行空操作指令的延时时间 =指令周期*空操作指令数。用两级嵌套的 for 语句循环,粗略计算执行一次 for 循环大概需要 8 个机器周期,对于12MH 晶振来讲,就是 8us, 两级嵌套的 for 语句全部执行完成后的时间大概是8*110*1000=880000us,为 0.88s 大概就是 1s 延时。四、思考题:四、思考题:1、模拟开关灯实验:编程实现 2 个开关控制 1 个灯的亮、灭,绘制电路图,并通过 Protues仿真。P2.0/A8P2.1/A9P2.2/A10

15、P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A1521222324252627281011121314151617P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD73938373635343332D1D2D3D4D5D6D7D8LED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREEN实验分析: 把要显示的二极管状态按二进制编码并且转换成十六进制控制码, 然后按顺序放入一维数组中,如:VCCR1300R

16、2300R3300R4300R5300R6300R7300R8300393837363534333221222324252627281011121314151617D1D2D3D4D5D6D7D8LED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREENLED-GREEN- 4 -C130pFX1CRYSTALU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A1

17、2P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617C21830pF9RSTXTAL2293031PSENALEEAR2330D1LED-YELLOW12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52K2K1注:本实验通过位定义P3.0 和 P3.1 口分别赋给开关 K1 和 K2,然后通过程序,使开关K1 和K2 达到

18、相同的控制 LED 灯亮灭的效果。 并且位定义 P1.0 和 P1.1 口, 利用 P1 口的驱动能力,使 P1.0 口输出拉电流点亮 LED 灯,并且串联 R2 作为限流电阻,然后 P1.1 口输出低电平作为电源地。从而点亮 LED。开关 K1 和 K2 至少有一个闭合,则 LED 即可点亮。2、简述 P1 口的特点和工作过程。P1 口特点:P1 口由于有内部上拉电阻,没有高阻抗输入状态,故为准双向口。作为输出口时,不需要在片外接上拉电阻。P1 口“读引脚”输入时,必须先向锁存器写入 1。P1 口工作过程:P1 口只能作为通用的 I/O 口使用。(1) P1 口作为输出口时,若CPU 输出 1,Q=1,Q 非=0,场效应管截止,P1 口引脚的输出为 1;若 CPU 输出为 0,Q=0,Q 非=1,场效应管导通,P1 口引脚的输出为0。(2) P1 口作为输入口时,分为“读锁存器”和“读引脚”两种方式。 “读锁存器”时,锁存器的输出端 Q 的状态经输入缓冲器 BUF1 进入内部总线; “读引脚”时,先向锁存器写 1,使场效应管截止,P1.x 引脚上的点评经输入缓冲器 BUF2 进入内部总线。指导教师批阅及成绩指导教师签名:年月日- 5 -

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号