C51的一些误区和注意事项
2012-11-06 9
1)C忌讳绝对定位 常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作 用域,编译器就把一个固定地址给这个变量。怎么取得这个变量的地址?要用指针。比如unsigned char data x;后,x的地址就是&x, 你只要查看这个参数,就可以在程序中知道具体的地址 .. [查看全文]
Keil C51对同一端口的连续读取方法
2012-11-06 李大国 张庆明 11
C语言是当前举世公认的高效简洁而又非常贴近硬件的编程语言之一。将C语言向单片机MCS-51上的移植始于2O世纪8O年代的中后期,经过近1O年的发展,C语言克服了产生代码过长、运行速度较慢的缺点,并且由于C语言在开发速度、软件质量、结构化、可维护性等方面有着汇编语言无法比拟的优势,从而得到日益广泛的应用。Keil C51 .. [查看全文]
单片机驱动标准PC机键盘的C51程序
2012-11-04 9
功能:实现pc机键盘(p/s2接口)与8位单片机连接使用原理:键盘时钟接在p3.2口,既8051的外部中断int0上,键盘数据接到p1.0上,每次按键,键盘会向单片机发脉冲使单片机发生外部中断,数据有p1.0口一位一位传进来。传回的数据格式为:1位开始位(0),8位数据位(所按按键的通码,用来识别按键),1位校验位(奇校验)1位 .. [查看全文]
Keil C51键盘译码程序
2012-11-03 19
键盘译码程序是开发项目中最常用到的程序,它的好坏,直接影响着整个程序!现在介绍一个使用非常广泛的Keil C51键盘译码程序。在主程序中不断调用KeyBord(),可以不停地扫描键盘!在功能子程序中调用:unsigned charJB_KeyData(),得到键值#define TK8//主程序执行时间8ms #define Timer20ms(30/TK)//延时时间20ms # .. [查看全文]
连接多个相同地址I2C设备的C51程序
2012-10-24 大炮 21
本人初学C,曾为这个问题大伤脑筋^_^,就是一个单片机系统有两个以上的相同地址的I2C设备,无法用两个同一对SDA/SCL引脚,#include "stc89c51.h" #include "iic.h" sbit scl0 = P3 ^ 5; sbit sda0 = P3 ^ 4; sbit scl1 = P3 ^ 3; sbit sda1 = P3 ^ 2; //这里只写了两个I2C设备,如果需要可以再加上 sbit scl2=xx; sbit sda2=xx; 实际上多个 .. [查看全文]
C51指针小结
2012-10-22 济南大学机电实验室 11
一. 指针变量的定义指针变量定义与一般变量的定义类似,其形式如下:数据类型 [存储器类型1] * [存储器类型2] 标识符;[存储器类型1] 表示被定义为基于存储器的指针,无此选项时,被定义为一般指针。这两种指针的区别在于它们的存储字节不同。一般指针在内存中占用三个字节,第一个字节存放该指针存储器类型的编码(由编译时由 .. [查看全文]
混合式调度器C51源代码
2012-10-21 11
/*============================================================== 1ms时标 混合式调度器(一个抢占式任务,多个合作式任务) 作者:shadow.hu ===============================================================*/ #include #define ucharunsigned char #define ushort unsigned short #define SCH_MAX_TASKS .. [查看全文]
C8051F020与80C51单片机的异同点
2012-10-17 孙立香 赵不贿 刘星桥 8
1 引言 80C51系列单片机及其衍生产品在我国乃至全世界范围获得了非常广泛的应用。单片机领域的大部分工作人员都熟悉80C51单片机,各大专院校都采用80C51系列单片机作为教学模型。随着单片机的不断发展,市场上出现了很多高速、高性能的新型单片机。基于标准8051内核的单片机正面临着退出市场的境地。为此,一些半导体公司 .. [查看全文]
Keil C51 总线外设操作问题的深入分析
2012-10-16 8
阅读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C5l对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析。文章中提到的两种解决方法并不直接和简单。笔者认为这并非是 Keil C51中不能处理对一个端口进行连续读写的问题,而是对Keil C51的使用不够熟悉和设 .. [查看全文]
触摸屏芯片ADS7846/ADS7843驱动程序(C51)
2012-10-16 8
/* [文件名] Touch.c [功 能] 8051单片机驱动ADS7846/ADS7843芯片 [简 介] ADS7846/7843芯片 适合用在4线制触摸屏,它通过标准SPI协议和CPU通信,操作简单,精度高,当触摸屏被按下时(即有触摸事件发生)则ADS7846向CPU发中断请求,CPU接到请求后,应延时一下再响应其请求,目的是为了消除抖动使得采样更准确。如果 .. [查看全文]
AT24C01-AT24C256 的Keil C51读写程序
2012-10-14 12
/* 以下为AT24C01~AT24C256的读写程序,各人可根据自己的需要应用。在buf1中填入需要写入的内容,buf2的大小可根据需要定义。addr可根据使用的芯片选择,可从任何位置读写,只要在该芯片的范围内。enumer=ATxxx,根据使用的芯片赋值。各函数中的形式参数不需改变。本程序只要在调用的程序中定义实际参数即可,下述各 .. [查看全文]
Keil C51编译错误
2012-10-14 ≮孤☆星≯ 8
1.第一种错误信息 ***WARNING L15:MULTIPLE CALL TO SEGMENT SEGMENT:?PR?_WRITE_GMVLX1_REG?D_GMVLX1 CALLER1:?PR?VSYNC_INTERRUPT?MAIN CALLER2:?C_C51STARTUP ***WARNING L15:MULTIPLE CALL TO SEGMENT SEGMENT:?PR?_SPI_SEND_WORD?D_SPI CALLER1:?PR?VSYNC_INTERRUPT?M .. [查看全文]

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