新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)基礎(chǔ)程序練習(xí)題

單片機(jī)基礎(chǔ)程序練習(xí)題

作者: 時(shí)間:2013-03-19 來(lái)源:網(wǎng)絡(luò) 收藏

1、在某程序中需要定義如下變量:

(1)定義數(shù)碼管的顯示0~9的共陰極顯示代碼(0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07, 0x7f, 0x6f)數(shù)組dis_code,將其定義在CODE區(qū)。

(2)定義定時(shí)器/計(jì)數(shù)器0的賦計(jì)數(shù)值的高、低字節(jié)變量TL0_L和TH0_H,將其定義在DATA去區(qū)的0x30、0x31處。

(3)定義長(zhǎng)度為20的無(wú)符號(hào)字符型數(shù)組data_buf于IDATA區(qū)中。

(4)定義長(zhǎng)度為100的無(wú)符號(hào)字符型數(shù)組data_array于XDATA區(qū)中。

(5)先定義一個(gè)無(wú)符號(hào)字符型變量status于BDATA區(qū)中,再定義8個(gè)與status的8個(gè)位對(duì)應(yīng)的位變量flag_lamp1、flag_lamp2、flag_machine1、flag_machine2、flag_port1、flag_port2、flag_calcu1和calcu2(從低位到高位)。

答:

(1)unsigned char code dis_code[10]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f};

(2)unsigned char data TL0_L _at_ 0x30, TH0_H _at_ 0x31;

(3)unsigned char idata data_buf[20];

(4)unsigned char xdata data_array[100];

(5)unsigned char bdata status;

sbit flag_lamp1=status^0;

sbit flag_lamp2=status^1;

sbit flag_machine1=status^2;

sbit flag_machine2=status^3;

sbit flag_port1=status^4;

sbit flag_port2=status^5;

sbit flag_calcu1=status^6;

sbit flag_calcu2=status^7;

2、在89C52中增加了定時(shí)器/計(jì)數(shù)器2(T2),修改頭文件“REG51.H”,添加如下內(nèi)容:

(1)特殊功能寄存器T2CON、T2MOD、RCAP2L、RCAP2H、TL2、TH2,地址分別為0xc8~ 0xcd。

(2)對(duì)T2CON的8個(gè)位分別定義位變量CP_RL2、C_T2、TR2、EXEN2、TCLK、RCLK、EXF2、和TF2(從低位到高位)。

(3)定義位變量T2、T2EX對(duì)應(yīng)于P1口的第0位和第1位;定義位變量ET2對(duì)應(yīng)于EI的第5位;定義位變量PT2對(duì)應(yīng)于IP的第5位;

(4)對(duì)P1口的8個(gè)位分別定義位變量P0_0、P0_1、P0_2、P0_3、P0_4、P0_5、P0_6和P0_7(從低位到高位)。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉