- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章C51程序设计-1
第三章 C51程序设计-1;为什么要用高级语言?;C51编译器;Keil?C51?开发工具清单;Keil?C51中的基本数据类型?;使用缩写形式定义数据类型;C51数据的存储类型;C51中带存储类型的变量定义;C51中带存储类型的变量定义;存储(编译)模式;C51特殊功能寄存器的定义;C51指针 ;普通指针;存储器特殊指针;由于在编译时要访问变量的存储空间已经确定,所以存储器特殊指针变量的访问速度较快,但灵活性较普通指针差。;C51函数;指定函数的存储模式
C51可由缺省的存储模式决定函数的参数及局部变量的存储位置。
unsigned int RdFromROM(unsigned char Address)
也可在函数定义时显式地说明函数的存储模式。由small、compact?及large说明,例如: void?fun1(void)?small?{?} 提示:small说明的函数内部变量全部使用内部RAM。关键的经常性的耗时的地方可以这样声明,以提高运行速度。;C51中的堆栈和函数参数传递;自变量数;CPU 寄存器总是用于函数返回值。下表列出了返回
类型和所用的寄存器。
;C51中断处理子程序;C51中断处理子程序;使用C51应注意的问题;C51库函数;C51程序举例 ;C51程序举例 ;“走马灯”电路程序清单; “走马灯”电路程序清单(续)
void main() /*主函数*/
{
char data i,s;
while(1) /*无穷循环*/
{
s=0xfe; /*设置初值,最低一位为0 */
P1=s; /*P1送据,令接P1.0的LED亮*/
delay(500);
for(i=0; i8; i++)
{
s = s1; /*s值左移一位,最低位补0 */
s = s | 0x01; /*将最低位置1 */
P1= s; /*由P1送出数据,令对应的LED亮*/
delay(500);
}
}
} ;(2) 中断程序举例;;中断处理程序设计要点:
1,简练,一般仅在中断服务程序中建立中断标志,而把中断处理过程放在主程序中,根据中断标志决定是否执行。
2,若不够简练(较长),则可能延时甚至丢掉低优先级的中断请求。;(3) 定时器举例;TF0=0;;;uVision2 IDE介绍; 一、Keil C51的安装
安装步骤 ;二、C51程序的编写和调试
执行V2子目录中的UV2.EXE,启动μVision2,进入主窗口,用窗口中的文件编辑器编写C51程序,程序格式应遵循C语言的语法规则。
编写完C51程序后,在μVision51环境下就可???进行编译、连接,如果编译连接成功,还可以调用软件仿真器进行调试。;μVision2主窗口; 1. 编辑源文件
单击主菜单项【File】-【New】,弹出编辑窗口如图,可以在此窗口中编辑C51程序。; 2.建立工程文件
编写好程序,执行主菜单Project】-【New Project】选项,在弹出的窗口中写入工程文件的名称,并加上后綴uv2,如ex1.uv2。
3. 选择目标器件
在Project窗口中的Target1项目上右击,选择【Select Device for Target ‘Target1’】,可弹出选择单片机型号对话框,从对话框中的厂家和单片机列表中选择目标系统所用的单片机型号,本例选择AT89C51,见下图。;选择目标器件型号对话框; 4.设置生成Hex代码文件
设置方法:右击Target1,选择【Option for Target ‘Target1’】 ,选择output,然后在下拉有关output选项菜单中,对 Create HEX File可选框中打√。
5.编译
执行主菜单【Project】-【Rebuild All Target Files】就能自动完成编译,生成后綴为obj、hex、m51、lst等文件。hex文件就是我们所需要的目标程序,可以利用编程器写入单片机的片内程序存储器。 ; 6. 调试
μVision2环境可以对程序进行仿真调试,调试器有两种工作模式:
Use Simulator工作模式
Use接口驱动工作模式
在右击【Option for Target ‘Target1’】弹出的对话框中选择Use Simulator模式,将调试器配置成纯软件模拟,不需要实际的硬件支持,就可以进行模拟调试。
若选择Use接口驱
文档评论(0)