單片機(jī)系統(tǒng)的運(yùn)算器
8051片內(nèi)除具有CPU,即控制器,和運(yùn)算器外 .
還包括片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM128字節(jié),用于存放可以讀寫的數(shù)據(jù),如運(yùn)算中間結(jié)果,最終結(jié)果以及欲顯示的數(shù)據(jù)等.
片內(nèi)程序存儲(chǔ)器4KB,用于存放表格,一些原始數(shù)據(jù)和表格.
四個(gè)8位并行輸入輸出接口P0-P3,每個(gè)口可以用作輸入,也可以用作輸出.
兩個(gè)定時(shí)器,每個(gè)定時(shí)計(jì)數(shù)器都可以設(shè)置成計(jì)數(shù)方式,用于對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制.
五個(gè)中斷源的中斷控制系統(tǒng).
一個(gè)全雙工UART的串行IO口,可實(shí)現(xiàn)單片機(jī)與單片機(jī)或其他微機(jī)之間串行通信.
片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接,最高允許振蕩頻率為24兆茲.
以上各個(gè)部分通過(guò)內(nèi)部系統(tǒng)相連接,系統(tǒng)總線包括數(shù)據(jù)總線,低8位地址總線,高8位地址總線和控制總線.
下面分別介紹8051的各個(gè)組成部分:
運(yùn)算器由算術(shù)邏輯單元ALU,累加器和寄存器等幾部分組成.ALU的作用是把傳送到微處理器的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運(yùn)算.ALU具有兩個(gè)主要的輸入來(lái)源,一個(gè)來(lái)自累加器,另一個(gè)來(lái)自數(shù)據(jù)寄器.
ALU能夠完成這兩個(gè)輸入的數(shù)據(jù)相加或相減,也能過(guò)完成某些邏輯運(yùn)算.ALU執(zhí)行不同的運(yùn)算操作是由不同控制線上的信息所確定的.
通常,ALU接收來(lái)自暫存器1和暫存器2的兩組8位二進(jìn)制數(shù),因?yàn)橐獙?duì)這些數(shù)據(jù)進(jìn)行某些操作,所以將這兩個(gè)輸入的數(shù)據(jù)均稱為操作數(shù).ALU可對(duì)兩個(gè)操作數(shù)進(jìn)行加,減,與,或,比較大小等操作,最后將結(jié)果存入累加器.
例如,兩個(gè)數(shù)12和31相加,在相加之前操作數(shù)12放在一個(gè)暫存器中,31放在另一個(gè)暫存器中,執(zhí)行兩數(shù)相加運(yùn)算的控制線發(fā)出加操作信號(hào),ALU即把兩個(gè)數(shù)相加并把所得結(jié)果43存入累加器,取代累加器中前面存放的數(shù).總之,運(yùn)算器有兩個(gè)主要功能:
1、執(zhí)行各種算術(shù)運(yùn)算;
2、執(zhí)行各種邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試,如零值測(cè)試或兩個(gè)值的比較.通常,一個(gè)算術(shù)操作產(chǎn)生一個(gè)運(yùn)算結(jié)果,而一個(gè)邏輯操作產(chǎn)生一個(gè)判決.