找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

c51编程 求这道题的解答,急用,谢谢

查看数: 2590 | 评论数: 12 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-1-10 15:49

正文摘要:

求这道题的解答,急用,谢谢

回复

ID:162719 发表于 2017-1-22 15:12
我也想学习下
ID:162242 发表于 2017-1-22 12:34
和c51都可以解,我想要c的代码
ID:162622 发表于 2017-1-21 19:41
用指针变量,取出内容判断
ID:111634 发表于 2017-1-19 15:50
本帖最后由 zl2168 于 2017-1-19 15:56 编辑

该题引自张志良编著《单片机原理与控制技术——双解汇编和C51》第3版ISBN 978-7-111-42393-5机械工业出版社
有专与该书配套的教辅书《单片机学习指导及习题解答——双解汇编和C51》第2ISBN 978-7-111-42431-4机械工业出版社,解答在P.58,不用Proteus仿真,在Keil 中利用其自身串行输入输出信息窗口打印显示程序运行结果


ID:155507 发表于 2017-1-19 00:15

  1. #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

  2. char code a[16]={0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff,0};

  3. unsigned int *Pos, *Neg, *Zero;

  4. /*------------------------------------------------
  5.           主函数
  6. ------------------------------------------------*/
  7. void main (void)
  8. {
  9.   unsigned char i, p=0, n=0, z=0;

  10.   Pos=0x40;
  11.   Neg=0x41;
  12.   Zero=0x42;

  13.   for (i=0;i<16;i++)
  14.   {
  15.     if ( a[i] < 0x80) p++;
  16.     if ( a[i] > 0x80) n++;
  17.     if ( a[i] == 0) z++;
  18.   }

  19.   *Pos= p;
  20.   *Neg= n;
  21.   *Zero= z;
  22. }


复制代码
ID:143803 发表于 2017-1-18 20:52
0x11是地址还是值?
ID:161247 发表于 2017-1-11 06:54
十六进制转十进制。。。。。。。。。。。。。
ID:161247 发表于 2017-1-11 06:52
是二进制转换10进制
ID:152682 发表于 2017-1-10 23:09
greg 发表于 2017-1-10 20:45
汇编和c51都可以解,我想要c的代码

那些不都是地址吗!我不懂那些!实在不好意思!还是等别的大神吧!
ID:161203 发表于 2017-1-10 21:38
编程有趣,敲字麻烦。
ID:152219 发表于 2017-1-10 20:45
ZHANGJINGYU 发表于 2017-1-10 19:40
尴尬了!这是汇编吧!还是C?不像C吧!

汇编和c51都可以解,我想要c的代码
ID:152682 发表于 2017-1-10 19:40
尴尬了!这是汇编吧!还是C?不像C吧!

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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