查看: 1742|回复: 2

[其他] 每天解决一个问题19:两个不同组的低4位IO口如何合成8位.....

[复制链接]
  • TA的每日心情
    郁闷
    2021-3-10 19:44
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    126

    主题

    525

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2018
    最后登录
    2023-12-25
    发表于 2015-9-12 09:58:07 | 显示全部楼层 |阅读模式
    问题:在有些IO口不齐的时候,如何控制一个数码管,用pa0.0-3个pc0.0-3?

    解答:参考例子,P2.0到P2.3是高4位  P1.0到P1.3是低4位。
    1. #include "REG52.H"
    2. //输出一个字节8位 P2.0到P2.3是高4位 P1.0到P1.3是低4位
    3. void bus_out(unsigned char u8BusData); //拆分合并的并口输出一个字节8位数据
    4. //P2.0到P2.3是高4位 P1.0到P1.3是低4位
    5. unsigned char get_bus(void); //读取IO总线
    6. unsigned char Gu8Test;
    7. void main()
    8. {
    9. bus_out(0x55); //并口输出0x55数据.
    10. Gu8Test=get_bus(); //读取IO总线
    11. while(1);
    12. }
    13. //输出一个字节8位 P2.0到P2.3是高4位 P1.0到P1.3是低4位
    14. void bus_out(unsigned char u8BusData) //拆分合并的并口输出一个字节8位数据
    15. {
    16. P2=(P2&0xf0)|(u8BusData>>4); //P2.0到P2.3是输出高4位
    17. P1=(P1&0xf0)|(u8BusData&0x0f); //P1.0到P1.3是输出低4位
    18. }
    19. //P2.0到P2.3是高4位 P1.0到P1.3是低4位
    20. unsigned char get_bus(void) //读取IO总线
    21. {
    22. unsigned char u8GetData;
    23. u8GetData=P2&0x0f;
    24. u8GetData=(u8GetData<<4)|(P1&0x0f);
    25. return u8GetData;
    26. }
    复制代码


    我知道答案 目前已有2人回答
    很开心
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    8

    帖子

    0

    新手上路

    Rank: 1

    积分
    18
    最后登录
    2015-9-12
    发表于 2015-9-12 10:36:57 | 显示全部楼层
    学习了,很强大
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-9-12 23:26:00 | 显示全部楼层
    学习了,谢谢分享
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 01:55 , Processed in 0.086478 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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