- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、实验目的
1、掌握 8051 串行口方式 0 工作方式及编程方法。
2、掌握利用串行口扩展 I\0 通道的方法。
二、实验内容
利用 I\0 口控制按键的开关,控制照明灯的打开与关闭。
三、实验步骤
1、在 Keil C51 软件的操作环境,编辑源程序并对源文件进编译。2、进入 protues 系统,画出实验电路图。
3、对 protues 系统和 KEILc51 系统进行联机设置。
4、在 KEILC51 系统中运行、调试程序,在 protues 系统中检查输出结果。
四、实验:
、电路图:
、电路仿真图:
、参考程序如下(C 语言):
#include
typedef
typedef
unsigned
unsigned
char uint8;
int uint16;
#define
K1_DOWN
P1
0x01
#define
RELAY_SWITCH()
P2 ^= 0x10
#define
LED_Light()
P2 ^= 0x04
void delay(uint16 x)
{
//K1 按键定义
//继电器开关切换控制
uint16 i,j;
for(i = x; i 0; i --)
for(j = 114; j 0; j --);
}
int main()
{
while(1)
{
if(K1_DOWN)
{
while (K1_DOWN); RELAY_SWITCH();
LED_Light(); delay(10);
}
}
}
文档评论(0)