单片机单片机基本原理练习题3

Posted 啥也不想,只想搞钱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机单片机基本原理练习题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的主要内容,如果未能解决你的问题,请参考以下文章

单片机单片机基本原理练习题1

单片机单片机基本原理练习题2

单片机练习 - DS18B20温度转换与显示

循环队列原理及在单片机串口通讯的应用

蜂鸣器设置到所求频率单片机

单片机学习之PWM原理与控制程序