何探毕业设计论文读书报告读书笔记.docx

上传人:b****5 文档编号:6689213 上传时间:2023-01-09 格式:DOCX 页数:15 大小:43.85KB
下载 相关 举报
何探毕业设计论文读书报告读书笔记.docx_第1页
第1页 / 共15页
何探毕业设计论文读书报告读书笔记.docx_第2页
第2页 / 共15页
何探毕业设计论文读书报告读书笔记.docx_第3页
第3页 / 共15页
何探毕业设计论文读书报告读书笔记.docx_第4页
第4页 / 共15页
何探毕业设计论文读书报告读书笔记.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

何探毕业设计论文读书报告读书笔记.docx

《何探毕业设计论文读书报告读书笔记.docx》由会员分享,可在线阅读,更多相关《何探毕业设计论文读书报告读书笔记.docx(15页珍藏版)》请在冰豆网上搜索。

何探毕业设计论文读书报告读书笔记.docx

何探毕业设计论文读书报告读书笔记

 

本科毕业设计(论文)

读书报告(读书笔记)

 

学院:

信息科学与工程学院

课题名称:

基于单片机的定时显示设计

专业(方向):

通信工程

班级:

通信09-1

学生:

何探

指导教师:

牛秦洲

日期:

2013.4.23

读书笔记

(一)——C语言基础知识

●注释是以/*开始,以*/结束的。

注释是对程序进行的文档说明并提高程序的可读性。

●在执行程序时,注释不会引发计算机的任何操作。

因为在编译程序时,所有的注释都会被编译器忽略掉,不会生成任何的机器语言的目标代码。

●凡是以#开头的行都是在程序被编译之前由预处理程序进行处理的。

#include预编译命令告诉预处理程序将另一个文件的内容包含到源程序中。

●头文件包含了编译器在编译标准输入输出库函数调用语句时所需要的信息。

●任何一个C语言程序都必须有一个main函数。

Main之后的一对圆括号表明main是一个被称为函数的程序模块。

C语言程序是由一个或者多个函数组成的,其中那个不可或缺的函数就是main函数。

所有的C语言程序都是从main函数开始执行的。

●函数执行后能返回一些信息。

在main左侧的关键字int表示main函数执行后将返回一个整数值。

●函数在被调用执行时,可能要接收一些信息。

Main之后的圆括号中的void表明:

main函数在被调用执行时无需接收任何信息。

●函数的函数体以相对应的右花括号结束。

一对花括号及位于其内的那段程序被称为一个模块。

●printf函数指示计算机在屏幕上显示信息。

一个字符串有时也称为一个字符序列、一条消息或一行文本。

每条语句必须以一个分号结束(也成为语句结束符)。

●字符\n不在屏幕上显示任何字符。

反斜线被称为转义字符。

当编译器在字符串中遇到转义字符时,它将反斜线连同其后的一个字符组成一个转义序列。

转义序列\n表示换行。

●当printf函数输出的字符串中出现“换行”时,“换行”将光标定位在屏幕中下一行的起始位置。

双斜线(\\)转义序列通常用于在字符串中放入一个反斜线。

转义序列\”表示一个双引号字符。

●关键字return是退出一个函数的若干手段之一。

当main函数的末尾使用了return语句时,返回0值表示程序成功终止。

两整数求和

●类型为int变量中存放的是整数,例如7、-11、0、31、914.

Scanf的其他实参是以“与”符号(&)开始的,后面跟着一个变量名。

符号&在C语言中被称为取地址运算符,它的功能是获取紧随其后的变量的存储地址。

符号&放在变量名前组合使用,目的是告知scanf函数该变量的存储地址,然后scanf函数将对应该变量的数值存到那个存储地址对应的存储单元中。

●当遇到无法识别的语句时。

编译器将提示一个语法错误。

编译器通常会给出错误信息帮助程序员定位和修正错误语句。

出现语法错误表明程序中的语句违反了语言的标准。

语法错误也称为编译错误,或编译时错误。

●C语言是大小写敏感的——即大写和小写字母在C语言中是不同的。

●C程序中的变量名可以是任何合法的标识符。

标识符是一个由字母、数字和下划线(_)组成的字符串,但是不能以数字开头。

一个标识符的长度可以是任意的。

但是按照C语言标准,只有标识符中的31个字符能够被C编译器识别。

读书笔记

(二)——C语言基础知识

对于程序中用到的系统内的函数用#include<>来写入,效果同java的import,都是在最上边的,接下来写程序,主函数为main(){},如果函数前有int之类的,表示返回值类型。

记录一个格式:

printf(“sumis%d\n”,sum); 这是输出变量的格式,sum是上边定义的一个变量,想要将其输出,需要这种格式,不可以直接写,前边的%d是表示输出的位置及格式,比如这里d表示十进制整数,如果需要输出很多变量,按照从左到右的顺序来输出的,要输出的变量也是在逗号之后从左到右依次写明,用’,’隔开。

另外,如果一个函数里要调用别的函数,需要在这个函数的最上边声明调用的函数。

C语言的结构:

1.一个程序由一个或几个源程序文件组成(个人理解这个源文件差不多相当于JAVA的类)

一个源文件可以包括3部分①预处理指令,就是#include<>②全局声明,就是在函数之外声明的变量等,可以在整个源文件使用的③函数定义,就是各函数了。

2.函数是C程序的主要组成部分,必须有且只有一个main函数。

3.一个函数包括两部分:

①函数首部,就是第一行,声明函数名、类型、属性参数等的部分;②函数体,包括声明部分跟执行部分,很明显,声明部分就是写各变量跟用到的各函数的,执行部分,就是具体的执行过程的代码了

4.程序总是从main函数开始执行的。

同java的那个main函数。

5.程序中对计算机的操作是由函数中的C语句完成的,就是具体代码了;每个语句之后都必须加个分号;C语言本身不提供输入输出的语句,是用库函数来完成的,比如scanfprintf等;程序应当包含注释,方便阅读和修改。

 程序设计的过程:

1.问题分析,就是分析目标,找到解决问题的规律,选择解题的方法,也就是建立模型;

2.设计算法,即设计出解题的方法和具体的步骤,把每一步都清晰地写出来;最好花流程图;

3.编写程序;

4.对源程序进行编辑、编译、连接,得到可执行程序;

5.运行程序,分析结果,如果不满意,或者有错误,继续调试,直到得到满意的结果;

6.编写程序文档,内容包括:

程序名称,程序功能,运行环境,程序的装入和启动,需要输入的数据以及使用的注意事项。

每天努力一点点,每天进步一点点!

读书笔记(三)——C语言基础知识

常量

常量是程序中其值不发生变化的量,常量有数、字符和字符串。

在c中常量不需要类型说明就可以直接使用,除此之后c中还有一种表示常量的形式,称为符号常量。

(一)数

1、c中数有整数和小数

(1)整数:

整数有十进制,八进制,十六进制,八进制以数字0开头,十六进制以0x开头,十进制以1-9中的一个开头。

整数有正负之分,分别在前面加上+,-符号,正数的符号+可以省略。

整数有短整数,整数,长整数之分,一般短整数16位,在我的机器上是short(16),int(32),long(32),对于整数的取值范围有符号的(-2的n位次方至2的n位次方减1),无符号的0到2的n位次方-1

长型数的书写方法:

在数后面加一个L,如:

0xffL

(2)实数:

又叫浮点数,只有十进制的,实数有单精度和双精度之分,实数有两种表示形式,一种是小数,一种是指数。

小数:

由整数部分,小数点,小数部分。

指数:

由尾数(必须有),e/E,指数(必须是整数)

(二)字符常量

字符常量是用一对''括起来的单一字符,一个字符常量在计算机中占一个字节(8位),字符常量的值就是这个字符在所属字符集中的编码(如:

ASCII码)。

字符常量中的单引号用作定界符,所以对于单引号的表示方法就得用另外一种方法表示:

'\''用一个斜杠加一个'来转义一个单引号,对于斜框用\\来转义。

字符常量在计算机中是以编码的方式存放,所以说他实际是一个字节的整数,可以参与各种运算,如+,-,*,/,比较等。

(三)字符串常量

字符串常量是用双引号护起来的一串字符,字符的个数称其长度,字符串常量简称为字符串。

长度为n的字符串在计算机的存储中占用n+1个字节,最后多出来的那个存放一个NULL字符,ASCII编码是0,我们可以用'\0'来表示这个字符。

任何一个字符串在机器内都是以\0结尾。

如:

abc,其实是'a','b','c','\0'的存储格式。

对于"这个双引号,由于用作定界符了,所以只能转义表示:

\"。

注意:

'A',"A"这是两个不同的存储方式,一个是65,一个是65,0

(四)一般的字符可以直接写出,但对于NULL,回车,新行,退格等字符如何书写。

对于这些字符我们可以用其它的方式表示出来,常用的有:

\n 新行\r 回车\t 水平制表\v 垂直制表\b 退格\f 换页\a 响铃\" 双引号\' 单引号\0 NULL

\ddd1到3位八进制数表示一个字符

\xdd1到2位十六进制数表示一个字符

其实\ddd,\xdd就是字符的编码。

五)符号常量

在c语言中可以对常量进行命名,即用符号代替常数值,该符号叫符号常量,符号常量一般用大写字母表示。

定义格式:

#define 符号常量名 常量

如:

#define NULL0

#define EOF -1

#define PI 3.1415926

这里#define是预编译命令,每一个#define只能定义一个符号常量,且用一行书写,不用分号结尾。

例:

#include

#define PI 3.1415926

intmain(void)

{

floatarea,r;

printf("请输入圆的半径:

");

scanf("%f",&r);

area=PI*r*r;

printf("这个圆的面积是:

%f\n",area);

return0;

}

使用符号常量的好处:

(1)增强程序的可读性。

如用PI,代表数学中的PI,用EOF代表文件尾,很直观。

(2)增强程序的可维护性

如果多处用到同一个常量,可以定义符号常量,维护时只修改一处即可。

对于扩充和可移植一个程序时大有好处。

网址:

读书笔记(四)——C语言基础知识

变量

变量是他的值可以发生变化的一种量,每一个变量都对应计算机中相应长度的存储单元,以存放变量所取的值。

如:

#include

intmain(void)

{

intx=0;//x的初值为0

x=5;    //x的值发生了变化

x=7*5;

x=x+1;

printf("%d\n",x);

return0;

}

每一个变量都用一个名字(叫变量名)来表示,变量的名字实际上是内存单元的命名,变量的地址就是该内存单元的开始地址。

变量的命名规则同用户自定义标识符。

任何一个变量都属于某一数据类型,如果他是整型量,则只能取整数值。

(一)基本数据类型

(1)、从长度上分有8位、16位、32位和64们珠。

(2)、从数据的符号来分,有无符号的,和有符号的。

(3)、按照数学性质来分,分为整型和实型。

c语言的基本数据类型表:

对于数的值域范围的算法:

 

有符号:

[-2(位长度-1)次方到2(位长度-1)次方-1]

无符号:

[0到2位长度次方]

注:

(1)void类型有两种用法,一是指定函数的返回值的类型,一是用来设置类属指针。

(2)对于不同的环境,数据表示的范围不同,可以用sizeof(类型)来测试。

(二)变量的定义

变量的定义就是按照特定的方式为其指定标识,类型和长度等。

程序中所用的每一个变量都必须先定义后引用,没有定义的变量是不能引用的。

定义的目的是为编译程序提供所需的信息,以保证完成以下工作。

1、在编译时根据类型信息来检查程序中有无非法的数据结构。

2、根据类型信息来检查对变量施加的运算是否合理。

如对两个浮点数不可以进行%运算。

3、编译时根据类型和长度信息对变量分配内存,确定数据在内存中的表示方式。

定义:

数据类型 变量或变量表;

如:

intyear,date;

intx;

(三)变量的初始化

intx;对于这样的变量只是指定了名字和数据类型,并没有给他初始值,但这并不表示变量没有值,他的值是当前内存单元中的数据,这个数据是没有意义的,引用时会产生莫名其妙的结果。

初始化:

在定义时直接赋值,则称为初始化。

intx=5;

doubley=3.4;

变量的初始化并不都是在编译阶段完成的,只有静态变量和外部变量是在编译阶段完成,而局部变量是在运行时初始化的。

局部变量的初始化就是一个赋值语句。

intabc()

{

inta=3;

intb=4; //这是在运行时才初始化,而非编译时。

}

网址:

读书笔记(五)——单片机原理及接口技术

单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU)、随机存取数据存储器(RAM)、只读程序存储器(ROM)、输入输出电路(I/O口),可能还包括定时/计数器、串行通信口(SCI)、显示驱动电路(LCD或LED驱动电路)脉宽调制电路(PWM)模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成一个最小然而完善的计算机系统。

软件特征是指指令系统特性和开发支持环境指令特性即单片机的寻址方式、数据处理方式、逻辑处理方式、输入输出特性及对电源的要求等等。

现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一个单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗),有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。

单片机按内部数据通道的宽度可分为4位、8位、16位及32位单片机。

单片机的特点可归纳为以下几个方面

1)集成度高

2)存储容量大

3)外部扩展能力强

4)控制功能强

5)低电压、低功耗

6)低电压、低功耗

7)可靠性高MCS

51系列单片机还有颇具特色的21个特殊功能寄存器SFR。

利用SFR可完成对定时器、串行口、中断逻辑的控制。

这就使得单片机可以把定时/计数器、串行口、中断逻辑等集成在一个芯片上。

51单片机组成结构中包含运算器、控制器、片内存储器、并行I/O口、串行I/O口、定时/计数器、中断系统、振荡器等功能部件。

SP是堆栈指针寄存器,PC是程序计数器,PSW是程序状态字寄存器。

DPTR是数据指针寄存器。

控制器

1)程序计数器PC(16位的计数器)。

用于存放CPU下一条要执行的指令地址,是一个16位的专用寄存器,可寻址范围是0000H——FFFFH,共64KB。

(2)指令寄存器(IR)。

指令寄存器用于存放指令代码

(3)指令译码器ID。

指令译码器用于分析指令功能,根据操作码产生相应操作的控制信号。

(4)数据指针(DPTR)。

数据指针DPTR是一个16位的专用寄存器。

其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。

(5)定时与控制逻辑。

定时与控制逻辑由时序部件和微操作控制部件构成(6)时序部件。

时序部件由时钟系统和脉冲分配器构成

(7)微操作控制部件。

计算机在执行一条指令时总是把一条指令分成若干基本操作,称为微操作。

微操作控制部件根据指令产生计算机各部件所需要的控制信号。

这些控制信号是由指令译码器的输出信号、脉冲分配器产生的节拍脉冲以及外部的状态信号等进行组合产生。

网址:

读书笔记(六)——单片机原理及接口技术

移植的难点就是单片机C语言要解决的问题

1、MCS-51存储器的非冯·诺依曼结构,加上内部有位寻址空间,对存储器变量的使用提出了挑战。

2、内部的数据存储器存储空间太小,而外部还可扩展存储容量,编译程序如何根据实际情况合理使用这些空间。

3、内部各功能单元采用特殊功能寄存器集中管理,在C语言中如何实现寄存器访问。

4、MCS-51单片机派生各类繁多,硬件配置不统一,但要求必须能够使用C语言操控所有硬件资源。

5、MXD-51内部只有一个堆栈,且存储空间有限,传统的利用堆栈传递参数的方法难以奏效。

随着技术的发展和各软件厂商的努力,以上问题都得到了解决,C语言日趋成熟,成为专业化的实用高级语言。

单片机C语言的扩充

数据类型

无论是出现在表达式中的常量,还是程序自己定义的变量,都有数据类型,特别是变量,数据类型是编译程序进行存储器分配的依据之一

数据类型

位数

字节数

范围

bit

1

 

0~1

signedchar

8

1

-128~+127

unsingedchar

8

1

0~255

enum

8/16

1/2

-128~+127或-32768~+32767

signedshort

16

2

-32768~+32767

unsingedshort

16

2

0~+65535

signedint

16

2

-32768~+32767

unsignedint

16

2

0~+65535

signedlong

32

4

-2147483648~+21473647

unsignedlong

32

4

0~4294967295

float

32

4

±1.175494E-38~±3.402823E+38

sbit

1

 

0~1

sfr

8

1

0~255

sfr16

16

2

0~65535

表中大部分类型是C语言中的标准类型,像字符型、枚举型、各种整形和单精度浮点型等,枚举型根据实际枚举常量的多少同编译程序确定其长度,而bit、sbit、sfr和sfr16是为访问MCS-51硬件中的内部RAM中的位、SRF中的位以及8位SRF和16位SFR(如DPTR)所特有的类型,它们不是ANSIC的一部分,不能用指针对它们进行访问,也不能定义包含这些类型元素的数组、结构体、联合体等。

例:

MCS-51系统中需要处理以下几个数据:

一个是从扩展的I/O端口输入的8位开关量状态数据in_data,一个是记录系统运行时间的log_time(以秒为单位),还有一个是保存设备是否正常运行的标志ok_flag,它们以变量形式存储,使用哪种类型最合适?

in_data为8位无符号数据,使用unsingnedchar最合适;log_time需要记录较长时间若用16位的整形变量,只能累计几个小时,用long型最好,也应该是无符号的;log_time有一位即可,可用bit型,具体变量定义时,可使用以下语句

 unsignedchar in_data;

 unsignedlong  log_time;

 bit           ok_flag;

实际上,只要不是必需,在MCS-51的C语言程序中应该尽量使用较短的、无符号的类型,unsignedchar是第一选择,因为编译成机器码后最适合单片机处理的是字节数据。

读书笔记(七)——proteldxp2004电路设计基础

Altium公司作为EDA领域里的一个领先公司,在原来Protel99SE的基础上,应用最先进的软件设计方法,率先推出了一款基于Windows2000和WindowsXP操作系统的EDA设计软件ProtelDXP。

ProtelDXP在前版本的基础上增加了许多新的功能。

新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。

ProtelDXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。

ProtelDXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。

通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,ProtelDXP提供了全面的设计解决方案。

ProtelDXP2004是Altium公司于2004年推出的最新版本的电路设计软件,该软件能实现从概念设计,顶层设计直到输出生产数据以及这之间的所有分析验证和设计数据的管理。

当前比较流行的Protel98、Protel99SE,就是它的前期版本。

ProtelDXP2004已不是单纯的PCB(印制电路板)设计工具,而是由多个模块组成的系统工具,分别是SCH(原理图)设计、SCH(原理图)仿真、PCB(印制电路板)设计、AutoRouter(自动布线器)和FPGA设计等,覆盖了以PCB为核心的整个物理设计。

该软件将项目管理方式、原理图和PCB图的双向同步技术、多通道设计、拓朴自动布线以及电路仿真等技术结合在一起,为电路设计提供了强大的支持。

与较早的版本——Protel99相比,ProtelDXP2004不仅在外观上显得更加豪华、人性化,而且极大地强化了电路设计的同步化,同时整合了VHDL和FPGA设计系统,其功能大大加强了。

XX百科

读书笔记(八)——proteldxp2004电路设计基础

ProtelDXP仿真设计

1 ProtelDXP电路仿真概述

基于最新的Spice3f5模拟模型和XSPICESimcode数字模型仿真内核,ProtelDXP内嵌一个功能强大的A/D混合信号仿真器,设计人员在进行原理图设计输入后,即可正确地仿真模拟和数字器件而无需通过A/D转换或D/A转换将其转换到其他模块中进行。

它可以对当前所画的原理图进行仿真,在整个设计周期都可以查看和分析电路的性能指标,及时发现设计中所存在的问题并加以改正。

设计者能够准确地分析电路的工作状况,从而提高电路的设计工作效率、缩短开发周期、降低生成成本。

2 ProtelDXP电路仿真设计的一般步骤

电路仿真是指在计算机上通过软件来模拟具体电路的实际工作过程,并计算出在给定

ProtelDXP仿真步骤

条件下电路中各节点(包括中间节点和输出节点)的输出波形。

电路仿真是否成功,取决于电路原理图、元模型的仿真属性、电路的网表结构以及仿真设置等。

ProtelDXP执行混合信号仿真的设计流程如有图所示。

电路仿真流程:

a)原理图设计:

首先,新建一个原理图文件*.schdoc,打开编辑环境,与普通原理图大致相同;然后,打开Libraries,加载必要的元器件库,添加元器件并设置参数,这里所有的元器件都必须具有Simulation仿真属性,否则仿真时将出现错误信息,在DXP中假定所有元器件都是理想元器件;最后,用导线进行电气连接或网络标号,对整个电路进行编译ERC校验,确保整个电路没有错误。

b)设置仿真环境:

执行菜单命令,打开Analysessetup对话框,设置仿真方式并指定要显示的数据,DXP提供10种分析仿真方式,包括直流工作点、直流扫描、交流小信号、瞬态过程、Fourier、噪声、传输函数、温度扫描、参数扫描以及蒙特卡罗分析等。

c)仿真:

设置仿真环境后单击OK按钮,系统进行电路仿真,生成一*.sdf文件,同时打开窗口显示分析结果。

d)分析结果:

观察电路仿真结果,分析仿真波形是否符合电路设计要求,如果不符合,则重新调整电路参数进行仿真,直到满意为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1