4. 参考程序
在Keil环境中编写、调试程序,保存文件名为LED.ASM
5. 修改AT89C51属性,并加载程序文件
(1)选择添加/移除源代码,选择目标处理器为“U1-AT89C51”,代码生成工具为“ASEM51”,源代码文件名中“新建”选择Keil环境中生成的LED.ASM文件,单击“确定”,生成.HEX文件。
11
(2)双击仿真电路中U1,弹出AT89C51的属性对话框,选择.hex文件的路径和晶振频率。
6.运行调试
直接在Proteus环境中单击运行按钮
,将可以看到元件的两端会出现两
个小点,它表示元件两边电平的变化,红色表示高电平,蓝色表示低电平,灰色表示未接入信号或者为高阻状态。其运行如图所示。由于AT89C51单片机的P1、P2、P3口在内部有上拉电阻,软件没有控制其输出时,引脚显示红色为高电平,P0口为漏极开路输出,故显示灰色表示高阻状态。
12
扩展练习:实现P1口8个流水等的循环点亮。 参考程序:(软件延迟)
参考硬件连线:
13
中断练习:
通过外部中断0(P3.2引脚)接入按键开关,控制发光二极管的亮灭。要求,采用中断方式,每按一次按键,发光二极管的亮灭改变一次,在Proteus中绘制硬件连线图,并加载程序,实现设计功能。 参考程序:(中断方式)
元器件列表:
元器件编号 U1 S1 C1、C2 C3 R1、R2、R3 X1 D1 元器件名称 AT89C51 BUTTON CAP CAP-POL RES CRYSTAL LED-RED 说明 单片机 按键 无极性电容 有极性电容 电阻 晶振 红色LED灯
14
参考硬件连线图:
思考题:
1、通过外部中断1(P3.3引脚)接入按键开关,控制发光二极管的亮灭。要求,采用中断方式,每按一次按键,发光二极管的亮灭一段时间(可采用软件延迟)。 2、通过外部中断1(P3.3引脚)接入按键开关,控制P1口接入的8个LED灯,每按一次按键,8个LED循环点亮。
15