文档库 最新最全的文档下载
当前位置:文档库 › 基于STC89C52的单片机开发系统的设计与研究

基于STC89C52的单片机开发系统的设计与研究

基于STC89C52的单片机开发系统的设计与研究
基于STC89C52的单片机开发系统的设计与研究

电大理工

2011年09月Study of Science and Engineering at RTVU. 第3期总第248期

基于STC89C52的单片机开发系统的设计与研究

林喆1孙清2于莹莹1

1辽宁装备制造职业技术学院 (沈阳 110161)2沈阳药科大学高等职业技术学院(沈阳110000)

摘 要 在研究单片机电路设计理论的基础上,将STC89C52单片机应用于开发系统中,设计了一种多功能一体化的单片机开发系统。该系统具有功能多、兼容性好、体积小、使用方便等特点。

关键词 单片机 开发系统 STC89C52

通过研究单片机电路设计的原理和方法, 给出了单片机开发系统的设计方案。所述的系统采用了STC89C52单片机,它具有高速和超强抗干扰等的优点,同时,其指令代码完全兼容传统51系列单片机,实现了系统良好的兼容性,并通过端口的多功能复用实现了系统的一体化。

1 系统的硬件资源

本系统采用了多功能一体化结构设计,通过USB接口作为电源进行供电,方便使用并且使用灵活。另外,系统还提供了多种开发芯片以及输入输出设备,所采用的芯片主要包括:STC89C52单片机、TLC549CP模数转换芯片、TLC5615CP数模转换芯片、DS18B20温度传感器、SMOO38红外接头、DS1302时钟芯片、MAX232CPE通讯芯片、ULN2003达林顿管、74HC573锁存器等;输出设备主要包括:8位LED灯、八位共阴极数码管、8*8点阵、1602液晶屏、蜂鸣器、继电器、直流电机和24BYJ48型减速永磁步进电机;输入设备主要包括:独立按键、4*4矩阵键盘、点阵开关和小型遥控器。

2 系统主电路设计原理

本系统采用速度快、功耗小、价格低、容量大、抗干扰能力强的STC89C52单片机,可直接使用USB转串口线和STC-ISP软件通过USB口进行程序下载。在设计过程中,开发系统充分考虑了单片机的I/O口功能复用以及系统的拓展性,所采用的端子和插槽式接口设计最大程度上支持了电路的扩展,开发系统的主电路如图1所示。

图1 单片机开发系统主电路

3 系统的主要功能电路设计

3.1 数码管和点阵的静/动态显示

系统使用8个8段共阴极数码管进行其静/动态显示开发,采用P2.0-P2.2引脚通过74HC138译码器作为位选通信号,同时采用P0.0-P0.7和P3.7引脚控制74HC573锁存器作为

. 10 . 电大理工 总第248期

数码管段驱动信号来进行其显示功能的开发电路,其连接如图2所示。

为了能够对目前较为流行的点阵进行静/动态显示系统开发,本系统采用指拨开关对P0口

进行了可切换设计,可将STC89C52的P0.0-P0.7引脚通过切换开关连接到点阵的行选信号上,同时利用P2口作为列选信号完成8*8点阵的静/动态显示开发,其电路如图3所示。

2 数码管静/动态显示开发电路

图3点阵静/动态显示开发系统电路

3.2 4*4矩阵键盘的输入

本开发系统中设计了一个4*4矩阵键盘开发系统并可以通过数码管验证相应按键所对应的键值,同时执行相应子程序,其硬件原理如图4所示。该键盘的行线使用P1.0-P1.3引脚作为输出线,列线使用P1.4-P1.7引脚作为输入线。

图4 4*4矩阵键盘输入开发系统电路

在开发时首先将行线全部输出低电平,此时读入列线数据,若列线全为高电平则没有按键被按下,当某条列线为低电平时,则调用延时子程序去除按键抖动并判定低电平是否仍然存在以确定相应键值。 3.3 步进电机、直流电机、继电器驱动电路

本开发系统采用STC89C52单片机控制ULN2003集成达林顿管芯片来驱动步进电机、直流电机和继电器。ULN2003为高耐压、大电流NPN 型晶体管阵列,最大驱动电压为50V ,电流500mA ,输入电压为5V ,它是一个非门电路,包含了七个单元,每个单元驱动电流最大可达350mA 。

在本开发系统中使用ULN2003来驱动步进电机、直流电机和继电器,系统电路图如图5所示。其中,P1.0引脚与J17端子的第7引脚相连后通过J16端子使用脉冲调制编码驱动直流电机;P1.1连接J17端子的第6引脚后通过ULN2003的第7个输出引脚驱动继电器;P1.3-P1.6引脚分别连接J17的第4、3、2、1引脚来驱动J18所连接的步进电机。

第3期 林喆等:基于STC89C52的单片机开发系统的设计与研究 . 11 .

图5 步进电机、直流电机、继电器驱动开发系统电路

3.4 DS1302实时时钟电路

为了能够进行实时时钟电路的开发,系统中采用了美国DALLAS 公司推出的一种高性能、低功耗、带RAM 的实时时钟芯片DS1302电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V-5.5V 。采用三线接口与单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。

3.5 温度传感器、D/A 和A/D 转换电路

开发系统中设计了温度传感器DS18B20,它是单总线式数字温度传感器电路,可以直接将温度转化成串行数字信号,并通过P3.2引脚输入单片机进行处理。它的温度测量范围为-55℃-+125℃,可编程为9-12位A/D 转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式由与单片机P3.2引脚相连的DQ 引脚进行串行输出。

本开发系统中设计了TLC5615CP 串行接口D/A 转换芯片电路,其输出为电压信号,建立时间为12.5 us ,最大输出电压是基准电压值的两倍,带有上电复位功能,即可以把DAC 寄存器复位至全零。在设计过程中分别通过单片机的P1.0-P1.2引脚与它的DIN 、SCLK 和CS 引脚相连进行通信。

在开发系统中还使用TLC549CP 作为A/D 转换芯片电路,它以8位开关电容逐次逼近的方法实现A/D 转换,其转换速度小于17 us ,它能方便地采用三线(CS 、I/O 、OUT )串行方式与单片机的P1.3、P1.4和P3.4引脚通信。

系统中所采用的温度传感器、D/A 和A/D 转换开发系统电路如图6所示。

4 结论

理论与实践表明,本系统在单片机应用电路的开发与设计过程中具有功能多、结构简单、使用方便、价格便宜、性能稳定和低功耗等特点。通过端子和接口的多功能复用设计有效地增加了系统的可扩展性,为单片机应用系统的开发与设计提供了一种比较理想的方法与解决方案。通过可更换式单片机底座,相同的开发系统也可以用于其它类型单片机应用电路的开发与设计,因

此具有较高的实用性和推广价值。

图6 系统中所采用的温度传感器、D/A 和A/D 转换开发系统电路

参考文献

[1]张义和.例说51单片机.北京:人民邮电出版社,2008.

[2] STC89C52RC Guide Book.宏晶科技,2006.

(责任编辑:齐婷婷)

基于STC89C52单片机的动态数码管显示C语言程序

* 实验说明 : 8位数码管显示0~F #include #define GPIO_DIG P0 //段选 #define GPIO_PLACE P1 //位选 //--定义全局变量--// unsigned char code DIG_PLACE[8] = { 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选控制查表的方法控制unsigned char code DIG_CODE[17] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71 }; //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码 unsigned char DisplayData[8]; //用来存放要显示的8位数的值 void DigDisplay(); //动态显示函数 void main(void) { unsigned char i; for(i=0; i<8; i++) { DisplayData[i] = DIG_CODE[i]; } while(1) { DigDisplay(); } } void DigDisplay() { unsigned char i; unsigned int j; for(i=0; i<8; i++) { GPIO_PLACE = DIG_PLACE[i]; //发送位选 GPIO_DIG = DisplayData[i]; //发送段码 j = 10; //扫描间隔时间设定 while(j--); GPIO_DIG = 0x00;//消隐 } }

51单片机集成开发系统MedWin

51单片机集成开发系统MedWin 一、安装Medwin 直接从万利公司网站上下载的MedWin不含汇编/编译/连接器,也不包含c51的函数和连结库。为此,我站将medwin 和其必须的附件一同打包,重新生成解压式安装文件MedWinSetup.exe。该文件在配套光盘中。 点击MedWinSetup.exe,即弹出安装对话框,请不要改变安装路径!点击“安装”程序会自动完成全部安装。 安装完后,桌面上会生成一个图标。点击该图标就开始启动Medwin开发系统,启动后在第一个弹出的对话框中选择“模拟仿真”: 接下来的设置仅在第一次启动时所必要的设置:

在“工作向导”对话框中选择“新建或打开一个文件”。 在打开文件对话框中可根据你的情况处理;若打开现有文件,就直接点击现有文件后再点击“打开”按钮;若你新建一个文件,请在“文件名(N):”框中键入你新文件的名字再点击“打开”按钮。需注意的是,新建的汇编程序其扩展名必须是ASM,c51程序扩展名必须是C。下面是已打开的MedWin环境快照。 在有些时候,可能会出现环境参数设置,请依下面方法设置。

工作目录我们设到C:\C51\Mypro下。 “编译/汇编/连接配置”应与下面设置一致。 二、MedWin的简单使用:

启动medwin,新建一个文件后就出现编辑窗,我们在就可以在这个窗中编写汇编或c原程序。 当编写完成后,应先保存。再按下图步骤产生烧写单片机用的hex文件。

先在工具栏中按“”按钮,主窗体下面会出现汇编或编译过程提示,若错误=0,就编译或汇编成功;若有错误,请以依提示逐个排除错误后再按“”按钮汇编或编译,直至错误=0,编译或汇编成功。 最后从菜单中点击“项目管理”下的“输出 Intel HEX 文件 (H)...”,在c:\c51\Mypro下就生成与原程序同名的hex文件。 下面我们用流水灯程序直接做一遍 将光盘中McuCai\liushun\的liu1.asm复制到c:\c51\Mypro目录中,取掉其只读属性。启动Medwin,打开 c:\c51\Mypro\liu1.asm 。 编辑窗中就是用汇编语言编写的流水灯程序。现在我们不要管他是什么意思,按下面步骤将这些汇编“符号”生成单片机需要的代码就行啦。 第一步,点击工具按钮“”生成Medwin调试代码;第二步,从菜单中点击“项目管理”下的“输出 Intel Hex 文件 (H)...”,

STC89C52单片机详细介绍

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL 搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 单片机总控制电路如下图4—1: 图4—1单片机总控制电路 1.时钟电路 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引

脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图4—2(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。 外部方式的时钟电路如图4—2(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。 RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。

基于STC89C52单片机毕业设计完整版附原理图pcb图源程序仿真图

基于STC89C52单片机的电子密码锁 学生姓名: xx 学生学号: xxxxx 院(系):电气信息工程学院 年级专业: 2010级电子信息工程2班 指导教师:陶文英 二〇一三年六月 摘要

随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事情屡见不鲜,电子密码锁具有安全性能高,成本低,功耗低,操作简单等优点使其作为防盗卫士的角色越来越重要。 从经济实用角度出发,采用51系列单片机,设计一款可更改密码,LCD1602显示,具有报警功能,该电子密码锁体积小,易于开发,成本较低,安全性高,能将其存储的现场历史数据及时上报给上位机系统,实现网络实时监控,方便管理人员及时分析和处理数据。其性能和安全性已大大超过了机械锁,特点有保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零;密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;误码输入保护。当输入密码多次错误时,报警系统自动启动;电子密码锁操作简单易行,受到广大用户的亲睐。 关键词单片机, 密码锁, 更改密码, LCD1602 目录

错误!未定义书签。 1 绪论 1.1电子密码锁简介 (1) 1.2 电子密码锁的发展趋势 (1) 2 设计方案 (3) 3 主要元器件 (4) 3.1 主控芯片STC89C52 (4) 3.2 晶体振荡器 (8) 3.3 LCD显示密码模块的设计 (9) 3.3.1 LCD1602简介 (9) 3.3.2 LCD1602液晶显示模块与单片机连接电路 (11) 4 硬件系统设计 (12) 4.1 设计原理 (12) 4.2 电源输入电路 (12) 4.3 矩阵键盘 (13) 4.4 复位电路 (14) 4.5 晶振电路 (14) 4.6 报警电路 (15) 4.7 显示电路 (15) 4.8 开锁电路 (16) 4.9 电路总体构成 (16) 5 软件程序设计 (18) 5.1 主程序流程介绍 (18) 5.2 键盘模块流程图 (19) 5.3 显示模块流程图 (21) 5.4 修改密码流程图 (22) 5.5 开锁和报警模块流程图 (23) 6 电子密码锁的系统调试及仿真 (25) 6.1硬件电路调试及结果分析 (25) 6.2软件调试及功能分析 (25) 6.2.1调试过程 (25) 6.2.2 仿真结果分 (26)

STC89C52单片机用户手册

STC89C52RC单片机介绍 STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051. 工作电压:~(5V单片机)/~(3V单片机) 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz 用户应用程序空间为8K字节 片上集成512字节RAM 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O口用时,需加上拉电阻。 ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒 即可完成一片 具有EEPROM功能 具有看门狗功能 共3个16位定时器/计数器。即定时器T0、T1、T2 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒 通用异步串行口(UART),还可用定时器软件实现多个UART 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) PDIP封装 STC89C52RC单片机的工作模式 掉电模式:典型功耗<μA,可由外部中断唤醒,中断返回后,继续执行

原程序 空闲模式:典型功耗2mA 正常工作模式:典型功耗4Ma~7mA 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备 STC89C52RC引脚图 STC89C52RC引脚功能说明 VCC(40引脚):电源电压 VSS(20引脚):接地 P0端口(~,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

C8051Fxx单片机开发工具及调试技术

关于开发工具及调试的技术问答 1、问:C8051FXX系列单片机的开发工具是不是串行适配器(PC机串口和JTAG协议转换适配)相同而目标版不同? 答:开发套件中串行适配器(核心部件)是通用的,只是目标版不同。只要您购买一套开发套件,就可以开发全系列单片机,只要将集成开发环境软件升级就可以了。为了加快您的开发进程,您只要购买带有相关型号单片机的目标板就可以了。 2、问:C8051F单片机是怎样调试用户系统的? 答:C8051F单片机是用开发套件来调试用户系统的。单片机开发套件包括开发软件IDE(集成开发环境),ML-EC3至PC机USB口和单片机JTAG接口的协议转换模块和一个目标板(板上有 C8051FMCU)。IDE中集成编译器,汇编器和连接器,支持汇编语言和C语言(第三方支持);ML-EC3是从USB口到JTAG协议的转换模块。 目标板上带有一块相应的C8051FMCU和一些简单的外围电路构成一个最小单片机系统,并将所有引脚连接到插座。C8051F单片机内集成了一个以JTAG协议为基础的调试电路,这样在调试您的系统时,不需要专用仿真芯片、目标仿真头及目标RAM等。您在IDE上编译生成程序代码后,通过ML-EC3(连接到计算机USB口和JTAG接口)将代码下载到用户系统板的C8051FMCU的Flash存储器中,然后您就可以调试您的目标系了。 3、问:可以用KeiluVision2IDE调试全系列C8051F单片机应用系统吗?

答:可以。但必须安装动态链接库。该驱动程序可以在我公司的网站上下载。 4、问:如何将绝对目标代码转换成hex格式文件? 答:第一,可以使用KEILC,在编译时直接生成。 第二,使用OH51(DOS命令)将目标文件转换成hex格式的文件。 Oh5Linputfile〔hexfile〕 第三,在IDE环境中生成HEX文件 ﹙1﹚.在TOOL菜单中选择ADDREMOVEUSERTOOL ﹙2﹚.点击ADD按钮,增加一个MENUTEXT(名称可以任何输入) ﹙3﹚.在TOOLS里选择OH51.EXE文件(此文件在KEIL的BIN目录中有,必须将此文件放在项目所在目录) ﹙4﹚.在ARGUMENTS里输入文件名或项目名 ﹙5﹚.在DIROF里输入HEX文件的保存目录 5、问:Silabs IDE中带有4K代码限制版的KeilC51,那么如何将无限制版的KeilC51嵌入到Silabs IDE中呢? 答:先将您完全版的KeilC51安装到您的PC机中;然后进入Silabs IDE界面,选择Project-﹥TOOLChainIntegration弹出对话框,单击Browse按钮,更换A51.EXE和BL51.EXE的路径(换成“Keil安装目录”/c51/bin)即可。 6、问:程序代码加密后,IDE不能与目标系统连接怎么办?

STC89C52单片机用户手册

STC89C52F单片机介绍 STC89C52F单片机是宏晶科技推出的新一代高速 /低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: * 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051. * 工作电压:5.5V?3.3V (5V单片机)/3.8V?2.0V (3V单片机) * 工作频率范围:0?40MHz相当于普通8051的0?80MHz实际工作频率可达48MHz *用户应用程序空间为8K字节 * 片上集成512字节RAM * 通用I/O 口(32个),复位后为:P1/P2/P3/P4是准双向口 /弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口 用时,需加上拉电阻。 * ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿真器,可通过串口( RxD/P3.0,TxD/P3.1 )直接下载用户程序,数秒 即可完成一片 * 具有 EEPROM能 *具有看门狗功能 * 共3个16位定时器/计数器。即定时器T0、T1、T2 * 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒 * 通用异步串行口( UART,还可用定时器软件实现多个 UART * 工作温度范围:-40?+85C(工业级)/0?75C(商业级) * PDIP封装 STC89C52F单片机的工作模式 *掉电模式:典型功耗<0.1吩,可由外部中断唤醒,中断返回后,继续执行原程序

基于STC89C52单片机的数字温度计

基于STC89C52单片机的数字温度计 成员姓名:邹远淳徐冰孙顺新唐高峰 专业班级:自动化2班 指导教师:杨伟新

目录 摘要··················································P1 1绪论·················································P2 2系统组成及工作原理···································P3 2.1总体设计方案········································P3 2.2系统模块组成········································P3 3系统电路设计·········································P4 3.1 STC89C52单片机主控制器······························P4 3.2 LED数码管显示模块···································P5 3.3温度检测模块·········································P7 4系统软件设计·········································P8 5系统测试·············································P9 5.1主要指标测试·········································P9 5.2测试结果分析·········································P9 参考文献·················································P10 附录··················································P11

单片机开发与仿真软件keilc51的使用

单片机开发与仿真软件Keil C51的使用 一、Keil C51 操作入门 Keil C51 简介 Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。Keil 51支持汇编语言、C语言等各种开发语言。其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。uVision2调试器是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集和片内外围功能。 实验所用的是Keil C51 评估版。 Keil C51 的启动 双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。 图1 Keil C51的启动界面 建立第1 个Keil C51 程序 Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。硬件电路参见图2,单片机I/O 输出低电平可点亮LED。 图2 LED 闪烁发光电路 ●新建工程。执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名 为“Create New Project”的对话框。先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash”,并保存。参见图3。 图3 新建Keil C51 工程 ●选择CPU。紧接着,Keil C51 提示选择CPU 器件。8051 内核单片机最早是由鼎鼎 大名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。在这里可以选择Philips 的第1 个器件“80/87C51”,该器件与Intel 的8051 完全兼容。参见图 4 。

单片机软件编程规范

1 编辑器 (3) 2 程序文件的结构 (3) 2.1 说明 (3) 2.2 编译宏定义 (4) 2.3 包含文件 (4) 2.4 用户数据类型定义 (4) 2.5 管脚定义 (5) 2.6 常量 (5) 2.7 变量 (5) 2.8 正文 (6) 2.8.1 正文顺序[推荐] (6) 2.8.2 正文内容 (6) 2.9 长的常量数组 (6) 3 命名 (7) 3.1 常量、编译宏命名 (7) 3.2 变量命名 (7) 3.3 函数命名 (8) 4 程序的版式 (9) 4.1 缩进:统一使用编辑器的TAB键进行缩进,同时设定其缩进量为系统默认 (9) 4.2 空行:相对独立的程序块之间、变量说明之后必须加空行 (10) 4.3 代码行 (11) 4.3.1 一行代码只做一件事情 (11) 4.3.2 if、for、while、do 等语句自占一行 (11) 4.3.3 程序块的分界符独占一行 (12) 4.3.4 多运算符的代码行,不使用默认优先级 (13) 4.3.5 不要使用难懂的技巧性很高的语句 (13) 4.4 空格 (14) 4.4.1 必要时留空格,使代码更清晰[推荐] (14) 4.4.2 二元操作符前后留空格 (14) 4.4.3 一元操作符前后不留空格 (14) 4.5 长行拆分 (15) 4.5.1 较长的语句(>80字符)要分成多行书写 (15)

4.5.2 循环、判断等语句要在低优先级操作符处划分新行 (16) 4.5.3 函数或过程中的参数较长,则要进行适当的划分 (16) 5 全局变量定义时初始化 (16) 6 注释 (17) 6.1 必须加注释的位置[推荐] (17) 6.2 注释应适量且准确[推荐] (17) 6.3 函数接口的注释格式 (17) 6.4 变量的注释格式[推荐] (18) 6.5 注释与所描述内容进行同样的缩排 (19) 6.6 将注释与其上面的代码用空行隔开 (20) 6.7 程序块结束行加注释[推荐] (20) 7 EEPROM数据保护 (21) 8 程序失效复位处理[推荐] (21) 9 检查 (21) 9.1 数组下标检查 (21) 9.2 指针检查 (22) 9.3 易混淆操作符检查 (22) 9.4 右值变量检查 (22) 9.5 差1错误检查 (22) 9.6 变量溢出检查 (23) 9.7 类型转换检查 (23)

(完整版)STC89C52RC单片机手册

STC89C52单片机用户手册 [键入作者姓名] [选取日期]

STC89C52RC单片机介绍 STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。 主要特性如下: 1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意 选择,指令代码完全兼容传统8051. 2.工作电压:5.5V~ 3.3V(5V单片机)/3.8V~2.0V(3V单片机) 3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作 频率可达48MHz 4.用户应用程序空间为8K字节 5.片上集成512字节RAM 6.通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉, P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O口用时,需加上拉电阻。 7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片 8.具有EEPROM功能 9.具有看门狗功能 10.共3个16位定时器/计数器。即定时器T0、T1、T2 11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可 由外部中断低电平触发中断方式唤醒 12.通用异步串行口(UART),还可用定时器软件实现多个UART 13.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 14.PDIP封装 STC89C52RC单片机的工作模式 掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序

单片机的发展及应用

单片机的发展与应用 摘要:本文阐述了单片机基本组成以及一般原理。通过查阅相关资料认真总结了单片机的原理、应用、发展以及影响等方面的知识,较为详细地介绍当前单片机的应用领域以及发展历程、发展前景。主要内容包括:单片机的基本原理、硬件结构、具体的应用以及发展的历史与趋势的介绍。本文主要目的是想让大家对单片机有一个更为深入、更为全面的了解。以期,在单片机发展迅速、应用领域不断扩大的当今社会能有一个更好的发展。通过对本课题的研究发现,近年来。单片机在国内的发展速度很快,应用领域也在不断扩大。可见,单片机在国内的发展前景极为广阔。 关键词:单片机;芯片;发展;应用 Development and application of single-chip Abstract: The Intel MCS-51 series single-chip model, the basic components of single-chip, as well as general principles. Access to relevant information through carefully summed up the principle of single-chip, application, development and impact of knowledge, a more detailed description of the current single-chip applications as well as the development process, development prospects. The main contents include: the basic principles of single-chip, hardware structure, and specific applications and the development trend of the history and introduction. The main purpose of this paper is to make everyone have a more in-depth single-chip, a more comprehensive understanding. With a view to, the rapid development in the single-chip applications expanding today's society to have a better development. The subject of this study found that in recent years. Single-chip in the development of the domestic fast, applications are also expanding. This shows that single-chip prospects in the country are extremely broad. Keyword: single-chip; chip; development; application;

打造自己的51单片机开发综合软件平台

打造自己的51单片机开发综合软件平台 (Keil 3+Proteus 7+Easy 51 Pro+。。。) 业余单片机爱好者在进行51单片机编程实验时,常常要用到C51集成编译软件Keil 3、仿真软件Proteus和编程器,通常的步骤是:先用Keil33编写程序,完成并编译通过后再用Proteus进行仿真,最后打开编程器软件烧录芯片。这几个软件应该说大家都比较熟悉了,但他们用起来都相对独立,以往,也有些单片机爱好者进行Proteus 与Keil3 联机调试,但这两个软件仍然要分别启动后才能由Keil3遥控启动Proteus的Debug;其实,利用Keil 3的自定义菜单功能,我们完全可以拥有一个集编写程序、编译、仿真联调、烧录等于一身的综合开发平台,在一个操作环境就可以完成编程所需的全部操作,怎么样?有兴趣吗?跟我来。。。 步骤: 1、在网上下载并安装Keil 3、Proteus 7软件。 2、运行下载的vdmagdi.exe,自动配置Proteus 7与Keil3联机仿真。 3、打开Keil 3,新建一个项目,选择菜单“Project”―>“options for Target ‘Target 1’”;在“Output”中勾选“Creat HEX File”,在“Debug”中点选“Use:Proteus VSM simulator”,确定。 选择菜单"Tools"->"Customize Tools Menu…",单击,将打开一个“Customize Tools Menu”窗口,见下图1、图2: 图1

图2 1)、点击插入一个新菜单项,输入菜单项名称如:“Proteus 7仿真”。 2)、在“Command”中输入运行Proteus 7的命令行:E:\...\Proteus 7 Prefessional\BIN\ISIS.EXE,但用鼠标点击打开文件所在目录从中直接选取更方便、直观、准确,注意:不能选用Proteus 7的链接,即Proteus 7.lnk,只能选.exe(或.bat)文件即Proteus 7.exe,否则以后用菜单启动Proteus 7时会出错。 3)、在“Initial”中输入Proteus 7仿真文件保存的目录,一般选Keil 3刚建立的项目目录(和项目生成的.hex文件同目录,否则仿真会出错),空白时默认为当前Keil 3项目目录。 4)、在“Argument”中输入Proteus 7仿真的文件名,一般与项目同名,仿真结束后生成.DSN仿真文件。 这里,笔者建议第3)“Initial”项不用填,第4)“Argument”在仿真完成后也予以删除,这样可以适用于Keil 3建立的所有项目,而不必每新建一个项目都要修改该目录和仿真文件名。也可以勾选“Prompt for argument”,这样在启动Proteus 7前 将弹出一个对话框,提示您输入仿真文件名(图3)。

基于STC89C52单片机最小系统的设计

基于STC89C52单片机最小系统的设计 1 设计内容及要求 设计题目:基于STC89C52单片机最小系统的设计及制作。 设计要求:输入信号为传感器、电压、电流、开关等形式,单片机型号可以自己选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显示器等。(注:可以采用单片机、传感器电路模块以及集成电路芯片制作。) 使用器材:感光板及常用PCB制版器材、常用电子装配工具、万用表、示波器及电子元器件(详见附录)。 2 STC89C52单片机 2.1 STC89C52单片机简介 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。用专业语言讲,单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片。 2.2 单片机的特点 (1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪声性能优于一般通用的CPU。单片机程序指令,常数及表格等固体化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。 (2)控制功能强 为了满足对控制对象的要求,单片机的指令系统均有极丰富的条件:分支转移能力、I/O口的逻辑操作机位处理能力,非常适用于专门的控制功能。 (3)低电压,低功耗,便于生产携带 为了便于广泛使用于便携式系统,许多单片机内的工作电压仅为 1.8V~3.6V,工作电流仅为数百微安。 (4)易扩展 片内具有计算机正常运行所需的部件。芯片外部有许多供扩展用的三总线及

STC89C52RC单片机的特点

STC89C52RC 单片机介绍 STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051 单片机,12 时钟/机器周期和 6 时钟/机器周期可以任意选择。 主要特性如下: 1. 增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051. 2. 工作电压:5.5V? 3.3V (5V单片机)/3.8V?2.0V (3V单片机) 3. 工作频率范围:0?40MHz,相当于普通8051的0?80MHz,实际工作频率可达 48MHz 4. 用户应用程序空间为8K 字节 5. 片上集成512 字节RAM 6. 通用I/O 口(32 个)复位后为:,P1/P2/P3/P4 是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电 阻。 7. ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿 真器,可通过串口(RxD/P3.0,TxD/P3.1 )直接下载用户程序,数秒即可完成一片 8. 具有EEPROM 功能 9. 具有看门狗功能 10. 共3 个16 位定时器/计数器。即定时器T0、T1、T2 11. 外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒 12. 通用异步串行口(UART ),还可用定时器软件实现多个UART 13. 工作温度范围:-40?+85 C (工业级)/0?75 C(商业级) 14. PDIP 封装 STC89C52RC 单片机的工作模式 掉电模式:典型功耗<0.1卩可由外部中断唤醒,中断返回后,继续执行原程序 空闲模式:典型功耗2mA 典型功耗正常工作模式:典型功耗4Ma?7mA 典型功耗掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备 STC89C52RC 引脚功能说明 VCC (40 引脚):电源电压 VS S(20 引脚):接地 P0端口(P0.0?P0.7 P0.7, 39?32引脚):P0 口是一个漏极开路的8位双向I/O 口。作为输出端口,每个引脚能驱动8 个TTL 负载,对端口P0 写入每个引脚能驱动写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时在访问外部程序和数据 存储器时,P0 口也可以提供低8 位地址和8 位数据的复用总线位数据的复用总线。此时,P0 口内部上拉电阻有效。在Flash ROM 编在程时,P0 端口接收指令字节端口接收指令字节;而在校验程序时,则输出指令字节则输出指令字节。验证时,要求外接上拉电阻。 P1端口(P1.0?P1.7, 1?8引脚):P1 口是一个带内部上拉电阻的8位双向I/O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1 口作输入口使用时,因为 有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。 此外,P1.0 和P1.1 还可以作为定时器/计数器 2 的外部技术输入(P1.0/T2 )和定时器/计数器 2 的触发输入(P1.1/T2EX ),具体参见下表: 在对Flash ROM 编程和程序校验时,P1 接收低8 位地址。

单片机开发软件keil使用技巧 联调5

单片机 软件 程序 联调使用方法 功能 I/O口内部结构

第一课:初识单片机 记得在我们网站的论坛里,曾经有一位网友问了一个问题,什么是单片机?单片机是怎样的一个东东?单片机可以实现些什么功能?它主要应用在哪些领域?在我们单片机自学 网的网上课堂的第一节课,我们就上面的这些问题与大家先做一个初步的探讨。 在进入课程的讲解之前,大家先一起来看看单片机吧。下图是一片40脚的89C51及一片20脚的89C2051的单片机。 单片机的外形从上图中我们已初步认识了,那么什么叫单片机呢? 所谓单片机,通俗的来讲,就是把中央处理器CPU(Central Processing Unit),存储器(memory),定时器,I/O(Input/Output)接口电路等一些计算机的主要功能部件集成在一块集成电路芯片上的微型计算机。单片机又称为“微控制器MCU”。中文“单片机”的称呼是由英文名称“Single Chip Microcomputer”直接翻译而来的。 单片机的主要分类: 1、按应用领域可分为:家电类,工控类,通信类,个人信息终端类等等; 2、按通用性可分为:通用型和专用型。 通用型单片机的主要特点是:内部资源比较丰富,性能全面,而且通用性强,可履盖多种应用要求。所谓资源丰富就是指功能强。性能全面通用性强就是指可以应用在非常广泛的领域。通用型单片机的用途很广泛,使用不同的接口电路及编制不同的应用程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设备和整套生产线都可用单片机来实现自动化控制。 专用型单片机的主要特点是:针对某一种产品或某一种控制应用而专门设计的,设计时已使结构最简,软硬件应用最优,可靠性及应用成本最佳。专用型单片机用途比较专一,出厂时程序已经一次性固化好,不能再修该的单片机。例如电子表里的单片机就是其中的一种。其生产成本很低。 在我们的这个网上课堂中,介绍的是MCS-51系列单片机,MCS-51单片机也是一种通用单片机,其结构及原理对所有的单片机都适用。 3、按总线结构可分为总线型和非总线型。如我们常常见到的89C51单片机就是总线结构,在后面讲解单片机的内部结构时,我们就可以看到,89C51单片机内部有数据总线,地址总线,还有控制总线(WR,RD,EA,ALE等)。从上图中看到的20引脚的89C2051单片机,就是

(完整版)基于STC89C52单片机的电子时钟设计毕业设计论文

阳泉职业技术学院 毕业设计论文 基于51单片机的电子时钟设计 系部:信息系

专业:电气自动化班级:09级一班学生姓名:张瑞勇 学号: 指导教师:耿素军 2012年 5 月 6 日

摘要 随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。 时间就是金钱、时间就是生命、时间就是胜利……,准确的掌握时间和分配时间对人们来说至关重要,时钟是我们生活中必不可少的工具。电子钟的设计方法有很多种,但是基于单片机并通过LCD显示的电子时钟具有编程灵活、精确度高、便于携带、显示直观等特点。 利用STC89C52单片机对DS1302时钟芯片进行读写操作并通过1602字符液晶显示实时时钟信息,这样便构成了一个单片机电子时钟。 关键词:单片机,电子时钟,STC89C52

ABSTRACT With the rapid development of microcomputer technology in its promotion, modern electronics into almost all areas of society, a strong impetus to the development of social productive forces and social improvement in the level of information, but also to further improve the performance of modern electronic products. Time is a money, time is life, time is victory… Accurate grasp of time and allocation of time is crucial to people, The clock is necessary in our life tools . Clock Design There are many ways, of electronic capabilities, . In this paper, through the use of STC89C52 microcontroller by DS1302 clock chips for reading and writing operation and through 1602 character liquid crystal display real-time clock information so that forming a single chip electronic clock. Key Words: Microcontroller,STC89C52,Electronic clock,

相关文档
相关文档 最新文档