单片机S52使用手册
AT89S52 单片机开发板实验手册 说明书

AT89S52单片机开发板实验手册概述:AT89S52多功能单片机开发板特点:1. 板载资源丰富,常见的控制对象基本已经包括.2. 采用在系统方式(ISP)编程,通过下载电路下载程序,不用烧录器即可下载程序,调试方便.3. 可由直流稳压电源或通过USB数据线供电.按键保持的电源开关,连接线路时只用按一下即可断开电源.扩展了若干个电源接口,板上电源可以外接给其他电路板使用.4. 所有板上资源均用排针引出,可方便用ARM,DSP或其他控制器控制.5. 红外发射/接收 ,PS/2接口接入键盘,时钟芯片,数字温度计测温等模块的程序编成了子函数,已经模块化,工程应用需要时可以直接调用.6. 配套光盘提供程序,常用软件(编译软件,烧录软件,字模提取,串口上位机软件,C语言所有库函数等),视频教程(主要为计算机屏幕操作的录像),开发板用户手册,原理图,器件 Datasheet等.配套提供的所有程序均可直接运行,注释已经尽量详细,能满足从单片机 入门到进阶的需要.7. 基于以上各模块,提供了综合应用的实例,即:可通过PC机键盘或通过红外发射进行控制的电子万年历等.(具体见实验介绍).本开发板含有如下功能模块:01. 流水灯 (控制8个超亮LED闪烁)02. 方波,PWM信号输出03. 按键中断04. 四位数码管动态显示05. 计数脉冲信号并显示06. 报警与音乐演奏07. 4×4键盘扩展08. 看门狗+上电自动复位+手动复位+电源监控09. 128*64点阵式液晶显示 (可显示画面和文字等)10. RS232串行通讯 (单片机通过串口与PC机进行通讯,板上数码管和上位机软件均可显示通讯的数据,提供上位机软件)11. 红外信号发射与接收 (单片机控制红外二极管发射红外信号并接收信号,也可以通过遥控器发射,单片机控制接收信号并处理)12. 温度测量13. I2C接口的E2PROM (AT24C08,8K容量,可用于断电时存储数据等场合,单片机软件模拟I2C总线协议与之通讯)14. 时钟芯片 (扩展时钟芯片以获取年/月/日,当前时间,星期等信息)15. PS2接口 (可外接PC机的键盘做系统的输入)16. 可通过键盘/红外遥控控制的电子万年历 (液晶屏显示年/月/日,当前时间,星期,闹铃定闹的时间,倒计时状态等;可以修改闹铃时间和倒计时的起始时间;可显示环境温度;可通过PS/2接口接入键盘或通过红外发射来校正时间,开/关闹铃等.)实验注意事项:1. 板上扩展有两个电源接口(接线柱),正负极已经标出,外接时极性不能接反.2. 通电时,最好不要用手拿着电路板,防止短路;接线时最好断开电源(开关为J1).3. 调试出现故障注意查看复位电路是否接入(最好直接接上上电自动复位电路(即J14中将上电自动复位端和复位端用短路冒短接,接好后还可以通过S17手动复位),看门狗复位可以在后面再接入).4. 下载程序时单片机P1.5,P1.6,P1.7三个脚禁止接到功能模块,否则会影响程序下载.程序比较大时,5K,6K或以上的代码时,下载可能比较慢,如果下载失败,一般重试一次即可成功下载.5. 由于并口的影响,断开电源时可能发光LED也有微弱发光,为正常现象.6. 程序以光盘中程序目录下的为准.7. 数码管和液晶不能同时接入系统,否则任一部分都不能正常使用.编程软件和烧录软件等的使用见视频教程.如有疑问可到论坛发帖.实验目录(Ⅰ)基本实验1. 流水灯-------------------------------------------------------------------------------------------42. 方波-PWM信号输出 --------------------------------------------------------------------------63. 按键中断----------------------------------------------------------------------------------------84. 四位数码管动态显示-------------------------------------------------------------------------105. 计数脉冲信号并显示-------------------------------------------------------------------------126. 报警与音乐演奏-------------------------------------------------------------------------------137. 4×4键盘扩展----------------------------------------------------------------------------------138. 看门狗+上电自动复位+手动复位+电源监控----------------------------------------------149. 128*64点阵式液晶显示 ------------------------------------------------------------------1410. RS232串行通讯------------------------------------------------------------------------------1511. 红外信号发射与接收-------------------------------------------------------------------------1612. 温度测量---------------------------------------------------------------------------------------2313. I2C接口的E2PROM--------------------------------------------------------------------------2314. 时钟芯片---------------------------------------------------------------------------------------2415. PS2接口---------------------------------------------------------------------------------------24(Ⅱ)综合实验16. 可调式电子万年历-------------------------------------------------------25 综合应用的实例会不断添加,敬请关注我们的网站.(Ⅰ)基本实验1.流水灯实验内容:利用单片机I/O口输出高低变化的电平,控制流水灯按程序设置的功能闪烁.接线说明J7接入单片机P0口.注意:单片机端口有两种操作方式,一种是写端口,如 P0=0xff; 另一种是读端口,如if(P0==0xff) ,即读I/O口P0的状态,值为0xff 时满足条件.程序清单:/***************************************************************函数功能: 控制8个流水灯闪烁接线说明: 流水灯接线柱接到P0口学习内容: 单片机IO口(输入/输出)的应用整理时间: 2006-10 ****************************************************************/#include<reg52.h>delay(int k); //延时函数预定义main(){int i;int data1=0x7f;int data2=0xfe;while(1){int abb=0xfe; //变量abb赋初值for(i=0;i<8;i++){P0=abb;delay(1000); //延时1秒abb=abb<<1; //8个灯依次点亮}P0=0xff; //8个灯均灭delay(1000);abb=0x7f;for(i=0;i<8;i++){P0=abb;delay(1000);abb=abb>>1; //8个灯换个方向依次点亮}P0=0xff; //8个灯均灭delay(1000);P0=0x00; //8个灯均灭delay(1000);P0=0xff; //8个灯均灭delay(1000);}}delay(int k) //延时函数,大致延时K毫秒{int d,n;for(d=0;d<k;d++){for(n=0;n<125;n++){;} //由经验值,12M晶振时大概的延时时间(延时1ms) }}2.方波输出<1>. 利用板上NE555组成振荡器产生方波.占空比及周期可以通过相关电阻,电容的数值计算得出.(线路已经接好,上电后L2即开始闪烁)<2>. 通过单片机定时器产生方波通过设定定时器的定时值,计数值满时溢出产生中断,在中断服务程序中使相应管脚输出电平反相,从而产生方波信号.接线说明:单片机P1.2接到流水灯上(J7)的任意一个程序清单:/*********************************************************************** 函数功能: 利用内部定时器输出方波控制流水灯接线说明: P1.2接到流水灯上(J7)的任意一个学习内容: 单片机内部定时器/计数器的应用编程思想: 单片机内部定时器最大定时值不超过一秒, 可以用累加的方式增加定时时间整理时间: 2006-10 ***********************************************************************/ #include <reg52.h>int time=0;sbit P1_2=P1^2; //定义控制脚void timeout1() interrupt 1 using 2 //定时器0的中断服务程序{if(++time==100) //延时100*10ms(即1秒)时输出反向{P1_2=~P1_2;time=0;}TH0=(65536-10000)/256; //重装数据,延时10msTL0=(65536-10000)%256;TR0=1;}main(){TMOD=TMOD&0xf0|0x01; //定时器0工作在方式1EA=1;ET0=1;TH0=(65536-10000)/256; //延时10msTL0=(65536-10000)%256;TR0=1;while(1){;}}<3>.单片机输出PWM波形输出PWM信号的原理与产生方波大致一样.设定一个数组,存入不同的延时值,定时器装入初值,溢出后产生中断,在中断服务取出数组中的定时值赋给定时器的数据寄存器 , 从而产生PWM波形.高低电平的维持时间有数组的值决定.接线说明:单片机I/O口P1.0接到流水灯上的任意一个.程序清单:/*******************************************************************函数功能: 利用内部定时器输出PWM信号控制流水灯接线说明: P1.0接到流水灯上的任意一个学习内容: 单片机内部定时器/计数器的应用编程思想: 输出低电平1000微秒,高电平15000微秒(12M的晶振时),可应用于电力电子技术中升压斩波电路等做IGBT的触发信号等.整理时间: 2006-10 *******************************************************************/#include <reg52.h>sbit P1_0=P1^0; //定义变量P1_0代表I/O口P1口的0脚bit i=0;int tab[2]={1000,15000};void timeserver() interrupt 3 using 3 //定时器1中断服务程序{P1_0=~P1_0; //输出取反i=~i;TH1=(65536-tab[i])/256;TL1=(65536-tab[i])%256;TR1=1;}main(){P1_0=0;TMOD=TMOD&0x0f|0x10; //不改变定时器0的工作状态,定时器1工作于方式1 TH1=(65536-tab[i])/256; //定时器存入初值TL1=(65536-tab[i])%256;EA=1; //CPU开中断TR1=1; //定时器1开始工作while(1){;} //等待定时器中断}3.按键中断通过设定单片机中断的形式,如下降沿产生中断或低电平产生中断.按键输入低电平到相应中断输入管脚,单片机识别出中断信号,如果CPU和相应外部中断使能有效(即EA---CPU中断使能位,EX0,EX1---外部中断使能位),则进入中断服务程序.接线说明:中断按键的线路已经连接好,不用另外接线. 数码管用跳线冒接入(即AA连接到P0.0,BB 连接到P0.1依次接入,CON1…CON4分别接到P2.7……P2.4)程序清单:/****************************************************************函数功能: 利用内部中断控制数码管显示接线说明: 数码管用跳线冒接入学习内容: 单片机中断(外部)的应用编程思想: 单片机识别出中断0或中断1就转向中断服务程序整理时间: 2006-10 *****************************************************************/#include <reg52.h>bit flag1=0,flag2=0;void service_int1() interrupt 0 //外部中断0的中断服务程序,0为中断源序号,2为//使用的寄存器(可更改){flag1=1; //允许数码管显示数据}void service_int2() interrupt 2 //外部中断1的中断服务程序{flag2=1; //允许数码管显示数据}void delay() //延时程序{int j;for(j=32400;j>0;j--){;}}void main(){EX0=1; //开外部中断EX1=1;EA=1; //开CPU中断P0=0x00;P2=0xff;IP=0x04; //设置中断优先级,外部中断0的级别设为最高,外部中断1和其他中断同级//不设优先级则按单片机硬件决定while(1){P0=0x00;P2=0xff;if(flag1==1){P0=0xd5; //显示 3P2=0x00;flag1=0;delay();}if(flag2==1){P0=0xdb; //显示 6P2=0x00;flag2=0; //清除显示使能delay();}}}4. 四位数码管动态显示数码管每个显示数字共用数据线(8根线),每个分别有一个使能管脚,显示数据采用隐消的编程方法,即每一位显示一段时间再轮换.接线说明:数码管用跳线冒接入(即AA连接到P0.0,BB连接到P0.1依次接入,CON1…CON4分别接到P2.7……P2.4).数码管何液晶不能同时接入系统,否则任一部分都不能正常使用.程序清单:/************************************************************************* 函数功能: 数码管数值动态显示接线说明: 用跳线冒接入数码管学习内容: 常用的输出显示器件的编程应用编程思想: 用隐消的方法实现数码管的动态显示,显示部分整理成库文件,方便以后直接应用整理时间: 2006-10 *************************************************************************/ #include <reg52.h>#include <LED8888.h> //调用封装好的显示库函数main(){int j,k;k=1286; //显示值,实现数值累加显示while(1){for(j=1;j<70;j++){Led(k); //数码显示}k+=1;}}以下为 LED8888.hchar shuju[10]={0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7}; //数码管显示数字0-9void led8888_Delay(int j) //延时函数{int m;for(m=0;m<j;m++){i;intfor(i=0; i<300; i++){;} //约1ms}}void Led(int k){if(k>999){P2=P2&0x7f; //P2.7输出低电平,选通千位数P0=shuju[k/1000]; //取千位数led8888_Delay(2); //延时P2=P2|0xff; //销隐}if(k>99){P2=P2&0xbf; //P2.6输出低电平,选通百位数P0=shuju[k%1000/100]+0x20; //取出百位数,点亮数码管百位后的那一点led8888_Delay(2); //延时P2=P2|0xff; //销隐}if(k>9){P2=P2&0xdf; //P2.5输出低电平,选通十位数P0=shuju[k%100/10]; //取十位数led8888_Delay(2); //延时P2=P2|0xff; //销隐}if(k>=0){P2=P2&0xef;P0=shuju[k%10]; //取出个位数led8888_Delay(2);P2=P2|0xff;}}5. 计数脉冲信号并显示利用单片机计数器功能,计数外部输入的脉冲信号,计算得出频率值.接线说明:FIN接入单片机I/O口P3.5.数码管接入程序清单:/********************************************************************** 函数功能: 计数外部(555电路)的脉冲接线说明: FIN接入单片机I/O口P3.5.学习内容: 单片机内部定时器/计数器的应用整理时间: 2006-10 **********************************************************************/ #include <reg52.h>#include <LED8888.h>int count=0; //显示值赋初值main(){TMOD=0x55; //计数器1工作在方式1TL1=(65536-5)%256; //设置初值,计数4次后产生定时/计数器中断TH1=(65536-5)/256;TR1=1; //启动计数器EA=1; //开CPU中断,不开中断也行,没有用到计数器中断 ET1=1;while(1){count=TL1; //显示当前计数值Led(count);}}6. 报警与音乐演奏通过单片机内部定时器,输出频率改变的信号给讯响器电路,并改变节拍即可产生音乐.程序参见光盘部分.接线说明:NC接到单片机I/O口P1.27. 4×4键盘扩展原理:采用矩阵扫描的形式, 识别按键,然后转入相应处理,程序参见光盘部分.接线说明:接线柱J16接到单片机P1口.(J16的第一个脚对应接P1.0),数码管接入.8. 看门狗+上电自动复位电路+手动复位电路+电源监控外部看门狗: 采用MAX813L,程序跑飞时可以强制复位,相当于一个定时器,有一个设定的计数值,计数没有溢出之前将其计数值清零,然后重新计数,这个过程即:”喂狗”,如果在计数溢出之前没有清零,则计数器溢出,从而产生强制复位信号.工业控制干扰大的场合必用看门狗电路防止出现意外事故.附带功能:电源检测功能,当电源电压低于门限值时相关引脚电平跳变,可以输入到单片机中断口,使单片机保存数据等. 程序参见光盘部分.接线说明:NF接到P3.2,NG接到P1.4,J14中将看门狗输出与复位脚用短路冒短接起来。
基于STC89S52单片机的窗户控制系统

基于STC89S52单片机的窗户控制系统作者:***来源:《科技风》2021年第22期一、硬件構成和介绍(一)单片机的选择本系统所选取的单片机是经典的STC89S52,该单片机带8K字节闪烁可编程可擦除,具有价格低廉、速度快的特点,支持ISP下载的功能,在各个领域应用比较广泛。
本单片机芯片工作电压为+5V,体积小,运行稳定。
图1是该芯片的引脚图。
其中VCC接5V电源正极,GND接地,这是单片机工作的基本条件。
XTAL1和XTATL2外接12M的晶振,同时在晶振两端与地之间并联两个大小相同的谐振电容C1和C2,该电路能为单片机提供基本的工作频率。
(二)液晶显示模块简介本系统选取的温度显示模块为1602字符型液晶.可以用来显示中文、数字、标点符号,它是由若干个点阵字符位组成,每个点阵字符位都可以显示一个字符,每行之间都有间隔,使显示的字符样式更加美观。
如图2所示,和单片机类似,VCC是液晶屏的+5供电脚、GND是接地脚、VCC和GND可以并联一个滤波电容,保证供电的稳定。
BG VCC和BGGND是背光供电的供电脚,4脚RS是命令/数据选择引脚,连接到单片机的P15脚:5脚RW为读/写模式选择引脚,连接到单片机的P16脚:6脚执行命令的使能信号,连接到单片机的P17脚。
DBO~DB7是数据引脚。
分别连接到单片的P00~P07脚。
(三)温度传感器介绍DS18820是常用的数字温度传感器,具有体积小,硬件功耗低,抗干扰能力强,准确性高的特点。
如图3所示,这是DS18820的引脚图,GND是接地端,VDD是电源端,I/O直接连接到单片机的P20脚,同时外接一个4.7K欧的上拉电阻。
当测温元件感知到外界温度以后,会向总线传递数据。
通过单片机采集数据,再进行转换,就可以反映出外界的温度。
(四)雨滴传感器介绍这里选用一款常用的雨滴传感器,型号是YL-83。
图4是该元器件的引脚图。
总共有四个引脚,其中A0脚是模拟信号输出引脚,能输出感应板沾了雨后的模拟电压值:D0脚是数字信号输出引脚,该传感器有一个可调电阻,这个可调电阻可以限定一个固定的值,当模拟电压超出该值时输出1,低于该值时输出0:GND脚接电源负极;VCC脚接电源正极。
at89c51单片机对应高低电平的电压值

高电平指的是和你电源电压相等的为逻辑1。
0V表示逻辑0就是说你40脚和20脚之间的电压这个值就是 IO输出高电平值,作为输入的时候,电压在2。
8V以上都认为是高电平。
可以兼容3。
3V系统。
底电平一般在0。
8V以下。
不同的器件会有不同的标准。
A T89S521 主要性能l 与MC S-51单片机产品兼容l 8K字节在系统可编程F lash存储器l1000次擦写周期l 全静态操作:0H z~33H zl 三级加密程序存储器l 32个可编程I/O口线l三个16位定时器/计数器l八个中断源l 全双工UART串行通道l 低功耗空闲和掉电模式l掉电后中断可唤醒l看门狗定时器l双数据指针l 掉电标识符功能特性描述AT89S52是一种低功耗、高性能CM OS8位微控制器,具有8K在系统可编程Flas h 存储器。
使用At mel 公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flas h允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位C PU 和在系统可编程Flas h,使得A T89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flas h,256字节RAM,32位I/O口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,C PU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
89s52上机指导书

一、单片机的历史1.1 单片机的由来:从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向两个不同的方向发展:一个是向高速度、大容量、高性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格廉的单片机方向发展。
但两者在原理和技术上是紧密联系的。
1.2单片机的名称:单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器CPU,随机存储器RAM,只读存储器ROM、中断系统、定时器/计数器以及I/O接口电路等主要微型机部件,集成在一块芯片上。
虽然单片机只是一个芯片,但从组成和功能上看,它已具备有了计算机系统的属性,为此称它为单片微型计算机SCMC,简称单片机。
1.3 单片机的发展1971年微处理器的研制成功,不久后就出现了单片的微型计算机即单片机,最早的单片机是一位的。
现在已经发展到32位。
1976年INTEL公司推出了8位的MCS—48系列单片机,它以体积小、控制功能全、价格低廉等特点受到广泛的应用和好评。
其后,在MCS—48成功的刺激下,许多半导体芯片商研制自己的产品。
到80年代末,世界各地已经相继研制大约50多个系列300多个品种的单片机产品。
其中Motorola公司的6801、6802,Zilog 公司的Z-8系列,Rockwell公司的6501、6502等。
从开始的一位机到现在的32位,单片机以惊人的速度向前发展。
1.4单片机的应用领域单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用。
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
2.在工业控制中的应用。
单片机可以构成形式多样的控制系统、数据采集系统。
3.在家用电器中的应用。
单片机S52使用手册

S52开发实验板使用说明书欢迎使用本公司的S52开发实验板首先很感谢您选择本公司的这款产品,我们也尽量帮助你早日成为单片机高手,因为此板是根据多年经验;大量客户反馈而开发的学习实验板,部分模块独立,方便任意I/O口连接,大大增加了学习和应对实验电路的兼容性,真正学到一些知识。
当然这样的板也有弊端就是每实验独立模块要使用杜邦线连接,有些心急的买家可能会嫌麻烦;有部分对硬件不熟悉的客户可能感觉困难,但是在这里告诉大家,以后工作也会接触到硬件,与其以后用的时候发难还不如现在就接触这些东西,养成软硬一起抓的习惯,这对以后工作;或者独立开发项目都有很大的帮助。
声明:手册只针对S52开发板,因为作者水平有限难免有错误或者疏漏之类,欢迎指正。
但光汇科技不承担任何的因为手册错误而造成的任何损失!实验板已经安装了保险电阻,且有外接电源时自动切断USB供电电路,但这样也不能保证外接电源是保证100%没有问题,所以在这里建议尽量使用USB供电,实验板的电流最大电流在300MA左右,使用USB供电不会对电脑产生任何的不良。
实验板外接接口功能介绍:P0插针:单片机P0口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P1插针:单片机P1口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P2插针:单片机P2口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P3插针:单片机P3口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P4插针:可以换晶震圆排母P5插针: 电源输出端P6插针: 单排8位LED发光管接口,P7插针:AD电压实验内部电压外部电压选择端。
P8插针:D1302时钟芯片信号外接端P9插针:步进电机信号输入端P10插针:步进电机信号输入口,1脚对应输出脚的A,2脚B,3脚C,4脚D P11插针:51/AVR复位选择端P12插针:ISP下载接口P13插针:4位独立键盘接口P14插针:18B20信号输出口P15插针:红外遥控信号输出口温心提示:本板已经集成了USB转串口芯片PL2303,可以直接使用USB下载数据,不需要另外购买USB转232线等,也不需要外接电源,实验只需要一条USB线就可以同时给单片机供电下载数据两种功能。
基于STC89S52单片机智能交通灯控制系统的设计与制作及应用

STC89S52单片机智能交通灯控制 系统的应用
在应用方面,我们将该智能交通灯控制系统安装在了某城市的交通要道上。通 过实时采集车辆和行人的信息,根据交通灯时序控制算法控制交通灯的时序, 实现了对交通流量的有效调控。同时,我们还通过无线通信模块将交通灯的运 行情况实时传输到城市交通管理中心,方便管理人员对整个城市的交通状况进 行监控和调度。
智能交通灯控制系统在国内外的 研究现状
智能交通灯控制系统最早出现在20世纪90年代,经过多年的发展,已经在国内 外得到了广泛应用。目前,该系统的实现方式主要有两种:一种是基于嵌入式 系统,通过传感器采集车辆和行人的信息,然后通过预先设定的算法控制交通 灯的时序;另一种是基于计算机控制系统,通过监控摄像头采集交通流量信息, 然后通过中央控制系统对交通灯进行实时控制。
未来的研究方向可以包括提高系统的自适应性、降低对传感器的依赖程度、综 合考虑行人和非机动车的需求等方面。
参考内容
一、引言
随着社会和经济的快速发展,城市交通问题日益凸显,如交通拥堵、安全事故 等。为了改善这些问题,智能交通系统逐渐被引入到城市交通管理中。其中, 智能交通灯控制系统作为智能交通系统的重要组成部分,对于提高交通效率、 确保交通安全起着至关重要的作用。本次演示将介绍一种基于STC89C52单片 机的智能交通灯控制系统的设计。
三、系统软件设计
本系统的软件设计采用C语言,主要包括以下几个部分:
1、初始化程序:在系统上电后,首先进行硬件初始化,包括单片机的时钟、 I/O口等 单片机通过I/O口读取这些数据。
3、信号灯控制程序:根据采集到的交通数据,单片机通过信号灯控制模块控 制交通信号灯的灯光时序。例如,当检测到车辆较多时,单片机将延长绿灯时 间;当检测到行人较多时,单片机将延长红灯时间。
基于STC89S52单片机开发板的功能设计与应用
广西大学行健文理学院单片机应用综合实验报告题目:基于STC89S52单片机开发板的功能设计与应用学部:理工学部班级:电气092班姓名:学号: 0938170214指导教师:撰写日期: 2012年4月目录第一章课程设计要求及功能说明 (1)1.1课程设计要求 (1)1.2课程设计电路及功能说明 (2)第二章程序设计及结果分析 (3)2.1程序设计思想 (3)2.2调试析及问题解答 (3)单片机综合应用实验设计总结 (6)第一章课程设计要求及功能说明1.1课程设计要求用四位数码管实现分计时,显示分秒,可以任意设置时间。
1.2课程设计电路及功能说明1.2.1设计电路(见下图)1.2.2功能说明本作品四位数码管显示分计时,显示分秒;四位数码管显示分倒计时,显示分秒。
四个独立按键(S1、S2、S3、S4)进行功能控制。
S1为功能转换按键,按下一次为倒计时功能,按下两次为计时功能。
S2、S3为计时与倒计时设置时间按键,S2每按下一次秒加1,S3每按下一次秒减一,S4为计时与倒计时开始于暂停按键。
另有蜂鸣器报警,设置时间时,每按下一次功能按键,蜂鸣器响一次;倒计时功能下,当计时少于10秒时,蜂鸣器报警。
电路原理图:第二章程序设计及结果分析2.1程序设计思想计时器的基本功能是计时与倒计时,由按键控制计时与倒计时功能的切换以及计时、倒计时的计数初值,数码管予以显示。
通过程序把按键输入的命令给程序中修改时间函数,函数对按键做出反应并判断,进行功能的转换,计数初值的修改以及启停,利用中断进行高精度计时与倒计时,。
当按键输入不正确时,函数不做任何反应,保持计时倒计时的正常进行以及保证功能的稳定性。
2.2调试结果分析及问题解答由于是利用开发板进行的程序设计,没有涉及到硬件的制作,所以在此测试硬件不在赘述。
程序的编辑在Keil uVision4中进行,当编辑好后,我们可以运行链接一下,有错误必须修改,如程序格式错误、语法错误、括号不匹配等,一般的语法错误还是很容易排除的,关键难的是找出逻辑错误,我们可以进入软件提供的DEBUG选项来调试,可以单步运行也可以设置中断点,由此我们可以看出程序运行的步骤和过程,也可以看到左边框的REGISTER 选项有个寄存器在运行中值得变化情况,以便我们分析程序运行的具体情况,一般调试没错误我们就可以把程序编译生成16进制文件,由下载软件下载到单片机中验证,如没有得到想到的结果,继续修改程序,继续下载,直到调试到正确的结果为止。
基于STC89S52单片机开发板的功能设计与应用
目录第一章课程设计要求及功能说明 (1)1.1课程设计要求 (1)1.2课程设计电路及功能说明 (1)第二章程序设计及结果分析 (3)2.1程序设计思想 (1)2.2调试结果分析及问题解答 (1)单片机及通信接口设计课程设计总结 (6)第一章课程设计要求及功能说明1.1课程设计要求跑马灯。
设计要求:“123456”6个数字由右边进入1602液晶显示器模块,再由左边走出LCD模块,连续不断。
1.2课程设计电路及功能说明1.2.1设计电路1602液晶显示器电路LCD1602引脚排列LCD1602属于字符型显示器件,可显示2行16个字符,字符显示尺寸为5×7个像素点。
在显示模块的ROM中存放ASCII码字符字模等,输出时只需提供字符编码和显示位置即可。
LCD1602引脚排列如上图所示。
其中,D0-D7为数据口,E为使能信号,RW为读写信号,RS为寄存器选择信号,VL为亮度调节引脚,VCC、VCC1、GND和GND1均为电源引脚。
LCD1602的工作流程图1.2.2功能说明“123456”6个数字由右边进入1602液晶显示器模块,再由左边走出LCD模块,连续不断。
单片机的P3.4脚接E执行使能控制,读操作时,高电平有效;写操作时,下降沿有效。
P3.5脚接rs进行寄存器选择,当rs=1时,指向数据寄存器;当rs=0时,若执行写操作,则指向指令寄存器,若执行读操作,则指向地址计数器。
第二章程序设计及结果分析2.1编程思路及框架以单片机为核心,LCD1602液晶显示器为输出器件。
使单片机的P3.4脚接E执行使能控制,读操作时,高电平有效;写操作时,下降沿有效。
P3.5脚接rs进行寄存器选择,当rs=1时,指向数据寄存器;当rs=0时,若执行写操作,则指向指令寄存器,若执行读操作,则指向地址计数器。
,而LCD1602属于字符型显示器件,可显示2行16个字符,字符显示尺寸为5×7个像素点。
在显示模块的ROM中存放ASCII码字符字模等,输出时只需提供字符编码和显示位置即可。
《单片机原理与应用》AT89s52
片内 8KB Flash ROM EA=1
1FFFH 0000H EA=0
程序存储器 ROM
64KB RAM ( I/O)
0000H
片内
专用 FFH 寄存器 80H
内部 7FH
RAM 00H
数据存储器 RAM
¼Ä÷
❖1、程序存储器
AT89S52单片机片内程序存储器 ROM有8K字节, 其地址为0000H~1FFFH;片外可接扩展程序存储 器ROM,最大达64 k字节,地址为0000H~FFFFH, 片内外统一编址。CPU访问片内、片外程序存储器 ROM时用MOVC指令。
表1-2 程序状态寄存器PSW功能表
地址
D0H
寄存器 名称
程序状态寄存器PSW
位地址
D7
D6
D5
D4
D3
D2
D1
D0
位名称
CY
AC
F0
RS1
RS0
OV
F1
P
位意义
进/借
辅进
用户标志
寄存器组选择
溢出
用户标志
奇/偶
CY(PSW.7):进/借位标志位。在执行加法(或减法)运 算指令时,如果运算结果的最高位(D7位)向前有进位( 或借位),则CY位由硬件自动置为1(CY=1);如果运算 结果的最高位无进位(或借位),则CY位被清0(CY=0) 。
AT89S52
AT89S52单片机的基本组成
AT89S52 单片机内部结构框图如图1-2所示:
AT89S52 单片机内部包括:
❖ 一个8位89S52微处理器(CPU),是单片机的运算和指 挥中心。
❖ 片内8K字节程序存储器 (ROM),用于存放程序、原始 数据及表格。
AT89S52单片机开发板使用说明书
AT89S52单片机实验板使用说明书注:用户拿到开发板后先测试开发板的好坏,方法是给开发板通上电,如果数码管从0开始进行加计数那么说明开发板是好的。
如果通电后电路板没有反应,请及时联系我们。
此时用户应该将LED-J2的跳线冒去掉,因为,8个LED和数码管是共用数据线的,当然,如果不去也不影响实验效果。
实验板使用注意事项:下载线和开发板的连接要正确,并口ISP下载线采用10芯排线,其中10芯排线的红色边一端是第1个脚,对应目标电路板接口的MOSI,在使用时请注意不要接反,以免损坏下载线和电路板。
USB-ISP下载线电路板和开发板上都有ISP的标号,连接时对应连接就可以了,千万不要接反,以免损坏下载线和电路板。
1.开发板PCB顶视图和底视图2.开发板尺寸:9cm*7cm3.开发板资源:(1)AT89S52单片机,可实现ISP编程(2)4位共阳数码管(3)八只贴片LED发光二极管(4)一个串口,与电脑进行串口通信(5)所有单片机引脚引出接口,本开发板将单片机的40个引脚全部引出,包括电源和地,方便用户扩展外设。
(6) DC-5V稳压电源供电接口(7) USB供电接口(8) DC-5V稳压电源供电 USB供电选择接口(9)系统复位按键,便于调试程序(10)ISP编程接口,通过此接口可以实现ISP在系统编程,不用将芯片从开发板拿下来就可以通过下载线将程序下载到单片机内,避免了以往采用编程器编程频繁拔插单片机的麻烦和易损坏芯片的风险。
(11)电源总开关,本开发板上有一个电源总开关,通过此开关可以方便的控制开发板的电源,避免频繁繁拔电源的麻烦。
注:本电源总开关采用的是进口金属封装左右拨动式电源总开关,质量可靠,放心使用。
避免了市场上很多开发板上使用的廉价的易损坏朔料封装开关给用户带来的不必要的烦脑。
4.开发板供电方式:(1)USB供电(2)DC-5V稳压电源供电(3)USB-ISP下载线供电注:在选用USB-ISP供电时,USB-ISP下载线电路板上的JP2必须用跳线冒接上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S52开发实验板使用说明书
欢迎使用本公司的S52开发实验板
首先很感谢您选择本公司的这款产品,我们也尽量帮助你早日成为单片机高手,因为此板是根据多年经验;大量客户反馈而开发的学习实验板,部分模块独立,方便任意I/O口连接,大大增加了学习和应对实验电路的兼容性,真正学到一些知识。
当然这样的板也有弊端就是每实验独立模块要使用杜邦线连接,有些心急的买家可能会嫌麻烦;有部分对硬件不熟悉的客户可能感觉困难,但是在这里告诉大家,以后工作也会接触到硬件,与其以后用的时候发难还不如现在就接触这些东西,养成软硬一起抓的习惯,这对以后工作;或者独立开发项目都有很大的帮助。
声明:
手册只针对S52开发板,因为作者水平有限难免有错误或者疏漏之类,欢迎指正。
但光汇科技不承担任何的因为手册错误而造成的任何损失!
实验板已经安装了保险电阻,且有外接电源时自动切断USB供电电路,但这样也不能保证外接电源是保证100%没有问题,所以在这里建议尽量使用USB供电,实验板的电流最大电流在300MA左右,使用USB供电不会对电脑产生任何的不良。
实验板外接接口功能介绍:
P0插针:单片机P0口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P1插针:单片机P1口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P2插针:单片机P2口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P3插针:单片机P3口外接输出端,双排16位,没个I/O口都有两个外接插针板上丝印文字代表了单片机真实的脚位。
P4插针:可以换晶震圆排母
P5插针: 电源输出端
P6插针: 单排8位LED发光管接口,
P7插针:AD电压实验内部电压外部电压选择端。
P8插针:D1302时钟芯片信号外接端
P9插针:步进电机信号输入端
P10插针:步进电机信号输入口,1脚对应输出脚的A,2脚B,3脚C,4脚D P11插针:51/AVR复位选择端
P12插针:ISP下载接口
P13插针:4位独立键盘接口
P14插针:18B20信号输出口
P15插针:红外遥控信号输出口
温心提示:
本板已经集成了USB转串口芯片PL2303,可以直接使用USB下载数据,不需要另外购买USB转232线等,也不需要外接电源,实验只需要一条USB线就可以同时给单片机供电下载数据两种功能。
另外也可以使用232接靠下载
1步单片机选择STC89C52
3步打开要下载单片机的HEX文件2步选择USB驱动的COM口
4步点下载
USB(PL2303)安装不成功常见问题:
程序安装不上:请更换USB端口,电脑重启,把杀毒软件关掉,包括360或者QQ管家等,安装购买电脑时的主板驱动.
安装成功,但是端口那里有个感叹号,硬件有冲突,关掉全部杀毒软件,助手等.
下载不成功有几下原因:
1:晶震没装
2:单片机装反,单片机的缺口(或者1脚)对着手柄位置.
3:手柄没有按下去
4:USB线插的时间长掉线了,重新拔插
5:安装后要电脑需要从启才可以使用.
6:USB端口有冲突,更换USB接口,遇见过3个USB接口只有一个可以使用的
7:STC是冷启动下载,点了下载软件后2秒钟左右再按下单片机的开关.
8:把最高波特率和最低波特率都调到1200
9:重新安装USB驱动.
实验效果观察:
按照下载文件里面的连线指难连接杜邦线方可看到效果.如果乱码等请检查是否连接正确,或者查看”C”或者”ASM”的原程序文本.
点工程---再点新建工程
接着就是为目标“TARGET 1 ”选择设备,选择“ATMEL”里面的89S52 ---点确定.
在TEXT1里面输入程序代码.以汇编为列
1步:选择晶震频率2步:点输出
进入另外一
个界面
全部打勾再点确定
1步:先点这个
2步:再右击这个
3步:点增加文件到组
找到刚才保存的文件
注意文件类型,我们刚才保存的是ASM
找到文件后点ADD,这个时候就可以看到闪烁全部发光管
到此准备工作完毕,点”工程”---点”从新构造所有目标”如果没有问题就会看到这样的图片:
到此一个程序汇编完成,把输出的HEX文件烧写到单片机就可以工作了.。