| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 434 人关注过本帖
标题:请高手指点一下这个程序!
只看楼主 加入收藏
nebs
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-5-1
收藏
 问题点数:0 回复次数:2 
请高手指点一下这个程序!
/*                                                         
用8个发光管演示出8位二进制数累加过程。
*/
/*********************************************************/
#include<reg52.h>  //52单片机头文件
#include <intrins.h> //包含有左右循环移位子函数的库
#define uint unsigned int    //宏定义
#define uchar unsigned char  //宏定义
void delay(uint z)  //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
{                   //delay(500);大约延时500ms.
    uint x,y;
    for(x=z;x>0;x--)
        for(y=110;y>0;y--);   
}
void main()         //主函数
{
    uchar a;
    while(1)        //大循环
    {
        a++;
        P1=~a;
        delay(200);   
    }
}

上例所示中有一个不明白的是:P1=~a; 这句话是什么意思,~代表什么?
搜索更多相关主题的帖子: 延时 单片机 include 二进制 发光管 
2012-05-13 11:09
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
按位取反

                                         
===========深入<----------------->浅出============
2012-05-13 11:12
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:0 
楼上正解
假如a = 3, a的二进制就是……0000 0000 0000 0011 那么~a就是 …… 1111 1111 1111 1100
2012-05-13 17:18
快速回复:请高手指点一下这个程序!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020193 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved