单片机笔记

2021.01.18
关于电平特性
1.数字电路中只有两种电平:高和低
2.(本课程中)定义单片机为TTL电平:高 +5V 低0V
3.RS232电平:计算机的串口 高 -12V 低+12V
4.所以计算机与单片机之间通讯需要加电平转换芯片max232(实验班上左下角)。
二进制、十进制、十六进制

  1. 十进制
    进位规则:满十进一
  2. 二进制

二进制是计算技术中采用的一种数制。而今自己数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,当前计算机习通使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的,计算机中的二进制是一个非常微小的开关,用“开”表示1,“关”表示0.

      十进制   二进制0           01           012           103           114          100 5          1016          110
  1. 十六进制

十六进制是计算机中数据的一种表示方法。它由0-9,A-F组成,字母不区分大小写。与十进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。
十进制 0-9 10 11 12 13 14 15 16 ~19 20
十六进制 0-9 A B C D E F 11 ~14 1A
进制转换方法
二进制;B 十进制;D 十六进制;H
B→D
整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2的负幂次然后依次相加。
D→B
除二逆序取余数

H→D
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。A为10,B为11…
D→H
10进制数转换成十六进制数,这是一个连续除以16的过程:把要转换的数,除以16,得到商和余数,将商继续除以16,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。
例:

120转换为16进制,结果为:78。
B→H
取四个二进制放在一起转化为十六进制,转化时先把二进制的数转化为十进制,再把十进制数转化为十六进制。
例如1010B为9H
H→B
将十六进制的每位数转化为二进制中四个二进制的数
例如A1 H为1010 0001B

二进制数的逻辑运算

  1. “与”运算
    “与”运算是是实现“必须都有,否则就没有”这类逻辑关系的一种运算。运算符为“ · ”,其运算规则如下:
    0 · 0 = 0, 0 · 1 = 1 · 0 = 0, 1 · 1 = 1
  2. “或”运算
    “或”运算时实现“只要其中之一有,就有”这种逻辑关系的一种运算,其运算符为“+”。运算规则如下:
    0+0=0, 0+1=1+0=1, 1+1=1
  3. 非”运算
    “非”运算是实现“求反”这类逻辑的一种运算,如变量A的“非”运算,记作“ Ā ”运算规则如下:
    1的对立=0, 0的对立=1
  4. “异或”
    “异或”运算是实现“必须不同,否则就没有”这种逻辑的一种运算,运算符为“⊕ ”运算规则为:
    0⊕0=0, 0⊕1=1, 1⊕0=1, 1⊕1=0

80c51系列介绍


2021.01.19


三条总线与单片机内部的各个硬件相连,送数据时在总线上跑








2021.01.20

位右移 如果有八位,那么位右移后最低位移出,最高位补位0位左移同理
按位与 以5&2举例,5为0101 ,2为0010,按位对齐并按照“与”运算得到0000
其他按位同理

If while for语句重要

晶振相当于人的心脏,单片机运行一次,程序执行都是由晶振驱动的
单片机必须复位一次才能让程序从头执行

安装keil并建立第一个工程

2021.01.25

Project New project新建一个工程命名后保存会弹出窗口选择创建的工程选用的芯片
再new file保存添加到工程中,写c语言的程序后缀要.c 再从target下的选项里右键选择Add Files to Group,选中后点击Add
写51单片机需要加一个头文件include
实验板上标号相同的表示已连接
发光二极管发光的电流大概是3mA左右3-10mA正常范围,压降1.7V
电阻的选择根据发光二极管的压降和通过的电流然后用欧姆定律计算
开关电源
D是输入端,Q是输出端
上面有横杠表示低电平有效
OE 为out enable输出使能 L表示低 H表示高 X表示随意
Z是一种高阻状态,介于高电平低电平之间的状态,要根据与它相连的确定他是什么电平
LE锁存器,主要起到扩展的作用
当他是高电平时,输入是什么输出是什么,当他为低电平,无论输入是什么,LE变成低电平之前是什么输出是什么
Q0表示上一次的值
AD是把模电信号转化为数字信号
51单片机所有的I/O口上电时默认都是高电平如果不写程序改变的话
sbit D1=P1^0;//位定义
void main() //主方法
{
D1=0;
}
=0输出低电平的意思

点击可以检测有没有错误,编译文件
将程序下载到单片机中点击在output中选择create file
hex十六进制
bran二进制

2021.01.27

选中语句按Tab键可以向后移,同时按shift键向前移
如果想不执行下面的语句则在while后面加分号

代码为使灯闪烁
D1=P1^0;//定义P1口的第0位为D1,方便后续控制这个位

郭天祥51单片机笔记(一)相关推荐

  1. 台达触摸屏modbusRTU与51单片机通讯台达屏与郭天祥51单片机通讯程序

    台达触摸屏modbusRTU与51单片机通讯台达屏与郭天祥51单片机通讯程序亲测过好用,P1口led显示8个位的状态上传给触摸屏,d2至d7为16数据寄存器能写能读,数码管显示当前写入的数码id=60 ...

  2. 郭天祥51单片机教程--- IIC总线

    郭天祥51单片机教程- IIC总线 #include <reg52.h> #define uchar unsigned charsbit SDA = P2^0; //数据总线 sbit S ...

  3. 关于郭天祥51单片机教程视频课后题《同时用两个定时器控制蜂鸣器发声》

    题目为:同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800, 1k(hz)的方波. 给出的代码为: ...

  4. 0.《新概念51单片机C语言教程》(郭天祥)学习笔记

    看到之前的阅读量,有标题党的嫌疑,再接再厉,加油坚持自己的文风,相信会写的越来越好:) 继续更(一个人,一个记事本,一个PDF阅读器,装备全靠打) <新概念51单片机C语言教程>(郭天祥) ...

  5. 郭天祥自学单片机的方法

    看郭天祥的文章<我的大学六年> 于是我开始学习单片机,当时苦于没有硬件实验环境,身边又没有会的人请教,于是我就上网找资料,看见网上有卖单片机学习板的,那时价格都挺贵的,但我还是狠下心买了一 ...

  6. 51单片机笔记:定时器/计数器

    单片机笔记 定时器/计数器 定时器/计数器的结构 AT89S51内部两个16位定时器/计数器:T0(P3.4),T1(P3.5),定时器/计数器T0由特殊寄存器TH0,TL0构成,T1由特殊功能寄存器 ...

  7. 51单片机笔记:中断系统

    单片机笔记 中断系统 工作原理 功能描述 终止当前进行的事件,去处理突发需及时处理的事件,处理完还要返回原事件. 中断符函数 void ISR() interupt n 中断符函数与普通函数区别 普通 ...

  8. AutoLeaders控制组-51单片机笔记(后期)

    目录 一.I/O口介绍 1.I/O口配置 2.I/O口控制LED数码管 二.中断系统 1.介绍 2.结构 3.中断寄存器 1.TCON 2.SCON ​ 三.定时器 1.寄存器介绍 2.工作模式 3. ...

  9. 郭天祥51开发板——超声波测距+lcd1602

    使用超声波模块实现测距功能,测量结果显示在LCD1602上.并通过串口发送给电脑,测量距离大于或小于5~400cm,LCD1602显示"Waring!"同时蜂鸣器报警.串口发送&q ...

  10. 51单片机进阶案例(1)——基于MATLAB GUI的单片机串口与PC的通信实现实时时钟和双向可调时钟功能(利用DS1302时钟芯片和LCD1602液晶屏)

    目录 一.案例描述 二.实现功能 三.51单片机部分实现 3.1 实时时钟的实现 3.2 串口通信的实现 3.2.1 接收数据 3.2.2 发送数据 四.MATLAB部分实现 4.1 GUI界面 4. ...

最新文章

  1. 提升磁盘IO性能的几个技巧
  2. 丢掉uVision2吧,uVision早就有了
  3. java读取excel数据_Java读取Excel内容(转)
  4. CCNP精粹系列之十八--路由映射实战二,博主推荐文章
  5. 【牛客 - 297D】little w and Exchange(上下界贪心)
  6. promise常见错误
  7. 京东数据分析工具(京东销售数据如何查询)
  8. flexbuilder 4.6破解
  9. postman实现接口请求
  10. 关于时钟晶振  速率  倍频
  11. 2017总结,附书单、项目,只喜欢有趣的。。
  12. 巴比特 | 元宇宙每日必读:42.46%的人年薪超过20万,元宇宙人才没有想象中的金贵?...
  13. 干货!因果推理的应用与发展 | PhD Debate-7
  14. java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener
  15. 组合数学与计算机科学书籍,计算机科学丛书:组合数学(原书第5版)
  16. Android 高德地图给指定坐标显示图片,以及聚合显示
  17. 自己学习c++过程中写下的笔记,只做基础了解使用
  18. C++: 计算累积密度函数 (CDF) 非中心Beta分布(附完整源码)
  19. 用友如何控制打印次数
  20. LibGDX_1.1: LibGDX 跨平台游戏开发框架简介

热门文章

  1. 制作(转换)ico图标
  2. 记录struts2 和struts1的页面验证码生成
  3. 优盘在计算机上无法显示,U盘在电脑上不显示的原因
  4. 申请美国密歇根州立大学需要具备哪些条件?
  5. 王道408排序算法总结
  6. Scan Reorder Formal
  7. 计算机如何共享电视,智能电视怎么与电脑共享文件观看视频?
  8. Cobalt Strike小技巧——后台挂起CS服务端
  9. 利用IPv6看清晰流畅的网络电视
  10. 把RAdam和LookAhead合二为一