单片机设计及开发项目课件.ppt

上传人:小飞机 文档编号:2330515 上传时间:2023-02-11 格式:PPT 页数:66 大小:2.98MB
返回 下载 相关 举报
单片机设计及开发项目课件.ppt_第1页
第1页 / 共66页
单片机设计及开发项目课件.ppt_第2页
第2页 / 共66页
单片机设计及开发项目课件.ppt_第3页
第3页 / 共66页
单片机设计及开发项目课件.ppt_第4页
第4页 / 共66页
单片机设计及开发项目课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《单片机设计及开发项目课件.ppt》由会员分享,可在线阅读,更多相关《单片机设计及开发项目课件.ppt(66页珍藏版)》请在三一办公上搜索。

1、第八期全国电子专业人才师资培训班,单片机设计与开发项目,主要内容,单片机设计与开发竞赛规则 CT107D硬件资源介绍 CPU模块 下载器 总线扩展 外设模块 CT107D使用方法及程序设计 CT107D驱动安装及程序下载方法 C51编程简介 单片机设计与开发项目模拟题分析,竞赛规则,竞赛单片机:STC89C52RC或STC12C5A60S2开发环境:Keil C51开发语言:C语言或汇编语言竞赛分值比例:,更多信息见大赛永久官方网站:http:/www.dzds.org,CT107D简介(1),单片机学习与实训产品 ASP(ISP)下载功能 演示程序 多处理器兼容 STC:STC89C52、S

2、TC12C5A60S2等;Atmel AVR系列:ATmega16、ATmega32、ATmega8515等;Atmel 51系列:AT89S52、AT89C52、AT89S51、AT89C51等;选拔赛及决赛指定专用平台,MCS51系列单片机简介(1)51内核单片机CPU以MCS-51为基础系统结构相同指令集兼容 MCS-51单片机简介 51系列:8031、8051、8751等52系列:8032、8052、8752等,CT107D简介(2),CT107D简介(2),MCS51系列单片机简介(2),硬件资源,CT107D下载器(1)板载下载器CH341A USB转串口 USB转并口 USB转I

3、2C USB转SPI,硬件资源,CT107D下载器(2),硬件资源,总线扩展(1),总线扩展(2),硬件资源,void uln_out()#ifdef MMXBYTE0 xa000=uln;#elseEA=0;P2=(P2#endif,总线扩展(3),硬件资源,I2C总线(1)基本原理 主器件提供SCL 通过器件的地址访问 传输过程由主器件启动 时钟速率 标准约100KHz 高速约400KHz 有些器件可达数MHz,硬件资源,硬件资源,I2C总线(2),结构,I2C总线(3),硬件资源,时序,DS1302芯片介绍(1)简易三线接口(RST、IO、SCK)双重电源补给 31字节数据暂存寄存器 闰

4、年自动调整,硬件资源,DS1302芯片介绍(2),硬件资源,结构框图,DS1302芯片介绍(3),硬件资源,DS1302读写操作时序,硬件资源,发光二极管,硬件资源,数码管&LED点阵(1),硬件资源,LCM接口模块,硬件资源,44键盘矩阵,硬件资源,ULN2003功率驱动模块,(MC1413)集电极开路输出,硬件资源,继电器、蜂鸣器等模块,有源蜂鸣器,光敏器件 光敏电阻的主要参数:暗电阻:室温全暗的条件下的稳定电阻值 亮电阻:室温和一定的光照条件下的稳定电阻值,硬件资源,硬件资源,功率放大模块,驱动无源扬声器,超声波发送电路,发送38KHz方波信号驱动模块。,硬件资源,超声波模块介绍,超声波

5、接收电路,滤波、放大输出-CX20106A,硬件资源,红外收发及相关跳线配置,红外发射管,红外收发一体头,红外超声跳线配置:1-3、2-4:超声波3-5、4-6:红 外,硬件资源,信号发生模块,硬件资源,差分信号放大电路,压力传感器接口,硬件资源,CT107D平台资源表(1),硬件资源,CT107D平台资源表(2),硬件资源,CT107D平台资源表(3),硬件资源,CT107D平台资源表(4),38译码器输出端口,ULN2003输出端口,程序设计,CT107D驱动安装 安装USB转串口驱动程序(UART、STC程序下载)安装USB转并口驱动程序(Atmel 程序下载),程序设计,CT107D-

6、STC MPU程序下载,下载程序时,需重新为系统上电,程序设计,C51程序设计要点(1)存储器、I/O标准总线扩展 存储器空间 程序空间(闪存、ROM、RAM)数据空间(RAM、E2PROM、闪存)堆栈(RAM)编址方式 字编址(PIC)字节编址,程序设计,C51程序设计要点(2)存储器空间编址方式 冯诺依曼结构 哈弗结构,程序设计,C51程序设计要点(3)IO空间编址方式 IO空间编址方式 数据和IO独立编址 指令系统中有专门的输入输出指令(x86)数据空间和IO空间统一编址 指令系统中无专门的输入输出指令(51),程序设计,C51程序设计要点(4)变量 位(bit)8(unsigned c

7、har、char)16(unsigned int、int)32(unsigned long、long)浮点数(float),程序设计,C51程序设计要点(5)变量的相对定义 data(0 x000 x7f)bdata(0 x200 x2f)bit(0 x000 x7f位地址)idata(0 x000 xff)xdata(0 x00000 xffff)pdata(页内寻址8位地址,0 x000 xff)const常数可设在任何存储器空间 code(=const code)ROM,程序设计,C51程序设计要点(6)变量的绝对定义 I/O端口的定义:_at_ 0 x200 SFR的绝对定位 sfr(

8、0 x800 xff)sfr16(0 x800 xff)位变量的绝对定位 sbit(0 x000 xff位地址),程序设计,C51程序设计要点(7)指针 三个字节,通用型指针,未指明存储器空间 uchar*point0;uchar const*data point1;两个字节,指向16位寻址的存储器空间 uchar code*data point2;uchar xdata*data point3;一个字节,指向8位寻址的存储器空间 uchar data*data point4;uchar idata*data point5;uchar pdata*data point6;,程序设计,C51程序

9、设计要点(8)程序的绝对定位(ISR)void ex0_isr(void)interrupt N using M/C51保护和恢复中断现场 C51的引导 有启动程序(IDE提供STARTUP.A51),CPU初始化 由启动程序引导C的MAIN函数 无启动程序编译系统自动加入MCS-51单片机的初始化程序,程序设计,IO编程 通过IO端口控制LED(1),程序设计,IO编程 通过IO端口控制LED(2)#include“reg52.h”extern void timer_init(void);/引用外部定时器初始化函数void led_change(void);/改变控制LED引脚输出状态函数声

10、明extern bit sec_flag;void main(void)/timer_init();P2=0 xAF;P0=0;P2=0 x9F;/74HC573锁存器控制while(1)if(sec_flag=1)change_led();/秒计时,程序设计,IO编程 通过IO端口控制LED(3)void change_led(void)static unsigned char data led=0 x80;/LED初始化状态sec_flag=0;/清除秒标志if(led=1)=0)/边界条件led=1;P0=led;/低电平点亮LED,程序设计,定时器编程(1)51单片机定时器工作模式,程

11、序设计,定时器编程(2)确定定时器的工作模式 确定最长定时时间 最长定时时间=系统时钟周期12 2n(定时器位数)计算定时初值 计数初值=2n 计数长度 当n=8/16/32时,计数初值=-计数长度,程序设计,定时器编程(3)TMOD,程序设计,定时器编程(4)TCON,程序设计,定时器编程(5)100us定时-定时器0,工作模式2#include“reg52.h”#define sysclk 12000000#define c_timer0(sysclk/12)100/1000000void timer_init(void)TMOD|=0 x02;/定时器工作模式2TH0=c_timer0;

12、/定时器初值/TL0=c_timer0;TR0=1;/启动定时器ET0=1;/开启定时器0中断EA=1;/开启全局中断void timer_isr(void)interrupt 1/中断优先级/,程序设计,UART编程(1)51单片机UART特性 同步/异步传输的串行接口 同步方式为半双工方式 异步可以工作在全双工方式 用一个SFR(SBUF)地址访问接/发寄存器 允许在未读取接收数据时开始新的接收 写发送寄存器即重新启动发送过程,程序设计,UART编程(3)PCON,程序设计,UART编程(2)SCON SM0-1:工作模式设置 SM2:模式2和3的多机通信控制位 REN:接收控制,允许接收

13、、0禁止接收 TB8:发送数据的第9位 RB8:接收数据的第9位 TI:发送完成,发送中断标志位 RI:接收完成,接收中断标志位,程序设计,UART编程(4)void uart_init(void)/串口初始化函数SCON=0 x50;/模式配置ES=1;/串口中断EA=1;/全局中断void baud_init(void)/串口波特率配置,11.0592MHzPCON|=0 x80;TMOD|=32;TH1=0 xFD;TL1=0 xFD;TR1=1;,程序设计,UART编程(4)void uart_isr(void)interrupt 4/中断服务子函数,中断优先级if(RI)/接收标志位

14、RI=0;/str=SBUF;/从串口接收数据/if(TI)/发送标志位TI=0;/SBUF=str;/通过串口发送数据/,模拟试题分析,“模拟智能传送装置”功能描述“传送装置”可实现货物重量检测,改变装置的传输方向,超重记录及超重报警功能 相关硬件单片机控制电路、数码管显示电路模数转换电路、EEPROM存储电路按键控制电路、蜂鸣器及继电器电路,模拟试题分析,系统框图,模拟试题分析,设计任务与要求重量测量及显示单元 A/D转换,数码管显示按键控制单元 4个按键:传送启动、停止,正、反转 LED模拟显示 正向、反向循环点亮,0.2秒间隔超重报警单元 继电器开、合,蜂鸣器开、合 超重记录单元 EE

15、PROM写操作 放大电路设计 差分输入,可采用仪用放大器,模拟试题分析,程序分析重要的时间参数数码管动态刷新时间:4位数码管刷新时间 24msLED点亮间隔时间:0.2秒定时器中断响应程序:时间要求严、执行时间短的操作模块化程序设计,模拟试题分析,模块划分(1)定时器模块(timer.c,timer.h)中断服务函数timer1():4ms数码管刷新、0.2秒LED循环点亮操作显示模块(display.c,display.h)display():数码管刷新,每次一位dispi():整数显示函数键盘扫描(matrix.c,matrix.h)matrix():读取按键号,模拟试题分析,模块划分(2)LED模块(led.c,led.h)led_on():控制开、关LED灯led_set_direc():控制LED灯循环点亮方向led():循环点亮LED灯,每次转1位I2C模块(i2c.c,i2c.h)x24c02_write():写数据到24C02adc8591():读取A/D转换结果,模拟试题分析,模块划分(3)其它模块(misc.c,misc.h)relay_out():控制继电器开、闭buzz_out():控制蜂鸣器开、关,模拟试题分析,主程序流程,模拟试题分析,定时器中断程序流程,开始,4ms到,刷新数码管显示,0.2秒到且LED开,轮转LED灯,退出,Thanks,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号