搜索
bottom↓
回复: 3

求助,代码查错

[复制链接]

出0入0汤圆

发表于 2013-4-1 12:00:20 | 显示全部楼层 |阅读模式
我用keil 编译了以下的程序,编译通过了,但单步运行的时候在local窗口查看变量的时候发现没按照代码去运行,我以为是软件问题,又换了不同的版本去调试还是一样。是我的代码有错误还是思路错了?有什么更好的方法吗?高手们帮看看
以下是代码:

--------------------------------------------------------------------------------------------------------------------------------
#include<reg52.h>
#define uchar  unsigned char

uchar data Dat[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};  
   
void A()
{
uchar a,b,k,x,y;
uchar CH[8];          //数组,用来记住P1口的状态
uchar key1[8]={0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80};                        //p1  口高4位
uchar key2[16]={0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0x10,0x11,0x12,0x13,0x14,0x15,0x16};          //p1口低4位
y=Dat[3]&0x0F;                 //根据数组Dat[]里的数的低4位数值来选择key数组里的数值,比如Dat[3]&0x0f=4
k=CH[y];                //          把P1口的状态保持到数组CH[ ]里        
a=key1[y];                //     key1[ 4 ]=0x50------>a=0x50
x=Dat[2]&0x0F;          //   根据数组Dat[]里的数的高4位数值来选择key数组里的数值,比如Dat[2]&0x0f=3
b=key2[x];                //    key2[ 3 ]=0x4------>a=0x4
k=a&b;                //         k=0x54                 
CH[y]=k;                //        k保存到数组CH[ ]里
                               
}

void main()
{
   while(1){
            A();
           }
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-4-1 12:08:20 | 显示全部楼层
本帖最后由 lunhuiliudao 于 2013-4-1 12:30 编辑

你写的这个程序是实现什么功能的,看着有点别扭!!!你还是多看看书吧,一些小程序要自己解决,不要动不动有发上来!!!!

出0入0汤圆

发表于 2013-4-1 13:05:42 | 显示全部楼层
你这个程序哪有P1的事儿啊?

出0入0汤圆

 楼主| 发表于 2013-4-1 14:19:57 | 显示全部楼层
由于代码是在一大段代码里精简出来的,如果全部粘贴上来一大版,而且涉及到具体硬件,是用来控制MT8816这个IC的,那个Dat[]数组其实是一个多Byte串口数据,全部把这个东西解释完要写很多,写多了我更表述不清楚,只好把其中无关的内容去掉并改成简单的,这里的代码虽然简单,但思路是一样的。注释表述不清的地方请忽略。本意是用那个P口来发出控制信号,就是说这个矩阵开关芯片的引脚用这个代码来重新定义,本来的1脚我现在当它是3脚。不过这些都可以忽略,我现在想知道的是,我这个代码有什么语法上的错误或者用得不当的地方吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 12:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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