C8051F410实验指导书(2012)
C8051f410模数与数模转换器配置实验

万用表测试,以利于对比实验结果。 实验参考代码 D/A 转换:
#include <c8051f410.h>
// SFR declarations
sfr16 TMR3RL sfr16 TMR3 sfr16 IDA0
= 0x92; = 0x94; = 0x96;
// Timer3 reload value // Timer3 counter // IDA0 high and low bytes
TIMER3_Init(SYSCLK/SAMPLE_RATE_DAC);
EA = 1;
// Enable global interrupts
while(1) {} } 实验参考代码 A/D 转换: #include <c8051f410.h> #include <stdio.h>
// Wait for interrupt // SFR declarations
#define SYSCLK
24500000
// Internal oscillator frequency in Hz
#define SAMPLE_RATE_DAC 100000L
#define PHASE_PRECISION 65536
#define FREQUENCY
1000
// DAC sampling rate in Hz // range of phase accumulator // Frequency of output waveform in Hz
static unsigned phase_acc = 0;
// Holds phase accumulator
int SIN_temp; unsigned char index; phase_acc += PHASE_ADD; index = phase_acc >> 8; SIN_temp = SINE_TABLE[index];
基于C8051F410片上系统热偶校验仪的设计

置成 2m A模式 , A 1 置成 0 2 A模式 , DC设 .5 m 那 么DC A 0的数字量 D 。 每增加一个码其对应 的
模 拟 量增 加 △ n的大小 如公式 1所示 ; A 1的数 , D C
1 硬 件 电路
基 于 C 0 14 0片上 系统 设 计 的精 密 直 流毫 85F 1
摘要 : 介绍基于 C 0 1 40片上系统设计热偶校 验仪的方法. 出了使用 双路 1 85 F 1 给 2位 电流输出型 D A实 /
现l 5位分辨率 D A转换 的硬件 电路 , / 与辅助信号处理 电路一起 产生精密 直流毫伏 信号 , 通过软件处理 能够产生与预设 的测量 温度和冷端温度对应 的模拟 热偶用 的毫伏信 号 , 代替标 准热偶 用于测 温仪表 的 校验. 方法的应用可 以代替管式加 热炉热偶校验系统 , 该 有效降低校验过程 的能耗. 关 键 词 : 851 1; C 0 14 0 毫伏信号 ; 7 分辨率 ; 校验仪
1 1 C 0 1 4 O片上 系统基 本外 围接 口 . 8 5 1 F
C 0 140基本 外 围接 口电路是 保证 系 统正 85 F 1 常工作 的辅助 电路 , 包括 C 0 140片上 85 F 1 系统 工作 所需 要 的 JT A G接 口 、 电源退 耦 、 基 准滤 波 、 电 复 位 等 基 本 外 围 电 路 , 图 2所 上 如
1 3 信号 I . / V转 换及 放大调 理 电路
位器的阻值使系统的输出电压 o 在 一 0 U T l 一+ 7 V范围, 0 m 可满足热偶信号的输出范围 J .
,,
信号 IV转 换 及 放 大 调 理 电 路 的作 用 是 把 / /
l 5位 D A输出的电流信号转换成电压信号 , / 并将 其调理成所需的毫伏信号进行输出 ]信号的 I . / / V
C8051F410实验板使用手册【新】

一、C8051F410实验板原理图
二、C8051F410实验板装配说明
1、套件包括:元器件1袋(51个)、电路板1张(已经焊过贴片元件37个)、USB线1条;
2、,一般按照由低到高的顺序紧贴电路板焊接;
3、注意元器件的极性和方向问题;
4、红外发射LED、红外接收SM0038、温度测量DS18B20、LCD1602、LCD12864、串口连接线和纽扣电池等是预留做功能扩展的器件不包含在本套件中,暂时不必焊接。
三、C8051F410实验板照片
四、C8051F410实验板资源分布图
五、C8051F410实验板元件清单
名称
数量
说明
备注
贴片元件
和PCB板
C8051F410
1
已经焊接到电路板上了
1117-3.3
1
IN4148
2
10Ω
1
270Ω
8
510Ω
10
1KΩ
4
2.2KΩ
2
2.5KΩ
1
8050
1
22pF
2
0.1uF
4.7 uF
1
注意极性
10uF
8
注意极性
LED绿
1
注意极性
LED红
8
注意极性
按键
16
无极性
4
PCB板
1
电源线
USB线
1
直插元件
(共52个)
共阴四联数码管
2
注意方向
CH452
1
注意串口座(孔)
1
USB座
1
钮扣电池座
1
蜂鸣器
1
C8051f410利用SMBUS实现基于I2C器件操作实验

实验参 实验参考代码: 代码: #include <C8051F410.h> #define SYSCLK 24500000 #define SMB_FREQUENCY 50000 #define EEPROM_ADDR 0xA0 #define WRITE 0x00 #define READ 0x01 unsigned char bit WORD_ADDR; SMB_RW; // System clock frequency in Hz // SCL clock rate, between 10kHz and 100kHz // Device address(7 bits, lsb is a don't care). // SMBus WRITE command // SMBus READ command
// 是否伪读 // 时候重复发送 START 信号,轮询 // Timer3 reload registers // Timer3 counter registers
sbit LED = P0^5; sbit SDA = P0^2; sbit SCL = P0^3; void SMBus_Init (void) { SMB0CF = 0x5D; SMB0CF |= 0x80; }
// Used by the ISR to flag failed transfers // 收发字符个数 // Send a start
switch (SMB0CN & 0xF0) // Status vector { case 0xE0: // Master Transmitter/Receiver: START condition transmitted. SMB0DAT = EEPROM_ADDR; // Load address of the target slave SMB0DAT &= 0xFE; // Clear the LSB of the address for the R/W bit SMB0DAT |= SMB_RW; // Load R/W bit STA = 0; // Manually clear START bit i = 0; // Reset data byte counter break; case 0xC0: // Master Transmitter: Data byte (or Slave Address) transmitted if (ACK) // Slave Address or Data Byte Acknowledged? { if (SEND_START) { STA = 1; SEND_START = 0; break; } if(SMB_SENDWORDADDR) { SMB_SENDWORDADDR = 0; SMB0DAT = WORD_ADDR; if (SMB_RANDOMREAD) { SEND_START = 1; // Send a START after the next ACK cycle SMB_RW = READ;
新华龙单片机C8051F410学习板使用手册

目录一、学习板概括 (1)二、准备工作 (1)三、学习板硬件介绍 (3)四、实验程序 (5)实验一、跑马灯 (5)实验二、独立按键 (6)实验三、继电器控制 (7)实验四、P2口驱动数码管 (8)实验五、定时器 (10)实验六、99S倒计时 (10)实验七、TM1668 (11)实验八、AD采样模数转换+TM1668 (17)实验九、串口通信 (18)实验十、ADC+UART (19)实验十一、1602液晶显示 (19)实验十二、8Bit PWM输出 (21)实验十三、单线温度传感器18B20 (21)一、学习板概括:本手册适用于江南晶创科技推出的C8051F410单片机学习板、开发板第二版(V2.0)。
C8051F410单片机学习板由江南科技创办人朱发旺、陈家乐及其团队设计,版权归其所有!淘宝旗舰店(直销店),QQ交流群:112481187。
该学习板主控制芯片使用了新华龙(Silicon)单片机c8051f410。
配套JTAG 仿真器编程器U-EC5,该仿真器可以对C8051F大部分系列单片机进行仿真、调试、单步、烧录、下载、加密等操作。
学习板采用模块化设计,尽量做到各功能模块完全独立,互不干扰,减小初学者编程误区。
使是初学者可快速了解主板硬件电路的结构,尽快熟悉硬件电路,快速入门。
此外由于各模块可独立工作,所有引脚均已使用标准接口外扩,所以可以将模块用于其他场合,大大增加开发板的用途!二、准备工作:1、软件安装(1)本学习板配套的所有演示程序均使用C语言编辑,编写软件为Keil 51(Uvision4),推荐大家也是用此软件编程;(2)程序下载(烧写)软件使用的是U-EC5中文下载程序;(3)JTAG U-EC5 驱动程序,部分电脑系统可自动安装;注:以上软件均支持windows Xp/win7 32/64,JTAG仿真器支持USB2.0。
2、硬件连接使用C8051F410单片机学习板,需要USB MiNi接口数据线一根、IDC10芯下载线一根、JTAG(EC-3/5)仿真器一个、C8051F410单片机学习板主板一块。
C8051F系列实验指导书

第二章 C8051单片机实验内容
三 实验硬件电路,LED电路见图2-1,开关电 路见图2-2,
图2-1 八位LED灯电路图
第二章 C8051单片机实验内容
图2-2 拨档开关电路图
第二章 C8051单片机实验内容
C8051F020/1/2/3 内部有5 个计数器/定时器:其中三个16 位 计数器/定时器与标准8051 中的计数器/定时器兼容,还有两个 16 位自动重装载定时器可用于ADC、SMBus、UART1 或作为 通用定时器使用。
第一章:单片机实验设备简介
(5)、下载代码到FLASH: • 简单地按下生成工具栏中的下载按钮 或 使用Debug 菜单中的“Download”命令,就可 以下载程序到目标处理器的flash 中(注意: 只有在执行“Connect”命令后才能下载代码 到目标硬件)。 • 下载成功之后,点击运行/终止键(绿色圆点/ 红色)运行程序,再点即终止运行,终止后可 修改程序。
单片机与PLC技术实验指导书
实验地点: 一区主楼623房间 指导教师:胡振坤
进实验室领取C8051及PLC实验报告 带相关数据手册或课件,需要查阅。 不用带鞋套。
第一章:单片机实验设备简介
1.1 C8051F系统实验设备的组成 • NCD-CIP51F020 综合实验设备由 C8051F020 CPU 板和系统实验板二部分组 成,见图1-1,应用该设备可进行片上系统 单片机较典型应用的实验。
图2-3 定时器列表
第二章 C8051单片机实验内容
定时器3 是一个16 位的计数器/定时器,由两个8位的SFR组成, TMR3L(低字节)和TMR3H (高字节)。
图2-4 定时器3的工作方式
第二章
1 6 2 10
基于C8051F410单片机的流水灯设计与制作

实验五 基于C8051F410单片机的流水灯设计与制作一、实验目的1、 认识和了解单片机;2、 掌握基于C 语言的单片机程序设计;3、掌握51单片机的基本寄存器及I/O 引脚的操作;二、实验设备1、C8051F410开发板;2、计算机;3、LED 灯。
三、实验内容1、熟悉C8051F410单片机的内部资源;2、设计单片机I/O 驱动发光二级管的电路,C8051F410单片机I/O 口输出电平为3.3V ,发光二极管的点亮电流为2mA~10mA ,试计算需要接多大的限流电阻;单片机P 1.0P 1.1P 1.2P 1.3P 1.4P 1.5P 1.6P 1.7图1 单片机驱动发光二极管电路连接图3、参考讲义中给定的代码,完成8位流水灯设计任务,其中8位流水灯的动作顺序如下:状态1状态2状态3状态4状态5状态6状态7状态8状态9其中,8个发光二级管分别接在单片机的P1.0~P1.7上。
4、修改相应程序,使单片机按照以下时序完成亮灭状态1状态2状态3状态4状态5状态6状态7状态8附录:/*使用C8051F410,内部晶振24.5M不分频*/#include "c8051f410.h"sbit S2=P0^2; // S ='0' means switch pressedsbit S3=P0^3;sbit LED0=P1^0; // LED ='0' means ONsbit LED1=P1^1;sbit LED2=P1^2; // LED ='1' means ONsbit LED3=P1^3;sbit LED4=P1^4; // LED ='4' means ONsbit LED5=P1^5;sbit LED6=P1^6; // LED ='6' means ONsbit LED7=P1^7;void delay(int x){while(--x);}main(void){PCA0MD &= ~0x40; // WDTE = 0 关闭看门狗,上电默认打开P1MDOUT=0xFF; //P1.2和P1.3设为推挽输出方式,用于点亮LEDXBR1= 0x40; //打开交叉开关,使能弱上拉,要使GPIO生效,必须打开交叉开关LED0=0;LED1=0;LED2=0;LED3=0;LED4=0;LED5=0;LED6=0;LED7=0;while(1){LED0=1;delay(20000);LED0=0;LED1=1;delay(20000);LED1=0;LED2=1;delay(20000);LED2=0;LED3=1;delay(20000);LED3=0;LED4=1;delay(20000);LED4=0;LED5=1;delay(20000);LED5=0;LED6=1;delay(20000);LED6=0;LED7=1;delay(20000);LED7=0;}}。
基于单片机的氙灯起辉电源设计

2012年第7期仪表技术与传感器InstrumentTechniqueandSensor 2012No.7基金项目:北京市属市管高校人才强教计划资助项目(PHR201108253)收稿日期:2011-08-18收修改稿日期:2012-03-26基于单片机的氙灯起辉电源设计鲁甜,谷玉海,徐小力(北京信息科技大学机电系统测控北京市重点实验室,北京100192)摘要:为了设计出一种实用的高稳定性,高精度的氙灯电源,该电源以高速微控制器内核处理器C8051F410为核心,采用了增量式PID 算法融入到软件中的方法,通过控制单片机的D /A 输出来调整场效应管的导通状况来保证氙灯稳定发光,做了软、硬件的调试实验,经过实验研究表明,该仪器精度达到0.9%,能够较好地满足氙灯稳定发光的要求。
关键词:C8051F410;氙灯电源;PID ;校准中图分类号:TN86文献标识码:A文章编号:1002-1841(2012)07-0093-03Design of Xenon Lamp Starter Power Supply Based on Single Chip MicrocomputerLU Tian ,GU Yu-hai ,XU Xiao-li(Beijing Key Laboratory on Measurement and Control of Mechanical and Electrical System ,Beijing Information Science and Technology University ,Beijing 100192,China )Abstract :In order to design a high stability ,high accuracy practical xenon power supply ,which takes high-speed micro-con-troller core processor C8051F410as the core ,this paper adopted the method of integrating the incremental PID algorithm into soft-ware ,and through controlling the D /A converter of the single chip microcomputer to adjust the FET working state to stable the radi-ates of the xenon lamp.The experiment including software and hardware shows that the accurate of this equipment is up to 0.9%,the xenon lamp can meet the requirement of emitting light steady.Key words :C8051F410;xenon lamp supply ;proportion-integral-derivative (PID );calibration 0引言在太阳能模拟系统中,氙灯的光谱范围接近太阳光,因此有必要设计一款能够提供稳定输出信号的高精度、高效率、高可靠性的氙灯电源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IT01CF =();//P00输入中断,低电压触发
IE =();//打开中断
}
// Initialization function for device,
// Call Init_Device() from your main program
void Init_Device(void)
{
PCA_Init();
利用配置向导工具可方便地将看门狗禁止,如图1-13所示,由此得到的对应代码为:
PCA0MD &= ~0x40;
PCA0MD = 0x00;
3.2交叉开关使能
C8051F410的IO口或外围设备必须在交叉开关使能后才起作用,交叉开关使能语句为:
XBR1 = 0x40;
图1禁止看门狗
3.3系统时钟选择
C8051F410与传统的单片机相比,在系统时钟上有更灵活的配置,可选外部晶振、RC震荡、电容震荡和内部晶振等,内部晶振精度为±2%,具体可见数据手册相关介绍。在本实验中选择内部晶振,内部晶振初始频率为24.5MHZ,系统时钟可选为晶振的分频,本实验选择8分频。应用配置向导可轻松完成配置,如图1-14所示,首先选择振荡器设置菜单,再选择内部晶振8分频,其它按默认设置,如图1-15。完成配置后,会自动产生如下代码:
{
ledP04=1;
ledP05=0;
delay(500);
ledP04=0;
ledP05=1;
delay(500);
} }
4、编写相应的水平垂直校验码校验的纠错程序。将上节课程序中的校验码结果的任何一位取反后,输入水平垂直校验码校验及纠错程序,观察校验结果,并纠错。
四、预习要求
1、熟悉交叉开关的配置方法
{
OSCICN = 0x87;
CLKSEL = 0x00;
}
void PORT_Init (void)
/////////////////////////////////////
// Generated Initialization File //
/////////////////////////////////////
#include "C8051F410.h"
// Peripheral specific initialization functions,
3.5*、编写水平垂直校验码(奇校验/偶校验)生产程序。将你的11位学号生产水平垂直校验码,你的11位学号可以用ASCII码、BCD码或二进制编码的一种来表示,然后每7位或8位分别进行奇校验,这就是水平校验,对应的校验位存储位置可以自己规定。需要注意的是,位类型不能定义数组。6、再将上述的水平校验码,进行垂直校验,垂直校验位的存储位置也自己规定,得到水平垂直校验码,记下校验码结果。
sbit ledP04=P0^4;
sbit ledP05=P0^5;
sbit INT00=P0^0;
// Peripheral specific initialization functions,
// Called from the Init_Device() function
void PCA_Init()
2、仿真器(U-EC6) 1只
3、PC机 1台
三、实验内容
1、认识F410单片机开发系统的结构。
图1-1 51单片机开发系统的结构
2、初步认识仿真器软件和Keil C51软件界面及使用,参见附录1。
3、熟悉C8051F410单片机的初始化步骤。
3.1禁止看门狗
C8051F410在默认状态下是打开看门狗的,看门狗的作用是防止程序死机,其原理是程序在看门狗复位之前必须对看门狗计数器进行清零,以告诉看门狗程序在正常执行,若在看门狗规定时间周期内,程序没有对看门狗计数器进行刷新,则看门狗认为程序死机,则自动复位。但在调试过程中,反复对看门狗进行刷新,只会增加调试复杂性,故在调试阶段可将看门狗禁止。
{
PCA0MD &= ~0x40;
PCA0MD = 0x00;
}
void Port_IO_Init()
{
//P0MDOUT = 0x01;
XBR1 = 0x40;
//INT00 = 1;
}
void Oscillator_Init()
{
OSCICN = 0x84;
}
void Interrupts_Init()
(2)使用导线连接P0.0与P0.1脚,将产生的方波信号通过输入CEX0进行捕捉,PCA0时基输入选择为定时器T0的溢出,通过计算,可以求到方波的周期。
说明:在代码中定义一全局整型变量capture_period,用来保存PCA0在相邻的两次正边沿捕捉期间,PCA0中定时器计数的次数(前后两次计数值之差),PCA0的定时器每10us计数一次,方波的周期为500us,故capture_period= 500/10 = 5 0= 32H。
Port_IO_Init();
Oscillator_Init();
Interrupts_Init();
}
void delay(int i)
{
int j,k;
for(j=0;j<i;j++)
{
for(k=0;k<1000;k++);
}
}
void main(void)
{
Init_Device();
while(1)
《 单 片机原 理与应 用 》
实 验 指 导 书
பைடு நூலகம்温州大学物理与电子信息工程学院
2012年9月
一、实验目的
1、了解本实验课程的主要内容和学期任务
2、掌握仿真器及其软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等。
3、掌握C8051F410单片机初始化步骤和方法;
二、实验仪器
1、自制的C8051f410实验开发板 1块
2、掌握c8051f410单片机片内PCA0边沿触发的捕捉工作方式;
3、掌握仿真器及Keil软件的使用,初步掌握程序的调试方法,包括跟踪、单步运行和断点设置等。
二、实验仪器
1、自制的C8051f410实验开发板 1块
2、直流稳压电源、示波器 各1台
3、仿真器(U-EC6) 1只
4、PC机 1台
三、实验内容
3、利用PCA产生可调频率的方波输出,用示波器进行观察,并可由函数控制频率参数。使用键盘对方波频率进行调节。
4、利用PCA产生占空比可调的PWM输出,用示波器进行观察。
四、预习要求
1、读懂程序;
2、预先给出运算结果,以便和实验结果比较;
五、思考题
实验四可编程计数器阵列实验
一、实验目的
1、掌握c8051f410单片机片内定时器的使用方法;
参考代码:(红色代码处不完整,请自己补全)
#include <c8051f410.h>
#define SYSCLK 24500000//内部时钟频率
#define T0_CLOCKS245//定时器0的计数次数,定时值10 us
#define T2_RELOAD_CLOCKS//定时器2计数次数,250 us
LED连线图
由图1-12可知,51RXD所连管脚为P0.5,51DTXD所连管脚为P0.4,因此,可在C语言里用位定义实现直接操作,具体如下:
sbit LedP04=P0^4;
sbit LedP05=P0^5;
则在C里可直接对LedP04=1赋值实现设置P0.4=1的目的。
根据以上内容,编写LED灯闪烁的C语言程序,并做好记录。
1、利用PCA0上升边沿触发的捕捉方式测量方波的周期,实验电路如图所示,将CEX0配置到P0.0端口,并将被测方波信号由P0.0输入到C8051F410中的PCA0。
本实验任务可以拆分为以下2个步骤,分别完成:
(1)首先产生能被PCA0上升边沿触发捕捉的方波信号。
利用片内定时T2产生方波信号,并通过P0.1脚输出,具体细节参见代码中注释。
3.6*、编写程序时,将11位学号的数组存放在0x30
unsigned char a[12]_at_ 0x30; //存储学号
unsigned char a[] = "01234567890" ;
3.7*、调试过程中掌握“跟踪”、“单步”和“断点”调试方式
四、预习要求
1、熟悉Keil软件的使用;
2、预先设计C801F410的初始化程序;
实验三定时器计数器实验
一、实验目的
1、掌握定时器的工作原理,熟悉定时器的操作与编程;
2、掌握计数器的工作原理,熟悉计数器的操作与编程;
2、掌握PWM波的设计方法;
二、实验仪器
1、自制的C8051f410实验开发板 1块
2、仿真器(U-EC6) 1只
3、PC机1台
4、示波器 1台
三、实验内容
1、在P1.0脚上输出2KHz的方波,2KHz的方波需要定时器产生0.25ms连续的定时信号,可选用T0方式2,自动装入参数的8位定时方式,用示波器观察波形,定时器初值= M - tc/T。系统时钟为内部时钟8分频,T0时钟为系统时钟的12分频。
}
void Port_IO_Init()
{
XBR1 = 0x40;
}
void Oscillator_Init()
{
OSCICN = 0x84;
}
void Interrupts_Init()
{
IE = 0x82;
}
void Init_Device(void)
{
PCA_Init();
Timer_Init();
3、回忆“跟踪”、“单步”和“断点”调试方式的特点。