综合课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、课程设计软件介绍 1.Proteus软件 1).Proteus软件介绍
Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行 于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软 件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、 数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调 试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻 辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类 型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、 Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中 具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当 前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软 件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。 总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本 章介绍Proteus ISIS软件的工作环境和一些基本操作。
二、课程设计软件介绍
1.Proteus软件 2).Proteus的进入
双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开 始”→“程序”→“Proteus 6 Professional” →“ISIS 6 Professional”,出现 如下图所示屏幕,表明进入Proteus ISIS集成环境。
三、单片机C语言开发介绍
C51存储类型 存储类型 寻址空间 data idata pdata 片内直接寻 址 RAM 片内间接寻 址 RAM 分页寻址 片外 RAM
数据长 度 8
8 8
值域范围
0~127 0~255 0~255
三、单片机C语言开发介绍
存储类型 xdata
寻址空间
数据长度
值域范围 0~65535
片外数据存 16 储 (64K)
code
bdata
片内统一编 16 址ROM (64K) 片内可位寻 1 址的RAM (16byet)
0~65535
0~127
三、单片机C语言开发介绍
• C51的数据声明的一般格式如下 • [类型说明符][修饰符] 标识符[=初值]…… • 例如:unsigned char code Flag = 0x0f; 就是声明一个无符号的char型变量Flag,并给他赋初值 为0x0f;并且声明他所在的存储空间在片内统一编址的 ROM中。 • 声明中,如果没有修饰符,则数据默认的存储空间为data 型,也就是在片内RAM中。
三、单片机C语言开发介绍
㈡ C-51的程序结构 与一般C语言的结构相同,以main()函数为程序人口,程序 体中包含若干语句还可以包含若干函数。
C-51函数的一般格式
类型 函数名(参数表) { 数据说明部分; 语句执行部分; }
三、单片机C语言开发介绍 ㈢ C-51的数据类型
类型 符号基本数据类型 关键字 有 整 型 无 有 实 型 有 字 有 符 型 无 (signed) int (signed) short (signed) long unsigned int unsigned short int unsigned long int float double char unsigned char 数的表示范围 所占位数 16 -32768~32767 16 -32768~32767 32 16 16 32 32 64 8 8 -2147483648~2147483647 0~65535 0~65535 0~4294967295 3.4e-38~3.4e38 1.7e-308~1.7e308 -128~127 0~255
math.h
(定义常用数学运算);
三、单片机C语言开发介绍
㈥ C-51的运算符 与C语言基本相同: + > >= * < / <= (加 减 乘 除) (大于 大于等于 小于 小于等于)
==
&&
!=
|| !
(测试等于
(逻辑与
测试不等于)
逻辑或 逻辑非 )
>>
& | ^ ~
<<
(位右移
(按位与 (按位异或
C-51与ASM-51相比,有如下优点: 1. 对单片机的指令系统不要求了解,仅要求对8051 的存贮器结构有初步 了解; 2. 寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理; 3. 程序有规范的结构,可分成不同的函数,这种方式可使程序结构化; 4. 具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性; 5. 提供的库包含许多标准子程序,具有较强的数据处理能力; 6. 由于具有方便的模块化编程技术,使已编好程序可容易地移植;
三、单片机C语言开发介绍
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并 具备汇编语言的功能。目前,使用C语言进行程序设计已经成为软件开发的 一个主流。用C语言开发系统可以大大缩短开发周期,明显增强程序的可读 性,便于改进和扩充。而针对8051的C语言日趋成熟,成为了专业化的实用 高级语言。
二、课程设计软件介绍
3.KELIC与Proteus联调
4、单击“Project菜单/Options for Target”选项或者点击工 具栏的“option for ta rget”按钮,弹出窗口,点击“Debug” 按钮,出现如图所示页面。 在出现的对话框里在右栏上部的下拉菜单里选中“Proteus VSM Monitor一51 Driver”。并且还要点击一下“Use”前面表 明选中的小圆点。 再点击“Setting”按钮,设置通信接口,在“Host”后面添上 “127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添 上另一台电脑的IP地址(另一台电脑也应安装Proteus)。在 “Port”后面添加“8000”。设置好的情形如图所示,点击“OK” 按钮即可。最后将工程编译,进入调试状态,并运行。
三、单片机C语言开发介绍
例:清零程序 (将2000H—20FFH的内容清零) ★ 汇编语言程序 ORG 0000H SE01: MOV R0,#00H MOV DPTR,#2000H ;(0000H)送DPTR LOO1: CLR A MOVX @DPTR,A ;0送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加1 CJNE R0,#00H,LOO1 ;不到FF个字节再清 LOOP: SJMP LOOP
三、单片机C语言开发介绍
㈣ C-51数据的存储类型(续) 例: 数据类型 存储类型 变量
char data var1; bit data flags; unsigned char xdata vextor[10];
三、单片机C语言开发介绍
㈤ C-51的包含的头文件 通常有:reg51.h math.h ctype.h stdio.h stdlib.h absacc.h 常用有:reg51.h 位寄存器); (定义特殊功能寄存器和
综合课程设计
目 录
一、课程设计要求 二、课程设计软件介绍 三、单片机C语言开发介绍 四、综合课程设计实例 五、综合课程设计报告撰写
一、课程设计要求
1.设计内容
设计一个信号频率测量仪器
2.课程设计要求
1)基本功能要求
1、可以实现频率测量范围为1——9999HZ,电压5V的方波信号; 2、显示数据位数为四位; 3、超出量程范围要能报警提示,显示器显示“FFFF” 2)扩展功能要求 1、扩展功能:可以实现频率范围为0.1——499.9KHZ,电压范围可以是 2——12V的三角波、方波、正弦波信号; 2、功能延伸:信号电压范围为0.1——12V;
(3)、模拟调试
二、课程设计软件介绍
2.KELIC软件
1).KELIC介绍
(1)
二、课程设计软件介绍
3.KELIC与Proteus联调
1、假若KeilC与Proteus均已正确安装在C:\Program Files的 目录里,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\VDM51.dll复 制到C:\Program Files\keilC\C51\BIN目录中。 2、用记事本打开C:\Program Files\keilC\C51\TOOLS.INI文 件,在[C51]栏目下加入: TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver") 其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。 (步骤1和2只需在初次使用设置。) 3、进入KeilC μVision2开发集成环境,创建一个新项目 (Project),并为该项目选定合适的单片机CPU器件(如: Atmel公司的AT89C51)。并为该项目加入KeilC源程序。
位左移)
按位或) 按位取反)
三、单片机C语言开发介绍
㈦ C-51的基本语句
与标准C语言基本相同:
if 选择语言
switch/case
while
多分支选择语言
循环语言
do-while
for
循环语言
循环语言
三、单片机C语言开发介绍
㈧ 中断服务程序
函数名()interrupt n
{ }
㈨ I/O口定义 #include <absacc.h> #define prot xbyte[0x1000] 或 用指针定义
1.Proteus软件 4).基本操作
二、课程设计软件介绍
1.Proteus软件 5).作原理图仿真调试
原理图的绘制 (1)、画导线 (2)、画总线
(3)、画总线分支线
(5)、跳线 (6)、放置线路节点
(7)、一般电路的模拟调试
二、课程设计软件介绍
1.Proteus软件
6).单片机电路仿真调试
(1)、电路设计 (2)、程序设计
㈠ C-51的特点
C语言作为一种非常方便的语言而得到广泛的支持,国内最通用的是Keil C51. C语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同 的单片机中移植过来。 C提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间, 增加程序可读性和可维护性。
三、单片机C语言开发介绍
二、课程设计软件介绍
3.KELIC与Proteus联调
5、Proteus的设置 进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor”,如图所示。此后,便可实现KeilC与Proteus连接调试。 6、KeilC与Proteus连接仿真调试 单击仿真运行开始按钮,我们能清楚地观察到每一个引脚的电频变化,红色 代表高电频,蓝色代表低电频。
㈣ C-51数据的存储类型
名 data 存储空间位置 直接寻址片内RAM 长度 8位 数据范围 0~255
bdata
idata
可位寻址片内RAM
间接寻址片内RAM
1位Leabharlann Baidu
8位
0/1
0~255
pdata
xdata code
片外页RAM
片外RAM 程序ROM
8位
16位 16位
0~255
0~65535 0~65535
二、课程设计软件介绍
1.Proteus软件 3).工作界面
Proteus ISIS的工作界面是一种标准的Windows界面,如下图所示。包括:标 题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方 位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
二、课程设计软件介绍
三、单片机C语言开发介绍
清零程序 (将2000H—20FFH的内容清零) ★ C-51程序 #include <reg51.h> main( ) { int i; unsigned char xdata *p=0x2000;
三、单片机C语言开发介绍
㈢(续) C-51的数据类型扩充定义
sfr:特殊功能寄存器声明 sfr16:sfr的16位数据声明 sbit:特殊功能位声明 bit:位变量声明 例:sfr SCON = 0X98; sfr16 T2 = 0xCC; sbit OV = PSW^2;
三、单片机C语言开发介绍