找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

16位的键盘单片机程序编译错误 求指导

查看数: 2097 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-9-1 16:13

正文摘要:

回复

ID:963500 发表于 2021-9-2 00:55
lkc8210 发表于 2021-9-2 00:26
sfr是定义单片机固有的的寄存器,接口
0x90是一个十六进制数值
在8051单片机中,P1的接口地址就是0x90

嗯嗯,好,刚刚翻了一下51的手册懂了,谢谢你
ID:161164 发表于 2021-9-2 00:26
alalsce11 发表于 2021-9-2 00:12
谢谢你,我改好了,请问一下sfr KEY = 0x90;这个是什么含义,我有点理解不了

sfr是定义单片机固有的的寄存器,接口
0x90是一个十六进制数值
在8051单片机中,P1的接口地址就是0x90
ID:963500 发表于 2021-9-2 00:12
lkc8210 发表于 2021-9-2 00:00
请把"! ="改为"!="

谢谢你,我改好了,请问一下sfr KEY = 0x90;这个是什么含义,我有点理解不了
ID:161164 发表于 2021-9-2 00:00
alalsce11 发表于 2021-9-1 20:49
main.c(19): error C141: syntax error near '!'
main.c(19): error C141: syntax error near '='
main.c ...

请把"! ="改为"!="
ID:963500 发表于 2021-9-1 20:49
main.c(19): error C141: syntax error near '!'
main.c(19): error C141: syntax error near '='
main.c(19): error C141: syntax error near ')'

这是改过后的,改了18行的key定义
ID:624769 发表于 2021-9-1 20:38
18行 改成 unsigned char Getkey(void)
另外,非常不建议 用: #define KEY P1 这种方式,你非要把P1命名为KEY,宁可用: sfr KEY = 0x90;
最后,不管你什么原因编译不通过,你把编译不通过的信息发出来啊……
ID:963500 发表于 2021-9-1 19:59
是18行的unsigned char key的key加个2吗,我试了一下不行啊
ID:161164 发表于 2021-9-1 19:53
alalsce11 发表于 2021-9-1 18:26
那是要如何修改呢,希望可以给个建议,遇到好几次这样的事了

函数用KEY2或其它名字就可以了~
ID:963500 发表于 2021-9-1 18:26
lkc8210 发表于 2021-9-1 17:59
函数名和管脚名重覆了"KEY"

那是要如何修改呢,希望可以给个建议,遇到好几次这样的事了
ID:963500 发表于 2021-9-1 18:18
lkc8210 发表于 2021-9-1 17:59
函数名和管脚名重覆了"KEY"

那只要重新定义一下函数名就行了吗
ID:161164 发表于 2021-9-1 17:59
函数名和管脚名重覆了"KEY"

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

Powered by 单片机教程网

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