摘要:
采用串行总线技术可以使系统的硬件设计大大简化,系统的体积减小,可靠性提高,同时系统更容易更改和扩充常用的串行扩展总线有:I2c总线,单总线,SPI总线,以及microwire、Plus等等I2c总线只有两根双向信号线,一根是数据线SDA,另一根是时钟线SCLI2c总线通过上拉电阻接正电源。因此I2C总线的设备都要接上拉电阻当总线闲置的时候,两根线均为高电平,连接到总线上的任何一个器件输出的低电平,都将使得总线得到信号变低,及各个器件的SDA和SCL都是线与的关系每个接入到I2C总线都有唯一的地址,主机与其他器件间的数据传送可以是由主机发送数据到其他器件,这时主机即是发送器,由总线上接收数据的器 阅读全文
摘要:
最近在忙大学物理的补考,所以先放下了学习单片机,这次补考真心好坑爹,也不知道自己到底能不能过,我不知道我们学通信的为什么要去搞什么大学物理,学一些纯理论的东西还不如老师手把手的交写两个程序,学会玩一款单片机来的实在,大学不比是高中了,学的东西真的要对以后谋生要有确切的用处,这是我个人的看法,也许有些人会觉得这是种目光短浅的做法,但是大学仅仅是四年,不考研的话,也就是短短的四年,四年后,父母不能在养你,你在大学中学的东西那些不能转化为劳动力的对于远离社会边际而虚化的理论,到社会后会发现是多么的无用,我觉得人在大学要定好目标,明白自己将来是要干什么。如果你从小就有那种为学术献身的精神,你去学理论. 阅读全文
摘要:
液晶的操作: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写指令:输出,RS = L,RW = L,D0~D7=数据,E=高脉冲注意:对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0,可以用简单的延时来代替初始化设置显示模式设置指令码:00111000 功能16*2显示,5*7点阵 阅读全文
摘要:
并行通信方式并行通信通常是将数据字节的各位用多条数据线同时进行传送,每一位数据都需要一根传输线这种通信方式仅仅是适合于短距离的数据传输,,并行通信控制简单,相对传送的速度相对较快,但是由于传输线比较多,长距离传送时成本高收发的各位同时接收存在困难串行通信方式:串行通信是将数据字节分成一位一位在一条传输线上进行传送,此时只需要一条数据线,外加一条公共信号地线和若干条控制线,因为一次传递一位,所以一个字节的数据要分成8位才能传送完毕,因此发送时必须要把并行数据转换成串行数据,接收之后再把串行数据转换成并行数据,供计算机使用串行通信分为两种方式:异步通信和同步通信异步通信是指通信的发送与接收设备使用 阅读全文
摘要:
下载芯片说明书的网站: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为四分之一,以此类推D/A转换的主要性能指标,分辨率,线性度,绝对误差,相对误差,建立时间分辨率:分辨率是指输入数字量的最低有效位变化时,所对应的输出模拟量(电压或电流)的变化量他反应了输出模拟量的最小变化值分辨率与输入数字 阅读全文
摘要:
作业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,flag,bai,shi,ge,tt;uint num,bb;void init();void keyscan();void delay(uint z);void display(uchar bai,uchar shi,uchar g 阅读全文
摘要:
键盘的应用和分类:键盘分为编码键盘和非编码键盘,键盘上闭合键的识别是由专门的硬件编码器实现,并产生键编码号或者是键值的成为编码键盘,如计算机的键盘靠软件编程来识别的称为非编码键盘;在单片机组成的各种系统中,用的最多的是非编码键盘,也有用到编码键盘的非编码键盘又有独立键盘和矩阵键盘。要先像键盘里面先写1;在读取操作示例代码:#include#define uint unsigned int #define uchar unsigned charsbit ld1 = P1^0;sbit key1 = P3^4;sbit dula = P2^6;sbit wela = P2^7;uchar num; 阅读全文
摘要:
数码管的动态显示:精简代码版,要注意关灯,否则有问题,还有时间消影,这个例子虽然很简单,但是精简代码百分之九十的人会写错#include#define uint unsigned int#define uchar unsigned charvoid delay(uint z);uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};uchar code tablew[]={0xfe,0xfd,0xfb,0xf7, ... 阅读全文
摘要:
昨天生日,玩的挺high的,到今天才醒来的,虽然有些小累,但是玩还是还是很开心的,实验室的基友都很给力,KTV里面来准备了生日蛋糕,我只能说:阿里呀多,欧尼西马斯,愿我们301搞技术的基友树,一辈子长青~~~ 阅读全文
摘要:
作业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;//设置定时器模式0 TH0 = (65535- 50000)/256; TL0 = (65535 - 50000)%256; EA = 1;//开总中断 ET0 =1;//开定时器中断 TR0 = 1;//启动定时器 tt=1; }main()... 阅读全文