微控复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题一
一、复习题
1.微型计算机控制系统的硬件由哪几部分组成?各部分的作用是什么?
2.微型计算机控制系统的软件有什么作用?请说出各部分软件的作用。
4.操作指导、DDC和SCC系统工作原理如何?它们之间有何区别和联系?
9.未来控制系统发展趋势是什么?
12.什么是物联网?为什么说“物联网给微型计算机控制技术带来新的、更大的应用空间”?
13.物联网终端由几部分组成?各部分的作用是什么?
习题二
一、复习题
1.采样有几种方法,试说明它们之间的区别。
2.采样周期越小越好吗?为什么?
5.试用CD4051设计一个32路模拟多路开关,要求画出电路图并说明其工作原理。
7.在数据采样系统中,是不是所有的输入通道都需要加采样-保持器,为什么?
8.采样频率的高低对数字控制系统有什么影响?试举工业控制实例加以说明。
12.为什么高于8位的D/A转换器与8位的微型计算机的接口必须采用双缓冲方式?这种双缓冲工作与DAC0832的双缓冲工作在接口上有什么不同?
三、练习题
28. 设12位D/A转换器DAC1210与8031接口电路连接,如图2.30所示。
(1)说明电路控制原理
(2)设数据存放在DABUFF为首地址的连续两个存储单元中,试编写一完
成D/A转换的程序。
(3)写出产生三角波、矩形波、正弦波、阶梯波的程序。(频率为100HZ,语言不限)
8031为8位机,待转换的数字量分高8 位和低4 位两步传入。由P2口产生的高8位和第四位的控制信号的地址信息。
138输出对应的地址分别为
Y2→000101xx→B1/B2为高,写高八位数据
Y3→000111xx→ B1/B2为低,写低四位数据
Y4→001001xx→数据送出转换
void DAOUT(unsigned int DABUFF)
{
*((char xdata *)0x1400)=DABUFF>>4;
*((char xdata *)0x1c00)=(DABUFF<<4)&0x00ff;
*((char xdata *)0x2400)=0;
}
#include
unsigned int code SIN_DATA[100]={0}; //EDA 课堂介绍的内容生成正弦表
//unsigned int DABUFF;
void DAOUT(unsigned int DABUFF)
{
*((char xdata *)0x1400)=DABUFF>>4;
*((char xdata *)0x1c00)=DABUFF<<4;
*((char xdata *)0x2400)=0;
}
//设100点,100Hz则每点10000us/100=100us
unsigned char TH0_LOAD=(0x10000-100)/0x100;
unsigned char TL0_LOAD=(0x10000-100)%0x100;
unsigned char WA VEMODE=0;//设定波形
unsigned char WavePoint=0;
unsigned int DA V AL=0;
unsigned int WaveStep=4095/50;
void T0_IRQ(void)interrupt 1
{
TH0=TH0_LOAD ;
TL0=TL0_LOAD ;
switch(WA VEMODE)
{
case 0:
{
DAOUT(DA V AL);
WavePoint++;
if(WavePoint<=50)DA V AL+=WaveStep;
else DA V AL-=WaveStep;
if(WavePoint>=100)WavePoint=0;;
break;
}
case 1:
{
DA V AL=SIN_DATA[WavePoint++]
if(WavePoint>=100)WavePoint=0;
DAOUT(DA V AL);
break;
}
default:break;
}
}
void main(void)
{
TMOD=0x11;
TH0=0;
TL0=0;
TR0=1;
ET0=1;
EA=1;
while(1)
{
//delay(30000) ;DAOUT(1023); delay(30000) ;DAOUT(0); }
}
33.某A/D转换电路如图2.31所示。
(1)试写出A/D转换器的地址。
(2)该电路采用什么控制方式?画出该种转换的程序框图。
(2)用8051语言编写完成上述A/D转换的程序。
PC→00011010=0x1a 00
PB→00011001=0x19 00
查询或者延时方式控制,流程略
Usinged char char AD_0809Read(void)
{
*((char pdata *)0x1a00)= 0x80;
*((char pdata *)0x1a00)= 0;
While((*((char pdata *)0x1a00))&0x08!=0x08);//delay_us(128);Return *((char pdata *)0x1900);
}
35.设被测温度变化范围为0℃~1200℃,如果要求误差不超过0.4℃,应选用分辨率为多少位的A/D转换器(设ADC的分辨率和精度一样)?
(1200-0)/(2n-1)<=0.4→n=?
习题三
一、复习题
3.试说明非编码键盘扫描原理及键值计算方法。
6.什么叫重键?计算机如何处理重键?
7.多位LED显示器显示方法有几种?它们各有什么特点?