LCD12864的驱动LCD12864在市面上主要分为两种,一种是采用st7920控制器的,它一般带有中文字库字模,价格略高一点.另一种是采用KS0108控制器,它只是点阵模式,不带字库.很可惜,我的这块就是KS0108控制器不带汉字库的,不过不打算用它专门显示文本,也就无所谓了. LCD12864模块的20个引脚定义如下:1.Vss      逻辑电源地2.VDD 逻辑电源正 5v3.V0 LCD驱动电压4.RS 数据/指令选择:高电平为数据,低电平为指令5.R/W 读/写选择:高电平为读数据…
LCD1602已很普遍了,具体介绍我就不多说了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶.字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示: 字符型LCD的引脚定义 HD44780内置了DDRAM.CGROM和CGRAM. DDRAM就是显示数据RAM,用来寄存待显示的…
这是arm裸机1期加强版第1课第2节课程的wiki文字版. 为什么没前途也要学习单片机? 因为它是个很好的入口. 学习单片机可以让我们抛开复杂的软件结构,先掌握硬件操作,如:看原理图.芯片手册.写程序操作寄存器等. 在上一节视频里,我刚把单片机贬得一无是处,说单片机没前途了,这节视频,我又要告诉你们,没有前途,也要学习单片机.为什么? 首先,我说不用学习单片机,是指不要使用老一套得学习方法学习单片机.什么叫老一套的方法? · 硬件上:不要使用C51.STM32这些专用的单片机开发板.如果以后,你…
嵌入式开发PCB设计几点体会(转载):http://bbs.ednchina.com/BLOG_ARTICLE_3021801.HTMCollector-Emitter Saturation Voltage:集电极-发射极饱和电压 PCB常见封装(转载):http://blog.163.com/w_m314@126/blog/static/67849299201092211745865/?latestBlog 51单片机的IO口驱动能力.灌电流.拉电流.上拉电阻的选择:http://bbs.el…
在网上搜了一下,ST7920控制器的LCD产品可以提供8位,4位并行和串行接口可选,并行的控制接口的LCD较多,前面的贴子也介绍过,我们在这儿不说了,这儿我们讲的是串口控制LCD12864. 买了块ST7920的LCD12864,型号是12864-1.这个价格好像比前面我买的那个并口的便宜些,52元.是不是显示效果要差些呢. 再来个背面照片: 买来后也就只有个管脚说明:(我只说串口的定义)工作于串行模式时的引脚定义:PIN1------------ GND 电源-, 一般接0V. PIN2---…
C51最小系统电路在网上一搜一大把,大同小异.我略做改动后如图: 加一个11.0592MHZ的晶振是为了以后做串口通信时和PC有相同的波特率.可用短路帽切换.说说板子的布局:网上卖的最小系统都是把板子做的非常小,如果仅仅只学习最小系统,那是可以的.我以后是要做扩展的,所以不能做的太小.因此该有的应留着,不该有的都去掉.很重要的是以后在做其它扩展功能块时的连接线就用一组排线而不能再有其它飞线.因此做一个好的布局是非常有必要的. 在板上除了最小系统外还有键盘输入.数码管.LCD.I2C存储器.它们的…
现在的笔记本包括台式机都渐渐地舍弃了并口.串口:很多网友也跟我说,台式没有并口了,下载线没法用了,让我帮他想想办法.看来做个USB-ISP下载线是势在必行了. 在网上搜了下,主要有两种方案,一种是用FT245串口芯片加ATMEGA8的方案,另一种是只用ATMEGA8进行USB串口协议的软件模拟和ISP下载全部完成.据说第一种稳定,但成本高,电路复杂,不便自制.我们还是本着低成本,简单易做的原则进行.就用单个M8来做. 好!废话少说,干活.在网上搜了一下找了个BUG少,易于自制的图. 在制做前首先…
这次我们来试着一步步的去掌握PC与单片机通过RS-232进行通讯和控制. 先说说我硬件的情况.我用的PC是个二手的IBM240小本本,十寸屏,赛扬400,机子很老了.但也有它的优点:1.串口,并口,PS鼠标口.USB口.PCM插槽全有.      调试硬件电路最好还是用真实串.并口好些,因为用USB转换的串.并口有时会出现兼容性上的问题,就会增加你调试上的复杂性. 下图为本人的IBM 240及各种接口图: 下图是PC的大小对比图 单片机还是我一步步做出来的那个了,USB-ISP编程线也是我前面秀…
在网上看了很久,发现初学者最有兴趣的就是DS1302时钟电路,也很自然,它是个做出来就让你觉得最实用的电路了,但实际上制做上并不简单,首先你要让你的显示部分(不管是数码管还是LCD)调试通过.然后把DS1302接好,调试正确了才能在成功显示时间和日期.下面我们就来说说DS1302的用法. DS1302的图如下: DS1302是美国DALLAS公司推出的一种高性能.低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RA…
现在都用S52了,还用C2051干嘛!价格也差不多.但是C2051的体积要比S51.S52小很多,而且引脚只有20只,在一些简单的控制中,这些引脚已足够了,小的体积更具有优势些.但目前好像还没有支持在线编程(ISP)的S2051.因此试着做个C2051的编程器,更主要的是与大家分享一下在电路制做过程中硬件.软件的除错技巧,尽量做到一次成功的经验和方法. 在网上找了一番,图很多,大同小异.上一张最通用的图: 上图是可以烧写很多器件的电路,它的PCB板在网上也很容易找.但因为是实验制做,没用PCB,…
DS18B20数字温度测量传感器,网上介绍很多,我就不罗嗦了.见图 DS18B20与前产品DS1820的不同: DS18B20继承了DS1820的全部优点,并做了如下改进 1.供电范围扩大为3.0--5.5V.2.温度分辨力可编程.3.转换速率有很大提高.4.内部存储器映射关系发生变化.5.具有电源反接保护电路.5.体积减小一半. 对我们使用来说最大的不同就是DS18B20可以程序设定9~12位的分辨率数字值,而DS1820为固定的9位数字值,且温度转换时的延时时间由2s减为750ms.. 电路…
这一篇介绍I2C存储器的使用.主要是介绍AT24CXX系列器件,它分为两类,主要是通过被存储容量地址来分的,一类是AT24C02-AT24C16,它的存储容量从256字节到2048字节.另一类是AT24C32-AT24C1024,容量从4K-128K.(理论上好像可以达到最高512K字节容量,但现在网上最高也就能看到AT24C1024也就是128K字节容量)原理: I2C总线是一种用于IC器件之间连接的二线制总线.它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信…
目录 说明 IR.h IR.c 说明 编码格式:NEC IR.h /************************************************************ * @Project 课程设计 -- 旋转LED * @File IR.h - 红外线遥控驱动头文件 * @Author 1500830205 黄玉婷 * @Teacher 黎莲花 ************************************************************ */…
单片机的引脚,可以用程序来控制,输出高.低电平,这些可算是单片机的输出电压.但是,程序控制不了单片机的输出电流. 单片机的输出电流,很大程度上是取决于引脚上的外接器件. 单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”:单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”. 这些电流一般是多少?最大限度是多少? 这就是常见的单片机输出驱动能力的问题. 早期的 51 系列单…
转载自:http://bbs.dianyuan.com/article/20312-2 单片机的引脚,可以用程序来控制,输出高.低电平,这些可算是单片机的输出电压.但是,程序控制不了单片机的输出电流. 单片机的输出电流,很大程度上是取决于引脚上的外接器件.单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”;单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”.这些电流一般是…
(一)基础知识篇 今天刚调试好,先看图吧! 这张是AT89C2051控制NRF24L01+做发射调试. 看看NRF24L01细节吧! 这是LCD屏显示: AT89S52做接收测试: 正在接收时的显示: 接收到数据后显示32个数据值: 无线模块NRF24L01+应用上篇结束,敬请期待NRF24L01+下篇的调试部分.... (二)模块调试篇 三)发送与接收模块的联调 (四)举例应用 LED调试篇 写了前面四篇关于NRF24L01通讯调试的文章,看来大家还是很喜欢,有帮助的.有很多大学生朋友问我说,…
这一讲说说如何用取模软件将图形转成数据吧,有很多人反复问我这个问题,我就再罗嗦下吧! 取字模的软件有很多款.有的只能将文字转成字模数据,有的既可将文本文字转字模也能将图片转成点阵数据.在这里我就介绍一款使用简单易用的,它能将文字或图形转成我们LCD模块使用的C51数据,其它的软件也大同小异. 界面很简单,左边是各种功能和设置修改栏,右边上半部分是显示你所工作的点阵图,右下部分是文字输入框和点阵数据查看框. 我们用它主要是想让它将文字或图形转成我们在LCD12864上显示的点阵数据.所以我就讲讲如…
很多网友都问我AT89S51的P0口为什么要接一个上拉电阻.我就用一个篇幅来说一说 P0口和其它三个口的内部电路是不同的,如下图 P0口是接在两个三极管D0和D1之间的,而P1-P3口的上部是接一个电阻的.P0口的上面那个三极管D0是在进扩展存储器或扩展总线时使用MOVX指令时才会控制它的导通和截止,在不用此指令时都是截止的.在平常我们使用如:P0_1=0 P0_1=1这些语句时控制的都是下面那个三极管D1. 我们先假设P1口接一个74HC373,来看一看它的等效图 当AT89S51的P1口上接…
在我的板子上其它的部分都已完成了,现在就剩下RS232串口了.串口对于单片机很重要,有了它就可以和PC通信了,可以用PC来控制你的单片机,也可以将你单片机上采集的数据传到PC上. 留的位置好像有点挤.得把上面的复位钮挪一挪 先得搭建个临时电路试一试,MAX232结构图和电路图如下: 电路图: 搭建的实际元件图如下: 检查无短路现象后接上电源.注意,我已将板子上的晶振用短路帽跳接至11.0592MHz,这样才能将波特率设置为19200. 这是在12MHz的状态: 下图是跳至11.0592MHz的状…
最小系统板做好了,接下来就是做根ISP下载线了.否则程序怎么写到AT89S51芯片里呢? 先来认识一下AT89S51上ISP(在线编程)功能脚的定义 看上图的左边AT89S51引脚图的P1.5.P1.6.P1.7的第二功能分别为MOSI(主机发送从机接收).MISO(主机接收从机发送).SCK(时钟脉冲信号由主机发送).那什么时候才能启用第二功能呢?就是当复位脚RST接高电平一直处于复位状态时就可用第二功能了,所以在ISP下载板上有一条线接至AT89S51的第9脚(RST)上,就是在写程序前先发…
/********************************** I2C总线驱动 ******************************** 模块名:I2C总线驱动 型号:I2C 功能描述: 此模块包括发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作 函数,能很方便的与用户程序进行连接并扩展.需要注意的是,函数是采用延时方法产 生 SCL 脉冲,对高晶振频率要做一定的修改!!在写E2PROM的时候一定要延时!!! 说明: 1us机器周期,晶振频率要小于12MHz 返回…
一.简述问题 当你用单片驱动发光二极管的时,你还感觉不到P0.P1口的差别.(10-20mA之间,当中P0驱动能力最强,但对于驱动直流电机依旧非常弱.其结果就是电机不转).那么有什么办法提高驱动能力吗?以下就来介绍本文的一种简单方法. 二.实验元件 NPN三极管:s8050  (管脚序列为:EBC)      元件介绍:http://baike.baidu.com/view/3467208.htm?fr=aladdin 推断方法:平面对着自己.三个管脚朝下,从左到右依次为 (E 发射极).(B基…
代码下载 https://share.weiyun.com/5NHvLxG 这两个代码文件是其他底层驱动代码的基础: 包含了控制138573(间接控制数码管led和蜂鸣器等).delay延时函数.CT107开发板上点初始化 基础代码: CT107.h 头文件: #ifndef _CT107_H_ #define _CT107_H_ #include <STC15F2K60S2.h> #define uint unsigned int #define uchar unsigned char vo…
我们重在实际制做,太罗嗦的内容我就不说了,只讲些跟制做有关的最精炼的知识. ADC0809是可以将我们要测量的模拟电压信号量转换为数字量从而可以进行存储或显示的一种转换IC.下面是它的管脚图和逻辑图: 管脚功能说明:IN0-IN7:模拟量输入通道.就是说它可以分时地分别对八个模拟量进行测量转换.ADDA-C:地址线.也就是通过这三根地址线的不同编码来选择对哪个模拟量进行测量转换.ALE:地址锁存允许信号.在低电平时向ADDA-C写地址,当ALE跳至高电平后ADDA-C上的数据被锁存START:启…
一.器件的选用 制做并口ISP下载在网上有很多的电路和对应的PC端下载软件.很多人疑惑,不知该用哪张图,用哪个下载软件.我看了一下,采用的器件主要是74HC373.74HC541和74HC244.其实用哪个器件都可以,基本上用哪个软件也都可以使用.只要搞清了它们的并口引脚和控制线的控制方法.我先上这几个器件的图: 通过这几张图的逻辑和真值表可以看出它们的异同. ISP下载线电路的实质也就是将PC端下载软件送出的4路串行编程信号通过4个缓冲器整形为TTL信号然后交给AT89S51的ISP口.只要把…
本文转载自:http://blog.csdn.net/liuxd3000/article/details/17464779 一.基本概念 帧缓冲(Framebuffer)是Linux系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作.用户不必关心物理显示缓冲区的具体位置及存放方式,这些都是由帧缓冲设备驱动本身来完成.对于帧缓冲设备而言,只要在显示缓冲区与显示点对应的区域写入颜色值,对应的颜色会自动在屏幕上显示,下一小…
最近在淘宝入手了一块ILI9341彩色屏幕,支持320x240分辨率.之前一直很好奇这类单片机驱动的彩色屏幕的原理,就打算自己写一个驱动,从电流层面操控ILI9341屏幕.话不多说,我们开始吧( ̄▽ ̄)~* 1.ILI9341芯片和ILI9341驱动板 首先这里要明确两个概念,ILI9341芯片和ILI9341驱动板. ILI9341芯片是ilitek发布的液晶驱动芯片,是这个样子的: 而淘宝上的ILI9341驱动板是把ILI9341芯片.屏幕和针脚焊接在一起的电路板,它可能是这个样子的: 也可…
     看了介绍,觉得挺不错的东西,希望能够一路走下去       老话题STM32编程,新思路,一样是编程,味道却大有不同.这就是STM32之eBox编程.让你提议不一样的编程,让开发快到你意想不到! 从上学那会儿就开始学习51单片机,到后来的AVR,随后的STM32一路走来各种单片机玩来玩去,从一个菜鸟变成一个能飞翔的小鸟(还是个鸟),再后来慢慢的做了项目,实践出真知,做项目和玩开发板完全是两个概念,这个过程让我成长了不少,从中学习到了很多只是,特别是对c/c++有了更深刻的认识. 随着项…
案例描述:“灯控项目”中让单片机通过IO口控制继电器,继电器接入GPRS电路板供电电源,从而实现单片机对GPRS电路板的开关控制 电路图 所需元器件:1个五脚继电器,1个NPN三极管,2个电阻,1个二极管. 元器件作用.参数与选型:  五脚继电器:1.3脚导通时,2和5连接,不导通时2和4连接.实质是1/3脚之间为线圈,通电后产生磁力.  R4起限流作用,降低三极管Q1功耗.阻值取1K~2K:  R10使三极管可靠截止,即SIMPD14悬空或三态输入时,三极管基极电荷能通过R10流到地,保证Q1…
Usart GPU 使用手册 文档更新日期 更新内容 2014-9-10 C编程sprintf问题 2014-8-8 版本程序1.0,升级了自定义波特率部分 ------ 原始版本 第一部分:基础应用 概述: Usart 是串口的意思,GPU 是图形处理器的意思,产品的含义是做一个单片机使用的专用图形处理器,或者称之为串口液晶显示模块. 一. 接线 开箱后,可以将串口输出的4根引脚焊上排插,使用杜邦线将串口接到USB转TTL线上,即可接到电脑USB口上上电,屏幕即会显示第一屏的Hello界面:…