基于Keil与ISP的软件界面操作

一、程序的书写
编程环境基础:下载并点击打开keil uvision4编译器;
1、新建工程文件
(1)创建工程组(porject)
step1:新建工程;
这里4中“template”为工程文件的名称,自定义即可;
step2:选择cpu型号;
这里选择at89c52即可(国产stc89c52芯片与其架构相同)
点击 ok 键后,弹出如下对话框:
翻译:是否要将 8051 启动文件添加到工程文件夹中;
这里选择“否”,原因是 keil c51 内已经帮我们完成了启动,即可完成工程文件的创建;
2、添加工程文件(file)
step1:新建.c文件并命名;
点击菜单页面file/new,命名文件(注意必须是字母名称);
step2:将新建的.c文件添加到工程组中;
即可完成创建
三、配置魔术棒(文件的各种配置选项)
勾选√:输出(output)时,需创建hex格式文件;
2**、c语言预编译/程序基本结构**
头文件的引用
(1)写法 # includereg52.h ****
凡是编写 51内核单片机程序时,我们源代码的第一行应包含该头文件。
写法1: 编译器先进入到当前工程所在文件夹处开始搜索该头文件,如果当前工程所在文件夹下没有该头文件,编译器将继续回到软件安装文件夹处搜索这个头文件,如果找不到这个头文件,编译器将会报错;
#include reg52.h写法2:从软件安装文件夹处开始搜索这个头文件,如果这个文件夹没有引用的头文件,编译器将会报错;
#include so,尽量使用“”的写法来引用头文件,能够防止编译器报错;
2、reg52.h头文件内容介绍
可以通过右键可以打开头文件;
reg52.h的作用:提供引脚定义(对引脚的“寄存器地址”进行命名)
stc89c52引脚
①电源引脚:vcc、gnd
②时钟引脚:xtal1、xtal2
③编程控制引脚:rst、psen、ale/prog、ea/vpp。(了解即可)
④i/o 口引脚:如 p0、p1、p2、p3(4组8位i/o口);
当我们引用过了“reg52.h”头文件,可以使用引脚表达,例如:
sbit led1=p2^0 //重命名p2.0引脚为led1(注意:p2.0引脚写成p2^0;头文件reg52.h的具体内容
/*--------------------------------------------------------------------------reg52.hheader file for generic 80c52 and 80c32 microcontroller.copyright (c) 1988-2002 keil elektronik gmbh and keil software, inc.all rights reserved.--------------------------------------------------------------------------*/#ifndef __reg52_h__#define __reg52_h__/* byte registers */sfr p0 = 0x80;sfr p1 = 0x90;sfr p2 = 0xa0;sfr p3 = 0xb0;sfr psw = 0xd0;sfr acc = 0xe0;sfr b = 0xf0;sfr sp = 0x81;sfr dpl = 0x82;sfr dph = 0x83;sfr pcon = 0x87;sfr tcon = 0x88;sfr tmod = 0x89;sfr tl0 = 0x8a;sfr tl1 = 0x8b;sfr th0 = 0x8c;sfr th1 = 0x8d;sfr ie = 0xa8;sfr ip = 0xb8;sfr scon = 0x98;sfr sbuf = 0x99;/* 8052 extensions */sfr t2con = 0xc8;sfr rcap2l = 0xca;sfr rcap2h = 0xcb;sfr tl2 = 0xcc;sfr th2 = 0xcd;/* bit registers *//* psw */sbit cy = psw^7;sbit ac = psw^6;sbit f0 = psw^5;sbit rs1 = psw^4;sbit rs0 = psw^3;sbit ov = psw^2;sbit p = psw^0; //8052 only/* tcon */sbit tf1 = tcon^7;sbit tr1 = tcon^6;sbit tf0 = tcon^5;sbit tr0 = tcon^4;sbit ie1 = tcon^3;sbit it1 = tcon^2;sbit ie0 = tcon^1;sbit it0 = tcon^0;/* ie */sbit ea = ie^7;sbit et2 = ie^5; //8052 onlysbit es = ie^4;sbit et1 = ie^3;sbit ex1 = ie^2;sbit et0 = ie^1;sbit ex0 = ie^0;/* ip */sbit pt2 = ip^5;sbit ps = ip^4;sbit pt1 = ip^3;sbit px1 = ip^2;sbit pt0 = ip^1;sbit px0 = ip^0;/* p3 */sbit rd = p3^7;sbit wr = p3^6;sbit t1 = p3^5;sbit t0 = p3^4;sbit int1 = p3^3;sbit int0 = p3^2;sbit txd = p3^1;sbit rxd = p3^0;/* scon */sbit sm0 = scon^7;sbit sm1 = scon^6;sbit sm2 = scon^5;sbit ren = scon^4;sbit tb8 = scon^3;sbit rb8 = scon^2;sbit ti = scon^1;sbit ri = scon^0;/* p1 */sbit t2ex = p1^1; // 8052 onlysbit t2 = p1^0; // 8052 only/* t2con */sbit tf2 = t2con^7;sbit exf2 = t2con^6;sbit rclk = t2con^5;sbit tclk = t2con^4;sbit exen2 = t2con^3;sbit tr2 = t2con^2;sbit c_t2 = t2con^1;sbit cp_rl2 = t2con^0;#endif二、程序的烧录/下载
(1)芯片类型选择;
(2)串口号选择;
(3)波特率选择;
1.波特率波特率是指单位时间内传送二进制数据的位数,单位用bps(位/秒)表示,记作波特。
波特率是传输通道频宽的指标。
2.比特率比特率来衡量异步串行通信的数据传输速率,即单位时间内传送二进制有效数据的位数,单位用bps表示。
比特率 = 波特率 x 单个调制状态对应的二进制位数。
比特率表示有效数据的传输速率。

常用的模数转换技术的性能对比和应用研究
变压器加装电抗器的作用
杨元庆回应联想撤回上市申请质疑
你真的会做数据分析吗?推荐思迈特软件Smartbi
配电箱如何接线_配电箱接线示意图
基于Keil与ISP的软件界面操作
AGM32 RISC-V+FPGA异构系列在数字示波器中的应用
凯迪拉克Super Cruise:业内首个量产的超级智能驾驶系统发布
ROG冰刃3s Plus游戏本评测 要性能有性能要轻薄有轻薄
雷军急了,OV阵地失守!华为在国内市场寻找新的增长点
飞凌嵌入式技术帖——i.MX9352的GPIO怎么用?
江铜贵溪冶炼厂携手海康威视 为“新智造”增效升级
压敏电阻及其选型
为什么要进行车间粉尘监测?车间粉尘监测系统具备哪些功能?
消防设备电源监控系统在商业中心的应用
人工智能将会取缔哪些职业工作者
努比亚Z20入网 双屏均为OLED材质
Atonarp宣布推出创新计量平台Aston,旨在提高半导体制造工艺的产量、吞吐量和效率
英飞凌推出采用高性能AIN陶瓷的新EasyDUAL™ CoolSiC™ MOSFET功率模块,助力提升功率密度和实现更紧凑的设计
5G毫米波段的拍卖于2019释放 其中28 GHz预计首先释放、紧接着是24GHz