1. 开发环境搭建:安装Keil软件,第一次使用Keil时需注册,点击File->License Management->Single-User License-> CID到产生注册码的软件KEIL_LIC->将产生的注册码再到New License ID Code(LIC)->Add LIC。
2. USB下载线第一次使用时要安装驱动(USBasp)。
3. 新建工程。Profect->New uVision Project->输入文件名(无扩展名)->保存->选择CPU->File->New->保存(输入文 件名,带扩展名)->右击Project Workspace窗口的工程文件夹->Add Files to Group '工程名‘->选择要添加的文件-> 开始写代码(头文件 、main函数等)->编译。
4. 要下载到单片机中执行,需要编译成.Hex文件(设置Options for target->Output->勾选Create HEX File)->编译后在 工程目录会就回生产.hex文件。
5. 下载软件为PROGISP(调入Flash即选择hex文件,选择自动即开始下载程序)。
关键字:嵌入式学习 51单片机 开发环境搭建
引用地址:
嵌入式学习笔记2——51单片机之开发环境搭建
推荐阅读最新更新时间:2024-03-16 14:55
在Linux下51单片机的开发环境搭建详细程序编写详细概述
在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了。 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDCC是否可用,这是个网上找的简单的流水灯代码 test.c, 用来测试 #include 8051.h #define uint unsigned int #define uchar unsigned char uchar tab = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void Delay(uint xms) { uint i,j; for(i=xms;i 0;i--) for(j
[单片机]
51单片机与USB芯片PDIUSBD12接口固件程序
此函数库可以直接使用PHILIPS的Demo驱动D12TEST 以下只用了端点1进行控制传输,端点2的数据传输自己添加,没有使用 DMA 功能,为简单的固件程序 /************************************************************************** PHILIPS PDIUSBD12 FIRMWAR COPYRIGHT (c) 2005 BY JJJ. -- ALL RIGHTS RESERVED -- File Name: D12_USB.h Author: Jiang Jian
[单片机]
基于51单片机设计的公交车LED屏
一、项目介绍 为了提高公交车站点信息的实时性和准确性,方便乘客及时了解公交车到站信息,从而提高公交出行的便利性和舒适度。传统的公交车到站信息是通过人工喊话或者静态的站牌来实现的,这种方式存在信息不及时、不准确、不方便等问题。当前设计基于STC89C52单片机和MAX7219点阵LED驱动模块的公交车LED屏,通过SYN6288进行语音播报到站信息,可以更加准确地展示到站信息,提高公交出行的效率和便利性。 通过STC89C52单片机控制MAX7219点阵LED驱动模块,将需要显示的信息转化成点阵图像,然后通过MAX7219点阵LED驱动模块控制2*8的LED显示屏显示出来。同时,通过SYN6288语音模块,将到站信息转化成语音播
[单片机]
8051单片机端口结构—P1口
P1口也是一个准双向口,作通用I/O使用。 从P1口的结构上可以看出,P1口输出驱动部分与P0口不同,内部有上拉负载与电源相连。实质上电阻是两个场效应管FET并在一起,一个FET为负载管,其电阻固定;另一个FET可工作在导通或截止两种状态,使其总电阻值变化近为0或阻值很大两种情况。当阻值近似为0时,可将引脚快速上拉至高电平,当阻值很大时,P1口为高阻输入状态。当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻。在端口用作输入时,也必须先向对应的锁存器写入“1”,使FET截止。由于片内负载电阻较大,约20-40K欧。所以不会对输入的数据产生影响。
[单片机]
51单片机之计时器与计数器
CPU时序的有关知识 振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期) 状态周期:2个振荡周期为1个状态周期,用S表示。振荡周期又称S周期或时钟周期。 机器周期:1个机器周期含6个状态周期,12个振荡周期。 指令周期:完成1条指令所占用的全部时间,它以机器周期为单位。 例如:外接晶振为12MHz时,51单片机相关周期的具体值为: 振荡周期=1/12us; 状态周期=1/6us; 机器周期=1us; 指令周期=1~4us; 初始化程序应完成如下工作: 对TMOD赋值,以确定T0和T1的工作方式。 计算初值,并将其写入TH0、TL0或TH1、TL1。 中断方式时,则对EA赋值,开放定时器
[单片机]
8051单片机定时器溢出中断与CPU响应中断的时间误差分析
1 前言 单片机内部一般有若干个定时器。如8051单片机内部有定时器0和定时器1。在定时器计数溢出时,便向CPU发出中断请求。当CPU正在执行某指令或某中断服务程序时,它响应定时器溢出中断往往延迟一段时间。这种延时虽对单片机低频控制系统影响甚微,但对单片机高频控制系统的实时控制精度却有较大的影响,有时还可能造成控制事故。为扩大单片机的应用范围,本文介绍它的定时器溢出中断与CPU响应中断的时间误差、补偿误差的方法和实例。 2 误差原因、大小及特点 产生单片机定时器溢出中断与CPU响应中断的时间误差有两个原因。一是定时器溢出中断信号时,CPU正在执行某指令;二是定时器溢出中断信号时,CPU正在执行某中断服务程序。 2.1. C
[单片机]
51单片机程序执行的过程
单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条 指令 的过程。计算机每执行一条 指令 都可分为三个阶段进行。即取指令-----分析指令-----执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。 计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。 一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内
[单片机]
基于8051单片机的频率测量技术
0 引言 随着无线电技术的发展与普及,"频率"已经成为广大群众所熟悉的物理量。而单片机的出现,更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而,小体积、价廉、功能强等优势也在电子领域占有非常重要的地位。为此.本文给出了一种以单片机为核心的频率测量系统的设计方法。 1 测频系统的硬件结构 测量频率的方法一般分为无源测频法、有源测频法及电子计数法三种。无源测频法(又可分为谐振法和电桥法),常用于频率粗测,精度在1%左右。有源比较法可分为拍频法和差频法,前者是利用两个信号线性叠加以产生拍频现象,再通过检测零拍现象进行测频,常用于低频测量,误差在零点几Hz;后者则利用两个非线性信号叠加来产生差频现象,然后通过检测零差现象进
[测试测量]