51单片机学习随笔(2)

3.单片机最小系统组成

单片机+电源+晶振+复位电路

4.机器周期(运行速度)

时钟周期,一般也称振荡周期(如果晶振的输出没有经过分频就直接作为cpu的工作时钟,则时钟周期就等于振荡周期),即CPU的晶振的工作频率的倒数,是计算机中最基本的、最小的时间单位。对于单片机来说,时钟周期是单片机的基本时间单位。

机器周期是指CPU完成一个独立操作所需要的时间,12个时钟周期是一个机器周期。

对于11.0592M的晶振来说,一个机器周期为:1/11.0592*12≈1.085um。

5.点亮led流水灯

点亮led流水灯是学习使用51单片机的第一步,也是大多数人学习51单片机收获的第一份成就感吧。

LED灯实际上就是发光二极管的简称,普通发光二极管的工作电压一般是1.6v~2.1v,阻值为150Ω~3000Ω。

这是我的学习板上led灯模块的原理图:


这8个LED灯对应主控芯片上P10~P17这8个引脚,是共阳极接法,低电平点亮,点亮方法常用有两种:

①用特殊功能位声明,例如声明led1:sbit led1 = P0^1,则led1 = 0便是亮,led1 = 1便是灭;

②用寄存器P0直接控制8个led流水灯,P0由两个十六进制数表示对应8个二进制数这八个二进制数由高到低对应led8~led1,所以可以通过给P0赋值来控制led灯

如 P0 = 0xff就是全灭,P0 = 0x00就是全亮

可以通过for函数一类控制依次亮灭设计成成跑马灯,例如:

#include <reg52.h>
#include <intrins.h>
unsigned int a;
unsigned int b;
unsigned int c;
void main()

{
     c = 0xfe;
	 P1 = c;
	 a=10000;
	 while(a--);
  		  while(1)
	{
	    
          for(b=0;b<8;b++)
        {
		    c = _crol_(c,1);
			if(c!=0xfe)
			{
			 P1 = c;
			 a=10000;
			 while(a--);
			 }		
		   }
		  
			  for(b=0;b<8;b++)
        {
		    c = _cror_(c,1);
			 P1 = c;
			 a=10000;
			 while(a--);
			 
		 }
			
		 }
	}	

6.使用led数码管显示

单片机系统中常用的显示器有:
        发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。

LED显示器工作方式有两种:

①静态显示方式和动态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字形码。送入一次字形码显示字形一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。

②动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 

我的学习板上的led数码管模块原理图为:

这是四位共阳极数码管四个位选端对应P20~P23,每位数码管由a、b、c、d、e、f、g、h8个led灯组成通过P0^0~P0^7等8个引脚控制

控制方法为先选位选端,然后通过P0控制显示的数字,例如让第一位显示6:

#include<reg52.h>
sbit we1 = P2^0;
void main()
{ 
  while(1)
{
   we1 = 0;
   P0 = 0x82;
   while(100--);
   we1 = 1;
}
}



  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值