单片机整理笔记 联系客服

发布时间 : 星期一 文章单片机整理笔记更新完毕开始阅读7bfa01ea551810a6f52486f1

} } }

/* 串行口初始化 */ void init_serial( void ) {

SCON = 0x50; //串行工作方式1, 8位异步通信方式 TMOD |= 0x20; //定时器1, 方式 2, 8位自动重装 PCON |= 0x80; //SMOD=1,表示数据传输率加倍 TH1 = 0xF4; //数据传输率:4800 fosc=11.0592MHz IE |= 0x90; //允许串行中断 TR1 = 1; //启动定时器1 }

/* 向串口发送一个字符 */ void send_char( unsigned char x) {

SBUF=x; while (TI== 0 ); TI= 0; }

/* 向串口发送一个字符串,string_length为该字符串长度 */ void send_string( unsigned char *s, unsigned int string_length) {

unsigned int i= 0; do

{

send_char(*(s + i)); //向串口发送一个字符 i++; }

while ( i

/* 串口接收中断函数 */ void serial () interrupt 4 using 3 {

if (RI) {

unsigned char x; RI = 0;

x=SBUF; //接收字符 if ( x> 127 ) {

counter= 0; inbuf[counter]=x; checksum= x- 128; } else { counter++; inbuf[counter]=x; checksum ^= x;

if ((counter==(length- 1)) && (!checksum)) {

flag= 1; //如果串口接收的数据达到length个,且校验没错, //就置位取数标志 } } } }

单片机的存储器扩展

总线

地址总线

P0口作为低八位地址,P2口作为高八位地址,两者共同构造地址总线。由此可见,单片机最多可以有16条地址线,因此最大寻址范围为64 KB(0000H~FFFFH)。地址总线是单向的,只能由单片机向外发送。

数据总线

数据总线由P0口构成,双向。

需要注意的是P0口兼作地址总线的低八位,所以需要将这低八位地址先锁存起来。

控制总线

单片机方面,根据不同的扩展情况使用PSEN,ALE,RD,WR等作为控制总线。 RAM的OE和WE分别接单片机的RD和WR。 ROM只能读不能写,OE接PSEN。 地址锁存器的使能信号接单片机的ALE。

地址分配

有线选法和译码法。线选法连线简单,无需译码器,但是地址不连续。译码法(部分译码、全译码)使用译码器的译码输出作为存储器的片选信号。

常用芯片

74LS373:74LS373是带三态缓冲输出的8D锁存器。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。

74LS138:3-8线译码器。

ROM芯片:(27-EPROM)2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。(28-EEPROM):2816(2K×8)、2864(8K×8)。

RAM芯片:6116(2K×8位)、6264(8K×8位)、62256(32K×8位)。

电路图

ROM扩展电路