1 二进制与十六进制转化成十进制的数时,通过相应的位数乘以进制的幂次方的形式完成。
2 计算机存储方式速度由快到慢 ,高速缓冲器---内存(RAM)----外存(ROM)
3 8086 包含执行单元EU及总线接口单元BIU。执行单元EU包含一个计算器,8个16位的通用寄存器(4个数据寄存器,和4个指针寄存器),1个16 位的标志寄存器,16的内部数据总线。总线接口单元包含1个20 位的地址加法器,4个16位的段寄存器(存放段基址),指令指针寄存器(存放偏移量)
4:8086 的主频是8MHZ,那一个时钟周期就是125ns,一个基本操作所用的时间,为总线周期,一般为4个时钟周期。
5复位是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作 51单片机是高电平复位,复位要求RST端加高电平的时间大于两个机器周期。 12 M的晶振,1个机器周期是1us,
.时钟周期即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。 2.一个机器周期等于12个时钟周期,所以是1 http://www.360doc.com/content/16/0526/17/33660583_562505539.shtml/电容的充电机放电。6 74HC573 是锁存器,并入并处的,LE使能端为高电平的时候,输入输出数据是同步,LE使能端为低电平的时候,数据锁存。
7proteus中,红点 表示高电平,蓝点表示低电平。灰点表示不确定的电平。
8 发光二极管是电流点亮的器件,流过的电流为3mA-10mA. 压差为1.7v。
9 8051中断的开启,如开启哇外部中段0,需要操作中断允许寄存器的不同位,EA=1,开启总中断的命令EX0=1,开启外部中断0,
中断函数的形式是void functionname () interrupt 0
10:定时器的工作,1 首先选择定时器的工作方式如TMOD=0x01,定时器0的工作模式开启。
2 给THi 及TLi 赋初值,当选择定时时间是50ms时,TH0=(65536-50000)/256;
TL0=(65536-500,0)%256;
3 开启总中断,开启定时器中断,EA=1;ET0=1;
4 TR0=1;
11 单片机是寄存器控制的芯片,当复位是,所有寄存器的控制位为0,
TMOD及TCON是中断控制寄存器位,
SMOD及SCON是与串行数据的发送相关的控制及设置工作方式的寄存器。
12 单片机的串行口进行工作时,通过首先选择定时器的工作方式如TMOD=0x01,定时器1的工作模式开启。
2 给THi 及TLi 赋初值,当选择定时时间是50ms时,TH0=(65536-50000)/256;
TL0=(65536-500,0)%256;
TR1=1;
设置串行通信控制寄存器。SCON
13:DAC0832是D/A芯片,单片机的两个口控制分别是;CS为片选,WR1为0832数据输入寄存器锁存使能,
ADC0804是A/D 芯片
14:一般串口通信当设置SM0=0,SM1=1,就选择了串口的通信方式1 ,其中一帧的数据是包含市委的,是一位起始位,一位停止位,及8位有效的数据位。
15:单片机串口通信有两种形式,第一种是查询形式,第二种是中断形式,对于接受数据而言,如果数据接受完后,RI会变成1,发起串口的中断请求,
查询法,可以直接在主函数里将RI清零,否侧串口中断一直开启,一直处于数据的接受状态。然后把接受缓冲器里的数赋给串口如P2=SBUF。http://xouou.iteye.com/blog/1621614 串口数据的查与发。
用中断的方式发数据的时候,要开启串口中断即总中断开启,串口中断开启,EA=1,ES=1,数据发送完毕,TI=1,会开启串口的中断,在中断函数里需要把TI=0,并把要发送的数据给发送缓冲器。如果要发送多个数据时,把要发的数据给发送缓冲器即可。然后while(!TI);如果数据发送完毕,TI=1,此时while(!TI)完毕,往下执行即可。
16:IAR 的使用,IAR是集成开发环境,工程项目的形式是*.eww,工程的编译成功是跟option-> general option 及option-> c/c++ compiler option ->link 有关。
如果想把程序烧录到芯片中,应该正确配置 jlink,jlink 是一个实体的下载器,jlink 的使用需要安装jlink 驱动,通过打开jlink 驱动,查看jlink 与单片机的连接是否正常,
17:单总线的串行传输方式有I^2c 及单总线的传输方式,IIc 包含时钟线及数据线两个,单总线的传输协议既包含时钟的发送又包含数据信号的传输,单总线的数据发送是由低位到高位传输,data>>1,通过发送数据的右移达到数据位的一位一位的发送,在这个发送中直接将得到得数据位发给数据线即可。
IIC的数据总线是由高位到低位发送的数据。data<<1通过数据为的左移达到数据位的一位一位的发送。数据位左移一位 最高位滚粗 滚粗的高位被寄存器psw寄存器中的cy位收留 sda被cy赋值 sda有一位数据 一共持续八次 传输完成。是通过
temp=temp<<1;将最高位取出,最高为此时被CY收留,然后将SDA=CY,然后将进位标志位的数给数据线。
18:Linux和类Linux系统下进程间通信(Inter-Process Communication, IPC)有很多种方式,包括套接字(socket),共享内存(shared memory),管道(pipe),消息队列(message queue)等[1],
19:TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑"1",0V等价于逻辑"0",这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。TTL电平是5V,CMOS电平一般是12V
RS-232的逻辑“1”是以-3~-15V来表示的,而单片机的逻辑“1”是以+5V来表示的,两者完全不同。因此,单片机系统要和电脑的RS-232接口进行通信,就必须把单片机的信号电平(TTL电平)转换成计算机的RS-232C电平,或者把计算机的RS-232C电平转换成单片机的TTL电平,通信时候必须对两种电平进行转换。
20 :(1)当把电容(极板)和电感(线圈)串联的时候:电容的阻抗为1/jwC,电感的阻抗为jwL(都与所加电信号的频率有关系),电路的阻抗为Z=(1/jwC)+jwL,所加电压为U时,电流的瞬时量为U/[(1/jwC)+jwL],w^2=1/LC时,恰好电容充电由电感感应的电流提供,引起电感自感变化产生磁场的电流恰好是电容放电电流提供的,当频率是(1/LC)^1/2时,此时的w为谐振频率。(2)当电容和电感并联的时候,电路阻抗Z=jwC+1/(jwL)。算法和串联是一样的。LC振荡电路其实就是电流方向正—反来回变化,所谓的“振荡”也不是那种机械的振荡,只是用示波器观察的时候,输出的电压是正负交替的,所以叫“LC振荡电路”
21:char 1个字节 float 4个字节 double 8个字节 int分为long int和short int,其中long int是4个字节,short int是2个字节 在vc编译器中int默认是long int。
22; RS-232与RS-485属于物理层的通讯接口的标准协议,IIc与SPI是单片机与外围设配相连的接口。
23:一主多从的单片机通讯设置从机地址的方法有写入程序中,写入EEPROM中,或者使用拨码开关。主机的TXD连接所用从机的RXD。所有从机的RXD连接主句的TXD,但每次只允许一个从机给主机发地址。http://bbs.elecfans.com/jishu_392816_1_1.html /单片机的多机通信程序。
约定好速度之后,我们还要考虑第二个问题,数据什么时候是起始,什么时候是结束?提前和延迟结束都会接收错误。在uart通信的时候,一个字节是8位,规定当没有通信信号发生时,通信线路保持高电平,当数据发送前,先发一位0表示起始位,然后发送8位数据位,数据位是先低再高,数位位发送完后才呢个后再发送一位1表示停止位,这样我们要发送的8位数据,实际上我们发送了10位,多出来两位其中一个是起始位,一个是停止位。而接受方一直保持的高电平,一旦检测到一位低电平,准备开始接受数据,接受8位数据后,然后检测停止位,再准备下一个数据接收。
24:///51单片机不支持USB串口通信协议,所以想要通过USB完成上位机与下位机的通信,需要USB转232.
一般的,烧写程序还是选用可以用ISP下载的,自己搭建个RS232串口的电路,简单实用,对单片机烧写程序就够用了 26: DS18B20的显示程序通过对DS18B20的读写时序进行操作,单片机得到温度的实时值,然后将得到得温度函数进行显示即可。
Display(Get_Tmp());Get_Tmp()返回温度值。 27:51单片机的寄存器基本是8位的。