导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[guest]紧急求助



No.38655
作者:guest
邮件:guest@guest.com
ID:6
登陆:16560次
文章数:7648篇
最后登陆IP:219.68.9.43
最后登陆:2005/5/20 1:37:44
注册:2003/3/10 16:21:00
财富:35062
发帖时间:2003/7/29 15:42:59
发贴者IP:202.119.24.35
标题:guest:紧急求助
摘要:No.38655紧急求助 各位大家好,小弟近期遇到一个有关C51的问题,望各位高手赐教。程序稍微有点长,对不住了。希望您保持一点耐心,因为实在有点即急。
程序的任务是在89C51的p0口输出0xf0,以响应键盘中断。一旦键盘中断被响应,数码管输出有所改变(从p2口输出代码)。
现在的问题是如果斜体语句加入(其中3,4只能加一句),则在p0口输出信号不是所预期的0xf0,而是全为高电平,键盘中断也因此无法响应。如果只加入1,2句,问题依旧。
但如果将这几句去掉,则一切正常,实在费解。
我怀疑是否与dispnum的类型有关,是否不能取为全局变量,但无法应证。恳请各位哥哥姐姐帮帮忙,小弟先此谢过。
谢谢!谢谢!


#include   <reg51.h>  
#include   <absacc.h>  
#define uchar unsigned char
bit flag;                                  //设置中断标志位,键盘按下则flag=1
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;                             //p10、p12在该段程序中没起作用,但应该对程序的运行无影响
sbit led1=P1^3;                            //数码管的片选信号输出端
sbit led2=P1^4;
sbit led3=P1^5;
[U][I]uchar dispnum;     //1[/I][/U]
uchar code table[11]={0x08,0x3b,0x14,0x11,0x23,0x41,0x40,0x1b,0x00,0x01,0x7f};
void prodisp(void);
void disp(void);
void dlms(uchar);
void keyinterrupt(void);

void main(void)
{    
    P0=0xf0;                           //在p0口送11110000
    p10=0;
    p11=0;
    p12=0;
    EA=0;
    EX0=0;
   [U][I] dispnum=0;   //2[/I][/U]   
   flag=0;
    EX0=1;
    EA=1;
   ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:78531毫秒 查询6次