单片机单片机基本原理练习题3
Posted 啥也不想,只想搞钱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机单片机基本原理练习题3相关的知识,希望对你有一定的参考价值。
【单片机】单片机基本原理练习题3
一、题目一
1.1 作业题目
1.什么是MCS-51单片机的最小系统?
1.2 作业解答
指51单片机为核心的真正可用的最小配置系统。51单片机内部集成了微型计算机的大部分功能部件,只需要外部连接一些简单电路就可组成最小系统。分为以下两种情况:
8051/8751片内有4KB的ROM/EPROM,因此,只需要外接晶体振荡器和复位电路就可以构成最小系统;
8031片内无程序存储器,因此,在构成最小系统时,不仅要外接晶体振荡器和复位电路,还应在外扩展程序存储器。
二、题目二
2.1 作业题目
2.LED数码管显示器的显示方式有几种?各有什么特点?
2.2 作业解答
数码管在显示时,通常有静态显示方式和动态显示方式两种。
静态显示时,其公共端直接接地(共阴极)或接电源(共阳极),各段选线分别与IO接口线相连。要显示字符,直接在IO线发送相应的字段码。
动态显示时,将所有的数码管的段选线并接在一起,用一个IO接口控制,公共端不是直接接地(共阴极)或电源(共阳极),而是通过相应的IO接口线控制。显示是多个数码管轮流显示。当单位时间显示的频率足够高,看起来就是稳定显示。
三、题目三
3.1 作业题目
3.矩阵键盘有几种编码方式?怎样编码?
3.2 作业解答
通常有以下两种方法进行编码;
(1)用连接键盘的I/O线的二进制组合进行编码。
(2)顺序排列编码。
四、题目四
4.1 作业题目
4.对于数码管动态显示,在很多实际的单片机应用系统中,为了实现较好的显示效果,通常是把动态显示过程用定时扫描方式来实现,处理思想如下:用定时器实现20ms周期性定时,定时时间到动态显示一遍。参照书上图8.9的电路和内容,把数码管显示改成定时扫描方式,用C语言编写相应程序。(第8章)
4.2 作业解答
分析:用定时器T1工作于方式1实现20ms周期性定时,20ms定时到调用显示函数一遍,定时器方式控制字为10H,系统时钟为12MHz,初值为:65536-20000
#include <reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
uchardisbuffer[8] = {0, 1, 2, 3, 4, 5, 6, 7};
void delay(uint i)
{
uint j;
for (j = 0; j < i; j++)
{
;
}
}
void display(void) //定义显示函数
{
ucharcodevalue[16] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, Ox7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; //0~F的字段码表
ucharchocode[8] = {Oxfe, 0xfd, 0xfb, 0xf7, 0xef, Oxdf, Oxbf, Ox7f}; //ll位选码表
uchar i, p, temp;
for (i = 0; i < 8; i++)
{
temp = chocode[i]; //取当前的位选码
P2 = temp; //送出位选码
p = disbuffer[i]; //取当前显示的字符
temp = codevalue[p]; //查得显示字符的字段码
PO = temp; //送出字段码
delay ( 20) ;//延时1ms
}
}
void main(void)
{
TH1 = (65536 - 20000) / 256;
TL1 = (65536 - 20000)8256;
EA = 1;
ET1 = 1;
TR1 = 1;
while (1)
{
;
}
}
void time1(void) interrupt 3
{
TH1 = (65536 - 20000) / 256;
TL1 = (65536 - 20000)8256;
display(); //设显示函数
}
以上是关于单片机单片机基本原理练习题3的主要内容,如果未能解决你的问题,请参考以下文章