zoukankan      html  css  js  c++  java
  • 9.11学习笔记

    1:免费样品的申请 AD公司,飞思卡尔公司,美芯公司等等都有免费样品的申请,也有相关芯片的资料的介绍,

    这里介绍常用的网址

    美芯公司的网站http://china.maximintegrated.com/

    AD公司的网站:http://www.analog.com/

    TI公司的网站:www.ti.com

    2:keil软件的调试

    打开调试窗口:Debug ->start/stop Debug Session

    观察函数值的窗口:View ->watch&call stack window

    观察各个I/O口的输出高低情况:Peripheral->I/O port 3

    关于单片机工作的基本时序

    (1)振荡周期:也称为是时钟周期,是指单片机提供时钟脉冲的震荡源周期

    (2)状态周期:每个状态周期为时钟周期的两倍,是振荡周期经过二分频后得到的(频率越高,周期越短,频率越低,周期越长)

    (3)机器周期:一个机器周期包含六个状态周期S1到S6,也就是12个时钟周期,在一个机器周期内,CPU可以完成一个独立的操作 (4)指令周期,它是指CPU完成一条操作所需要的全部时间,每条指令执行时间都是由一个或几个机器周期组成,在MCS-51系统中,有单周期指令,双周期指令和四周期指令

    4:软件模拟看软件执行的时间: 第一步:必须要把晶振的频率改了,改成对应板子上的晶振的

    频率 第二步:进行软件调试,即可

    5:延时函数的设计:for语句中的两个变量类型都为unsignednt型时,内层的for语句中的变量值恒定为110时,外层for语

    句中变量为多少,这个for的嵌套语句就延时多少毫秒

    延时函数模版:

    void delayms(uint xms)
    
    {
    
          uint i,j;
           for(i = xms;i>0;i--)  
                for(j=110;j>0;j--); 
    } 
    

     6:循环函数的模版 包含的头文件为#include<intrins.h>

    示例代码:

    uchar aa;
    aa = 0xfe;
    while(1) 
           {  
            aa = _crol_(aa,1);//循环左移 
              P0 =aa; 
           }
    

     作业,驱动一个喇叭,使奇数次流水灯流转的时候喇叭不叫,偶数次喇叭叫

    示例代码:

    #include<reg52.h>
    #include<intrins.h>
    #define uint unsigned int
    #define uchar unsigned char
    void delayms(uint xms);
    void delays(uint x);
    sbit Feng = P2^3;//定义喇叭的控制引脚
    
    void main()
    {
    	uchar aa,b=1;
    	aa = 0xfe;
    
    	while(1)
    		{
    		while(1)
    		{
    		P1 = aa;
    		delayms(500);//延时500ms
    		if(b==10)
    			b=0;
    		if(b%2!=0)//如果b为偶数,执行函数
    			{
    				delays(2);
    				Feng = ~Feng;
    			}
    
    
    		aa = _crol_(aa,1);
    		if(aa == 0xfe)//如果P0为0xfe跳出循环
    			break;
    
    		}
    		b++;
    	}
    
    }
    
    void delayms(uint xms)
    {
    	uint x,y;
    	for(x = xms;x>0;x--)
    		for(y = 110;y>0;y--);
    }
    
    void delays(uint x)
    {
    	while(x--)
    	{
    		delayms(3);//输出的波形为300HZ
    		delayms(3);
    	}
    }
    

    版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen

  • 相关阅读:
    502 IPO 上市
    501 Find Mode in Binary Search Tree
    500 Keyboard Row 键盘行
    498 Diagonal Traverse 对角线遍历
    Django_modelform组件
    Django_RBAC_demo2 升级版权限控制组件
    Django admin组件源码流程
    Django_rbac_demo 权限控制组件框架模型
    Django_重装系统后无法使用 sqlite 数据库报错:com.intellij.execution.ExecutionException: Exception in thread "main" java.lang.ClassNotFoundException: org.sqlite.JDBC
    python_面向对象小试题
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3314949.html
Copyright © 2011-2022 走看看