导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→菜鸟请问各路高手???急!!!!!!自学难

* 105958: 菜鸟请问各路高手???急!!!!!!自学难

   aohaijun 
aohaijun发表的帖子 

 菜鸟请问各路高手???急!!!!!!自学难
本人刚学C51,软件编译用的是Keil,作为菜鸟一族,有几个难以解决的问题,希望各位高手能帮小弟一把,本人将不甚感激!!!!

1)定义头文件*.h时.
    如:定义LCD1602.h,如下:
        #ifndef __LCD1602_H__
        #define __LCD1602_H__
        ......
        ......
        #endif
    其中第二句话( #define __LCD1602_H__)是什么意思?为什么要这样定义?????打开C教材上面说关于define的语法都是:#define XXXX XXXX.
    

2)关于C51定时.
    本人比较倾向C语言,但在程序中较为常见的定时之一是用C语言循环语句来编的,如:
        
        void delayXms(unsigned int x)     //延迟X毫秒函数
        {
        unsigned int i,j;
        for(i=0;i  <x;i++)
         for(j=0;j  <130;j++)
            ;
        }
         为什么用x*130就可以得到延时x毫秒???
         
    又如:void delay_1us(void)      //延时1us函数
         {
         unsigned char i;
         for(i=0;i  <1;i++)
             ;
         }
        又为什么这样可以得到延时1us????利用C循环来定时是怎么计算的?C语句执行也和汇编一样需要时间的吗????


发表时间:2007年5月17日22:28:42

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  105960.[详细][原创]
摘要:1: #ifdefine和#ifndefine是使程序进行条件编译, #if 语句测试一个常量表达式是否产生非零结果,#ifdef 语句测试某个标识是否此前曾定义过(并且没有被随后的 #un......(237字)
- [qinwei16][1283次] 2007年5月17日

  105961.[详细][原创]
摘要:2:用C语言实现精确延时是不可能.上面程序的延时主要关注你的指令周期和机器周期的关系.比如51单片机的指令周期为机器周期的12倍,也就是说如果你的晶振为12MHz,那么指令周期就是1us.通过计算每条指令执行的周期,就可以实现延时.......(210字)
- [qinwei16][787次] 2007年5月17日

[上一篇帖子]:LPC2103开发板demo程序ads1.2环境[upload=zip]viewfile.asp?i
[下一篇帖子]:唉,没人帮忙啊!!!唉,没人帮忙啊!!!