新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機基礎程序練習題

        單片機基礎程序練習題

        作者: 時間:2013-03-19 來源:網絡 收藏

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

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

        (2)定義定時器/計數器0的賦計數值的高、低字節變量TL0_L和TH0_H,將其定義在DATA去區的0x30、0x31處。

        (3)定義長度為20的無符號字符型數組data_buf于IDATA區中。

        (4)定義長度為100的無符號字符型數組data_array于XDATA區中。

        (5)先定義一個無符號字符型變量status于BDATA區中,再定義8個與status的8個位對應的位變量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中增加了定時器/計數器2(T2),修改頭文件“REG51.H”,添加如下內容:

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

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

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

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 清苑县| 达尔| 漯河市| 宝应县| 中牟县| 竹山县| 时尚| 嘉祥县| 延寿县| 红安县| 施秉县| 广平县| 右玉县| 牙克石市| 连江县| 江油市| 西峡县| 常山县| 翁牛特旗| 宝清县| 邢台县| 深圳市| 宜丰县| 介休市| 瓮安县| 怀宁县| 宝坻区| 宣恩县| 白城市| 略阳县| 安仁县| 蓝田县| 万安县| 留坝县| 葫芦岛市| 吉木乃县| 渑池县| 云梦县| 琼海市| 兴仁县| 措美县|