找回密码
 立即注册
查看: 504|回复: 19

使用STC8H1K28-36I-LQFP32的P1.0-P1.6控制LED灯亮,取数组内值整体赋值;P1.7串口发送

[复制链接]
  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    473

    回帖

    968

    积分

    高级会员

    积分
    968
    发表于 2023-9-6 18:08:56 | 显示全部楼层 |阅读模式
    方案1:使用STC8H1K28-36I-LQFP32的P1.0-P1.6控制LED灯亮,整体赋值8个口,显示数字0-9十个数;P1.7串口发送,这样会影响串口,串口发送控制语音报警???????
    方案2:使用STC8H1K28-36I-LQFP32的P1.0-P1.5和P5.4控制LED灯亮,P1.6和P1.7串口发送,串口发送控制语音报警;P1.0-P1.5和P5.4分开赋值,显示数字0-9十个数,值是数组定义好的,不知道该如何分开赋值?????






    单片机引脚使用图

    单片机引脚使用图
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1340

    回帖

    4181

    积分

    论坛元老

    积分
    4181
    发表于 2023-9-6 19:03:21 | 显示全部楼层
    方案1:关闭串口接收功能
    P1 &= 0x80;
    P1 |= n & 0x7f;
    方案2:LED控制方法与方案1类似
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3029

    回帖

    6827

    积分

    超级版主

    积分
    6827
    发表于 2023-9-6 22:40:20 | 显示全部楼层
    本帖最后由 梁工 于 2023-9-7 10:09 编辑

    也可以将数据防ACC或B,然后一位位传给各个IO,我常用此法,优点点是IO可以随意定义。比如数码管A~H用的IO是:P1.0 P1.2 P0.3 P0.1 P2.0 P3.5 P4.3 P5.4。
    sbit ACC0 = ACC^0;
    sbit ACC1 = ACC^1;
    sbit ACC2 = ACC^2;
    sbit ACC3 = ACC^3;
    sbit ACC4 = ACC^4;
    sbit ACC5 = ACC^5;
    sbit ACC6 = ACC^6;
    sbit ACC7 = ACC^7;

    ACC = 要显示的内容;
    P10 = ACC0;
    P12 = ACC1;
    P03 = ACC2;
    P01 = ACC3;
    P20 = ACC4;
    P35 = ACC5;
    P43 = ACC6;
    P54 = ACC7;
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    473

    回帖

    968

    积分

    高级会员

    积分
    968
     楼主| 发表于 2023-9-7 08:34:31 | 显示全部楼层
    乘风飞扬 发表于 2023-9-6 19:03
    方案1:关闭串口接收功能
    P1 &= 0x80;
    P1 |= n & 0x7f;

    感谢你的帮助和支持,
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    473

    回帖

    968

    积分

    高级会员

    积分
    968
     楼主| 发表于 2023-9-7 08:36:20 | 显示全部楼层
    梁工 发表于 2023-9-6 22:40
    也可以将数据防ACC或B,然后一位位传给各个IO,我常用此法,优点点是IO可以随意定义。比如数码管A~H用的IO ...

    梁工的这个方法,就实现了我的第二种方案,我感觉不可能的事,成为可能了,太感谢了
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    473

    回帖

    968

    积分

    高级会员

    积分
    968
     楼主| 发表于 2023-9-7 09:30:41 | 显示全部楼层
    梁工 发表于 2023-9-6 22:40
    也可以将数据防ACC或B,然后一位位传给各个IO,我常用此法,优点点是IO可以随意定义。比如数码管A~H用的IO ...

    我放到程序里面试了一下,报错:main.c(43): error C129: missing ';' before '.0'  其中43行: P1.0 = ACC0;  我以为是P1.0没有定义,   增加了 sbit  P1.0  = P1^0;   报重复定义,也查了资料,没发现问题????  

    点评

    程序是示意性的,P1.0~P1.7改为P10~P17即可。  详情 回复 发表于 2023-9-7 10:08
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    473

    回帖

    968

    积分

    高级会员

    积分
    968
     楼主| 发表于 2023-9-7 09:43:39 | 显示全部楼层
    如图:左边8脚是串口1用于发送语音报警信息,右边的19、20脚也是串口1接485电路接口与后台通信,都是串口1 就要分时复用,且串口1接收功能,也不能禁用,否则485通信不能接收了,不禁用,会影响7脚的显示???
    截图202309070937574626.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    3029

    回帖

    6827

    积分

    超级版主

    积分
    6827
    发表于 2023-9-7 10:08:29 | 显示全部楼层
    本帖最后由 梁工 于 2023-9-7 10:10 编辑
    380091044 发表于 2023-9-7 09:30
    我放到程序里面试了一下,报错:main.c(43): error C129: missing ';' before '.0'  其中43行: P1.0 = A ...

    程序是示意性的,比如P1.0~P1.7改为P10~P17即可,我在原贴改好了。STC官方的头文件定义好的IO。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    473

    回帖

    968

    积分

    高级会员

    积分
    968
     楼主| 发表于 2023-9-8 07:24:31 | 显示全部楼层
    梁工 发表于 2023-9-7 10:08
    程序是示意性的,比如P1.0~P1.7改为P10~P17即可,我在原贴改好了。STC官方的头文件定义好的IO。 ...

    P1.0~P1.7改为P10~P17,我也是按照头文件定义的,改了,还是报错;
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 168 天

    [LV.7]常住居民III

    116

    主题

    473

    回帖

    968

    积分

    高级会员

    积分
    968
     楼主| 发表于 2023-9-8 09:20:33 | 显示全部楼层
    这个我昨天也试了,报重复性定义,明明是赋值,怎么报重复定义??
    截图202309080919326201.jpg

    点评

    重复定义了,STC的官方头文件,都定义了的。  详情 回复 发表于 2023-9-8 10:17
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-17 10:17 , Processed in 0.080025 second(s), 72 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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