没有合适的资源?快使用搜索试试~ 我知道了~
单片机开发中的一些实用技巧(下).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 9 浏览量
2022-07-04
12:07:05
上传
评论
收藏 24KB DOCX 举报
温馨提示
试读
7页
。。。
资源推荐
资源详情
资源评论
单片机开发中的一些实用技巧(下)
一。库函数的生成
当将自己开发的程序提供给他人使用但又不便公开源代码时,把源代码做成库函数是一
种可行的办法,这样可以保护自己的知识产权及利益,这里我们介绍生成库函数的方法及使
用。
/*------------程序名 test1.c------------*/
void delay(unsigned int k)
{
unsigned int i,j;
for(i=0;i
for(j=0;j<121;j++)
{;}}
}
1.按照 keil的使用方法,建立工程文件 test1.uv2并添加上面的源程序 test1.c。
2.点击工程,在弹出的下拉菜单中点 Options for Target ‘Target 1’,
在 Output 页面中,选中“Create Library:”后进行编译,则在指定的路径上
生成与项目同名的“Lib”文件(图 1)。需注意的是,存储模式(Large或 Small)
应与所使用的系统设置相同。
图 1
3. 建立另一个工程文件 test2.uv2。
/*------------程序名 test2.c------------*/
#include
图 2
5. 点击 Rebuild target(重建所有目标文件)即可得到编译结果(图3)。
图 3
二。修改 Startup.a51起始代码
单片机运行过程中免不了受干扰,有时可能会造成死机,我们可以使用 “看门狗
”来复位并重启单片机。根据笔者的经验,这时的内存区数据可能不一定会全部冲毁,
主要是 PC指针错乱所为。上海模拟电路/数字电路培训但使用 C51编写的程序在复位后会执
行一段 Startup.a51“起始代码”,导致内存全部清零,使正在运行的数据全部
丢失。解决这一问题的办法是修改 Startup.a51“起始代码”,本刊今年 1 月的
文章<谈谈 C 语言在单片机开发中的应用>也谈到这个问题,但许多读者在 keil集成开
发环境中不知怎么做?这里我们通过一个实验程序来详解一下,实验采用<手把手教你学
单片机>讲座的 S2试验板(S2板的电路原理见 2003年 2 月号<电子制作>)。
/*------------程序名 test3.c------------*/
#include P 晶振频率 11.0592MHz<>
#define uchar unsigned char
#define uint unsigned int
uchar code DATA_7SEG[10]={0xC0,0xF9,0xA4,0xB0,0x99,//0~9数码管字形码
0x92,0x82,0xF8,0x80,0x90};
uchar data counter1, counter2;//定义两个软件计数器
资源评论
G11176593
- 粉丝: 6670
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功