历史上的今天
返回首页

历史上的今天

今天是:2025年05月08日(星期四)

正在发生

2018年05月08日 | 单片机同一IO口输出两组数组

2018-05-08 来源:eefocus

单片机同一IO口输出两组数组
基于80C51,因为没有多余的口可用,只能用同一IO口输出两组数组,高4位一组输出0~9,低4位一组输出0~15!

试试看:

    MOV   R0, #s1     ;数组一的指针
    MOV   R1, #s2     ;数组二的指针
    LCALL _HEBY_OUT   ;调用子程序,合并输出
    ......
;---------------------
_HEBY_OUT:
    MOV  A, @R0       ;取数组一的元素
    ANL  A, #0FH     
    SWAP A            ;放到高四位
    MOV  R0, A
    MOV  A, @R1       ;取数组二的元素
    ANL  A, #0FH
    ADD  A, R0        ;合并
    MOV  P1, A        ;输出
    RET


最佳答案:
“做而论道”同学正解。
用C来做更简单, 子程序就一句话, 而且更加灵活, 想取数组那位直接给编号即可。

#include
#define dat_out P0
unsigned char str1[]={1, 2, 3, 5, 6, 7......};//数值不要超过15即可
unsigned char str2[]={15, 8, 6, 12, 3, 6, 4.....};
/***********************
str0:数组1 str1:数组2
n1:取数组1中的某位数
n2:取数组2中的某位数
************************/
void exp(unsigned char *str1, unsigned char *str2, unsigned char n1,unsigned char n2)
{
    dat_out = ((str1[n1] << 4) & 0xf0) | (str2[n2] & 0x0f);
}
void main(void)
{
    exp(str1, str2, 1, 3); //P0口高4位输出str1数组的第1个元素"2"
                           //    低4位输出str2数组的第3个元素"12"
                           //P0 = 0x2C
    while(1);
}


推荐阅读

史海拾趣

EM Microelectronic-Marin SA公司的发展小趣事

进入1980年代,随着技术的不断进步,ASIC(应用特定集成电路)技术开始兴起。1982年,Mikron Integrated Microelectronics(EM Microelectronic-Marin的前身之一)开始了ASIC技术的研究,并在随后的几年中取得了显著成果。1987年,其奥地利分公司开始专注于识别和智能卡芯片的开发,这一领域的成功为公司带来了新的增长点。

南京绿芯(Grenergy)公司的发展小趣事

进入1980年代,随着技术的不断进步,ASIC(应用特定集成电路)技术开始兴起。1982年,Mikron Integrated Microelectronics(EM Microelectronic-Marin的前身之一)开始了ASIC技术的研究,并在随后的几年中取得了显著成果。1987年,其奥地利分公司开始专注于识别和智能卡芯片的开发,这一领域的成功为公司带来了新的增长点。

Anvo-Systems公司的发展小趣事

Anvo-Systems在发展过程中始终注重企业文化建设和社会责任履行。公司倡导创新、协作、诚信的企业精神,为员工创造了一个积极向上的工作环境。同时,Anvo-Systems还积极参与社会公益活动,关注环保和可持续发展等问题。通过这些举措,Anvo-Systems不仅提升了企业的社会形象,也为社会的和谐发展做出了积极贡献。


请注意,以上故事纯属虚构,不代表现实中任何公司或行业的真实情况。在实际应用中,应根据具体公司的历史和发展情况进行调整和完善。

FDI [Future Designs , Inc.]公司的发展小趣事

作为一家有社会责任感的企业,FDI公司始终关注社会公益事业。公司积极参与扶贫、教育、环保等领域的公益活动,为社会做出了积极贡献。同时,FDI还设立了奖学金和助学金,鼓励和支持年轻人投身电子科技事业。这些举措不仅提升了公司的社会形象,也为其赢得了广泛的赞誉。

Compex Corporation公司的发展小趣事

Compex Corporation的创立可以追溯到电子行业的早期阶段。自XXXX年成立以来,公司便致力于研发和生产高质量的单层电容器、电阻以及其他电子元件。初期,公司面临着激烈的市场竞争和技术挑战,但凭借其卓越的技术团队和不懈的努力,逐渐在市场中站稳了脚跟。公司不断推出创新产品,满足了客户对高质量电子元件的需求,逐渐赢得了客户的信任和市场份额。

ALLTHREAD公司的发展小趣事

ALLTHREAD深知品牌建设的重要性。他们注重提升品牌形象和知名度,积极参加各类行业展会和论坛,与业界同仁交流学习。同时,他们还建立了完善的客户服务体系,为客户提供及时、专业的技术支持和售后服务。这些举措有效提升了ALLTHREAD的品牌影响力和客户满意度。

问答坊 | AI 解惑

认识ARM体系结构的发展

处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的程序员模型。尽管每个处理器 性能不同,所面向的应用不同,每个处理器的实现都要遵循这一体系结构。ARM体系结构为嵌入系统发展 商提供很高的系统性能,同时保持优异的功耗和 面 ...…

查看全部问答>

FPGA、CPLD常用protel库

FPGA、CPLD常用protel库…

查看全部问答>

求个用VB.NET做的控制GPIO的小程序

各位看官,小弟现在最大的梦想就是用VB.NET控制我板子上(友善之臂MINI2400)上的那个LED灯,搞来搞去都没成功,请哪位大哥大姐行行好给个源码,只要点下按钮让灯亮就行,拜谢了…

查看全部问答>

那位大虾帮帮忙,明天就考试了,开卷完全找不到答案

11.        基于ARM7 、9、11处理器设计的产品,类似Intel的Xscale架构产品的设计方案 (功能特点、结构、作用  举例子说明设计方案,如GPS、游戏机、POS……) 12.        嵌入式系统实时性? ...…

查看全部问答>

我的cisco2600路由器被人把IOS删掉了,我要从另一个2600路由器下载IOS,怎么下呢??高分求助!

        我用的是COPY FLASH  TFTP命令 ,但是总是报错:TFTP://10.1.1.3 timeout 10.1.1.3是我设置的本机IP。 怎么解决呢》?求高手指教啊 …

查看全部问答>

2008 Google 开发者日活动,火速报名中

Google开发者日活动 和Google的工程师、业界同行们交流利用Google的各种开发工具去构建您的社区应用、移动应用、地图应用,或者基于 AJAXJavaScript的网络应用。 2008年6月12日,北京 北京亚运村北京国际会议中心 报名地址:httpcode.google.co ...…

查看全部问答>

网卡后面的显示灯是红色的,为什么?

以前不是这样的,并且在电脑属性里面的硬件里面的设备管理器中看不到网络适配器.高手们快点过来指点下…

查看全部问答>

水质检测器电路

本帖最后由 jameswangsynnex 于 2015-3-3 19:54 编辑   …

查看全部问答>

2011年10月编程语言排行榜

看来嵌入式用的C语言依旧坚挺,始终保持在第二的位置…

查看全部问答>