推荐阅读最新更新时间:2024-03-16 13:59
如何仿真单片机的外围设备
摘要:单片机开发需要良好的软件开发环境支持,现国内外已经有若干软件仿真器支持51系列单片机,但外围设备的仿真仍是软件仿真的一个薄弱环节。本文针对目前较为流行的Keil公司的51单片机软件仿真器,介绍如何利用VC++编写动态链接库,仿真单片机外围设备,从而为软件仿真器提出一新思路。
关键词:单片机 仿真 动态链接库
1 问题提出
目前,单片机因其诸多特点,在各行各业中得到了广泛的应用。单片机本身只有一个电子器件,只有和其它器件、设备有机地组合在一起,并配置适当的工作程序(软件)后,才能构成一个单片机的应用系统。因此,单片机的开发包括硬件和软件两个部分。单片机本身没有自开发功能,必须借助于开发工具。近年来,
随着个人计算机系
[单片机]
51单片机由软件实现的PWM控的LED渐亮、渐暗效果
#include reg51.h sbit LEDR= P2 ^ 5; //P2.0引脚上接了一个红的发光二极管 sbit LEDG = P2 ^ 6; //P2.1引脚上接了一个绿的发光二极管 void delay (unsigned char d){ // 延时功能函数--由d决定延时长度 unsigned char i; while( d-- != 0) { for(i = 0; i 8; i++); } } void delay1 (unsigned int d){ // 延时功能函数--由d决定延时长度 unsigned char i; while( d-- != 0)
[单片机]
关于MSP430单片机数字与字符转换的问题
今天在调试过程中碰到的最头疼的问题就是在数字与字符串转换的问题,在网上找到相关的函数sprintf(),但一直出问题,原始代码: unsigned char *s; sprintf(s, Value=%f.3 ,tmp); // tmp为一浮点数 DispStr(0,2,s); 在sprintf函数处出现一个警告,但能通过。下载至单片机,LCD2004在指定位置没有显示。 改进后的代码 char s ; sprintf(&s , Value=%f.3 ,tmp); // tmp为一浮点数 DispStr(0,2,(unsigned char *)s); 下载至单片机一切正常,只不过在小数点后面
[单片机]
51单片机(十八)—— 定时器0实例测试
在本文中,我们对51单片机的定时器0进行测试。用定时器0来定时,并用来控制LED闪烁。定时器0的初始化代码如下所示。 void init_T0(void) { TMOD|= 0x01; //使用方式1,16位定时器 TH0=0x00; //给TH0和TL0赋初值,计数器由0开始计数,到65535溢出 TL0=0x00; EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 } 在这个实验中,采用定时器0的方式1进行定时。方式1为16位定时器方式。TH0和TL0的初始值都设置为0x00,则定时器0的计数为由0计数到65535之后
[单片机]
ATmega8单片机在LED遥控照明中的应用
引言 LED照明已经进入了家庭用户,与传统的照明设备(如白炽灯、荧光灯)相比,具有光源单色纯度高、色彩多样、效率高、光强度可调等优点。针对传统照明亮度不易调节、开关位置固定的问题,本文基于AVR单片机设计了一种LED遥控照明系统,提出了LED照明灯的驱动与亮度调节的方法。 1 LED照明灯控制系统原理 系统原理图如图1所示。当红外接收器接收到红外遥控信号时,通过外部中断将AVR单片机从休眠模式中唤醒;AVR单片机开始解析红外信号,如果与系统地址匹配,则将根据解析到的命令改变LED恒流源驱动的输入,从而改变LED灯的状态。 2 系统硬件设计 2.1 控制器 控制器采用AVR单片机ATmega8。ATmega8是A
[单片机]
基于单片机的modbus例程详细
#include reg51.h #define uint8 unsigned char #define uint16 unsigned int #define FOSC 16000000 uint16 BAUD=9600; uint16 TEMP_Alert=1000; //字地址 0 - 255 (只取低8位) //位地址 0 - 255 (只取低8位) /* CRC 高位字节值表 */ const uint8 code auchCRCHi = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0/**/, 0x80, 0x41, 0x00, 0xC1, 0x
[单片机]
51单片机-超声波模块
1.超声波模块型号 超声波模块是一种常用的测距工具,一般用在避障小车,水位监控系统中,本教程使用的模块型号为HC-SR04,外观形状大体如下 模块除了两个电源引脚外,还有TRIG,ECHO引脚,这两个引脚分别接我们开发板的P2.0和P2.1。 工作原理就是起初先给这两个引脚都拉低,然后让TRIG引脚拉高10微秒以上再拉低产生一个脉冲起始信号(程序中我们是拉高20微秒)。起始信号一开启,ECHO引脚就会被拉高的同时,超声波开始发射,ECHO引脚检测到反射回来的信号时就会被拉低,因为声速为340m/s。那么测出的距离就是 (ECHO引脚高电平持续的时间*340m/s)/2。 中学学过用声波测海底深度,时间*声速=来回的距离,所以
[单片机]
汽车微控制器介绍
随着智能汽车的发展,用户对汽车的安全性、稳定性、智能化不断提出更新的要求。车载各项功能的实现都需要复杂的芯片组和算法的稳定支持,MCU将发挥更大的作用。 什么是汽车微控制器? 汽车微控制器又称MCU,是汽车电气控制系统的核心部件。MCU必须具备良好的高温性能和稳定性,才能控制车内所有电子系统,包括多媒体、音响、导航、悬架等。与普通MCU相比,汽车MCU对品质要求更高,在复杂环境下不易损坏汽车的。一般来说,最重要的是可靠性和温度范围,民用级为0-70℃,工业级为20-85℃,汽车级为40-85℃。 MCU将成为“汽车大脑”的重要组成部分,是汽车的智能大脑,发挥着“思考、计算、控制”的核心功能。随着汽车电子电气架构向集中式
[嵌入式]