找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机电话拨号显示系统的程序设计 保存到数组里的电话号码如何退格?

查看数: 2612 | 评论数: 6 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-8-28 15:50

正文摘要:

设计一模拟电话拨号时的电话键盘及显示装置,把电话键盘拨出的电话号码及其他信息,显示在LCD显示屏上。电话键盘共12个键,除了0~9的10个数字键外,还有 “*”键用于删除最后输入的1位号码的功能;“#”键用于清除 ...

回复

ID:161164 发表于 2021-8-30 14:04

有点复杂
dat[]="1234567890 "//在第10位加空格(Space)
tel里先放一堆10(对应dat[]里的空格)
每次按键,把对应键值(0~9)放进tel[N],并N++
如果按键不是0~9, 就不要放进tel,不要动N
如果按键是11, 就tel[--N] = 10;

再显示一遍tel[0]到tel[10]
ID:959883 发表于 2021-8-30 12:42
lkc8210 发表于 2021-8-29 16:38
对不起,没看全你的代码就回覆了

重看一次你的代码

请问如何改
ID:161164 发表于 2021-8-29 16:38

对不起,没看全你的代码就回覆了

重看一次你的代码
你的基本逻辑是按多下显示多少位
退格这动作与你的基本逻辑有很大的冲突
如要加入退格就要大改你的代码
ID:213173 发表于 2021-8-29 14:45
楼主这个3*4矩阵键盘不可以按4*4矩阵键盘代码套用,因为蜂鸣器占用了P1.5,所以读P1矩阵键盘状态时要把P1.5状态屏蔽。否则会乱套。

测试程序 仿真.zip (111.86 KB, 下载次数: 9)

ID:161164 发表于 2021-8-28 16:36
for (a = 0; a < 10; a++)
      tel[a] =  tel[a+1] ;
      
tel[10]='\0'

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

Powered by 单片机教程网

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