的值为非0,则继续执行循环体语句,直到表达式的值为0时结束循环。
由do-while构成的循环与while循环十分相似,它们之间的重要区别是:while
循环的控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是0还是非0,循环体至少要被执行一次。
四、编程
1.编写C51程序,将单片机片外2000H为首地址的连续10个单元的内容,读入到片内RAM的40H~49H单元中。
答:将片外2000H为首地址的连续10个单元的内容,读入到片内RAM的40H~49H单元中。程序如下:
xdata unsigned char buffer1[10] _at_ 0x2000; data unsigned char buffer2[10] _at_ 0x40 void main(void) {
unsigned char i;
for(i=0; i<10; i++) {
buffer2[i]= buffer1[i]
} }
2.编写将单片机片内一组RAM单元清0的函数,函数内不包括这组RAM单元的起始地址和单元个数,起始地址和单元个数参数应在执行函数前由主函数赋值。 答:参考程序如下:
#define uchar unsigned char
void clear0(uchar *addr, uchar lenth) { uchar i;
8
for(i=0; i void main(void) { uchar addr[32] _at_ 0x30; uchar lenth=32; 起始地址赋值 单元个数赋值 clear0(addr,lenth); } while(1); 第5章 思考题及习题5参考答案 一、填空 1. AT89S51单片机任何一个端口要想获得较大的驱动能力,要采用 电平输出。 答:低 2.检测开关处于闭合状态还是打开状态,只需把开关一端接到I/O端口的引脚上,另一端接地,然后通过检测 来实现。 答: I/O端口引脚的电平 3. “8”字型的LED数码管如果不包括小数点段共计 段,每一段对应一个发光二极管,有 和 两种。 答:7,共阳极,共阴极 4. 对于共阴极带有小数点段的数码管,显示字符“6”(a段对应段码的最低位)的段码为 ,对于共阳极带有小数点段的数码管,显示字符“3”的段码为 。 答:7DH,B0H 5. 已知8段共阳极LED数码显示器要显示某字符的段码为A1H(a段为最低位),此时显示器显示的字符为 。 9 答:d 6. LED数码管静态显示方式的优点是:显示 闪烁,亮度 , 比较容易,但是占用的 线较多。 答:无,较高,软件控制,I/O口 7. 当显示的LED数码管位数较多时,一般采用 显示方式,这样可以降低 , 减少 的数目。 答:动态,成本,I/O端口 8. LCD 1602是 型液晶显示模块,在其显示字符时,只需将待显示字符的 由单片机写入LCD 1602的显示数据RAM(DDRAM),内部控制电路就可将字符在LCD上显示出来。 答:字符,ASCII码 9. LCD 1602显示模块内除有 字节的 RAM外,还有 字节的自定义 ,用户可自行定义 个5×7点阵字符。 答:80,显示数据,64,字符RAM,8 10.当按键数目少于8个时,应采用 式键盘。当按键数目为64个时,应采用 式键盘。 答:独立,矩阵 11.使用并行接口方式连接键盘,对独立式键盘而言,8根I/O口线可以接 个按键,而对矩阵式键盘而言,8根I/O口线最多可以接 个按键。 答:8,64 12.LCD 1602显示一个字符的操作过程为:首先 ,然后 ,随后 ,最后 。 答:读忙标志位BF,写命令,写显示字符,自动显示字符 二、判断对错 1.P0口作为总线端口使用时,它是一个双向口。对 10 2.P0口作为通用I/O端口使用时,外部引脚必须接上拉电阻,因此它是一个准双向口。对 3.P1~P3口作为输入端口用时,必须先向端口寄存器写入1。对 4.P0~P3口的驱动能力是相同的。错 5.当显示的LED数码管位数较多时,动态显示所占用的I/O口多,为节省I/O口与驱动电路的数目,常采用静态扫描显示方式。错 6.LED数码管动态扫描显示电路只要控制好每位数码管点亮显示的时间,就可造成“多位同时亮”的假象,达到多位LED数码管同时显示的效果。错 7.使用专用的键盘/显示器芯片, 可由芯片内部硬件扫描电路自动完成显示数据的扫描刷新,和键盘扫描。对 8.控制LED点阵显示器的显示,实质上就是控制加到行线和列线上的电平编码来控制点亮某些发光二极管(点),从而显示出由不同发光的点组成的各种字符。对 9.16×16点阵显示屏是由4个4×4的LED点阵显示器组成。错 10.LCD 1602液晶显示模块,可显示2行,每行16个字符。对 12.LED数码管的字型码是固定不变的。错 13.为给扫描法工作的8×8的非编码键盘提供接口电路,在接口电路中需要提供两个8位并行的输入口和一个8位并行的输出口。错 14.LED数码管工作于动态显示方式时,同一时间只有一个数码管被点亮。 15.动态显示的数码管,任一时刻只有一个LED数码管处于点亮状态,是LED的余辉与人眼的“视觉暂留”造成数码管同时显示的“假象”。 对 三、简答 2.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点? 答:静态显示时,欲显示的数据是分开送到每一位LED上的。而动态显示则是数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。静态显示亮度很高,但口线占用较多。动态显示口线占用较少,但是需要编程进行动态扫描,适合用在显示位数较多的场合。 11
相关推荐: