
C51
文章平均质量分 90
shangtang
这个作者很懒,什么都没留下…
展开
-
keil 编译时出现错误和警告总结
1、ERROR L104: MULTIPLE PUBLIC DEFINITIONS重复定义 c/c++语言中有很多地方要用到extern,但是如果没有真正的了解它的意义,会给编程带来很大的麻烦,为了使大家少走弯路,特祥细的说明一下。 对于比较小的程序,一般只有一个c文件和一个头文件,全局变量我们通常会直接定义在c文件中,在程序之前加int i定义。如果要在头原创 2017-07-14 22:10:03 · 5394 阅读 · 0 评论 -
51单片机外设之——按键的检测(带有标志位的按键识别法)
前面提到了独立按键,可见,独立按键是由矩阵键盘分离而来的。接下来看的是 4*4 的矩阵键盘,这里使用的还是上节所使用的,延时消抖检测。 先附上矩阵键盘的原理图: 在使用据矩阵键盘时,J5 排针处的跳帽连接 1 脚和 2 脚,使所有按键的有效端口全部连接至 I/O 口。 具体的扫描方式为: 先把P3^0~P3^7高四位和第四位赋不一样的电平值,当确定有键按下时,检测按下的是哪一行或哪一列(原本高电平...原创 2018-04-30 12:14:11 · 5758 阅读 · 0 评论 -
51单片机外设之——矩阵键盘(传统法一)
前面提到了独立按键,可见,独立按键是由矩阵键盘分离而来的。接下来看的是 4*4 的矩阵键盘,这里使用的还是上节所使用的,延时消抖检测。 先附上矩阵键盘的原理图: 在使用据矩阵键盘时,J5 排针处的跳帽连接 1 脚和 2 脚,使所有按键的有效端口全部连接至 I/O 口。 具体的扫描方式为: 先把P3^0~P3^7高四位和第四位赋不一样的电平值,当确定有键按下时,检测按下的是哪一行或哪一列(原本高电平...原创 2018-04-30 12:12:48 · 3182 阅读 · 0 评论 -
单片机基础知识
单片机的外部结构: DIP40双列直插; P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 电源VCC(PIN40)和地线GND(PIN20); 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位) 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍) 程序配置EA(PIN31原创 2017-03-22 20:31:29 · 1001 阅读 · 0 评论 -
单片机的学习
单片机的概念:单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从早期的4位、8位、16位单片机发展到现在的32位、64位等具备更高处理能力的单片机。 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈转载 2017-03-15 15:55:20 · 916 阅读 · 0 评论 -
单片机入门
很久以前,人类发明了数字。自此,人类社会发生了巨大的变化。有了数字,人们解决了很多问题。在数字的帮助下,人们学会了度量和计算,人们发明了温度计,发明了钟表,发明了直尺,发明了算盘……生活中原本模糊的概念,变的不再模糊,而是十分精确。 1870年以后,科学技术的发展突飞猛进,各种新技术、新发明层出不穷,并被迅速应用于工业生产,大大促进了经济的发展。第二次工业革命爆发了。在这次工业革命中,电力得到转载 2017-03-05 10:56:09 · 570 阅读 · 0 评论 -
单片机关于定时计数器的C编程
/*********************************************************************************************函数名:定时/计数器初始化函数调 用:T_C_init();参 数:无返回值:无结 果:设置SFR中T/C1和(或)T/C0相关参数备 注:本函数控制T/C1和T/C0,不需要使用原创 2017-03-29 21:10:50 · 3516 阅读 · 0 评论 -
单片机的串口通信编程的总结
在紧张的工作中,现在对单片机的串口通信编程有了一个新的认识,下面就针对下面不同的几个工程程序文件的区别做一个比较详细的总结。 本次小结的主要目的是更加明确单片机的串口中断是如何发生的。即:是如何触发串口中断的发送功能的。在说明中我使用特殊的字体颜色来强调重点部分和注意事项。 程序一: 本程序是使用软件设置TI来实现串口中断的触发,如果在初始化函数中不增加“TI=转载 2017-04-06 22:11:17 · 707 阅读 · 0 评论 -
单片机的串行口和并行口有什么不同,它们各执行什么功能
串口和并口都是用来做数据传递的 ,串口是用连续的高低位表示数据,如0x55就是连续的01010101,高低电平间隔时间相等。具体间隔由总线速度和你配置的串口波特率有关。并口是用同一时刻几个端口的状态组合表示数据的。如A口表示0x55,即A8~A1依次为01010101。单片机启动时有默认的总线速率,一般烧录程序会用外接晶振重新配置总线速率。然后根据要实现的功能配置相关的寄存器。然后就是主程序了转载 2017-04-06 22:17:26 · 11439 阅读 · 0 评论 -
单片机工作方式
串口的工作方式 —51 系列单片机 串行口分四种工作方式,由 SCON 中的 SMO 、 SM1 二位选择决定。 1. 方式 0 ( 1 )特点 1. 用作串行口扩展,具有固定的波特率,为 Fosf/12 。 2. 同步发送 / 接收,由 TXD 提供移位脉冲, RXD 用作数据输入 /原创 2017-04-19 21:06:46 · 2411 阅读 · 1 评论 -
单片机常用芯片MAX7219驱动
MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数字LED、LED条线图形显示器、或64个分立的LED发光二级管。该芯片具有10MHz传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED的段电流。。它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数转载 2017-05-17 16:32:09 · 16993 阅读 · 0 评论 -
基于单片机的简易数字电压表设计
以单片机为核心器件,组成一个简单的直流数字电压表。 (1)采用1路模拟量输入,能够测量0-5V之间的直流电压值。 (2)电压显示可采用4位LED数码管显示,至少能够显示两位小数。 简易数字电压表的制作,主要涉及数据(电压)测量、A/D转换及控制显示方面的知识。 (1)A/D转换采用ADC0808、0809实现。 (2)电压显示采用4位的LED数码管。 (3)单片机选用AT8转载 2017-07-13 15:59:34 · 5082 阅读 · 3 评论 -
单片机及C51的sbit变量如何实现外部声明
首先bit与sbit完全不同,他不是传统的C语言的声明变量的关键词,我们可以简单的把sbit,sfr语句理解为宏定义。二宏定义是可以重复声明的,在用单片机用多文件处理时,sbit是可以重复声明的,如果要在别的文件中用到这个变量,那么再原样定义一次,问题就解决了,如果用extern sbit 声明就报错了。原创 2017-07-14 22:22:14 · 4389 阅读 · 1 评论 -
51单片机外设之——按键的检测(快速识别)
前面提到的按键的检测,第一种传统的扫描存在延时消抖和while松手检测语句的缺点;第二种的带标志位的检测法存在延时消抖的缺点;而现在介绍的按键扫描法是“快速识别”方法(以独立按键为例,因为矩阵键盘的扫描与独立按键类似)。 首先附上按键的原理图: 用跳帽连接排针 J5 的2脚与3脚,将键盘设置为独立按键(只有S4~S7有效)。此时,S4~S7一端分别与P3^3~P3^0相连,另一端连向GND。其核心...原创 2018-04-30 12:46:49 · 9353 阅读 · 2 评论