今天分享一个89c51制作的8位流水灯案例.使用Proteus仿真. 同上一遍文章不同.上一篇文章中对于GPIO操作主要是位操作,即sbit led1=P0^0;其中P0^0代表p0.0这个引脚,然后在这样位定义以后就可以对led1这个变量进行赋值操作,控制led灯的亮灭闪烁.今天要分享的是一次性对P1.0-P1.7进行操作. 89c51单片机是以51为内核的8位处理器,可以很方便的实现8位数据的操作. 所使用的电路原理图如下: 使用200Ohm的电阻进行限流,LED灯采用阴极接法,即LED灯的…
STC89C51系列单片机共有如下几类GPIO口: (1)P0.0-P0.7: 对应DIP40封装的39-32号引脚:P0口既可以作为输入/输出GPIO口,也可以作为地址/数据复用总线使用. a)P0口作为输入/输出IO口时,P0是一个8位准双向IO口,上电复位后处于开漏模式.且P0口内部无上拉电阻,在作为I/O使用时必须外接4.7K-10K的上拉电阻: b)P0口作为地址/数据复用总线时,是低八位地址线[A0-A7],数据线[D0-D7],无需外接上拉电阻 (2)P1.0-P1.7: 对应DI…
今天分享的是89c51系列单片机的内部资源定时器/计数器,在所有的嵌入式系统中都包含这两个内部功能. 首先先了解几个定时器/计数器相关的概念: •时钟周期:时钟周期 T 是时序中最小的时间单位,具体计算的方法就是1/时钟源频率,(一般单片机采用的是11.0592mHz) •机器周期:我们的单片机完成一个操作的最短时间.标准51单片机,一个机器周期是 12 个时钟周期,也就是 12/11059200 秒. •定时器:当T/C工作在定时器时,对振荡源12分频的脉冲计数,即每个机器周期计数值加1,计数…
/*******************************************Copyright:  2014.02.09.version1.0File name: led.cDescription: 自己做的流水灯89C51Author:  lxlVersion: version1.0Date: 2014.02.09History: 无*********************************************/#include <reg51.h> /********…
7段码的数码管由7个LED等共同组成,根据公共端的不同有共阴和共阳之分.现在很多数码管在7段码的基础上加了一个.即dp,其内部结构如下图所示: 公共端为LED灯的阴极,所以为共阴极接法: 公共端为阳极,所以为共阳极接法: 共阴极数码管驱动真值表: 共阳极数码管驱动真值表: 案例一.一位数码管的静态显示: 电路原理图如下: 其中RN2采用600Ohm的电阻为数码管进行限流,数码管采用共阳极的接法.RN1为10K的上拉电阻,由于51单片机的P0口内部没有集成上拉电阻,所以当使用P0口作为输出的时候,…
添加一个网址: http://rmingwang.com/gpio-control-flow-lamp-code-archive.html 还有一个 http://www.openedv.com/posts/list/0/378.htm#94993…
7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)类似于单片机的R0-R7. GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P1,TCON,等等. GPXCON:是X管脚的控制寄存器,控制它们的模式,比如输出模式,输入模式……GPXDAT:是X管脚的数据寄存器,存储它们的数据, GPIO ,通用的输入输出,其引脚可供编程使用,对于简单的外部设备,比如控制一个LED 灯的亮灭,自然 只需要一位 信号就够了. 使用传统的 串行…
/***************************************************Copyright: 2014-02-11.version1.0File name: timer.cDescription: 定时中断控制的流水灯Author: lxlVersion: version1.0Date: 2014.02.11History: 无****************************************************/#include <reg51.…
1.整体思路:把相应的配置数据写入相应的寄存器,控制GPIO电平(Led.s)——运用工程管理Makefile编译.链接文件(由Led.s编译得到led.bin,该文件用于USB启动方式点亮LED,若使用SD卡方式启动LED,则需要添加mkv210_image.c,使用gcc编译得到可执行程序mkmini210,然后通过执行mkmini210程序由led.bin加工得到210.bin) 2.所需文件:led.s.mkv210_image.c.Makefile 3.led.s /* 2 * 文件名…
学会了如何新建一个工程模板,下面就要开始动手实践了.像c/c++中经典的入门代码"hello world"一样,流水灯作为最简单的硬件设备在单片机领域也是入门首推.如果你已经有了一定的C语言基础以及曾经使用过类似的芯片,那么学习起来绝对事半功备.当然没有也不需要担心,本项目实现起来很简单.不过学习嵌入式,第一点就是要转变思路,从现在开始你不在是仅仅和编程语言打交道了,交叉编译的方式注定嵌入式项目软硬件不分家,从硬件实现,软件设计,软硬件调试,硬件运行观察结果,熟悉和适应这个流程对于嵌入…