Keil C51与标准C比较
2012-10-10 10
深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8类: 8051存储类型及存储区域 存储模式 存储器类型声明 变量类型声明 位变量与位寻址 特殊功能寄存器(SFR) C51指针 函数属性 具体说明如下(8031为缺省CPU)。 第一节 Keil C51扩展关键字 C51 V4.0版本有 .. [查看全文]
Keil 软件仿真的串口调试技巧
2012-10-08 邵子扬 黄保明 刘海涛 23
引言 在单片机系统中,串口(UART,通用异步收发接口)是一个非常重要的组成部分。通常使用单片机串口通过RS232/RS485电平转换芯片与上位机连接,以进行上位机与下位机的数据交换、参数设置、组成网络以及各种外部设备的连接等。RS232/RS485串行接口总线具有成本低、简单可靠、容易使用等特点,加上其历史悠久,所以目 .. [查看全文]
Keil C51编程几个有用的模块
2012-10-07 14
要包含一个单片机硬件的资源头文件。各模块使用了定义在Common.h中的一些数据类型。如:BIT(bit) BYTE(unsigned char)等,具体请参见源程序。时钟模块在单片机软件设计中, 时钟是重要资源, 为了充分利用时钟资源, 故设计本时钟模块。 本模块使用定时器0,在完成用户指定功能的同时, 还能够自动处理一些其它模块中与时钟相关 .. [查看全文]
红外避障电动小车C51程序
2012-09-12 123
#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int #define left_infrare 0 #define right_infrare 1 #define dj_state1 0X5F //前进 #define dj_state2 0X4F //右转 #define dj_state3 0X1F //左转 #define dj_state4 0X0F //后退 #define dj_state5 0XfF //停车 #def .. [查看全文]
AT89C51串并转换驱动数码管实验指导
2012-09-04 134
器件:74hc595.引脚说明:SDA:数据输入口。SH_CP:数据输入控制端,在每个 SH_CP的上升沿, SDA口上的数据移入寄存器, 在 SH_CP的第 9个上升沿, 数据开始从 QS 移出。ST_CP:数据置入锁存器控制端。Q0~Q7:数据并行输出端。 数据从SDA 口送入 74HC595 , 在每个 SH_CP的上升沿, SDA口上的数据移入寄存器, 在 SH_CP .. [查看全文]
基于89C51单片机的环境噪声测量仪
2012-09-03 潘启勇 娄维鸿 邬正义 40
摘 要 介绍了一种用单片机构成环境噪声测量系统的设计方法,给出了相关硬件框图和软件流程图。经校正测量误差小于1dB,测量范围为40~96dB,可用于一般环境下的噪声测量。 关键词 单片机 环境噪声 声压级 测量 环境噪声监测,是人类提高生活质量,加强环境保护的一个重要环节,在各大城市的繁华街区和居民区,已有大型 .. [查看全文]
C51实现PID算法
2012-07-23 11
关于PID的算法实现,很多书上都讲了。但是,最近真正要用PID算法的时候,发现书上的代码在我们51上来实现还不是那么容易的事情。简单的说来,就是不能直接调用。仔细分析你可以发现,教材上的、网上现行的PID实现的C语言代码几乎都是用浮点型的数据来做的,可以想象,如果我们的计算使用浮点数据,那我们的51单片机来运行 .. [查看全文]
Keil C51下快速小数运算算法
2012-06-11 廖仕利 陈渝光 万文略 14
1 引言实时控制系统程序设计中,常涉及到小数运算问题.计算机系统中用二进制表示小数的方法有定点数表示法和浮点数表示法.采用浮点数表示法表示的小数范围大、精度高,但程序代码长,运算速度慢.定点数表示的小数范围小、精度低,但程序代码短,运算速度快.使用C语言设计程序具有程序可读性强,编程方便等优点,但按常规 .. [查看全文]
基于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) { ... } 放 .. [查看全文]
可以在Keil下仿真的T9拼音输入法
2012-06-02 37
/*特点是直接在Keil下仿真,切换到串口窗口就可以直接看到结果。 体验仿真步骤如下: 1、把3个帖子的内容分别保存为51t9py.c,51t9py_indexa.h,5py_mb.h,放在同一目录下,将51t9py.c加入工程编译 2、由于Keil的模拟串口是单字节显示,汉字显示为乱码,所以要加挂RICHWIN或RichView这种会重新刷新显示的中文平台,或手工刷 .. [查看全文]

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