如何在 KEIL C51(v6.21) 中调用汇编函数的一个示例
2012-06-02 12
如何在 KEIL C51(v6.21) 中调用汇编函数的一个示例 [ycong_kuang]有关c51调用汇编的方法已经有很多帖子讲到,但是一般只讲要点,很少有对整个过程作详细描述,对于初学者是不够的,这里笔者通过一个简单例子对这个过程进行描述,希望能对初学者有所帮助。几年来,在这个论坛里笔者得到很多热心人指导,因此也希望藉此尽 .. [查看全文]
SAA3010红外遥控接收Keil C程序
2012-06-02 10
//用单片机进行红外遥控接收已经是很平常的应用了,基本上稍懂单片机就可以自己编// //但往往很多人编的程序要么繁琐,要么占用大量存储器、CPU资源,// //而且用于现场时还可能因为受到干扰而不能正常工作// //真正试过的都会发现,要想编个真正好用的接收程序不是那么简单的// //其实,所有遥控芯片的编码都是比较简单的(有 .. [查看全文]
浅谈C51内存优化
2012-06-02 12
对 51 单片机内存的认识,很多人有误解,最常见的是以下两种超过变量128后必须使用compact模式编译128以上的某些地址为特殊寄存器使用,不能给程序用由于内存比较小,一般要进行内存优化,尽量提高内存的使用效率。以 Keil C 编译器为例,small 模式下未指存储类型的变量默认为data型,即直接寻址,只能访问低 128 个字节, .. [查看全文]
80C51 系列单片机仿真器选购指南
2012-06-02 16
第一章为什么要使用仿真器? 1.1 仿真的概念 仿真的概念其实使用非常广,最终的含义就是使用可控的手段来模仿真实的情况。 在嵌入式系统的设计中,仿真应用的范围主要集中在对程序的仿真上。例如,在单片机的开发过程中,程序的设计是最为重要的但也是难度最大的。一种最简单和原始的开发流程是:编写程序-烧写芯片-验证功能 .. [查看全文]
一种基于C51的多任务机制及应用
2012-06-02 王辉堂 颜自勇 陈文芗 8
传统的单片机程序一般采用单任务机制,单任务系统具有简单直观、易于控制的优点。然而由于程序只能按顺序依次执行,缺乏灵活性,只能使用中断函数实时地处理一些较短的任务,在较复杂的应用中使用极为不便。嵌入式多任务操作系统的出现解决了这个问题。在多任务系统中,可以同时执行多个并行任务,任务之间可以相互跳转。但 .. [查看全文]
AT89C51单片机智能语音拨号报警系统
2012-06-02 王珺艳 徐玉峰 柴新禹 15
随着人们生活水平的提高和安防意识的增强, 急需开发面向大众、价格低廉、运行可靠的自动报警系统。鉴于住宅电话和移动通信设备的普及, 以及电话语音报警的快捷、有效及价格低廉等优点, 公共通信网成了报警系统的最佳传输媒介。本文介绍的报警系统就是在此基础上发展起来的一种智能语音拨号报警系统, 该系统可广泛用于各种对安 .. [查看全文]
51单片机 Keil C 延时程序的简单研究
2012-06-02 9
发信站: BBS 水木清华站 (Fri Apr 15 10:54:23 2005), 站内ft2 (to2too) 于(Mon Apr4 23:20:41 2005)提到:by: InfiniteSpace Studio/isjfk, 1.21.2004任何人都可以在注明原作者和出处的前提下随意转载这篇文章,但不得用于商业目的。应用单片机的时候,经常会遇到需要短时间延时的情况。需要的延时时间很短,一般都是几 .. [查看全文]
C51指针类型和存储区的关系详解
2012-06-02 11
一、存储类型与存储区关系 data--->可寻址片内ram bdata--->可位寻址的片内ram idata--->可寻址片内ram,允许访问全部内部ram pdata--->分页寻址片外ram (MOVX @R0) (256 BYTE/页) xdata--->可寻址片外ram (64k 地址范围) code--->程序存储区 (64k 地址范围),对应MOVC @DPTR 二、指针类型和存储区的关系 对变量进行声 .. [查看全文]
基于AT89C51单片机的节拍器
2012-06-02 李桂平 黄有全 12
目前市场上的机械摆动式结构的节拍器节拍声音单调,调节不便,节拍准确度不高,且容易损坏,价格高。为此用AT98C51 单片机为控制核心设计制作了用鲜艳颜色的数码管显示节拍数的节拍器,看得见节拍数,听得清节拍声,克服了机械式节拍器的不足。 1 硬件电路原理 节拍器以AT89C51 单片机为控制中心,由LED 显示模块、调节键盘模块、声 .. [查看全文]
89C51编程器
2012-06-02 22
#include "at89x52.h" #include "stdio.h" #include "intrins.h" #include "ctype.h" sbit rdy = P3 ^ 2; sbit vpp = P3 ^ 3; sbit p26 = P3 ^ 4; sbit p27 = P3 ^ 5; sbit p36 = P3 ^ 6; sbit p37 = P3 ^ 7; sbit prog = P2 ^ 7; void init_serial() { SCON = 0x50; /*mode 1*/ TMOD = 0x20; TH1 = 0xfd; PCON = 0x80; /*38400bps* .. [查看全文]
KeilC51怎样将子程序段定位在固定的地址位?
2012-06-02 8
以下2问题均要用C51解决 1。 怎样将1个子程序段定位在1个固定的地址位置? 例如将 INT BCD2HEX(INT XX)定位在1000H 2。 HOW在EEPROM 中固定的位置存放1字符串? 如在200H处放“COPYRIGHT 2001-11” 答: 函数定位与变量定位... 1、函数定位: 假如要把C源文件 tools.c 中的函数 int BIN2HEX(int xx) { ... } 放 .. [查看全文]
I2C总线高频头控制Keil C51程序(PLL芯片为TSA5522系列)
2012-06-02 79
/*I2C总线高频头控制Keil C51程序(PLL芯片为TSA5522系列)*/ //--------------------------------------------------------------------------// //源程序大公开// //(c) Copyright 2001-2003 xuwenjun// //All Rights Reserved// //V1.00// //----------------------------------------------------------- .. [查看全文]

本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号