单片机第4章c51编程
- 格式:ppt
- 大小:934.00 KB
- 文档页数:111


习题1. C51特有的数据类型有哪些?答:C51特有的数据类型有位型bit、特殊位型sbit、8位特殊功能寄存器型sfr和16位特殊功能。
sfr16寄存器型2. C51中的存储器类型有几种,它们分别表示的存储器区域是什么?答:C51中的存储器类型有6种,分别表示的存储器区域是:data:直接寻址的片内RAM低128B,访问速度快bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问idata:间接寻址访问的片内RAM,允许访问全部片内RAMpdata:用Ri间接访问的片外RAM低256Bxdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAMcode:程序存储器ROM 64KB空间3. 在C51中,bit位与sbit位有什么区别?答:bit位类型符用于定义一般的位变量,定义的位变量位于片内数据存储器的位寻址区。
定义时不能指定地址,只能由编译器自动分配。
sbit位类型符用于定义位地址确定的位变量,定义的位变量可以在片内数据存储器位寻址区,也可为特殊功能寄存器中的可位寻址位。
定义时必须指明其位地址,可以是位直接地址,也可以是可位寻址的变量带位号,还可以是可位寻址的特殊功能寄存器变量带位号。
4. 在C51中,通过绝对地址来访问的存储器有几种?答:绝对地址访问形式有三种:宏定义、指针和关键字“_at_”。
5. 在C51中,中断函数与一般函数有什么不同?答:中断函数是C51的一个重要特点,C51允许用户创建中断函数。
中断函数用interruptm修饰符,m的取值为0~31,对应的中断情况如下:0——外部中断01——定时/计数器T02——外部中断13——定时/计数器T14——串行口中断5——定时/计数器T2中断函数需要注意如下几点。
(1) 中断函数不能进行参数传递(2) 中断函数没有返回值(3) 在任何情况下都不能直接调用中断函数(4) 如果在中断函数中调用了其他函数,则被调用函数所使用的寄存器必须与中断函数相同(5) C51编译器对中断函数编译时会自动在程序开始和结束处加上相应的内容(6) C51编译器从绝对地址8m+3处产生一个中断向量(7) 中断函数最好写在文件的尾部,并且禁止使用extern存储类型说明6. 按给定的存储类型和数据类型,写出下列变量的说明形式。