C51常用的数据类型
数据类型 关键字 所占位数 表示数范围
无符号字符型 unsigned char 8 0~255
有符号字符型 char 8 -128~127
无符号整型 unsigned int 16 0~65535
有符号整型 int 16 -32768~32767
无符号长整型 unsigned long 32 0~2^32-1
有符号长整型 long 32 -2^31~2^31-1
单精度实型 float 32 3.4e-38~3.4e38
双精度实型 double 64 1.7e-308~1.7e308
位类型 bit 1 0~1

2.C51数据类型扩充定义

单片机内部有很多特殊功能寄存器,每个寄存器在单片机内部都分配有唯一的地址,一般根据寄存器的功能不同赋予不同名称。操作时,需声明,即将地址编号赋给这个名称。(见reg52.h头文件)

sfr 特殊功能寄存器的声明,声明一个8位的寄存器
sfr16 16位特殊功能寄存器的数据声明
sbit 特殊功能位声明,也就是声明某一个特殊功能寄存器中的某一位
bit 位声明变量,当定义一个位变量时可使用此符号

3.为什么发光二极管接1kΩ电阻

  发光二极管,通过电流I为5mA时即可发光,一般控制在3~20mA,电流过大为烧毁。

  而发光二极管的导通压降为1.7V,而供电为5V。 3.3 = 5 - 1.7。

  3.3V / 1000Ω = 3.3mA

  大约接1kΩ电阻时,二极管可正常发光,此电阻又称 限流电阻。

4.单片机晶振旁两个电容作用

  ①一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。(为满足谐振条件所以要对称)

  它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。也能保证温漂等误差。

  从原理上讲直接将晶振接到单片机上,单片机就可以工作。但这样构成的振荡电路中会产生谐波(也就是不希望存在的其他频率的波),这个波对电路的影响不大,但会降低电路的时钟振

  荡器的稳定性。即只有在外部所接电容为匹配电容的情况下,振荡频率才能保证在标称频率附近的误差范围内。电容在此起到了滤波(去杂波)的作用。

  ②由于单片机电源为开关电源,不稳定,两个去耦电容起到缓冲稳压的作用。

  比较常用的为15p-30pf之间.两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。

5.锁存器

74HC573

OE(上划线) out Enable 使能端:低有效。这里直接接地,表示有效。若接高Q表现出高阻态,即其电平高低取决于与其相连的电路。

LE由单片机控制,LE高时,Q=D;可以实时控制LED灯的亮灭。LE低时,D=Q0,Q0为上一次的电平状态。

  由于单片机引脚有限,同个IO口,用于控制不同电路。将LE置低,则LED不会随IO电平变化而变化,将其忽略,减少其影响。

6.点亮第一个LED

位操作法

 #include <reg52.h>
sbit LED0 = P1^; int main()
{
LED0 = ;
return ;
}

总线法

 #include <reg52.h>

 int main()
{
P1 = 0xFE; //由高到低P1^7 ……P1^0
return ;
}

7.单片机工作基本时序

  ① 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,实验板上为11.0592MHZ。 
  ②状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 
  ③机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 
  ④指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。 
 
8.三极管(模电学了补充)
 
9.继电器
上图为继电器简化模型用于理解。
二极管的作用:电感在电路断开瞬间有感应电流,防止击穿三极管的PN结。
三极管的作用:IO口的电流不能直接驱动继电器,需用三极管放大。!!!注意!!!(我刚开始直接用的IO口,有的模块失败了,有的成功了,但是如果超过了单片机I/O电流就有可能烧坏单片机内部电路,如击穿等)
原先三极管可能处于非饱和状态,继电器最大限度获得的电压可能偏小。而改进后,调节R,改变基极电流使三极管处于饱和状态。
(from:http://wenku.baidu.com/link?url=6JA9-A-UT3kmslX1Ba5uTWhd9kbAifAdPNO1zrWO5RHWDBoAD9rquSPqAn4cmNTxftcv6a_awTJmpYyhrVLYWkIVPlLzLGQUCY5Lr83mB2m)
(学过三极管后进行补充更正)
 
模块的使用
 
一路光耦隔离继电器驱动模块

模块说明:

  采用贴片光耦隔离,驱动能力强,性能稳定;触发电流5mA。常开接口最大负载:交流250V/10A,直流30V/10A。

模块接口:

  DC+:接电源正极(电压按继电器要求,有5V.9V.12V和24V选择)

  DC-:接电源负极

  IN:可以高或低电平控制继电器吸合

继电器输出端:

  NO:  继电器常开接口,继电器吸合前悬空,吸合后与COM短接

  COM:继电器公用接口

  NC:  继电器常闭接口,继电器吸合前与COM短接,吸合后悬空

高低电平触发选择端:

  跳线与LOW短接时为低电平触发;

  跳线与high短接时为高电平触发。

12V延时继电器通断继电器模块

尺寸:6.8CM*2.1CM

主要芯片:NE555

工作电压:直流12伏

特点:
①接通电源继电器以1-10s的固定周期吸合和断开。具体为:给继电器供12v电源后,继电器会马上吸和,继电器输出端的状态为:常开与公共导通,常闭与公共断开;等到延时1-  10s(可以调节)后,继电器释放,此时,继电器输出端的状态为:常开与公共断开,常闭与公共导通;只要模块不断电,此状态会一直保持以1-10s的固定周期吸合和释放。
②延时时间可调,(0~10秒)               
③增加电位器可以增加延时时间
④增大电容C1可以增大延时时间
⑤具有输入电源指示灯
⑥具有继电器吸合指示灯

⑦可控制交流220V/10A一下设备。(最大控制设备2000W)

⑧具有继电器续流保护。

⑨延时时间公式:T=1.1RC。例如:电容100uf电阻100K
T=1.1*100000*0.0001=11秒

十天学会单片机Day0点亮LED (锁存器、三极管、继电器)的更多相关文章

  1. 十天学会单片机Day1点亮数码管(数码管、外部中断、定时器中断)

    1.引脚定义 P3口各引脚第二功能定义 标号 引脚 第二功能 说明 P3.0 10 RXD 串行输入口 P3.1 11 TXD 串行输出口 P3.2 12 INT0(上划线) 外部中断0 P3.3 1 ...

  2. 《十天学会单片机和C语言编程》

    <十天学会单片机和C语言编程> 大家注意了这个文件只有最新版迅雷可以下载,下面的lesson几就是第几课.点击右键使用迅雷下载. ed2k://|file|[十天学会单片机和C语言编程]. ...

  3. 学习笔记——单片机简介 & 点亮LED & 流水灯 & 电路基础【更新Ing】

    视频地址:https://www.bilibili.com/video/av10765766 超详细!!!!!! 单片机内部三大资源 [资源:单片机可提供使用的东西] FLASH 可以重复擦写 断电后 ...

  4. 十天学会单片机Day3 D/A与A/D转换器

    D/A转换器 1.二进制权电阻网络型D/A转换器 基准电压Vref 数据D(d3d2d1d0) 输出模拟电压V0 i0 = Vref/8R    i1 = Vref/4R     i2 = Vref/ ...

  5. 十天学会单片机Day4串行口通信

    并行与串行基本通信方式 1.并行通信方式 通常是将数据字节的各位用多条数据线同时进行传送. 并行通信控制简单.传输速度快:由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难. 2.串行通 ...

  6. 十天学会单片机Day2键盘检测(独立键盘、矩阵键盘)

    1.键盘的分类 编码键盘:键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘 非编码键盘:靠软件编程来识别的称为非编码键盘.独立键盘.矩阵键盘 2.按键消抖   ...

  7. 十天学会单片机Day5 IIC总线AT2402芯片(EEPROM)应用

    1.采用串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时,系统的更改和扩充极为容易. 常用的串行扩展总线有: IIC (Inter IC BUS)总线.单总线(1-WIRE ...

  8. 十天学会单片机Day6 学会看数据手册 (IIC总线PCF859芯片( A/D D/A)应用)

    1.实际电路 2.引脚图 3.地址 高四位为固定地址1001,A2A1A0可编程地址,通过观察实际电路,可知A2A1A0 为000.最低位为读写为,1为读,0为写. 4.控制字 控制寄存器的高半字节用 ...

  9. 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯

    关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...

随机推荐

  1. Oracle GoldenGate 11.2 OGG-01168(转)

    为客户部署的Oracle GoldenGate在测试阶段出现如下的错误: 2012-04-24 10:45:20  ERROR   OGG-01168  Oracle GoldenGate Deliv ...

  2. Spring 配置文件详解 http://www.blogjava.net/hellxoul/archive/2011/11/19/364324.html

    1.基本配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http: ...

  3. The Ninth Hunan Collegiate Programming Contest (2013) Problem L

    Problem L Last Blood In many programming contests, special prizes are given to teams who solved a pa ...

  4. c# 调用 CRFs应用程序

    今天想用C#调用crfs,但是老出问题.原因有几点.第一,我对crf不理解,虽然我用cmd跑了一遍,但是根本不理解为什么,而且只是草草看了下参数该输入什么,只是了解了形式,没有了解实质.所以在调用的时 ...

  5. Hibernate和JDBC、EJB比较

    参考:http://m.blog.csdn.net/article/details?id=7228061 一.Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App S ...

  6. 【LeetCode】84. Largest Rectangle in Histogram

    Largest Rectangle in Histogram Given n non-negative integers representing the histogram's bar height ...

  7. 搭建基于Windows + Apache + PHP + MySQL的Moodle平台

    说起Moodle,我相信学习教育技术的同学应该都不陌生,在大学的网络与远程教育课中,我有幸与传说中的Moodle相遇,然后相知,但是我绝对不会跟你们说一直到我毕业,我都没有找到一个合适的时间与这位Ms ...

  8. PMP--项目经理解决冲突的模式

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 在实际工作过程中,作为一个项目经理,在解决冲突的时候可以通过多种模式解决,项目经理在 ...

  9. 学习总结 java 异常

    package com.hanqi.ec; public class Test1 { public static void main(String[] args) { int a = 10 , b = ...

  10. Andriod项目开发实战(2)——JSON和XML的区别

    详情见: 1.http://www.cnblogs.com/SanMaoSpace/p/3139186.html 2.http://www.cnblogs.com/yank/p/4028266.htm ...