付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、keil 使用笔记在 Memory 窗口上输入 address_type:address 才能看到正确地址的变量debugperfermanceyzer 加入要察看的模块名称,然后 viewperfermanceyzerwindow 可以察看各个模块运行时间Display address_type:address B:Bit addressC:Code Memory Bx:Code BD D:80H 命令可以查看特殊寄存器 dataD I:0 命令可以查看RAM 数据 iData;D X:0 命令可以查看外部 RAM 数据 xData;R1 /显示 R1 registerR1 /显示变量 R1
2、R1 = R7 /对寄存器 Rx 操作R1 = -R7 R1 = 0 x20main /显示 main()的开始地址 d main /显示 main()的代码向 RAM.ROM 中写数据Enter data_type address_type:address expr,expr.data_type:char double floongE char data:0 x20 1,2,3,4 /向 data 区 0 x20 开始的地址写 1,2,3,4变量放在 RAM 的 30H,要把定义放在 main 前面!另外特别注意,放中RAM 通常供 C 程序存间变量等,所以一定要看看编译后的程序中是否存在使
3、用了别的寄存器组的话,08-1FH 单元就不能用了 unsigned long data i _at_ 0 x30单元的情况,比如如果程序中如何用 Keil 的 uVi2 仿真外部中断?方法一:调试状态下,打开 PeriPherals-I/O PORTS-P3 用鼠标将相应的端口变高或低即可产生中断方法二:在命令窗口中输入 DEFINE BUTTON ERUPT,P3=0XFE然后打开 TOOLBOX,即可以看见按钮ERUPT,按下按钮即可Define Button button_label,d注意:Define Button show R5 Register,prf(R5=%04xhn)ki
4、ll button x /x 为按钮在 toolbox 上位置方法三:用调试函数,可参考 uv2hlpgs51.pdf 第五和第六章信号函数写在一个 ini 文件中,调试主程序时用 debug-Function Editor 调入,会有一个框出现,可在里面修改,然后 comp。也可以在 debug 状态下 include调入。file.ini 里面的内容是 debug可以用 kill 命令结束。d 和 function definitions,functiong definition 可以是以下几种:系统预定功能 prf getin 等用户定义功能 即用户自己写的函数,如 FUNC void
5、MySus(void)信号函数。用户程序运行时运行,模拟外部的信号输入,可同时个。dir bfunc /察看所有预定功能 predefined dir ufunc /察看所有用户功能 userdir singal /察看所有信号函数 singal dir func /看所有的系统预定功能 prf getin 等void exec (“d_string”) /在用户和信号函数里面调用 keil 的调试命令如:exec (“BS timer0”)double getdbl(“prompt_string”) /跳出一窗口提示输入数,返回,如无则返回 0get(“prompt_string”)long
6、 getlong(“prompt_string”)如:age = get(“Enter your age”)void memset(start_addrelong length,uchar value) /用指定的数填充一段内存如 memset(0 x2000,0 x1000,a)void pr出如:prf(“format_string”,value) /从 serial 窗口输f(“%s for %d”,uvi2,51) /输出 uvi2 for 51rand(seed) /产生随机数,seed 为 0 时还原void twatch(long ses) /等待 n 个 clock,只能被 s
7、ingal 函数调用2void swatch(float seconds) /如swatch(0.5)void rwatch(address) /rwatch(X:0 x1234) 一直等待直到 X:0 x1234 被读void wwatch(address) /一直等待直到 X:0 x1234 被写如 twatch (200000); / 200000 Cycles Time-Break twatch(CLOCK); /wait for 1 seconds_wbyte(addre (0 x2000,0 x55)_wword(addre_wdword(addrechar value) /向指定
8、的内存写数据 _wbytevalue) long value)_wfloat(address,float value)_wdouble(address,double value)用户定义功能 即用户自己写的函数,不能调用 singal 函数和 twatch(),可用 KILL FUNC function_name 杀之FUNC return_type function_name(parameter_list)sments/*-*/* Function MyRegs() shows Registers R0.R3 */*-*/FUNC void MyRegs (void)pr pr pr prf
9、 (- MyRegs()n);f ( R0 R1 R2 R3n);f ( %02X %02X %02X %02Xn,R0,R1,R2,R3); f (n);信号函数。用户程序运行时运行,模拟外部的信号输入,可同时个。当调用 twatch()时进入idle 状态,一个 signal 函数返回值必须是 void,最多 8 个参数,能够调用 predefine 和 user 函数,但不能调用其它信号函数,能被 uesr 函数调用,至少调用 twatch 一次,用 ctrl+c 终止它。Signal se /察看当前活动的信号函数Signal kill signal_name /杀掉活动的Singal
10、 void func_name(para_list)sements3例子 1:singal void stuffsin(void)while(1)sin = A;twatch(100000);/每隔 100000 个 cpu s个Aes 就输出例子 2:signal void check_p20(void) /一个没有调用 twatch()的信号函数用法if(PORT2 & 1)prelseprf(Led is onn);f(led is offn);然后设置断点:bs write PORT2,1,check_p20()如果有写 p2 的动作则会执行这个signal 函数。这里注意 write
11、 和 read例如:unsinged value = P1;P2 = value;data value;此时 bs reORT1,1,PORT1 = get(input value)bs write PORT3,1,prf(port3 value=%xn,port3)执行后会跳出窗口让你输入 p1 的值,然后输出 p3 的值。如何仿真串口输入:ASSIGN WIN2 S1OUT(如果你在 DeviceDatabase 选的单片机类型4有第二个串口,否则 WIN2 也都是 NUL,如果选择的单片机类型没有第二串口,是没有 S1IN和S1OUT 这两个虚拟寄存器的,你可以通过 dir vtreg
12、命令查看当前的定义了的虚拟寄存器值)peripherals-serial channel 中令 SBUF = 0 x55 是指发送即时数给发送寄存器,若要从串行口读入数据,在命令行中输入 sin=你的数据即可向串行口送入数据.窗口中 SBUF 中的数据是发送寄存器中的数据,不是接收寄存器中的数据!单片机串口指向到了 PC 机的串口上,这样就可以在 pc 机的环境下模拟单片机对外部设备的操作了,此时把 pc 串口和外设连接,此时 pc 的串口 = 你单片机的串口。注意:模拟单片机运行时,单片机串口速率是由 MODE 命令来指定的,和 C 程序中对 SMOD,TH1 的值无关(但是在烧写到单片机上时,smod,th1 要设定好)。Serial#1 上面的是单片机发出的数据。d_line 上输入 sin=value,value 是模拟外设传过来的数据。sprf 是从串口输出的(当然也可以改写 phar 函数),可以用根串口线计算机的COM1,COM2,这是针对有两个串口接口的计算机,然后在 DEBUG 模式MODE COM1 19200,0,8,1 ASSIGN COM1 SOUT令行加下两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村级工程招投标采购制度
- 县医院政府采购管理制度
- 企业采购及配送制度
- 三家比价采购制度
- 采购部工作考核制度
- 企业采购肉类管理制度
- 从严落实采购制度
- 央企政府采购制度规定
- 扬州技术转让采购制度
- 药品不规范采购制度
- 《合并报表编制》课件
- 县村(社区)“两委”换届选举工作责任清单范文
- 临床静脉导管维护专家共识
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案)
- 新版RCPMIS信息报送
- DL∕T 1683-2017 1000MW等级超超临界机组运行导则
- DL-T-710-2018水轮机运行规程
- JJF 2119-2024低气压试验箱校准规范
- 境内汇款申请书模板
- 在线网课学习知道《秀场内外-走进服装表演艺术(武汉纺织大学)》单元测试考核答案
- (正式版)JBT 3300-2024 平衡重式叉车 整机试验方法
评论
0/150
提交评论