找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机扩展IO口PC口定义位变量怎么做

查看数: 4799 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-9-29 19:29

正文摘要:

本人想将PC口的低三位输出作为LCD1602的RS RW E  3个量,但是sbit RS = PC^0;        //液晶引脚定义sbit RW = PC^1; sbit EN = PC^2; 这样Keil报错了,不是很清楚为什么 ...

回复

ID:402376 发表于 2018-9-30 12:33
飞云居士 发表于 2018-9-29 23:42
头文件用的不是对应芯片的。也就是头文件不对

能告诉我是哪一个头文件不对吗,新手不是很懂
ID:308437 发表于 2018-9-30 09:11
同意一楼的。你的问题是头文件错误:不是定义变量问题
ID:387733 发表于 2018-9-30 07:36
可以先定义:

#define RS  0x01
#define RW 0x02
#define EN 0x04

PC=RS|RW;    // RS=1; RW=1;EN=0;

也很方便的
ID:387733 发表于 2018-9-30 07:25
sbit是定义特殊功能寄存器的位变量。bit和sbit都是C51扩展的变量类型。也就是说,只有51单片机的特殊功能寄存器可以这样定义,而8255的端口是不能这样定义的。要注意的是,51单片机也不是所有特殊功能寄存器都能位定义的,只有地址能被8整除的特殊功能寄存器才可以。
ID:404160 发表于 2018-9-29 23:42
头文件用的不是对应芯片的。也就是头文件不对

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表