请教如何用C语言编单片机程序使之LED显示模块显示一个数? 点击:880 | 回复:3



guoliang2871

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 4回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2008年3月13日
发表于:2008-05-24 10:11:55
楼主

各位朋友:

我想在单片机中用C语言编程显示一个数,起初我是在C语言中加入了汇编语言:

#pragma asm
CALL DEBOUNCE /*调用防抖子程序*/
MOV A,#9
DA A
MOV P2,A
DEBOUNCE: MOV R7,#40 /*16ms延迟子程序(2us*R6*R7)*/
D1: MOV R6,#200
DJNZ R6,$
DJNZ R7,D1
RET
#pragma endasm

由P2口连接的数码显示模块显示,但显示的书字并不如我所愿,请问是怎么回事?如何改正,不胜感谢!

 




冲锋陷阵

  • 精华:0帖
  • 求助:1帖
  • 帖子:8帖 | 118回
  • 年度积分:0
  • 历史总积分:658
  • 注册:2008年4月30日
发表于:2008-06-09 09:22:46
1楼
调用防抖子程序结束后,并没回主程序,而是直接结束。

salman

  • 精华:1帖
  • 求助:0帖
  • 帖子:8帖 | 56回
  • 年度积分:0
  • 历史总积分:128
  • 注册:2003年12月03日
发表于:2008-06-15 11:06:07
2楼

这个不难啊,网上很多源程序啊~~

汇编你懂了,为什么C写不出来呢? 如果一开始是一个二进制表示的数,先要转成BCD,通过BCD查表找到对应的七段码,送P2口即可。

看你的程序根本没有转换七段码这段。学习一下什么是七段码吧。七段码是LED显示不同数字对应的码,不是你写个9过去就会显9的,要显9的七段码

 

guoliang2871

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 4回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2008年3月13日
发表于:2008-06-17 20:44:03
3楼
恩,我用C语言解决了,谢谢阿,

热门招聘
相关主题

官方公众号

智造工程师