实验二开关控制LED数码管 李英阁_第1页
实验二开关控制LED数码管 李英阁_第2页
实验二开关控制LED数码管 李英阁_第3页
实验二开关控制LED数码管 李英阁_第4页
实验二开关控制LED数码管 李英阁_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基本输入输出试验开关控制LED一、实验目的 1.单片机AT89C51读入4位开关的输入状态(0F),并将其输出到数码管显示。 2.用proteus 设计、仿真基于AT89C51单片机的开关控制LED数码管实验。 3.掌握I/O口的控制方法。二、PROTEUSPROTEUS电路设计电路设计 开关控制数码管电路原理图如图2-1所示。整个设计都在ISIS平台中进行。图图2-1 2-1 开关控制数码管电路原理图开关控制数码管电路原理图1.1.从从PROTEUSPROTEUS库中选取元器件库中选取元器件AT89C51:单片机。RES、RX8:电阻(resistor)、8排阻。7SEG-COM-AN-GR

2、N:带公共端的共阳7段绿色数码管(从optoelectronics 光电子器件里选择)。SW-SPST:带所存的单刀单掷开关,开关的合或断可单击向下或向上的知识箭头实现。CAP、CAP-ELEC:电容,电解电容。CRYSTAL:晶振。 2.2.放置元器件、放置电源和地线、元器件属性放置元器件、放置电源和地线、元器件属性 设置、电气检测设置、电气检测所有操作都是在ISIS中进行,其设计与实验一相似,故不详述。图2-1中的元器件RN1、RN2是8电阻的排阻其中每个电阻的阻值都设置为200,如图2-4所示:图图2-4 RN12-4 RN1属属性设置性设置三源程序设计、生成目标代码文件三源程序设计、生

3、成目标代码文件 1.1.流程图流程图本例源程序流程图如图本例源程序流程图如图2-52-5所示。设所示。设P2P2口为开关状态口为开关状态输入口,输入口,P1P1口为输出显示口。口为输出显示口。设P2口为输入口从P2口读入低四位数据把数据转换成段码段码送P1口显示2.源程序设计源程序设计通过菜单”Source” / ”Add/Remove Source File”,新建源程序文件:DZC32.ASM。通过菜单”Source” / DZC32.ASM 打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑如下源程序;ORG 0ORG 30H;/*开始主程序*/STAR: MOV P1,#0F

4、FH;/将p1口置1ST1:MOV P2,#0FFH;/将p2口置1MOV A,P2;/读p2口数据到寄存器AANL A,#0FH;/保留数据低4位,清高4位ACALL SEG7;/段内调用子程序 SEG7MOV P1,A;/将A的值传给p1口SJMP ST1;/短跳转到ST1,继续查询SJMP STAR;/*子程序块*;功能:将数据转换成段码 ,并查询对应按键对应数值 ,然后通过查表方式用数码管显示;*/SEG7: INC A;/A中的值加1 MOVC A,A+PC;/将table中对应值送给A RET;/*子程序块*/;/*数据段可以写在代码段内,也可以单独作为数据段放在代码段前 定义变量

5、 */DB 0C0H,0F9H,0A4H,0B0HDB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,8EHEND程序编辑好后,单击按钮 存入文件DZC32.ASM 中。注意:汇编语言的注释符为分号 和c、c+不同。3.3.生成目标代码文件生成目标代码文件通过菜单”Source” / “Build All” ,在”Program File ”栏中添加上面编译好的目标代码文件DZC32.HEX。若编译失败,对程序修改调试至编译成功。四四POTEUSPOTEUS仿真仿真 1.1.加载目标代码文件加载目标代码文件打开单片机属性窗口,在”Prog

6、ram File” 栏中添加上面编译好的目标代码文件DZC32.HEX;在”Clock Frequency” 栏中输入晶振频率12MHZ。注意:时钟发生器中的晶振要设置频率,单片机的晶振频率也要设置。 2.2.仿真仿真单击按钮,启动仿真。运行片段如图2-2所示。开关断开,输入引脚电平为高;开关闭合,输入引脚电平为低。若要更明白地看到引脚的电平高、低状态,可以单击菜单”Systm ”/”Set Animation Option”,弹出如图2-5所示对话框,选中显示引脚逻辑状态(图中有的项)。此时的仿真运行片段如图2-2 所示。图2-2 共阳数码管引脚布局及测试图2-5 动态电路配置、显示引脚逻辑状态注释:共阳极数码管为低电平输入时对应的段亮,且读数顺序为1gfedcba,其引脚布局及测试如图2-2、2-3所示。在实例中,当引脚a、b、c、d、e、f为低电平时,对应段亮,引脚g为高电平则不亮。 此时 p2=11110000 与后A=0000 0000 调用子程序后A=0000 0001 P1=1100 0000 即C0 显示数字0若debug要时查看寄存器或端口值 ,可以点击菜单”Debug ”/ “Watch Window” ,弹出如图2-6所示的窗口,添加要查看的寄存器的name即可。图2-6 Watch Window

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论