51单片机
hust我是船长
这个作者很懒,什么都没留下…
展开
-
9.19键盘的应用
作业1:数码管前三位数显示一个跑表,从000到999,之间以百分之一秒的速度运行,当按下key1时跑表停止,再次按下时跑表开始#include#define uint unsigned int#define uchar unsigned char sbit dula =P2^6;sbit wela = P2^7;sbit key1 = P3^7;uchar aa原创 2013-11-04 15:32:37 · 666 阅读 · 0 评论 -
9.15学习笔记
数码管的动态显示:精简代码版,要注意关灯,否则有问题,还有时间消影,这个例子虽然很简单,但是精简代码百分之九十的人会写错#include#define uint unsigned int#define uchar unsigned charvoid delay(uint z);uchar code table[]={ 0x3f,0x06,0x5b,0x4f,原创 2013-11-04 15:32:33 · 756 阅读 · 0 评论 -
9.17键盘的操作
键盘的应用和分类:键盘分为编码键盘和非编码键盘,键盘上闭合键的识别是由专门的硬件编码器实现,并产生键编码号或者是键值的成为编码键盘,如计算机的键盘靠软件编程来识别的称为非编码键盘;在单片机组成的各种系统中,用的最多的是非编码键盘,也有用到编码键盘的非编码键盘又有独立键盘和矩阵键盘。 要先像键盘里面先写1;在读取操作示例代码:#include#define uin原创 2013-11-04 15:32:35 · 817 阅读 · 0 评论 -
双色点阵
双色点阵模块双色点阵是单片机另外一个显示设备,点阵在日常生活中随处可见,商家的大型的广告牌,等等都是用点阵做的;点阵也需要动态扫描,用动态扫描的方式来驱动点阵使用74hc595芯片,市场上大部分用该芯片来实现点阵的调频;输入信号是串行的,输出信号是串行和并行输出并存的,可以理解为是串行信号转换成并行信号的芯片串行输出的目的是用于级连,要显示32位数据,需要4个595芯片,正常使用只需要原创 2013-11-04 15:32:58 · 1961 阅读 · 1 评论 -
单片机其他外围设备的使用
蜂鸣器的使用:蜂鸣器粗略设定频率,以20ms即50hz发声#include#define uint unsigned int#define uchar unsigned charsbit fen = P2^6;void delay(uint z);main(){ while(1) { delay(1);//延时10毫秒注原创 2013-11-04 15:33:05 · 1198 阅读 · 0 评论 -
点亮一个led
1:RS232电平:计算机串口 高电平为-12v,低电平为+12v,所以计算机与单片机进行通信的时候需要加电平转换芯片max232(高电平为-9到-12,低电平为+3到+12之间的。 max232通常用于电平转换2:TTL电平:高电平为+5v,低电平为0v3:数字电路的电路特性使他只能是二进制表示4:B表示二进制,H为十六进制,通常加在数字的后面5:异或运算:两个相同的为0,不同为原创 2013-11-04 15:32:22 · 586 阅读 · 0 评论 -
9.19AD和DA操作
下载芯片说明书的网站:http://www.21ic.com/D/A digital是数字信号,analog是模拟信号,单片机属于数字芯片,内部只有0和1,这两种信息无法表示一个模拟量,如果是一个8位的D/A,全部送11111111为8V.全部送00000000为0V,等等DA转换器与单片机的接口T型电阻网络D/A转换器:由图中可知,I=V/R,I7占的权重为二分之一,I6为四原创 2013-11-04 15:32:39 · 849 阅读 · 0 评论 -
串口通信
并行通信方式并行通信通常是将数据字节的各位用多条数据线同时进行传送,每一位数据都需要一根传输线这种通信方式仅仅是适合于短距离的数据传输,,并行通信控制简单,相对传送的速度相对较快,但是由于传输线比较多,长距离传送时成本高收发的各位同时接收存在困难串行通信方式:串行通信是将数据字节分成一位一位在一条传输线上进行传送,此时只需要一条数据线,外加一条公共信号地线和若干条控制线,因为一次传递一原创 2013-11-04 15:32:41 · 1173 阅读 · 0 评论 -
定时器计数器的应用提高
定时器0的应用提高方式0的使用:示例代码:使用方式0使得led灯一秒钟闪烁//这个程序比较简单,需要明白的是定时器0方式0是一个1//13位的计数器,所以最大的数为2的13次方,8192,并且TL0中的高三位没有用//因此除以的也不是256,而是32,定时器0方式00需要注意的是,最大数字因为是8192//因此定时5000为定时5ms,定时一秒要进入中断200次原创 2013-11-04 15:32:48 · 776 阅读 · 0 评论 -
9.14学习笔记
作业1:利用定时器/计数器T0从P1.0输出周期为1S的方波,是发光二极管一1Hz闪烁,设晶振的频率为12MHz#include#define uint unsigned int#define uchar unsigned charsbit led = P1^0;uchar tt;uint aa;void init(){ TMOD = 0x01;//原创 2013-11-04 15:32:29 · 959 阅读 · 0 评论 -
9.12学习笔记
1:80C51的引脚封装形式第一管脚到第八管脚为P1,一个准双向8位I/O口,每个口可以独立控制,内带上拉电阻,这种接口没有高阻态,输入也不能锁存,故不是真正的双向I/O口,之所以称之为准双向,是因为该口在输入之前,要进行写1操作,然后单片机才能正确的读入外部信号,也就是要有一个准备 的过程,对于52单片机,p1.0的第二功能是T2定时器计数器的外部输入,P1.1引脚的第二功能为T2Ex捕捉,原创 2013-11-04 15:32:27 · 973 阅读 · 0 评论 -
9.11学习笔记
1:免费样品的申请 AD公司,飞思卡尔公司,美芯公司等等都有免费样品的申请,也有相关芯片的资料的介绍,这里介绍常用的网址美芯公司的网站http://china.maximintegrated.com/AD公司的网站:http://www.analog.com/TI公司的网站:www.ti.com2:keil软件的调试打开调试窗口:Debug ->start/stop Deb原创 2013-11-04 15:32:25 · 598 阅读 · 0 评论 -
I2c串行总线组成及其工作原理
采用串行总线技术可以使系统的硬件设计大大简化,系统的体积减小,可靠性提高,同时系统更容易更改和扩充常用的串行扩展总线有:I2c总线,单总线,SPI总线,以及microwire、Plus等等I2c总线只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCL I2c总线通过上拉电阻接正电源。因此I2C总线的设备都要接上拉电阻当总线闲置的时候,两根线均为高电平,连接到总线上的原创 2013-11-04 15:32:46 · 894 阅读 · 0 评论 -
继电器,红外接专题
继电器:继电器的示意图:由继电器的示意图可知:继电器是一种电子控制器件,它具有控制系统和被控制系统,通常应用于自动控制电路中,他实际上是一种用比较小的电流控制较大电流的一种自动开关,故在电路中起着自动调节,安全保护,转换电路的功能使用,用开发板上的红外拟控制步进电机(按下1,led0亮,步进电机转动,按下2,led0灭,步进电机停止转动)示例代码://本程序可以按键控制原创 2013-11-04 15:32:56 · 734 阅读 · 0 评论 -
看门狗的概念与应用以及如何用软件实现系统的复位
在单片机构成的系统中,由于单片机的工作有可能受到来自外来电磁场的干扰而出现程序跑飞的现象,从而陷入死循环,出于对单片机运行状态进行实时性的监控的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗(watch dog)看门狗的工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使他定时的往看门狗芯片的这个引脚送入高电平(或者是低电平)这一个原创 2013-11-04 15:33:03 · 3100 阅读 · 0 评论 -
51多文件系统的书写
这两天在学着写多文件程序,开始的时候真的不会写,后来参照百度上得到,书写基本的还是会的,但是一到自己改的程序就不会了,后来找呀找呀,终于找到解决的方法,我觉得告我们这一行的千万千万不要着急,否则会丧失信心:这里我总结一些我写多文件的经验:第一,如何定义多文件的头文件:比如定义一个delay.h参照格式:#ifndef __DELAY_H__ #define_DELAY_H_原创 2013-11-04 15:33:07 · 634 阅读 · 0 评论 -
液晶操作
液晶的操作:1602液晶只能显示ASCI,今天把1602液晶驱动起来,液晶操作要比数码管简单 液晶的基本操作时序:1.1读状态:输入:RS = L,RW =H,E = H 输出D0~D71.2写指令:输入:RS = L,RW = L,D0~D7指令码,E = 高脉冲,输出:无;RS是数据命令选择端(H/L);1.3读数据:输入RS= H,RW=H,E=H1.4写指令:输出,原创 2013-11-04 15:32:43 · 905 阅读 · 0 评论 -
液晶显示的时钟
液晶显示的时钟(初级版,不包括年月日)#include#include#define uchar unsigned char#define uint unsigned intsbit lcden = P2^6;//这几个端口要和硬件电路先联系 sbit lcdrw = P2^5;sbit lcdrs = P2^4;sbit dula = P3^1;原创 2013-11-04 15:32:50 · 716 阅读 · 0 评论 -
单片机的电源选项
单片机的空闲和掉电模式的应用注意:电源管理寄存器PCON,它的最低两位IDL和PD分别用来设定是否单片机进入空闲模式和掉电模式因此,单片机进入掉电模式只需要PCON= 0x01;进入空闲模式只需要PCON = 0x02;空闲模式:单片机进入空闲模式的时候,除了cpu处于休眠状态外,其余的硬件全部处于活动状态,芯片中未涉及的数据存储器和特殊功能寄存器中的数据在空闲模式期间都将保持原值原创 2013-11-04 15:33:01 · 989 阅读 · 0 评论 -
12864密码锁
这个程序真的花了我好长的时间调试,终于写好了,大家可以看看我的密码锁,有点花哨呕!!下面是密码锁简约版本:main.c#include#include"12864.h"#include"keyscan.h"#include"baojin.h"uchar mima[5]={1,2,3,4,5};main(){ uchar length原创 2013-11-04 15:33:11 · 2104 阅读 · 0 评论 -
单片机的动手实践篇--51单片机玩转12864
12864液晶的驱动和1602的类似,只不过是多了几个扩展的功能,不如画图功能:这里讲一下:不要简单的认为12864是y轴64,x为128,那是点阵的分布,不是读写的分布,如正图表示,y轴的32行,从0到31,x轴的16 从0到15,0到7为上半个屏幕,8到15在下半个屏幕,所以绘图的时候,有两个部分要进行书写在12864上载入任意一幅图:示例代码:#include原创 2013-11-04 15:33:09 · 2697 阅读 · 0 评论