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   (定义常用数学运算);

51单片机学习随笔(1)相关推荐

  1. 51单片机学习笔记-1简介及点灯

    51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...

  2. AutoLeaders控制组—51单片机学习笔记

    文章目录 AutoLeaders控制组-51单片机学习笔记 1.1单片机及开发板介绍 单片机介绍 单片机应用领域 STC89C52单片机 内部结构 开发板介绍 2.1点亮一个Led 新建工程 编程 认 ...

  3. 【51单片机】51单片机学习资料合集

    [51单片机]51单片机学习资料合集 资源文件架构 一次全部保存是保存不了的,超过了文件上限,需要分批保存,对于爱好学习和感兴趣学习51单片机的人来说是一波很不错的福利,希望大家多多支持. 51程序 ...

  4. 单片机c语言北航,【下载资料】《51单片机学习笔记》北航版

    原标题:[下载资料]<51单片机学习笔记>北航版 如果手机下载有问题,请移步至电脑端,链接:https://forum.mianbaoban.cn/t/topic/36906 内容简介 本 ...

  5. 51单片机学习日记 | LCD1602黑块和闪烁问题的处理

    51单片机学习日记 芯片:STM89C516RD+ 开发板:普中A4 学习:By 江科大自化协 LCD1602模块问题的处理办法: 第一行黑块 原因是初始化有问题:LCD1602如果没有初始化就会出现 ...

  6. 51单片机学习之智能小车(1)

    说明 这是我学习一段时间51之后自己动手做的,比较简陋.此篇作为总结和复习,如有问题,请评论指出. 下篇:51单片机学习之智能小车(2) 小车概述(功能,所用模块) (1)蓝牙控制 通过手机上蓝牙串口 ...

  7. 51单片机学习笔记2 仿真器的使用及STC89Cxx简介

    51单片机学习笔记2 仿真器的使用及STC89Cxx简介) 一.连接步骤 1. 硬件连接 2. 安装软件驱动 3. 检查是否安装成功 二.仿真步骤 1. 打开一个51工程 2. 选择仿真设备 3. S ...

  8. 51单片机学习杂记——基于STC89C52RC

    51单片机学习杂记--基于STC89C52RC 我是看的b站郭天祥老师的课,说实话,我觉得我能力不是很够,所以记得很杂.废物了属于是. 接下来就是正文了 基本的元器件以及字母符号含义: 电容:帮助晶振 ...

  9. [51单片机学习笔记TWO]----蜂鸣器

    蜂鸣器音乐播放实验 首先应该了解一下蜂鸣器音乐播放的原理,在这里我只讲一下电磁式蜂鸣器驱动原理(还有一种是压电式蜂鸣器): 电磁式蜂鸣器驱动原理: 蜂鸣器发声原理是电流通过电磁线圈,使电磁圈产生磁场来 ...

最新文章

  1. 获取并编译linux源码,android获取源代码、编译、命令
  2. NYOJ 215 Sum
  3. ElasticSearch下载安装教程详解【7.10版本】
  4. android toolchain maintain team
  5. dell设置从ssd启动_为什么懂电脑的人都说SSD不要分区?原来真相是这样!
  6. s-palindrome
  7. 科大讯飞语音识别芯片_科大讯飞造家电专用语音芯片 市场机会在哪里?
  8. atitit.提升2--3倍开发效率--cbb体系的建设..
  9. 编程猫fiddler插件
  10. 软件测试功能测试全套常见面试题【功能测试】面试总结4-2
  11. [转贴]鲁棒性——健康的系统
  12. C++ Dxgi快速截屏并保存为rgb格式和bmp格式完整示例代码
  13. 手机上怎样转变图片格式?教你一键快速转格式
  14. Mac 电脑锁屏快捷方法
  15. CentOS7使用yum方式安装Docker(根据官方文档安装)
  16. 短信跳转到微信关注公众号的方案
  17. Spine 实用技巧大全
  18. 《辉煌优配》科技股强势引领A股反弹 沪深两市日成交额再超万亿元
  19. 解决Maemo SDK GPG错误
  20. 操作系统实验1——系统启动过程

热门文章

  1. 手码万字-带你全面了解存储基础知识
  2. 反编译插件jad和jd-jui
  3. 电脑C盘空间严重不足,教你5招!电脑内存瞬间多出10个G
  4. C++班车管理系统课程设计
  5. 已知每个部门有一个经理,统计输出部门名称、部门总人数、 总工资和部门经理。
  6. 《SQL必知必会》学习笔记——第十二课 连结表
  7. 计算机在社会工作和生活中的应用,计算机综合应用能力实训
  8. 编写一个C程序,输入a,b,c三个值,输出其中最大者
  9. python 网格策略_Python版简单网格策略
  10. MY云顶之奕上分阵容