C51单片机学习手记之1:一盏闪烁

发布者:chinalisa最新更新时间:2012-10-24 来源: 21ic 关键字:C51单片机  一盏闪烁  学习手记 手机看文章 扫描二维码
随时随地手机看文章
最近开始学习C51单片机,可谓磕磕绊绊,因为本人比较笨笨啦...(听听Michael Jackson的《Heal The World》就坚持下来了),不知道对大家是否有用...
闲言碎语不要讲,下面我就来说说这迈出的第一步,我从2010年才接触到单片机,想想比别人晚了10多年,不过没关系,只要有心学习,从0-1很难,但从1到100、1000、...可能就没有那么麻烦了。主要要自学单片机原理、电子线路、汇编语言,C语言,如果你刚好学过,那就恭喜啦。
本文旨在介绍单片机入门的基础知识,为和我一样的新手提供一个交流的平台。仿真所使用单片机为ATMEL公司的AT89C52,软件为PROTEUS和KEIL;只提供原理图和KEIL环境下的注释,希望对广大即将接触单片机的人有所帮助,如果有错误欢迎回帖指出与本人交流或QQ联系(93542746),共同进步。
一盏闪烁的LED

点击浏览下一页
 

本人用Proteus画得原理图如下所示,该电路较简单,在P1.7上接一个发光二极管,为防止电流过大烧坏二极管(LED的Imax=10mA),因此接了一个限流电阻。单片机31引脚(EA/Vpp)要接高电平,因为单片机访问的是下载到单片机内部的程序。
原理图:
点击浏览下一页
 
汇编程序:
      org 000h
      ajmp main
      org 003h
main:   mov P1,#07fh ;7fh的二进制数为01111111,P1.7输出低电平
      acall del  ;调用延时子程序
      mov p1,#0ffh ;ffh的二进制数为11111111,P1.7输出高电平
      acall del
      ajmp main
del:    mov r5,#04h
del1:   mov r6,#0ffh
del2:   mov r7,#0ffh
del3:   djnz r7,del3 ;r7中内容减1后判断,为0,向下执行;不为0,执行本身
      djnz r6,del2
      djnz r5,del1 ;共做04h*ffh*ffh次减1,即4*256*256次
      ret
      end
C程序:
#include   //通用89C52头文件
/*************************************************************
* IO定义 *
/*************************************************************/
sbit LED    =   P1 ^ 7;  //定义P1.7为LED控制口,低电平LED亮
/*************************************************************
* 毫秒级延时函数 *
调用函数必须给延时函数一个0~65535的延时值对应0MS到65535MS
备  注:应用于1T单片机时i<600,应用于12T单片机时i<125
/*************************************************************/
void Delay (unsigned int a){    //需要输入变量值0~65535
  unsigned int i;
  while( --a != 0){     //i 从0加到125,CPU大概就耗时1毫秒
    for(i = 0; i < 125; i++); //空指令循环  
  }
}
/*************************************************************
* 主函数 *
/*************************************************************/
void main (void){  
 while(1){   //无限循环以下程序
  LED = ~LED;  //取LED相反状态
  Delay(150);  //延时150ms
 }     //(0~65535之间)
}
 
关键字:C51单片机  一盏闪烁  学习手记 引用地址:C51单片机学习手记之1:一盏闪烁

上一篇:基于51单片机设计的DS1302时钟程序
下一篇:基于单片机的ds18b20温度测量系统

推荐阅读最新更新时间:2024-03-16 13:11

C51单片机在电机转速测量仿真系统中的设计
单片机电机转速测量系统仿真系统采用单片机中T1计数器对转速脉冲进行计数。定时器T1 工作于外部事件计数方式,对转速脉冲计数; T0 工作于定时器方式。每到1 s 读1 次计数值,此值即为脉冲信号的频率,根据式( 1) 可计算出电机的转速。转速检测装置的软件系统主要包括: 测速主程序、数据处理子程序和显示子程序。单片机上电后,系统进入准备状态。首先进行初始化,然后读取脉冲数据进行运算,将转速显示在LCD上。需要这款仿真及C语言程序的爱好者可从文章配图左上角网址上了解。 该单片机电机转速测量系统仿真仿真采用测频法“M法”测量电机转速。即在一定测量时间T内,测量脉冲发生器(替代输入脉冲)产生的脉冲数m1来测量转速,计算式如下:n=
[单片机]
<font color='red'>C51单片机</font>在电机转速测量仿真系统中的设计
如何正确的使用C51单片机中的位域
定义这样的结构: typedef struct { uchar DC0_ALA:1; //电源0告警 uchar DC1_ALA:1; //电源1告警 uchar AC_ALA:1; //停电告警 uchar UN_H_ALA:1; //同频信道机失锁告警 uchar UN_L_ALA:1; //异频信道机失锁告警 uchar FAR_ALA:1; //远端通讯故障告警 uchar OPEN_ALA:1; //门襟告警 uchar x:1; }ALARM;//系统告警结构定义 定义变量并初始化: idata ALARM old_alarm={0,0,0,0,0,0,0,0}; 在main()函数中这样应用位域: if(ol
[单片机]
c51单片机寻址结构
最近要一直uc/os,需要补习一下汇编
[单片机]
<font color='red'>c51单片机</font>寻址结构
C51单片机中断定义
C51函数声明对ANSI C作了扩展,具体包括: 1. 中断函数声明: 中断声明方法如下: void serial_ISR () interrupt 4 { /* ISR */ } 为提高代码的容错能力,在没用到的中断入口处生成iret语句,定义没用到的中断。 /* define not used interrupt, so generate IRET in their entrance */ void extern0_ISR() interrupt 0{} /* not used */ void timer0_ISR () interrupt 1{} /* not used */ void extern1_ISR()
[单片机]
基于89C51单片机的机械臂智能抓取系统
摘 要 :在农业发展过程中,果实采摘是极度耗费人力的工作。为了减少农业生产过程中的人工成本,将人工智能应用于农业领域将是一种有效手段。基于单片机的控制设计出一款智能抓取系统,拥有六关节高自由度机械臂 ;爪子采用柔性材料,在加强爪子和果实贴合度的情况下减少对果实的损伤程度 ;采用视觉系统进行图像处理,并采集三位坐标 ;采用避障系统控制小车前进 ;通过增加蓝牙模块让人工参与变得更加简便。本文设计的基于单片机的多关节机械臂抓取系统,有望提高农业采摘的效率,减少人工成本,将农业生产过程智能化。 0 引 言 中国自古是农业大国,以传统农业生产方式为主。然而,随着国际人口的增长,对自然资源的需求也不断加大。这使得传统农业生产出现了越来越严
[单片机]
基于89<font color='red'>C51单片机</font>的机械臂智能抓取系统
为什么89C51单片机的P0-P3口进行输入时要设置为1
89C51单片机的P0~P3口不是标准意义的双向口 ,他只是准双向口,你可以对照着P0口的结构图看这段话,向端口写1,就是向锁存器写1,也就是让其口输出FF,为什么,是这样的,给锁存器写1,那么锁存器的反向端就输出0,那么和它相接的MOS管也就在截止状态,也就是呈高阻态,这样P0口上数据就会从读引脚的三态缓冲器上正确的输入,如果不写1,那么锁存器上次锁存的可能为0,那么反向端有可能出现1,这样和反向端相接的MOS管就倒通,也就是直接拉到地,那么不管你P0口上输入什么信号都会拉成低电平,输入就错了要对其置1,否则若前一位为低电平,后一位输入的电平为高则MOS管拉不起来导致出错。而双向口则不需要做此动作,因为双向口有悬浮态。准双向口只
[单片机]
为什么89<font color='red'>C51单片机</font>的P0-P3口进行输入时要设置为1
80c51单片机的中断响应过程
中断响应 中断响应就是单片机CPU对中断源提出的中断请求的接受。中断请求被响应后,再经过一系列的操作,而后转向中断服务程序,完成中断所要求的处理任务。下面简要说明80c51的中断响应过程: 1.外中断采样和内中断置位 1.1外中断采样 要想知道外中断是否有请求发生,需要对外中断进行采样。 当通过软件将寄存器TCON的IT0(或IT1)位设置为0时,/INT0(或/INT1)为电平触发方式,CPU在每个机器周期的S5P2(第五个状态第2拍节)期间对/INT0(或/INT1)采样,一旦在P3.2(或P3.3)上检测到低电平时,则认为有外部中断申请,随即由硬件使TCON的IE0(或IE1)位置1,向CPU申请
[单片机]
基于89C51单片机的环境噪声测量仪
   1 引 言      环境噪声监测,是人类提高生活质量,加强环境保护的一个重要环节,在各大城市的繁华街区和居民区,已有大型环境噪声显示器竖立街头。但目前国内的便携式噪声测试仪,多为价格昂贵的进口专用设备,除卫生、计量等环保专业部门拥有外,无法作为民用品推广普及。本文介绍一种以89C51单片机为核心,采用V/F转换技术构成的低成本、便携式数字显示环境噪声测量仪。该仪器工作稳定、性能良好,经校验定标后能满足一般民用需要,可广泛应用于工矿企业、机关、学校等需要对环境噪声进行测量和控制的场合。 2 声压级的测量机理   人耳的听阈一般是20μPa,痛阈一般是200 Pa,其间相差107倍,这样宽广的声压范围很不易测量,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved