- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
C51部分 3
、编程环境介绍 3
安装和设置 3
使用WAVE 4
二、单片机C语言基础(一) 7
数据类型 7
常量 9
变量与存储空间分配(与标准C不同) 10
运算符和表达式 11
条件语句 11
开关语句 12
三、单片机C语言基础(二) 12
1.循环语句 12
2.数组 14
3.函数 14
一.函数定义 15
二.函数的调用 15
四、C51重点部分 16
中断和中断函数 16
单片机接口设计 17
导入数据到PC 18
常见错误 19
五、一个完整程序的详细讲解 20
VerilogHDL部分 23
一、Quartus的使用 23
原理图输入方式 23
编译和下载。 25
在Quartus中使用verilog文件 27
二、Verilog基本语法 29
1.模块 29
assign语句 29
always语句 30
case语句 30
数据类型 31
线网类型 31
寄存器类型 32
数字值和常量 32
运算符和表达式 34
三、组合逻辑电路 34
1.4位全加器 34
用case语句描述的4选1数据选择器 34
BCD码—七段数码管显示译码器 35
三-八译码器 36
四、时序逻辑电路 37
1.4位计数器 37
同步置数、同步清零的计数器 38
模为60的BCD码加法计数器 38
锁存器 40
五.状态机的编写 40
同步状态机 40
简单状态机 43
C51部分
—、编程环境介绍
安装和设置
我们使用的是伟福SH51系列仿真机,该仿真机可以较好的仿真51系列仿真机,在南京伟福网站(/download/Software/vw.exe)可以下载到VW软件的必威体育精装版版本和仿真机的USB驱动程序。一般建议安装在默认目录(C:\VW)。
插上仿真机,系统会提示找到新硬件,驱动程序在安装目录下的
(DRIVER\WINXP)子目录:如C:\VW\DRIVER\WINXP。打开伟福,在仿真机设置相应的参数,如下所示:
点击“好”,就可以开启WAVE编辑环境了
新建一个文件并把它的后缀名设成.asm,就可以开始一个汇编程序的设计了。
要想进行C51的设计,还需要安装一个软件:Keil,下载并安装后(建议安装在默认目录C:\Keil下),记得破解(不破解最多只能支持2K大小的程序)。
安装完Keil以后,在伟福中设置编译器路径(见下图),就可以编辑并编译一个C语言程序了。
使用WAVE
这里介绍一些常用伟福的功能,更详细的伟福说明参看电子设计教程的第一章。
编辑好一个C语言程序以后,按下F9,就可以编译当前文件。底下的编译窗口可以显示相关的编译信息。
如果编译成功,会显示类似下面的信息,其中的0E2BH代表编译生成文件的大小。这个非常重要,因为51的程序存储区是4KB,52的程序存储区是8KB,55的程序存储区是20KB,58的程序存储区是32K,太大的程序是无法烧入小一型号的单片机的。07大赛就出现了这样的情况,最后一天18点有一组同学程序用仿真机是可以的,但烧到片子里怎么也不行,最后才发现是程序写了9K,而烧的是52单片机,注意:我们的烧写器不会提示这个错误。
如果程序有错,会提示如下信息:
双击ERROR那行,就会跳到出错行并用红色标出。
修改了以后,我们就可以运行程序了。
运行程序有全速执行、单步执行、断点等方式。在我们的调试过程中,比较经常用到的有单步执行和断点方式。
先点击复位按钮,程序就下载到仿真机里面了,这时候就可以开始调试。点击每行前面的灰处,就可以设置断点了。
这时点击全速执行按钮,程序就会执行,但执行到断点处时停下,这时候就可以查
看变量或者按F10单步调试程序了。
注意一下每行前面蓝色的小点,有小点表示这条语句被编译了,如果有一条语句前面没有小点,那就要注意了,这代表这条语句被优化了,将不会执行。
这时候,如果要查看相应的寄存器值,可以把左边的项目窗口点击到REG,就可以看各个寄存器和每一位的值了。
也可以点到Watch窗口,可以查看程序中出现的变量的值。
而右下方的数据窗口可以显示当前的XDATA区、DATA区、CODE区的内容,也可以借助工具把其中内容调出,甚至可以调到MATLAB中显示,后面会详细的说明这个。
好了,只要会使用这几个功能,利用WAVE完成单片机C程序的设计是基本没有问题了,下面,将结合单片机给大家复习一些C语言的基
文档评论(0)