1)一定要使用微软的txt文本编辑器,否则键入逗号时编译通不过.应该是这个样('),不该是这个样(,). 2) 用数字做标号时,前面一定要加一个英文字母,否则编译通不过. 3) 有时编译通过的.asm源文件却不产生.hex文件!原因是keil软件的设置没有勾选“产生hex文件:另一个是存放.hex的文件夹中删除过其他的.hex文件. 4) 用VU2新建文件键入源程序时,先键入程序部分,编译后,再键入注释部分:此外,不能用中文输入法输入分号,最好用大写输入程序部分及注释部分前面的分号,否则注释部分…
一.引言 单片机软件开发过程中,软件调试遇到的各种问题常令初学者感到不知所措.实际上.各种仿真开发软件的程序调试基本方法和技巧大同小异,掌握正确的程序调试基本技巧.对于排查这些程序错误问题可以起到举一反三.事半功倍的效果.软件调试是单片机技术人员必须掌握的重要基本技能. 下面以单片机常用开发软件Keil为例,通过一个项目任务实例来介绍单片机软件仿真与调试的方法. 二.Keil仿真与调试 点击运行软件Keil uVision2.其调试操作步骤大体可以分为5步: 1.创建工程 在项目开发中,并不是仅…
导读:PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值). PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,广泛应用在从测量.通信到功率控制与变换的许多领域中. 本文引用地址:http://www.eepw.com.cn/article/272990.htm PWM是什么——PWM原理 脉宽调制(PWM)基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系…
/*************************************** 本例程为IO直接驱动LCD的方法 以下是松瀚MCU汇编源程序 ****************************************/ LCD 图形如下: LCD真值表如下: ;源程序如下: ;驱动IO定义 P_COM3 EQU P5.4 P_COM2 EQU P5.3 P_COM1 EQU P5.2 PM_COM3 EQU P5M.4 PM_COM2 EQU P5M.3 PM_COM1 EQU P5M.…
(1)Source Insight查看ARM汇编源程序.做ARM嵌入式开发时,有时得整汇编代码,但在SIS里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都包含进来,默认只加了.inc和.asm后缀的, .s后缀的没有.而且用SIS打开.s的文件时,一片黑白没有色彩, 感觉回到DOS的EDIT时代里了.      解决方法是在Options->Document Options里面,点左上的Document Type下拉菜单,选择x86 Asm Sour…
我们在开发一款新的MCU的时候,偶尔会遇到Keil软件没有对应的Device设备选型,以下,我们以STM32F407VGT6作为实例来演示整个环境的搭建过程: 一.如下所示,我需要选择的是ST公司的STM32F407VGT6系列的单片机,但是没能找到,我们需要解决的第一个问题来了,安装ST公司针对keil的最新的软件SDK. 这里面没有我需要的STM32F407VGT6芯片. 那我们就需要安装对应的Device Pack,我们进入到keil的官网找到pack目录对应的网页(http://www.…
VS编写汇编代码方法 新建空项目,不创建解决方案 项目右键,Build Customizations,选择masm 新建源文件,后缀为.ASM 编写代码 .386 ; Tells MASM to use Intel 80386 instruction set. .model flat,stdcall ; Flat memory model option casemap:none ; Treat labels as case-sensitive include \masm32\include\wi…
Keil软件下用Jlink无法识别芯片 硬件:正点原子探索者 软件:keil J-Link固件版本:V9.40 J-Link V6.94b驱动:下载地址 跟着视频教程走,发现的第一个问题就是这个,记录一下解决方法 正确设置连接了J-Link和开发板,J-Link却亮起了红灯,芯片也识别不了>_< 所幸在网上找到了相同遭遇的人并解决了问题 问题出自我的高仿J-Link没有给电给板子,板子还是要另外上电... 加个电池,现已解决. 下载个走马灯看看…
最近,在用keil 写一个小程序时,想实践一下从汇编调用 C语言函数,我们都知道C语言调用汇编函数讨论得较多,但反过来,从汇编中调用C语言的函数未见深入分析:在开始的时候,还是忽视了一个问题,就是对现场的保护和还原,以导于程序跑飞. 下面的一个小的测试用例,主要作用是:从C语言程序中调用一个用汇编写的名为int LEDFLASH(int a, int b).并从该汇编函数中,反过来调言用C语言实现的delay()延时程序.最后的结果是:由P2口控制的LED灯出现闪烁的现象.    C语言源程序所…
在KEIL中的模块化程序写法在使用KEIL的时候,我们习惯上在一个.c的文件中把自己要写的东西按照自己思路的顺序进行顺序书写.这样是很普遍的写法,当程序比较短的时候比如几十行或者一百多行,是没有什么问题的.但是当程序很长的时候,比如你要用到LCD显示数据,就有几个LCD相关的函数,然后你想在LCD上显示温度,那么就要有DS18B20相关的操作,这又有几个相关的函数,如果你还想加上去DS1302的时间显示功能,那么又要多很多函数.这样的话一个程序下来几百行是很正常的事情,对于自己写的程序可能在自己…