51单片机学习随笔(1)

控制/MCU

1878人已加入

描述

51单片机感觉还是很好触摸的,二十多块买了一个最小系统板,一个keil uVision4,再有一个stc-isp就基本可以先简单的玩一玩学一学了。在学习过程中我遇到了一些问题,简单的记一下随笔。

一、最小系统板(电源+单片机+晶振+复位电路)使用流程

1.安装接口驱动。

2.安装编译软件,用注册机破解。

安装好后遇到问题:Keil报错failed to execute 'd:\Keil\C51\BIN\C51.EXE'


错误是因为直接拷贝的安装目录,里面的TOOLS.INI配置文件仍然保留了他电脑的路径,与你放置Keil的实际路径不符。

解决办法:

找到自己的keil安装目录,下面有个TOOLS.INI文件。用记事本打开这个文件,找到:
[C51] PATH="d:\Keil\C51"
或类似字样,将PATH=后面的内容改为自己keil实际安装的目录,最后一个文件夹是C51。


我的keil装在了C:\Keil这个目录,那么最后类似于这样:
[C51]
PATH="C:\Keil\C51"


然后保存TOOLS.INI。重启keil即可生效(务必要重启keil)。

3.安装烧写软件,因为用的是STC公司的主控芯片所以直接用其公司的stc-isp-15xx-v6.82、


做完以上三步就可以写程序下载到单片机里使用了,不过单片机连接到电脑前最好先确认下主控芯片有没装反,记住豁口朝的位置,装反会导致主控芯片烧坏。


二、51单片机最小系统版学习顺序

认识了解51单片机----->C语言基础----->单片机最小系统组成----->使用LED灯----->使用数码管----->定时器\计数器----->使用键盘----->中断系统----->串口通讯----->IIC总线的EEPROM----->数模转换……

1.认识了解51单片机

单片机技术发展过程可分为三个主要阶段: 
   ①单芯片微机形成阶段 
    1976年,Intel公司推出了MCS-48系列单片机 。8位CPU、1K字节ROM、64字节RAM、27根I/O线和1个8位定时/计数器。

特点是:存储器容量较小,寻址范围小(不大于4K),无串行接口,指令系统功能不强。

②性能完善提高阶段  
    1980年,Intel公司推出了MCS-51系列单片机:8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。

特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,MCS-51已成为公认的单片机经典机种 。

③微控制器化阶段

1982年,Intel推出MCS-96系列单片机。
 芯片内集成:16位CPU、8K字节ROM、232字节RAM、5个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K。片上还有8路10位ADC、1路PWM输出及高速I/O部件等。

特点是:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。
“微控制器”的称谓更能反应单片机的本质。


单片机工作的基本时序

机器周期和指令周期
     (1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。 
     (2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 
     (3) 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 
     (4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。 


stc89C52主控芯片原理图



2.c51语言基础

C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进和扩充。而针对8051的C语言日趋成熟,成为了专业化的实用高级语言。

单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力。对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。

(1)刚开始使用时主要需要记住两个c语言扩充定义:

①sfr:特殊功能寄存器声明。

②sbit:特殊功能位声明。

(2)常用运算符:

+   -   *   /  (加 减 乘 除)
>   >=  <  <=  (大于  大于等于  小于  小于等于)
==  !=         (测试等于  测试不等于)


&&  ||  !      (逻辑与    逻辑或  逻辑非 )


>>  <<         (位右移    位左移)
& |             (按位与    按位或)
^ ~             (按位异或  按位取反)

(3)最常用的基本数据类型:

unsigned char       占8位       表示0~255

unsigned int           占16位     表示0~65535

signed char           占8位         表示-128~127


(4)c51包含的头文件

通常有:reg51.h   math.h   ctype.h   stdio.h  stdlib.h  absacc.h
常用有:reg51.h  (定义特殊功能寄存器和位寄存器);
              math.h   (定义常用数学运算); 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分