STC 12C5A60S2芯片的实验板报告Word格式文档下载.docx
- 文档编号:21632772
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:28
- 大小:99.74KB
STC 12C5A60S2芯片的实验板报告Word格式文档下载.docx
《STC 12C5A60S2芯片的实验板报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《STC 12C5A60S2芯片的实验板报告Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
6引脚:
E端为使能端,当E端由高电平跳到低电平,液晶模块执行命令。
7-14引脚:
D0-D78位双向数据线
15、16引脚:
悬空引脚
图1-21602引脚
1.1.312C5A60S2
STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统的8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2位PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。
1、增强型8051CPU,1T(1024G),单时钟/机器周期
2、工作电压
5.5-3.5V
3、1280字节RAM
4、通用I/O口,复位后为:
准双向口/弱上拉
可设置成四种模式:
准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏
每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA
5、有EEPROM功能
6、看门狗
7、内部集成MAX810专用复位电路
8、外部掉电检测电路
9、时钟源:
外部高精度晶体/时钟,内部R/C振荡器
10、4个16位定时器
两个与传统8051兼容的定时器/计数器,16位定时器T0和T1
11、3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟
12、外部中断I/O口7路,传统的下降沿中断或电平触发中断,并新增支持上升沿中断的PCA模块,Power
Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP0/P1.3
13、PWM2路
14、A/D转换,10位精度ADC,共8路,转换速度可达250K/S
15、通用全双工异步串行口(UART)
16、双串口,RxD2/P1.2,TxD2/P1.3
17、工作范围:
-40~85
18、封装:
LQFP-48,LQFP-44,PDIP-40,PLCC
管脚说明:
P0.0~P0.7
P0:
P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。
当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。
当P0作为地址/数据复用总线使用时,是低8位地址线A0~A7,数据线D0~D7
。
P1.0/ADC0/CLKOUT2
标准IO口、ADC输入通道0、独立波特率发生器的时钟输出
P1.1/ADC1。
P1.2/ADC2/ECI/RxD2
标准IO口、ADC输入通道2、PCA计数器的外部脉冲输入脚,第二串口数据接收端。
P1.3/ADC3/CCP0/TxD2
外部信号捕获,高速脉冲输出及脉宽调制输出、第二串口数据发送端。
P1.4/ADC4/CCP1/SS非
SPI同步串行接口的从机选择信号。
P1.5/ADC5/MOSI
SPI同步串行接口的主出从入(主器件的输入和从器件的输出)
P1.6/ADC7/SCLK
SPI同步串行接口的主入从出。
P2.0~P2.7
P2口内部有上拉电阻,既可作为输入输出口(8位准双向口),也可作为高8位地址总线使用。
P3.0/RxD
标准IO口、串口1数据接收端。
P3.1/INT0非
外部中断0,下降沿中断或低电平中断。
P3.3/INT1。
P3.4/T0/INT非/CLKOUT0
定时器计数器0外部输入、定时器0下降沿中断、定时计数器0的时钟输出
A/D转换器的结构:
STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口,有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。
8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。
上电复位后P1口为弱上拉型IO口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。
单片机ADC由多路开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器以及ADC_CONTER构成。
该单片机的ADC是逐次比较型ADC。
主次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。
逐次比较型A/D转换器具有速度高,功耗低等优点。
需作为AD使用的口先将P1ASF特殊功能寄存器中的相应位置为‘1’,将相应的口设置为模拟功能
芯片引脚图:
图1-312C5A60S2芯片引脚
第二章实验板介绍
2.1实验板介绍
SCKJ-I型实验板包括:
单片机、ISP程序下载器、数码管动态显示电路、8位LED指示灯、液晶显示模块1602和12864、时钟芯片DS12C887、温度传感器DS18B20、74HC573输出口扩展、A/D转换、按键、遥控接收、继电器输出、蜂鸣器报警等电路,可进行相关电路和程序运行。
同时,单片机、74HC573输出口扩展等接有外部插针,也可用于其它相关外围设别的调试。
实验板实物图如下:
图2-1实验板实物图
整体电路:
图2-2整体电路图
2.2实验板地址分配及跳线说明
地址分配:
时钟芯片DS12C887地址:
0000H——1FFFH
74HC573扩展I/O口地址:
6000H——7FFFH
液晶显示模块LCD地址:
0C000H——0DFFFH
跳线说明:
J1、J2:
单片机引脚
J4、J5、J6:
用于DS18B20的硬件连接
J7、J15:
数码管的位选和段选输入
J8:
蜂鸣器、继电器的控制输入
J9、J10:
继电器的控制输出
J11:
按键的行列引脚
J12:
扩展至J11附近的P1口引脚
J13:
8位LED灯的控制输入
J14:
I/O扩展74HC573的输出,与J13或者J15可用跳线连接
J16、J17:
电位器引出端
J18:
STC单片机下载输入端,可用跳线器与电路板上的下载器输出端Ju1连接
J19:
可用跳线器将遥控输出、DS12C887中的中断信号连接到单片机的INT1、INT0
J21:
地线引出端
J22:
+5V引出端
第三章调试
3.1LED灯从低八位到高八位一次亮
3.1.1调试程序
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
voidDelay(uintdel)
{
uinti,j;
for(i=0;
i<
del;
i++)
for(j=0;
j<
1827;
j++);
}
voidMain(void)
{
while
(1)
P1=0xfe;
Delay(100);
P1=0xfd;
P1=0xfb;
P1=0xf7;
P1=0xef;
P1=0xdf;
P1=0xbf;
P1=0x7f;
}
3.2A/D电路
3.2.1程序
voidDelay(WORDn)
WORDy;
while(n--)
y=500;
while(y--);
}
/************************************************************************
Functionname:
write_cmd
Descriptions:
向lcd输入指令
************************************************************************/
voidwrite_cmd(BYTEcmd)
{
P20=0;
//写指令模式
P21=0;
P27=1;
P37=0;
P36=0;
P0=cmd;
P27=0;
Delay(10);
}
/**********************************************************************
write_data
写入数据
**********************************************************************/
voidwrite_data(BYTEdat)
P20=1;
//写数据模式
P0=dat;
/***********************************************************************
write_string
写入字符串
***********************************************************************/
/*voidwrite_string(BYTE*s)
while(*s!
='
\0'
)//'
为字符串结束标志
write_data(*s);
s++;
*/
set_display_place
设置字符的显示位置
voidset_display_place(BYTEline,column)
BYTEaddress;
if(line==1)
address=0x80+column;
elseif(line==2)
address=0xc0+column;
write_cmd(address);
/*******************************************************************
将字符串写到指定的位置
将字符串显示在lcd的特定位置
*******************************************************************/
/*voidwrite_string_lcd(BYTEline,column,unsignedchar*string)
set_display_place(line,column);
write_string(string);
Delay
(1);
*/
voidwrite_data_lcd(BYTEline,column,dat)
write_data(dat);
/******************************************************************
将字符写到指定的位置
/***************************************************
************液晶模块初始化******************************
****************************************************/
voidlcd_init(void)
write_cmd(0x06);
//
write_cmd(0x38);
//
//write_cmd(0x38);
write_cmd(0x0c);
write_cmd(0x01);
/*****************LED显示位置********************/
voiddisplay(uintz)
uchari;
disbuf[8]=z/10000+0x30;
disbuf[10]=z%10000/1000+0x30;
disbuf[11]=z%1000/100+0x30;
disbuf[12]=z%100/10+0x30;
disbuf[13]=z%10+0x30;
i<
14;
i++)
write_data_lcd(1,1+i,disbuf[i]);
}
/*voidread_ad(void)
uintad_data[8];
uintx,a,b;
uchari;
uintres,res1;
ucharstatus=0;
ADC_CONTR=0x80;
Delay
(1);
for(i=0;
8;
{
ADC_CONTR=(0x80|i);
ADC_CONTR|=0x80;
status=0;
while(!
(ADC_CONTR&
0x10));
ADC_CONTR&
=0xE7;
res=ADC_RES;
res1=ADC_RESL;
ad_data[i]=res*256+res1;
{
x=ad_data[i];
a=x/10+0x30;
b=x%10+0x30;
write_data_lcd(2,1,a);
write_data_lcd(2,2,b);
//------------------------------------------------------------------------------
uintAD_get(ucharchannel)
ADC_CONTR=0x88|channel;
//开启AD转换10001000即POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0
_nop_();
_nop_();
//要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR寄存器
while(!
//等待转换完成
ADC_CONTR&
=0xe7;
//关闭AD转换,ADC_FLAG位由软件清0
return(ADC_RES*4+ADC_RESL);
//返回AD转换完成的10位数据(16进制)
floatAD_work(ucharchannel)
floatAD_val;
//定义处理后的数值AD_val为浮点数
uchari;
for(i=0;
100;
i++)
AD_val+=AD_get(channel);
//转换100次求平均值(提高精度)
AD_val/=100;
AD_val=(AD_val*5)/1024;
//AD的参考电压是单片机上的5v,所以乘5即为实际电压值
AD_val=AD_val*10000;
returnAD_val;
voidAD_init()
P1ASF=0x01;
//P1.0作为模拟功能AD使用
ADC_RES=0;
//清零转换结果寄存器高8位
ADC_RESL=0;
//清零转换结果寄存器低2位
ADC_CONTR=0x80;
//开启AD电源
Delay
(2);
//等待1ms,让AD电源稳定
ES=1;
EA=1;
3.31602显示学号和姓名拼音
3.3.1调试程序
#include"
reg51.h"
#include"
absacc.h"
typedefunsignedcharBYTE;
typedefunsignedintWORD;
/*液晶1602口地址*/
#definewr_comXBYTE[0xC000]//写命令
#definewr_dataXBYTE[0xC100]//写数据
#definerd_comXBYTE[0xC200]//读命令
#definerd_dataXBYTE[0xC300]//读数据
voidlcd_init(void);
//lcd初始化
voidwrite_cmd(BYTEcmd);
//lcd写命令
//voidwrite_string(unsignedchar*s);
//写字符串
voidwrite_data(BYTEdat);
//写数据
voidset_display_place(BYTEline,column);
voidwrite_string_lcd(BYTEline,column,unsignedchar*string);
//voidwrite_data_lcd(BYTEline,column,dat);
//voidcrti(unsignedlongdat);
//voidcrt_r(floatx,BYTEN);
WORDx;
x=500;
while(x--);
/*
voidDelay2(WORDn)
x=5000;
*/
BYTEdl;
do{
dl=rd_com;
}while((dl&
0x80)!
=0);
//判忙
wr_com=cmd;
write_data
wr_data=dat;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STC 12C5A60S2芯片的实验板报告 12 C5A60S2 芯片 实验 板报