日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]/******************************************************************************************************************************************************************************/#include #include #inclu

/*
**************************************************************************************
**************************************************************************************
*/
#include
#include
#include "lcd_51.h"
#include "delay_51.h"
#include "24c64.h"
#include "key.h"
//#include "adc0832.h"


#define uchar unsigned char
#define uint unsigned int

//adc0832部分
uchar ReadAdc0832( uchar channel ) reentrant;
//ADC0832端口定義
#define ADC0832_SCK_H P1_1 = 1
#define ADC0832_SCK_L P1_1 = 0

#define ADC0832_DIDO_H P1_2 = 1
#define ADC0832_DIDO_L P1_2 = 0
#define ADC0832_DIDO P1_2

#define ADC0832_CS_H P1_0 = 1
#define ADC0832_CS_L P1_0 = 0

//按鍵部分
uchar sure = 0;
uchar model = 0;
uchar add_b = 0;
uint add_p = 0x0000;

//串口部分

//uchar flag44 = 0;
//uchar flagadc0832 = 0;
//uchar flag24c64 = 0;
//uchar flagshumaguang = 0;
uchar flagwhole = 5;
//uchar flagno = 1;
uchar flagfillallow = 0;

uchar flagsendmessage44 = 0;
uchar flagsendmessageadc0832 = 0;
uchar flagsendmessageshumaguang = 0;
uchar flagsendmessage24c64 = 0;
uchar flagdoing24c64 = 0;

//波特率宏定義
#define RELOAD_COUNT 0xfd;//SMOD=1, crystal=11.0592, baud= 19200
//#define RELOAD_COUNT 0xFa//SMOD=1, crystal=11.0592, baud= 9600
//#define RELOAD_COUNT 0xf4//SMOD=1, crystal=11.0592, baud= 4800
//#define RELOAD_COUNT 0xe8//SMOD=1, crystal=11.0592, baud= 2400


//緩沖區(qū)
#define Rec_Max 9 //定義最大值
#define COMRECSIZE 16 //定義緩沖區(qū)大小

uchar Rec_buf[COMRECSIZE];
uchar *Point2Rec_buf; //定義指向數(shù)組Rec_buf的指針

uchar Rec_n = 0; //接收字節(jié)個(gè)數(shù)初始化為0
uchar RecFullFlag = 0; //接收滿標(biāo)志初始化為0


//-----------------------------------------------------串口部分接口函數(shù)--------------------------------------------------
/*
********************************************************************
** 函數(shù)名:串口初始化函數(shù)
** 例子 : UART_Init();
**
********************************************************************
*/
void UART_Init( void )
{
SCON |= 0x50; //串口工作方式1, 波特率可變, 波特率由T1決定, 允許接收位REN = 1.無(wú)奇偶校驗(yàn)位
PCON |= 0x80; //波特率加倍
TMOD |= 0x20; //T1, 8位自動(dòng), 方式2, 之所以選擇工作方式2是因?yàn)樗凶詣?dòng)加載功能,可以避免程序反復(fù)裝入初值引起的誤差

TH1 = RELOAD_COUNT;//賦初值高8位TH RELOAD_COUNT由前宏定義
TL1 = RELOAD_COUNT;//賦初值低8位TH
ES = 1; //開(kāi)串口中斷
ET1 = 0; //禁止T1中斷允許, 以免產(chǎn)生不必要的中斷帶來(lái)的頻率誤差
TR1 = 1; //打開(kāi)T1

//EA = 1; //注意, 還沒(méi)有打開(kāi)全局中斷
}

//串口接收中斷服務(wù)程序
void serial_INT4( void ) interrupt 4
{
if( RI )
{
RI = 0; //硬件置位,軟件清零
if( flagdoing24c64 == 0 )
{
switch( SBUF )
{
case '1':
{
//4*4
flagwhole = 1;
flagsendmessage44 = 1;
LCD_write_string( 1, 0, " made by hebei " );
LCD_write_string( 2, 0, " TEST 4*4 --> 0 " );
} break;

case '2':
{
//ADC
flagwhole = 2;
flagsendmessageadc0832 = 1;
LCD_write_string( 1, 0, " made by hebei " );
LCD_write_string( 2, 1, "TEST ADC--> " );
} break;


case '3':
{
//shumaguang
flagwhole = 3;
flagsendmessageshumaguang = 1;
LCD_write_string( 1, 0, " made by hebei " );
LCD_write_string( 2, 0, "TEST shumaguang " );
} break;

case '4':
{
//24C64
flagwhole = 4;
flagsendmessage24c64 = 1;
LCD_write_string( 1, 1, "0000 >0 is " ); //
LCD_write_string( 2, 0, " ");

} break;

case '5':
{
//結(jié)束
flagwhole = 5;
LCD_write_string( 1, 0, " made by hebei " );
LCD_write_string( 2, 0, " NO TEST " );
} break;


}
}

if( flagdoing24c64 == 1 )
{
if( flagfillallow == 1 )
{
Rec_buf[Rec_n++] = SBUF;

if( Rec_n == Rec_Max )
RecFullFlag = 1;
}
}
}

return;
}


/*
********************************************************************
** 函數(shù)名:串口發(fā)送一個(gè)字符
** 例子 : UART_Sendstr( 'a' );
**
** 說(shuō)明 : UART_SendCh(10); //
** UART_SendCh(13); //回車(chē)換行
********************************************************************
*/
void UART_SendCh( uchar Tmp_char )
{
TI = 0;
SBUF = Tmp_char;
while( !TI )
{;}
}

/*
********************************************************************
** 函數(shù)名:串口發(fā)送字符串函數(shù)
** 例子 : UART_Sendstr( "how are you?" );
**
********************************************************************
*/
void UART_SendStr( uchar *str )
{
ES=0; //disable uart0 interrupt;
while( *str )
{
TI = 0;
SBUF = ( *str );
++str;
while( !TI )
{;} //waitting for sending finished.
}
TI=0;
ES=1;
}

//-----------------------------------------------------串口部分接口函數(shù)結(jié)束--------------------------------------------------

//-----------------------------------------------------外部中斷0部分接口函數(shù)(24c64按鍵)--------------------------------------------------
//外中斷初始化
void Int0init( void )
{
EX0 = 1; //允許外中斷0
IT0 = 1; //邊沿觸發(fā)
}

//
void modelchang( void )
{
model++;
model %= 3; //model在0-2之間
switch( model )
{
case 0: LCD_write_char( 1, 0, ' ' ); LCD_write_char( 1, 6, ' ' ); break;
case 1: LCD_write_char( 1, 0, '>' ); LCD_write_char( 1, 6, ' ' ); break;
case 2: LCD_write_char( 1, 0, ' ' ); LCD_write_char( 1, 6, '>' ); break;
default: break;
}
}

//
void add( void )
{
uint k = add_p;
switch( model )
{
case 1:
add_p++;
add_p %= 0x000A;
LCD_write_char( 1, 4, ( add_p & 0x000f ) + 0x30 ); break;
case 2:
add_b %= Rec_Max;
LCD_write_char( 1, 7, ( add_b & 0x000f ) + 0x30 );
LCD_write_char( 1, 12, I2cReadDataFromAddr( 0xa0, k + add_b ) ); //從24C64里面讀數(shù)據(jù)
add_b++;
break;

default : break;
}
}

//確定
void ok( void )
{
sure = 1;
}

//外中斷0服務(wù)程序
void int0_int( void ) interrupt 0
{
EA = 0; //禁止再次外中斷

if( ( P3 & 0x3c ) != 0x3c )
{
delay_nms( 20 ); //去除抖動(dòng)
if( ( ( P3 & 0x3c ) != 0x3c ) )
{
switch( P3 & 0x3c )
{
//模式
case 0x30 : modelchang(); break;
//加
case 0x28 : add(); break;
//確定
case 0x18 : ok(); break;

default : break;
}
}
}

EA = 1; //打開(kāi)外中斷
}

//-----------------------------------------------------外部中斷0部分接口函數(shù)結(jié)束--------------------------------------------------


//-----------------------------------------------------芯片74HC595以及74HC139部分接口函數(shù)(數(shù)碼管)--------------------------------------------------

//595端口定義
#define HC595_SHCP_H P0_0 = 1
#define HC595_SHCP_L P0_0 = 0
#define HC595_DS_H P0_1 = 1
#define HC595_DS_L P0_1 = 0
#define HC595_STCP_H P0_2 = 1
#define HC595_STCP_L P0_2 = 0

//139端口定義
#define HC139A_H P0_3 = 1
#define HC139A_L P0_3 = 0
#define HC139B_H P0_4 = 1
#define HC139B_L P0_4 = 0

//共陽(yáng)a-7 b-6 c-5 d-4 e-3 f-2 g-1 h-0
uchar code Atab[] = //注意,此處要定義為code
{
0x03,/*0*/
0x9F,/*1*/
0x25,/*2*/
0x0D,/*3*/
0x99,/*4*/
0x49,/*5*/
0x41,/*6*/
0x1F,/*7*/
0x01,/*8*/
0x09,/*9*/
};

//139譯碼
void HC139_Sendbyte( uchar senddata )
{
switch( senddata )
{
case 0: HC139A_L; HC139B_L; break;
case 1: HC139A_H; HC139B_L; break;
case 2: HC139A_L; HC139B_H; break;
case 3: HC139A_H; HC139B_H; break;
default: break;
}
}

/**********************************
** 函數(shù)作用:向595發(fā)送一個(gè)字節(jié)數(shù)據(jù)的低n位
** 入口參數(shù):要寫(xiě)的字節(jié) senddata
** 返回值 : 無(wú)
***********************************/
void HC595_Send( uchar Btemp )
{
uchar i;
for( i = 0; i < 8; i++ )
{
if( 0x01 & Btemp ) //先發(fā)送低位, 再發(fā)高位
HC595_DS_H;

else
HC595_DS_L;

HC595_SHCP_L;
//asm("nop");
HC595_SHCP_H;
//asm("nop");

Btemp = Btemp >> 1;
}

//鎖存
HC595_STCP_L;
//delay_nus( 1 );
HC595_STCP_H;
}

//數(shù)碼管顯示
void NumDisplay( unsigned char Bit, unsigned char num )
{
HC139_Sendbyte( Bit );
HC595_Send( Atab[num] ); //第3位數(shù)字顯示數(shù)num
}

//注意此函數(shù)在循環(huán)體中使用
//內(nèi)部包含5ms延時(shí)
void DataDisp( long int datal )
{
uchar i;
unsigned int wei[4];
wei[0] = datal / 1000;
wei[1] = (datal - wei[0] * 1000) / 100;
wei[2] = (datal - wei[0] * 1000 - wei[1] * 100) / 10;
wei[3] = datal % 10;

//顯示停留時(shí)間
for( i = 0; i < 5; i++ )
{
NumDisplay( 0,wei[0] );
delay_nms( 3 );

NumDisplay( 1, wei[1] );
delay_nms( 3 );

NumDisplay( 2, wei[2] );
delay_nms( 3 );

NumDisplay( 3, wei[3] );
delay_nms( 3 );
}
}

//-----------------------------------------------------芯片74HC595以及74HC139部分接口函數(shù)(數(shù)碼管)結(jié)束--------------------------------------------------


//-----------------------------------------------------ADC0832驅(qū)動(dòng)部分函數(shù)--------------------------------------------------
/*
********************************************************************
** 函數(shù)名 :ADC0832讀數(shù)據(jù)程序
** 入口 :需轉(zhuǎn)換通道channel [0:1]
** 返回 : 無(wú)符號(hào)字符型 uchar
** 例子 : Data_adc = ReadAdc0832( 0 ); //讀取adc0832芯片的0通道模擬電壓
** 說(shuō)明 : 使用時(shí)請(qǐng)?jiān)谛酒由暇珳?zhǔn)電壓源, 建議用專用芯片
********************************************************************
*/

//工作時(shí)序
//當(dāng)cs由高變低時(shí),選中ADC0832。在時(shí)鐘的上升沿,DI端的數(shù)據(jù)移入ADC0832內(nèi)部的多路地址移位寄存器。
//在第一個(gè)時(shí)鐘期間,Dl為高,表示啟動(dòng)位,緊接著輸入兩位配置位。當(dāng)輸入啟動(dòng)位和配置位后,選通輸入模擬通道,轉(zhuǎn)換開(kāi)始。
//轉(zhuǎn)換開(kāi)始后,經(jīng)過(guò)一個(gè)時(shí)鐘周期延遲,以使選定的通道穩(wěn)定。ADC0832接著在第4個(gè)時(shí)鐘下降沿輸出轉(zhuǎn)換數(shù)據(jù)。
//數(shù)據(jù)輸出時(shí)先輸出最高位(D7~DO);輸出完轉(zhuǎn)換結(jié)果后,又以最低位開(kāi)始重新輸出一遍數(shù)據(jù)(D7~DO),兩次發(fā)送的最低位共用。當(dāng)片選cS
//為高時(shí),內(nèi)部所有寄存器清0,輸出變?yōu)楦咦钁B(tài)。如果要再進(jìn)行一次模傲轉(zhuǎn)換,片選cs必須再次從高向低跳變,后面再輸入啟動(dòng)位和配置位

//adc0832讀數(shù)據(jù)
uchar ReadAdc0832( uchar channel ) reentrant
{
uchar i = 0;
uchar outdata = 0;
//初始化: 選通 數(shù)據(jù)口保持高電平
//當(dāng)cs由高變低時(shí),選中ADC0832。在時(shí)鐘的上升沿,DI端的數(shù)據(jù)移入ADC0832內(nèi)部的多路地址移位寄存器
ADC0832_CS_L; // 使能
ADC0832_DIDO_H; //
ADC0832_SCK_L; //第一次觸發(fā)
_nop_();
_nop_();
ADC0832_SCK_H; //
_nop_();
_nop_();

//模擬通道的選擇及單端輸入和差分輸入的選擇
ADC0832_DIDO_H;
ADC0832_SCK_L; //第二次觸發(fā)
_nop_();
_nop_();
ADC0832_SCK_H;
_nop_();
_nop_();

if( channel == 1 )
{
ADC0832_DIDO_H;
}

else
{
ADC0832_DIDO_L;
}
ADC0832_SCK_L; //第三次觸發(fā)
_nop_();
_nop_();
ADC0832_SCK_H;
_nop_();
_nop_();


ADC0832_SCK_L;
_nop_();
_nop_();
ADC0832_DIDO_H; //置為輸入準(zhǔn)備讀數(shù)據(jù)
ADC0832_SCK_H;
_nop_();
_nop_();

outdata = 0; //初始化

//讀數(shù)據(jù)D7~D0
for( i = 1; i <= 8; i++ )
{
if( ADC0832_DIDO == 1 )
{
outdata |= 0x01;
}

ADC0832_SCK_H;
ADC0832_SCK_L;

outdata = outdata << 1; //左移一位
}

//此函數(shù)不再讀數(shù)據(jù)D0~D7 (注意D0位重疊)
ADC0832_CS_H; //禁止

return outdata;
}
//-----------------------------------------------------ADC0832驅(qū)動(dòng)部分函數(shù)結(jié)束--------------------------------------------------


//顯示標(biāo)簽
void sendlogo( void )
{
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " Test Message " );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( "***************************************************************************" );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " 1 ---> test 4*4 " );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " 2 ---> test ADC0832 " );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " 3 ---> test shumaguang " );
UART_SendCh(10); //
UART_SendCh(13); //
UART_SendStr( " 4 ---> test I2C(24C64) " );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " 5 ---> no test " );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " 06AotoControl QiXi.Qindongxixiaonanbei@163.com" );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( "***************************************************************************" );
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( "Please enter you want to test --------> " );
}


//總初始化
void Device_init( void )
{
LCD_init();
Int0init();
UART_Init();
EA = 1;
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~主函數(shù)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void main( void )
{
uchar tmp;
uint shu = 9999; //數(shù)碼管初值
uchar new = 0;
uchar old = 0;

Device_init(); //總初始化

while( 1 )
{
EA = 0; //禁止中斷,以免寫(xiě)液晶時(shí)出現(xiàn)不必要顯示的字符

//4*4
if( flagwhole == 1 )
{
if( flagsendmessage44 == 1 )
{
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " " );
UART_SendCh(10); //
UART_SendCh(13);
flagsendmessage44 = 0;

}
new = KeyScan44();
if( old != new )
{
old = new;
LCD_write_datalongint( 2, 14, new );

if( new < 10 )
LCD_write_char( 2, 15, ' ' );
}
}

//AD采樣
if( flagwhole == 2 )
{
if( flagsendmessageadc0832 == 1 )
{
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " " );
UART_SendCh(10); //
UART_SendCh(13);
flagsendmessageadc0832 = 0;

}

tmp = ReadAdc0832( 0 );

//清除一些不必要的顯示
if( tmp < 100 )
LCD_write_char( 2, 15, ' ' );
if( tmp < 10 )
LCD_write_char( 2, 14, ' ' );

//顯示該值
LCD_write_datalongint( 2, 13, tmp );
}

//數(shù)碼管
if( flagwhole == 3 )
{
if( flagsendmessageshumaguang == 1 )
{
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " " );
UART_SendCh(10); //
UART_SendCh(13);
flagsendmessageshumaguang = 0;

}
DataDisp( shu-- );
}

//I2C(24C64)
if( flagwhole == 4 )
{
if( flagsendmessage24c64 == 1 )
{
UART_SendCh(10); //
UART_SendCh(13); //
UART_SendStr( "UART_SendCh( Rec_Max / 10 + 0x30 );
UART_SendCh( Rec_Max % 10 + 0x30 );
UART_SendStr( " words to the Device 24C64> " );
UART_SendCh(10); //
UART_SendCh(13); //
flagsendmessage24c64 = 0; //標(biāo)志清0

flagfillallow = 1; //允許開(kāi)始裝入數(shù)據(jù)
flagdoing24c64 = 1;
Rec_n = 0;
}

if( RecFullFlag == 1 ) //如果裝滿
{
UART_SendCh(10); //
UART_SendCh(13); //
UART_SendStr( ">>>>>You had finished sendding " );
UART_SendCh( Rec_n / 10 + 0x30 );
UART_SendCh( Rec_n % 10 + 0x30 );
UART_SendStr( " words to Device 24C64! " );
UART_SendCh(10); //
UART_SendCh(13); //
UART_SendStr( ">>>>>you can press 3 Keys on the board to see what you had send to the 24C64, " );
UART_SendCh(10); //
UART_SendCh(13); //
UART_SendStr( ">>>>>if you press the key *sure*, you can break out the job now, and it is the only way to break out ^_^ ");
UART_SendCh(10); //
UART_SendCh(13);
RecFullFlag = 0;
Rec_n = 0; //準(zhǔn)備重新接收
}

if( sure == 1 )
{
sure = 0;
I2c_Write_n( 0xa0, add_p, Rec_buf, Rec_Max);
LCD_write_array( 2, 2, Rec_buf );//在1602上顯示該數(shù)組字符串
UART_SendCh(10); //
UART_SendCh(13);
UART_SendStr( " " );
UART_SendCh(10); //
UART_SendCh(13);
flagdoing24c64 = 0;
}
}

//正常狀態(tài)
if( flagwhole == 5 )
{
flagwhole = 0; //置標(biāo)志為0,不做任何測(cè)試
flagdoing24c64 = 0; //任務(wù)24C64的工作正在執(zhí)行標(biāo)志
LCD_write_string( 1, 0, " made by hebei " );
LCD_write_string( 2, 0, " NO TEST " );
sendlogo(); //顯示標(biāo)簽
}

EA = 1; //打開(kāi)全局中斷
}

}



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

51單片機(jī)是對(duì)兼容英特爾8051指令系統(tǒng)的單片機(jī)的統(tǒng)稱。51單片機(jī)廣泛應(yīng)用于家用電器、汽車(chē)、工業(yè)測(cè)控、通信設(shè)備中。因?yàn)?1單片機(jī)的指令系統(tǒng)、內(nèi)部結(jié)構(gòu)相對(duì)簡(jiǎn)單,所以國(guó)內(nèi)許多高校用其進(jìn)行單片機(jī)入門(mén)教學(xué)。

關(guān)鍵字: 51 單片機(jī) 51單片機(jī)論壇

驪住實(shí)驗(yàn)室成為首家兩次成功獲得德國(guó)國(guó)家認(rèn)可委員會(huì)(DAkkS)認(rèn)證的衛(wèi)浴品牌。這家位于德國(guó)海默的開(kāi)發(fā)實(shí)驗(yàn)室主要從事配件測(cè)試。 測(cè)試程序遵照國(guó)際標(biāo)準(zhǔn)執(zhí)行。 驪住亦向其他有相應(yīng)產(chǎn)品測(cè)試需求的企業(yè)開(kāi)放獨(dú)立實(shí)驗(yàn)室。...

關(guān)鍵字: 配件 測(cè)試程序 INNOVATION ISO

【零基礎(chǔ)】徹底搞懂51單片機(jī)各種型號(hào)(ATMEL系列)

關(guān)鍵字: 51 型號(hào)

51單片機(jī)交通燈(十字路口演示)

關(guān)鍵字: 51 交通

51單片機(jī)編程軟件keil4的安裝過(guò)程

關(guān)鍵字: 51 編程

接觸過(guò)STC89,90,12,15系列,接觸過(guò)SMT32F103,接觸過(guò)TI TIVA cortex m4,接觸過(guò)Mbed OS,接觸過(guò)TI CC23530,CC2540的來(lái)怒答一波。

關(guān)鍵字: cc2530 51 單片機(jī)

總結(jié)一下最近學(xué)的東西,這兩天學(xué)的東西,rfid門(mén)卡系統(tǒng)終于弄出來(lái)來(lái)了,這個(gè)程序算現(xiàn)在寫(xiě)過(guò)的比較滿意的程序,大家可以參考參考

關(guān)鍵字: 51 rc522 人體紅外感應(yīng) 門(mén)禁系統(tǒng)

#include#include#define GPIO_LED P2//外部中斷的IOsbit K3=P3^2;sbit K4=P3^3;void IntConfiguration();void Delay(unsig...

關(guān)鍵字: 51 外部中斷測(cè)試

在“51操作系統(tǒng)學(xué)習(xí)筆記(一)”里,已經(jīng)掌握了并行多任務(wù)的實(shí)現(xiàn),和利用修改sp內(nèi)容,子程序結(jié)束調(diào)用ret來(lái)實(shí)現(xiàn)程序跳轉(zhuǎn)。但程序沒(méi)有涉及中斷,任務(wù)中有中斷,程序會(huì)失去控制。這一單元,要學(xué)習(xí)帶中斷問(wèn)題的多任務(wù)操作系

關(guān)鍵字: 51 操作系統(tǒng)

地址總線是單向的,用于傳送地址信息。地址總線的寬度為16位,因此基外部存儲(chǔ)器直接尋址64K??偩€寬度為16位,“位”不是bit或者byte,總線的位寬指的是總線能同時(shí)傳送的二進(jìn)制數(shù)據(jù)的位數(shù),或數(shù)據(jù)總線的位數(shù)。一般情

關(guān)鍵字: 51 地址總線
關(guān)閉