网站首页 > 资源文章 正文
关注不迷路ヾ(≧O≦)〃嗷~
写到现在,感觉这一个小系列终于快结束了(我有预感。本节结束不了、、ヽ(°◇° )ノ),在最初开始这个小系列时,感觉知识点就这么点,没想到能写这么多(写前几篇的时候,感觉太累了,想放弃,但是反过来想一下,这么就容易放弃,怎么能成功,就像小说中一样,我们看小说感觉主角自带主角光环,干啥都牛的一批,但我们却将主角动不动就闭关修炼的情节过滤掉,和光环比起来,过程总是显得很平凡。“吃得苦中苦方为人上人”连通往成功的苦处都经历不了,怎么能达到终点,我们学习也一样,慢慢来,慢慢积累,不放弃,定能成功ヾ(???ゞ))
从上图这个sfr讲起
结合这两张图,我们能发现一点猫腻(需要有火眼金睛才可以啊!!),比如图二中,IE对应的地址是0A8H,而图一中有 sfr IE = 0xA8;(其他的也是,自己可以对对,我就不写了) ,看到这里不由嘀咕一声,这个sfr什么鬼??那下面再交给大家一点新技能、、(注意学,很重要!!!)(都是修仙经验,赶快拿着小本本记着^~^)
这个流程自己一定要多走几遍!!!!
打开之前的演示文档,或者自己创建一个
打开reg52.h(鼠标放在左面那个箭头处,右键,选择第二个)
如图所示,添加一行(不要问我为啥添加这一行,我就是看这个顺眼ヾ(=???=)?喵?)
返回主程序,添加如图示三行(各位大佬也别说我不会命名变量了,我知道这个事啊、、)
点击编译(注意,这里一定要点击编译,不然没有仿真效果)
点击该图标,进行仿真(激动不,第一次keil uVision上的仿真啊!!)
这里只讲一下相关的操作 1 2 3,其他的可以自行百度一下
1 是单步仿真(你每点击一次,程序就运行一个程序步骤(体会一下单步的含义!!要学会望文生义ヾ(?ω?`?)))
2 是添加一个监测窗口,在这个窗口里可以监测你定义的变量数值(就是监督的意思,小伙子,要好好学习,莫要被查水表啊^~^)
3 是查看单片机中的存储器中的数值(比如查看地址为0xA8的存储器中的数值)
按照操作添加监视窗口
添加监视变量,我们之前定义的u,(不遵守法律的话,这个地方会变成你的名字奥^~^)
添加内存监视窗口
在地址中输入 D:0xA8;
这里讲一下前面为什么会加“D:”,而不是直接输入0xA8。
在这里D、 I、 X、 C分别代表着直接寻址的片内RAM、间接寻址的片内RAM、扩展的外部RAM和ROM。我们需要查看直接寻址的片内 RAM(关于直接寻址和间接寻址我还没有讲到,各位可以查一下百度),因此用D。
在仿真前先看一下内存中0xA8的数值,如图,此时为0
仿真前,看一下变量u的值,此时为0
单步仿真,点击两次
仿真是的箭头达到如下图所示位置
查看位置为0xA8的存储器的值
查看变量u的值
到这里我们分析一下,在程序中,好像没有对地址0xA8进行操作,那么该地址内的数值是怎么改变的呢??我们只对IE进行了操作,那IE又是什么呢?
在reg52.h中,好像有 sfr IE =0xA8;这样的话,好像有点头绪了,通过使用sfr,可以使我们对IE所代表的存储位置的存储器的内容进行操作(那如果定义sfr TE =0xA8,的话,会不会有同样的效果,答案是对的,我们已经试验过,只不过是用读的方式)。
这么一来,大家对程序的编写是不是有了一个大概了解了。我在最初学单片机时,在这个地方一直迷茫,我写程序也没有对地址进行操作啊,那程序是怎么在单片机中执行的呢???因为知道这里比较难懂,所以才提前写一下^~^。
这些是用keil uVision 进行仿真最基础的一部分,大家一定要练习一下。
下一节就剩下“程序是如何运行”了,这个系列终于要结束了ヾ(???ゞ)。
猜你喜欢
- 2024-10-04 嵌入式工程师到底要不要学习ARM汇编指令?
- 2024-10-04 ADC0832简易数字电压表C语言(c51数字电压表)
- 2024-10-04 新建一个STM32的Keil V5工程(keil5新建stm32工程详细图解)
- 2024-10-04 单片机STM32开发,自学第一天(stm32单片机编程教程)
- 2024-10-04 STM32单片机开发之打通调试信息输出功能
- 2024-10-04 想学嵌入式?keil都不会用可不行(嵌入式学啥语言)
- 2024-10-04 Arm Keil MDK v5.30版本官宣,快来下载
- 2024-10-04 如何使用VS Code 编辑Keil项目(51/STM32)
- 2024-10-04 关于KEIL,你应该知道的事(keil的主要功能和作用)
- 2024-10-04 单片机入门教程之Keil实用教程(单片机编程步骤keil4)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)