《单片机应用技术(第2版)》 答案_第1页
《单片机应用技术(第2版)》 答案_第2页
《单片机应用技术(第2版)》 答案_第3页
《单片机应用技术(第2版)》 答案_第4页
《单片机应用技术(第2版)》 答案_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

金单片机应用技术(第2版)

项目1C语言基础知识

思考与练习

一、选择题

1.c

2.D

3.A

4.B

5.C

6.B

二、填空题

1.200

2.windows2000

3.1;0

4.26

5.0

三、编程题

1.【参考代码】

include<stdio.h>

intmain()

(

primf(”***这是我的第一个C语言程序!***\n”);

return0;

)

2.【参考代码】

#include<stdio.h>

intmain()

2

intnum,a,b,c;

printf("Pleaseinputthenumber:");

scanf(H%dH,&num);

a=num/100;

b=(num-100*a)/10;

c=num-l00*a-10*b;

a+=b*10+c*100;

printf("Theresultis%d\n",a);

return0;

)

3.【参考代码】

#include<stdio.h>

intmain()

intcock,hen,chick;/*定义变量为基本整型*/

for(cock=0;cock<=20;cock++)/*鸡翁范围在。到20之间*/

for(hen=0;hen<=33;hen++)/*鸡母范围在0到33之间*/

for(chick=3;chick<=99;chick++)/*鸡雏范围在3到99之间*/

if(5*cock+3*hen+chick/3==100)/*判断钱数是否等于100*/

if(cock+hen+chick==100)/*判断购买的鸡数是否等于100*/

if(chick%3==0)/*判断鸡雏数是否能被3整除*/

printf("鸡翁:%d只,鸡母:%d只,鸡雏:%d只5”,

cock,hen,chick);

return0;

I

3

YJ单片机应用技术(第2版)

项目2单片机开发软件及硬件系统的认识

思考与练习

一、选择题

1.C

2.B

3.A

4.D

5.A

二、填空题

1.2

2.晶体振荡器

3.状态周期

4.复位方式;程序执行方式;低功耗运行方式

三、编程题

答;

1.整体设计

在单片机的P0.0端口上接一个发光二极管(LED)L1,编写C涪言程序使L1不停地

一亮一灭,时间间隔为Is。

2.硬件设计

根据整体设计思想,LED灯的硬件系统原理图如图2・1所示,包括电源电路、时钟电

路、复位电路和LED信号灯电路。

4

3.软件设计

从硬件系统原理图可以看出,当P0.0端口输出低电平时,L1点亮;当P0.0端口输出

高电平时,L1熄灭。因此,程序设计流程如下,L1便会一亮一暗地闪烁了。

【参考代码】

#include<reg5l.h>

voiddelay()延时子函数*/

unsignedinti;/*定义局部变量*/

fbr(i=1000;i>0;i-);/*时间按照自己的设定值计算,此处仅供参考*/

)

voidmain(void)

(

while(l)

i

P0.0=0;/*点亮L1*/

delay();/*延时*/

P0.0=l;产熄灭L1*/

5

单片机应用技术(第2版)

delay();

项目3中断系统与定时/计数器的应用

思考与练习

一、选择题

2.D

3.C

二、填空题

1.INTO;INTI;定时/计数器0;定时/计数器1;串行接口中断

2.中断响应;中断处理;中断返回

3.定时/计数器0(TO);定时/计数器1(T1);定时/计数器方式控制寄存器(TMOD);

定时/计数器控制寄存器(TCON)

4.内部机器周期;外部

5.工作方式和功能;启动;停止;溢出标志位

三、编程题

1.答:

(1)整体设计思想。

用AT89c51单片机的外部中断0、外部中断1来控制。其中,外部中断0控制L1开

关,实现1只灯左循环点亮的功能;外部中断1控制L2开关,实现2只灯右循环点亮的

功能。外部中断1的优先级别高于外部中断0。

(2)硬件设计。

6

根据整体设计思想,不同优先级别控制流水灯的硬件系统原理图,如图3-1所示。

图3-1不同优先级别控制流水灯的硬件系统原理图

(3)软件设计。

【参考代码】

#include<reg5l.h>

#include<stdio.h>

voiddelayms(unsignedcharn)/*延时子函数*/

(

while(n—)

(

unsignedchari;

for(i=125;i>0;i-)

{;}

voidintO()interrupt0using0/*外部中断。的中断函数*/

7

单片机应用技术(第2版)

unsignedcharx=254,y,z,i,s;

s=Pl;

for(i=0;i<64;i++)/*1只灯循环亮*/

(

y=x»7;

z=x«1;

Pl=z|y;/*完成1位左循环移位*/

delayms(200);/*调用延时函数*/

x=Pl;

}

Pl=s;

)

voidintl()interrupt2using1/*外部中断1的中断面数*/

(

unsignedcharx=252,y,z,i,s;

s=Pl;

for(i=0;i<64;i++)/*2只灯循环亮*/

{

y=x«6;

z=x»2;

Pl=z|y;/*完成2位右循环移位*/

delayms(200);/本调用延时函数到

x=PI;

1

Pl=s;

)

voidmain()/*主函数*/

(

IE=0x85;/*开中断,允许INTO、INT1中断*/

ITO=1;

IT1=1;/*外部中断0、1信号下降沿有效*/

IP=0x04;/*中断1为高优先级,中断0为低优先级*/

while(l)/*循环程序*/

8

delayms(200);

P1=-P1;

)

2.答:

(1)整体设计思想。

TMOD的GATE位为门控位,当GATE置“1”时,只有当对应的外部中断而6为“1”,

且TR0或TR1置1时,定时器才会启动定时。利用该特点,可以检测而6上脉冲高电平

的持续时间,在信号的上升沿启动定时器,在信号的下降沿停止定时器。

在本题中,采用TO工作方式1的定时功能对脉冲宽度进行检测,直接检测的最大值为

65535,如果时钟频率为12MHz,则机器周期为12,直接检测的最大脉冲宽度为65.535

如果需要检测更宽的脉冲,可对定时器0溢出的次数进行计数,将溢出次数乘以65536来

计算脉冲宽度。将外部中断设为下降沿触发,当检测到下降沿信号时,将进入外部中断服务

程序,读取定时器的数值,此数值即为脉冲宽度,通过数码管显示检测的脉冲宽度值。

(2)硬件设计。

根据整体设计思想,脉冲宽度检测的硬件系统原理图如图3・2所示。

U1

p()

AT89S51po

p()

po

po

po

p()

po

P2

P2

P2

P2

P2

P2

P3.2(INT0)

图3-2脉冲宽度检测的硬件系统原理图

(3)软件设计。

【参考代码】

#include<at89x5l.h>

9

单片机应用技术(第2版)

#defineucharunsignedchar/*数据类型定义*/

#defineuintunsignedint/*数据类型定义力

ucharcodeTAB[10]={/*共阳7段数码管代码表*/

0xC0,0xF9,0xA4,0xB0,0x99,/*0〜4*/

0x92,0x82,0xF8,0x80,0x90,/*5〜//

);

uintpulse;/*定义脉冲宽度变量*/

voiddelay_ms(ucharms)/*毫秒延时程序*/

(

uchari,j;

for(i=0;i<ms;i++)

(

for(j=0;j<164;j++);

for(j=0;j<164;j++);

voiddisplay(uintdisp)/*数码管动态扫描显示程序*/

(

P0=TAB|disp%10];/*显示个位*/

P2_0=0;

delay_ms(l);

P2_0=l;

P0=TAB[disp/10%10];产显示十位率/

P2_l=0;

delay_ms(l);

P2_l=l;

P0=TAB[disp/100%10];/*显示百位*/

P2_2=0;

delay_ms(1);

P2_2=l;

P0=TAB[disp/1000%10];/*显示千位*/

P2_3=0;

delay_ms(1);

P2.3=l;

10

P0=TAB[disp/10(X)0%10];/*显示万位可

P2_4=0;

delay_ms(l);

P2_4=l;

(

voidIntO_ISR()interrupt0using1/*外部中断服务程序*/

(

pulse=(uint)(TH0«8)+TL0;/*计算脉冲宽度*/

TH0=0x00;/*清“0”定时器,为下一次检测做准备*/

TL0=0x00;

)

main()/*主程序*/

(

TMOD=0x09;/*设定T0为工作方式1定时、GATE=1*/

TH0=0x00;/*清“0”定时器号

TL0=0x00;

TRO=1;/*启动T0*/

EA=1;/*开启总中断*/

EX0=I;/*开启外部中断*/

ITO=1;/*设为下降沿触发*/

while(l)

(

display(pulse);/*显示脉冲宽度率/

)

11

金单片机应用技术(第2版)

项目4显示器与键盘接口技术的应用

思考与练习

一、选择题

1.C

2.B

3.C

4.B

二、填空题

1.高电平(1);低电平(0)

2.静态

3.触点式;无触点式

4.独立式;矩阵式

5.列扫描法;行列反转法

三、编程题

1.答;

按钮切换式控制的程序流程如图4-1所示。初始化时先关闭LED灯,然后判断PB1

是否按下,如果按下,则先调用防抖动函数,再切换LED灯的状态。

12

图4-1按钮切换式控制的程序流程

【参考代码】

#include<reg52.h>

sbitPB1=P2AO;/*PB1接到P2.0弓|脚*/

sbitLED=POAO;/*LED接至ijPO.O引脚*/

voiddebouncer(void);/*防抖动函数刃

main()

LED=1;/*关闭LED*/

P2=0xff;/*将P2端口设置为输入口号

while(l)

if(PBl==O)/*判断按键是否按下*/

debouncer();/*进行按键防抖动*/

LED=!LED;/*切换LED为反相电平*/

)

/****************延时20ms防抖动子程序****************/

voiddebouncer(void)

(

inti;/*声明整数变量i*/

for(i=0;i<2400;i++);

)

2.答:

LCD1602液晶显示器作为电子钟电路原理如图4-2所示,两个按键K1、K2分别控制

小时时间和分钟时间的设定,LCDI602采用模拟口线方式与单片机连接。

13

单片机应用技术(第2版)

o

o

LM016L

RV1

OOO

RP1

U1

>XTAL1PO.O/ACO

P0.1/AD1

P0.2/AD2

XT/U2P0.3/AD3

P0.4/AD4

P0.5/AD6

P0.6/AC6

RSTP0.7/AP7

P2.o/fieORS

P2.1幽ORW

P2.2ZA10OE

PSENP2.3/A11

ALEP2.47A12

EAP2.6/A13

P2.G/A14

P2.7/A16啜

小时时间设定

10

1^P1DP3.0/RXD

211

3-P1.1P3.1/TXD1®_£=IZK2分钟时间设定

12

4P12P3.2/iNT0

-13

-5P13P3.3/INT134

6P1.4P3.4/TO

--15.

-7P15P3.S/T1

-8P16P3.C/WR

P17P3.7/RD

AT8C51

图4・2LCD1602液晶显示器电子钟电路原理图

【参考代码】

#include<reg5l.h>

#include<stdio.h>

#include<math.h>

#include<intrins.h>/*包含头文件*/

#defineucharunsignedchar

sbitkl=P3A0;

sbitk2=P3Al;

李**********【rn端口京▽***********+/

#defineLCMDataPortPO/*8位数据端口*/

sbitLCM_RS=P2A0;/*RS端口*/

sbitLCM_RW=P2A1;/*RW端口*/

sbitLCM_EN=P2A2;/*EN端口*/

sbitP07=P0A7;/*口线定义*/

voidScankey();

14

voidDisplcd();/*函数声明*/

unsignedcharcountO,second,minite,hour,;

timerO()interrupt1using1/*定时器0中断函数*/

{

TH0=-10000/256;

TL0=-10000%256;/*定时10ms时间初值*/

countO=countO+1;

if(count0==100)

(

count0=0;/*100次中断,时间为1s*/

second=second+1;

if(second==60)

(

second=0;/*60s到为1min*/

minite=minite-l;

if(minite==60)

(

minite=0;/*60min至ij为1h*/

hour=hour+1;

if(hour==24)/*24h制*/

(

hour=0;

)

)

)

)

)

voiddelayms(unsignedcharn)/*延时函数*/

{

while(n—)

(

unsignedchari;

for(i=125;i>0;i-){;}

)

}

15

入出单片机应用技术(第2版)

voidScankey(void)/*按键扫描函数*/

(

kl=l;

if(kl==O)/*小时按键*/

(

delayms(lO);

if(kl==O)

(

while(kl==0)

(

Displcd();

)

minite=minite+l;

minite=minite%60;

)

)

k2=l;

if(k2==0)/*分钟按键*/

{

delayms(lO);

if(k2==0)

(

while(k2=0)

(

Displcd();

)

hour=hour+1;

hour=hour%24;

)

)

)

voidDisplcd(void)/*显示函数*/

(

ucharcodetab[]={"0123456789:n};

DisplayOneChar(9,1,tab[10]);

16

DisplayOneChar(6,1,tab[l0]);

DisplayOneChar(11,1,tab[second%10]);

DisplayOneChar(10,l,tab[second/10]);/*显示秒*/

DisplayOneChar(8,l,tab[minite%10]);

DisplayOneChar(7,l,tab[minite/10]);/*显示分*/

DisplayOneChar(5,1,tab|[hour%10]);

DisplayOneChar(4,1,tab[[hour%10]];/*显示小时*/

)

voidmain(void)/*主程序*/

(

unsignedcharcodetabl[]={"CPUCLOCKER);

ucharj;

TMOD=Oxll;/*定时器模式*/

P2=0xff;

PO=Oxff;

TH0=-10000/256;

TL0=-10000%256;

TH1=-50000/256;

TLl=-50000%256;/*定时时间初值*/

EA=1;/*开中断*/

ET0=l;

ET1=1;/*中断允许*/

TR0=l;/*开定时器0本/

InitLCD();/*液晶显示器初始化*/

for(j=0;j<16;j++)

(

DisplayOneChar(j,Ci,tab1[j]);

)

while(l)

(

Scankey();

Displcd();

)

17

单片机应用技术(第2版)

项目5串行接口技术的应用

思考与练习

一、选择题

1.C

2.D

3.B

4.B

5.B

二、填空题

1.异步通信方式;同步通信方式

2.单工;半双工:全双工

3.全双工;同步移位寄存器

4.TI或RI

5.中断申请

三、编程题

1.答:定时器T1作为波特率发生器使用时,通常将其工作方式设置为工作方式2,

但要禁止T1中断,以免产生不必要的中断带来频率误差。

由工作方式1的波特率二^—X1—J

32(2W-X)xl2

可知,当SMOD=0时,X=F4Ho

【串行接口初始化程序】

TMOD=0x20;/*T1工作在工作方式2*/

THl=0xF4;/*定时器赋初值可

TLl=0xF4;

SCON=0x50;/*串行接口工作在工作方式1,REN=1*/

PCON=OxOO;/*SMOD=0*/

TR1=1;/*T1启动计数*/

18

2.答:

系统分析如下:全双工通信要求能同时接收和发送数据,通过检测RI位还是TI位为

1来判断是选择接收操作还是选择发送操作,系统采用串行工作方式2通信,以中断方式

工作。

【参考代码】

#include<reg51.h>

#include<absacc.h>

unsignedchardatasdata[20]_at_0x30;

unsignedchardatardata[20]_at_0x50;

main()

TMOD=0x20;/*T1工作在工作方式2*/

THl=0xfa;

TLl=0xfa;产波特率时间常数可

TRl=l;/*启动定时器T1*/

SCON=0x50;/*串行接口工作在工作方式1,REN=1*/

ES=1;/*开串行接口中断*/

EA=1;/*开总中断*/

while(l);/*等待串行接口中断*/

)

/************中断处理程序*k***********/

voidsbsi()interrupt4;

(

if(RI==l)

{send();}/*RI=1,调用接收子程序*/

else

{rces();)/*TI=1,调用发送子程序*/

)

voidrces()

(

unsignedchari;

RI=0;/*清RI*/

rdata[i]=SBUF;/*存入到指定数据缓冲区*/

i++;/*指向下一数据存储单元*/

if(i==20)

19

单片机应用技术(第2版)

{i=0;}

)

voidsend()

(

unsignedchari;

if(i==20)

(;)/*判断数据是否发送完毕*/

else

(

TI=0;/*清TI*/

SBUF=sdata[i];/*启动发送*/

)

i++;/*指向下一数据*/

20

项目6A/D与D/A转换技术的应用

思考与练习

一、选择题

1.A

2.D

3.A

4.C

二、填空题

1.模拟;数字

2.分辨率;转换误差;转换时间

3.数字:模拟

4.1/255

5.直通方式;单缓冲方式;双缓冲方式

三、编程题

答:本题采用的硬件连线:P2端口作为LED的数据输入端口,P3.0〜P3.3端口的输

出信号作为LED的选通信号,ADC0809的输出数据DO〜D7连接至单片机的P1.0〜P1.7

端口。

转换后的数字信号在LED上显示时,共显示4位数字,从左向右分别为千位、百位、

十位和个位数字。由于单极性的电压信号为。〜5V,显示时应将数据进行适当处理后才能

在LED上正确显示。处理过程如下:将采集到的数据放入result变量中,为了使LED能

够正确显示数据,先将数据扩大1000倍,由于处理后的数据要通过P2端口输出,故将其

再等比例缩小5/255(5V电压均匀分布在8位数据线上),即将result扩大19.6倍。

在输出到LED的display)函数中,先取出千位数字进行输出,然后依次输出百位、

十位和个位数字。

【参考代码】

/********************ADC0809进行A/D转换程序******x*************/

#include<reg52.h>

单片机应用技术(第2版)

#defineucharunsignedchar

sbitOE=P0A0;

sbitEOC=POA1;

sbitSTART=P0A2;

constcharnum_display[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf87,

0x80,0x90);/*共阳极数码管驱动数组*/

/********************毫秒级延时函数********************,

voiddelay(inti)

intj;

for(j=0;j<i;j++)/*内部函数延时1ms*/

unsignedchara,b,c;

for(c=l;c>0;c—)

for(b=142;b>0;b-)

for(a=2;a>0;a—);

/********************微秒级延时函数*******************町

voiddelay1us(inti)

while(i—);

voiddisplay(intadc_num)

P3=0xfl;/*数码管共阳极,位驱动高电平有效*/

P2=num_display[(adc.numHOOO)]&0x7f;/*显示千位,将结果与0x7f做与操作的

目的是让千位后显示一个小数点*/

adc_num=adc_num%1000;

delay⑶;

P3=0xf2;/*数码管共阳极,位驱动高电平有效*/

P2=num_display[(adc_num/100)];/*显示百位/

adc_num=adc_num%100;

delay⑶;

P3=0xf4;

22

P2=num_display[adc_num/10];/*显示十位*/

adc_num=adc_num%10;

delay⑶;

P3=Oxf8;

P2=num_display[adc_num];/*显示个位*/

delay(3);

/********************主函数********************/

voidmain(void)

floatx;

intresult;

while(1)

START=1;/*在上升沿的时候,所有的内部寄存器全部置“0"*/

delay1us(5);

START=0;/*在下降沿的时候,开始进行A/D转换*/

while(EOC!=1);/*等待转换结束*/

result=Pl;/*将结果保存到变量result当中*/

x=result*19.6;/*放大1000倍,从而可以取到4位数据,整数1位,小

数3位,但不能直接按x=result*(5/255)*1000表达式书

写,不然在5/255过程中就被当成了0来处理*/

display(x);

delay(3);

)

)

23

单片机应用技术(第2版)

项目7单片机综合实践

思考与练习

一、选择题

1.B

2.B

3.C

二、填空题

1.一

2.寄生电源供电方式;外接电源供电方式

3.闰年补偿

三、编程题

答:图7・23中主要包括DS18B20温度传感器电路、单片机最小系统(晶振与复位电

路已省略)和数码管显示电路。单片机的P2.0〜P2.3端口控制数码管的位选信号,P0.0〜

P0.7端口控制数码管的段选信号。DS18B20采用外部电源供电方式,DS18B20的DQ端

口与单片机的P3.5端口相连。

在主程序中,遵守单总线系统的访问流程,按照访问的3个步骤,先调用初始化函数

Init_DS18B20对DS18B20进行初始化,再写入忽略ROM指令[CCH](本例中只有一个

DS18B20),然后写入温度转换指令,使DS18B20开始转换温度。转换完毕后,再次调用

初始化函数,写入忽略ROM指令,并调用WriteOneChar(OxBE)函数读取温度寄存器的转

换结果。读取时,先调用ReadOneChar()函数读入一个字节,然后再读入另一字节,最后

将读出的数据发送给数码管显示出来。

【参考代码】

〃*********Ds18B20单线温度检测的应用********************/

#include<reg52.H>

#include<math.h>

#include<intrins.H>

#defineucharunsignedchar

24

#defineuintunsignedint;

sbitseg1=P2A0;

sbitseg2=P2Al;

sbitseg3=P2A2;

sbitDQ=P3A5;/*DS18B20端口*/

sfrdataled=0x80;/*定义数据由单片机的PO端口输出,0x80为P0端口地址刃

/********************声明变量,定义共阳数组********************/

uchartemp;

ucharflag_get,count,num,minute,second;

ucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90);

ucharstr[3];

/********************函数声明区********************/

unsignedcharReadTemperature(void);/*读温度函数*/

voidInit_DS18B20(void);/*DS18B20初始化函数*/

unsignedcharReadOneChar(void);/*读一个字节函数*/

voidWriteOneChar(unsignedchardat);/*写一个字节函数*/

voiddelay(unsignedinti);/*延时函数*/

main()

TMOD=0x01;/*定时器设置为工作模式1*/

THO=Oxef;/*给定时器TH0赋初始值*/

TLO=OxfO;/*给定时器TL0赋初始值*/

IE=0x82;/率开总中断与定时T0子中断率/

TR0=I;/*启动定时TO*/

P2=0x00;

count=0;

while(l)

str[0]=0xc6;显示C符号*/

str[2]=tab[temp/10];/*十位温度*/

str[1]=tab[temp%10];/*个位温度*/

if(flag_get==l)/*定时读取当前温度可

temp=ReadTemperature();/*读温度数据值*/

25

单片机应用技术(第2版)

flag_get=O;/*温度标志清0*/

)

/********************中断函数********************/

voidtim(void)interrupt1using1

(

TH0=0xef;/*定时器重装初始值*/

TL0=0xf0;

num++;

if(num==50)

(

num=0;

flag_get=l;/*标志位有效*/

second++;/*秒加1*/

if(second>=60)/*如果秒大于等于60,秒清0,分钟加1*/

(

second=0;

minute++;

)

)

count++;

if(count==l)

(

P2=0xf7;

dataled=str[O]:/小数码管扫描列

)

if(count==2)

(

P2=0xfb;

dataled=str[l];

)

if(count==3)

P2=0xfd;

26

dataled=str[2];

count=0;

)

)

/********************延时函数********************/

voiddelay(unsignedinti)

while(i—);

1

/********************]8b20初始化函数********************/

voidInit_DS18B20(void)

unsignedcharx=0;

DQ=1;/*DQ复位*/

delay(8);/*稍做延时*/

DQ=0;/*单片机将DQ拉低*/

delay(80);/*精确延时大于480ps*/

DQ=1;/*拉高总线率/

delay(lO);

x=DQ;/*稍做延时后,如果x=0则初始化成功,x=l则初始化失败*/

delay(5);

)

/*******************率彳、字********************/

unsignedcharReadOneChar(void)

unsignedchari=0;

unsignedchardat=0;

for(i=8;i>0;i-)

DQ=0;/*给脉冲信号*/

dat»=l;

DQ=1;/*给脉冲信号*/

if(DQ)

dat|=0x80;

delay(5);

27

单片机应用技术(第2版)

)

return(dat);

voidWriteOneChar(unsignedchardat)

unsignedchari=0;

for(i=8;i>0;i—)

(

DQ=0;

DQ=dat&OxOl;

delay(5);

DQ=1;

dat»=1;

)

delay(5);

unsignedcharReadTemperature(void)

(

unsignedchara=0;

unsignedcharb=0;

unsignedchart=0;

Init_DSI8B20();/*初始化DS18B20温度传感器列

WriteOneChar(OxCC);/*跳过读序列号的操作*/

WriteOneChar(Ox44);/*启动温度转换㈣

delay(200);

Init_DS18B20();/*初始化温度传感器*/

WriteOneChar(OxCC);跳过读序列号的操作因

WriteOneChar(OxBE);/*读取温度寄存器数值,前两个就是温度*/

a=ReadOneChar();/*读一个字节数据到变量a中*/

b=RcadOneChar();/*读一个字节数据到变量b中*/

b«=4;

b+=(a&0xf0)»4;

t=b;

28

目录

CONTENTS

项目一直流电路...............................................................1

任务一认识负反馈放大电路..................................................2

任务二复杂直流电路的分析与测量...........................................23

项目学习效果综合测评...............36

项目二正弦交流电路.........................................................39

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论