




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州信盈达电子有限公司华北水利水电课程设计第一天:嵌入式、单片机和IO口的使用1.嵌入式讲解2.单片机的概述3.对单片机的IO口操作1.嵌入式:2.AT89C51: 电源: ROM:存放代码 (掉电不丢失,只读) (4K) RAM:运行代码 (随机读写) (128Byte) 51的内核: 52单片机:(8K,128Byte) ARM9 - 内存(64M) 32位CPU - 4G 210 = 1K 1M 1G3.51的管脚 - 40个 IO管脚 - 32个 4组 P0 P1 P2 P34.LED实验 1.软件平台: Keil - (MDK)编辑软件 2.新建功能: 1.新建文件夹 - 在文件夹下面新建4个文件夹 inc obj list src 2.打开Keil软件 工程 - 新建工程 - 选择CPU - AT89C52 3.点击魔术棒 1.output 2.list 3.C51 4.新建文件 保存到SRC中 inc - 用来存放的.h(头文件,函数或者变量的声明。宏定义) src - 用来存放.c文件(源文件) obj - 用来存放目标文件(.obj .o) list - 用来存放链接文件(生成可执行性文件)5.编写程序 1.点亮一盏灯 1.看原理图 - 找到LED所连接的IO管脚 数字量 0 - 0 1.5V 1 - 2.5v 5v P2 07 接了8个灯 2.例如点亮第一盏灯 sbit LED1 = P2_0; 3.下载到开发板 1、选择CPU STC89C52RC 2.选择串口(USB转串口) 3.打开文件 4.下载1.灯闪烁 LED灯点亮 延时 LED熄灭 延时2.流水灯 用for循环进行操作3.呼吸灯 通过PWM波来控制LED灯点亮和熄灭的时间4.按键(输入设备) 1.通过原理图找到按键 P1_4 - KEY1 KEY1 来控制LED1(点亮) 注意:1.按键要进行消抖 软件和硬件 2.功能函数(给其他函数提供接口)作业:1.流水灯;2.4个按键控制4个LED灯;第二天:数码管1.数码管2.矩阵键盘1.数码管:分类:7段显示数码管 8段显示数码管 共阳:发光二极管的正极,都连接在电源上(低电平有效)共阴:发光二极管的负极,都连接在地上(高电平有效)2.操作数码管1.查找原理图 1、三极管(放大和开关)(PNP 低电平导通) 2、P20P27 - 8个数码管的8个com段(开关作用) 3、P07 - AH (传输数据) 例如:显示0 - 1100 0000 0xC02.软件编写 1.设置开关变量 2.选择哪个数码管 3.输出要显示的数据3.动态显示 让不同的数码管,显示不同的数据? 1.第一个数码管显示07 1.打开开关量 2.选择第一个数码管 3.循环显示数字 2.在8个数码管上显示 0 7 3.显示电话号码的前八位:3.矩阵键盘 1.通过原理图 1.P1 47 呈现高电平(1) 2.如果给P10管脚赋值为低电平 - 当K2键按下,那么P14呈现低电平得知K2被按下 2.查询整个矩阵键盘 1.判断是否有按键按下 P1 03都为低电平 读取P1 47 如果其中有一个为低电平,那么就证明有按键按下 2.判断哪个按键被按下 轮询法: 1.检测第一排是否有按键按下: P10为低电平,1 2 3为高电平 - 检测 4 5 6 7 状态 2.检测第二排是否有按键按下: P11为低电平 0 2 3为高电平 - 检测 4 5 6 7 状态 3.检测第三排是否有按键按下: P12为低电平,0 1 3为高电平 - 检测 4 5 6 7 状态 4.检测第四排是否有按键按下: P13为低电平 0 1 2为高电平 - 检测 4 5 6 7 状态作业:矩阵键盘:在数码管上显示对应数据第三天:定时器定时器:定时器和计数器:定时器:定时的作用;内部提供时钟,驱动一个计数器计数器:用来计数,外部提供信号,驱动一个计数器用途:定时器:家电 - 空调,微波炉,洗衣机计数器:工厂中记件 特点与区别:定时器:通过自身的计数,当计数完成后,那么给外部发送信号计数器:外部给计数器传递信号,进而达到计数的效果机器周期和指令周期:51单片机的输入的时钟频率 = 12M机器周期:12M/12 = 1M指令周期:14个机器周期for(i=0;i8;i+)数电:需要时钟脉冲:数字芯片的脉搏。51单片机:定时器2个T0:T1:今天就以T0来进行举例:T0可以代表的功能1.定时器2.计数器定时器:在CPU内部。定时器不会占用CPU时间。 Delay(5000); 起到精确的延时。振荡器:12Mhz分频:1Mhz - 产生的时钟用来给定时器进行计数TR1:开关定时器TL0和TH0 - 16位 065535 (us)TF1:定时器定是完成的标志位 定时完成 - 1 否则 0定时器的两个寄存器:TMOD:配置定时器模式TCON:定时控制寄存器TMOD:方式0:13位定时器方式1:16位定时器方式2:1个8位定时器,另外的8位存放预置数。方式3:T0有,T1没有,1个定时器和1个计数器。TR0:1 启动定时器 0 不启动定时器TF0:1 代表计数完成 0 代表计数未完成软件定时:1个灯0.5秒闪烁一次。1.设置定时器模式2.给THO和TLO赋初值3.启动定时器4.查询等待TF0是否为1.作业:用定时器精确的1s定时,实现LED闪烁第四天:LCD屏128641.显示设备2.像素点3.取模软件的使用4.LCD屏12864的使用1.显示设备: 1.灯箱 2.数码管(家电) 3.段码式显示屏(电子表,微波炉,电饭煲) 4.8*8led屏(户外显示屏) 5.1602 (字符型显示屏)(传呼机,只能显示字符) 6.12864(点阵型显示屏)(不带字库,通过取模操作) 7.彩屏 TFT:16 24 32 OLED:可以弯曲2.像素点: 像素:LCD屏最小单位3.取模软件: 1.参数设置: 字体选择:选择字体的大小和类型 其他选项:选择字体的取模方式 2.输入字符或者汉字 3.取模方式: 4种:点亮为1,不点亮为0. 1.纵向+倒序 2.纵向+不倒序 3.横向+倒序 4.横向+不倒序 12864:LCD屏:1.不带字库2.查看12864的硬件连接图(IO管脚)3.12864的软件操作2.硬件连接图: 20个管脚: VSS VDD:电源和地 A和K:LCD屏背光的正极和负极 V0:连接滑动变阻器的正极 VEE:连接滑动变阻器的负极 (作用:调节对比度) D/I:数据和指令管脚 1 - 对于LCD屏来说,发送过来的是数据 0 - 对于LCD屏来说,发送过来的是指令 R/W:读写管脚 1 - 读取LCD屏数据 0 - 往LCD屏写数据 E:数据使能管脚 DB0DB7:8位并行通信管脚 12864: 宽 = 128个像素点 高 = 64个像素点 CS1:代表的是左半屏 CS2:代表的是右半屏 可以认为12864是有两个64*64的LCD屏组成。 /RET:用来复位。3.时序图: 写时序: 1.怎么去看时序图: 1.明白各个管脚的作用以及相互之间的联系 2.从左向右看4.刚才取模的方式: 1.LCD屏用纵向和倒序取模; 2.LCD屏页地址设置和Y地址(列地址设置) 64行: 每8行代表一页 一共:8页; Y地址:64列5.软件操作: 1.LCD屏初始化 1.初始化开始页和列地址 2.LCD屏清屏 注意:清屏前后要记得延时。 3.LCD屏显示数据6.显示一个字符 1.LCD屏初始化和清屏 2.取模: 保存到一个字符数组中。 3.调用disp8_16(页地址,列地址,字符数组);函数 作业:显示一串电话号码和自己的姓名第五天:12864LCD屏1.回顾: 1.像素点和取模软件 取模方式: 1.纵向+倒序 D0D7 2.纵向+不倒序 D7D0 3.横向+倒序 4.横向+不倒序 2.昨天LCD屏讲解 1.12864的解释: 128*64 128代表列的个数 64 代表的是行的个数 像素点:128*64 2.硬件连接: 8080接口(Inter) D/I(CS):数据或者指令选择管脚 R/W:读写选择管脚 E: 使能 DB0DB7:8位数据(8个管脚) CS1:左半屏 CS2:右半屏 6800接口:(Motor) 3.时序图: 1.从左到右 2.根据每个管脚的作用和其之间的联系 时序图:主要是理解; 4.软件编程 1.显示字符 8*16 = disp8_16(页,列,数据); 2.显示汉字 16*16 = disp16_16(页,列,数据); 3.理解12864的内部寄存器 12864显示图片(函数的编写) 12864显示多幅图片(形成动画) 1.12864与CPU的连接及其内部构造 1.1 页地址寄存器 64行 1页 = 8行 共8页 8位寄存器: 发送页地址: 1.cpu发送页地址 R/W = 0 D/I = 0 DB7DB0 DB7DB3是固定的数10111 DB2DB0 23 = 8; A2 A1 A0来代表8个页。 2.CPU发送列地址: 8位的寄存器: DB7DB6是固定的:01 DB5DB0 = 6位 26 23*23 = 64; CS1: CS2: 3.数据寄存器 8位寄存器:存放数据 4.软件编写 1.分析disp8_16();函数的编写。 1.看形参和函数返回值。 2.8*16 数组的数据: 3.12864一下打印8个像素点(纵向) 2.12864显示图片 1.编写显示图片函数 1.1 打开lcd.c文件 2.新建数组:保存图片的数据量作业:1.显示图片 2.显示动画第六天:串口1.串行通信和并行通信的区别2.通信的方式3.RS232协议4.51单片机通信的硬件连接5.软件编写串口程序:通信:两个设备之间的数据交流;通信:并行通信和串行通信并行通信:在同一时刻发送多位数据。串行通信:用一根线,通过不同时间,发送8位数据。(分时复用)并行通信:优点:发送速度快。缺点:传输距离短,资源占用多。串行通信:优点:传输距离远,占用资源少。缺点:发送速度慢。2.通信的方式: 1.单工通信 只能接收或者只能发送。 (收音机)(信号基站) 2.半双工通信 在同一时刻,只能接收或者发送。(对讲机) 3.全双工通信 在同一时刻,既能接收又能发送。(电话)3.协议: 数据发送的格式。 RS232协议: 串行通信: 例如:发送8位数据; 0x12; 开始位+数据位+奇偶校验位+停止位 开始位:1位 - 0 数据位:58位(8位数据) 奇偶校验位:1位 停止位:12位 1位 1.5位 2位 奇偶校验: 奇校验: 通过查看数据中1的个数。 例如:选择奇校验 发送的数据为:0101 1110 1的个数为奇数,那么奇偶校验位为0. 如果发送的数据为:1010 1010 1的个数为偶数,那么奇偶校验位为1. 总结:发送方通过发送数据中1的个数,如果为奇数,那么奇偶校验位为0,否则为1. 接收方,当接收到数据,通过查看数据中1的个数+奇偶校验位1的个数。如果为奇数,代表数据发送成功,否则失败。 停止位:1位 2位 1.5位 数字芯片:时间通过时钟脉冲。 1位 = 1个脉冲 2位 = 2个脉冲 1.5位 = 1.5个脉冲3.串口的硬件连接:4.51单片机中的硬件连接图 1.TTL电平 0 0v1.5v 1 2.55v 2.把TTL电平转化为CMOS电平 0 5v 12v 1 -5v -12v 3.通过MAX232转化(TTL电平转化为CMOS电平) 5.软件控制 51单片机中包含一个串口: 1.波特率: 例如:1s中可以发送100帧数据。 一帧数据包含10个位。 波特率 = 10*100 = 1000(bits/s) 设备1s钟发送的位数。 单片机的波特率:9600. 2.串口控制寄存器 SCON: 8位寄存器: D7D6 - SM0 SM1 代表的是串口工作模式: 00 :代表的是串口只是一个8位移位寄存器。 01 :代表的是一个一帧信息为10位的串口。(用的最多) 10 11 :代表的是一个一帧信息为11位的串口。 10位: 开始位+8位数据位+1位停止位。 D4:REN:代表的数据接收使能位。 1:代表可以接收数据,否则不能接收数据。 D0: RI:接收标志位。如果接收到数据,那么RI为1,否则为0. D1: TI:发送标志位。如果发送完数据,那么TI为1,否则为0. 01 0 1 0 0 0 0 - 0101 0000 - 0x50; PCON:电源控制寄存器: 最高位:SMOD代表时钟频率是否加倍。 产生波特率:通过T1定时器产生的。 T1工作在方式2下,并且TH1 = 0xfd,TL1 = 0xfd。 软件编程: 1.初始化串口 1.1 设置波特率 1.2 初始化SCON(设置串口模式) 1.3 启动定时器1. 2.回显 1.单片机等待接收数据 2.接收到数据,再把数据发送给电脑。 作业: 1.串口实现回显功能。 2.串口去控制LED灯。 发送1 - LED1 点亮 发送2 - LED2 点亮 发送7 - LED7 点亮 发送$ - 全部熄灭 扩展:实现流水灯 3.printf函数的使用 C语言的库函数(stdio.h) 菜单界面(方便我们使用你的函数)第七天:SIM900A GSM模块使用1.GSM的介绍:2.SIM900A - AT指令集的介绍:3.打电话操作:4.发送英文短信的操作:1.GSM: 二代的移动通信: 作用:通讯行业。 移动电话、远程控制、发送短信等。 例如:智能家居: 物联网: 1、无线(wifi) 1.在wifi。 2.大的城市。 2、GSM 1.电话卡和信号 2.产生通信费用2.SIM900A 串口通信的GSM模块: AT指令集: ME:移动设备:GSM模块 DTE:数据终端设备:PC机 注意:AT作为开头,以回车作为结尾。 3种指令集: 基础指令集: S参数指令集: 扩展指令集: 基础指令集和扩展指令集: 基础指令集: AT x代表的是命令 扩展指令集: AT+ x代表的是命令 1.查询指令 AT+? 2.设置指令 AT+= 3.执行指令 AT+3.打电话: 1.基本指令: AT:检测GSM是否已经准备好 2.检测运营商指令: AT+COPS? 3.设备的连接 4.开机操作: 按下开机键:按下,等待信号灯闪烁 - 3秒闪烁一次。 5.操作基本指令: AT 查询运营商:AT+COPS? 返回值:+COPS: 0,0,CHINA MOBILE OK 查询信号强度:AT+CSQ 返回: +CSQ: 15,0 OK 信号强度:030.6.打电话操作: 呼出电话: ATDxxxxxxxxx;(回车) 挂电话 ATH(回车) 接电话 ATA 重播 ATDL7.发短息: 英文短信: 1.设置短信的格式: ASCII码格式 AT+CMGF=1(回车) 返回 - OK 2.发送短信的地址号码 AT+CMGS输入发送的内容(Ctrl+z)(0x1A) +CMGS: 90 /短信的大小 OK /代表是否成功8.查询短信 AT+CMGL=ALL(回车) 返回:+CMGL:3,/第三个位置 REC UNREAD,/未读 已读 READ +8615638539105,/信息人号码 _XeS, 15/01/07,16:34:45+32 /时间和信息 halo /内容9.读取短信: AT+CMGR=短信编号作业:1.显示运营商 2.打电话(10086或者10010) 3.发短信(列出所有短信 - 找到我发短信)第八天:手机制作1.回顾2.项目的流程3.手机制作的流程1.回顾: GSM模块 - 芯片:SIM900A 电脑和SIM900A进行通信 - 串口通信 SIM900A的工作电压:912v 指令集: 注意:AT开头,回车结束。 3种:基础类指令 S参数类指令 扩展类指令 基础类指令:AT.x代表的是命令 扩展类指令:AT+.x代表的是命令 1.打电话: 1.1 查询运营商: AT+COPS? 返回: +COPS: 0,0,XXXXXXXX 1.2 打电话 ATDxxxxxxxxx;(回车) 1.3 挂电话 ATH 1.4 接电话 ATA 1.5 重拨 ATDL2.发短信: 1.设置短信格式 AT+CMGF=1 - ASCII码格式 2.发送短信 AT+CMGS=XXXXXXXXX 返回:输入要发送的内容(0x1A)3.列出所有的短信 AT+CMGL=ALL4.读取某一条短信 AT+CMGR=(短信的序号)项目开发的流程:项目的特性: 1.项目管理知识 1.1 项目管理定义、特点 项目定义:项目是为完成某一独特的产品和服务所做的一次性努力。 项目特点: 一次性项目有明确的开始时间和结束时间。当项目目标已经实现,或因项目目标不能实现而项目被终止时,就意味着项目的结束。 独特性项目所创造的产品或服务与已有的相似产品或服务相比较,在有些方面有明显的差别。项目要完成的是以前未曾作过的工作,所以它是独特的。 1.2 项目三要素: 时间、质量、成本。 项目三要素相互影响、相互制约 1.3 项目执行过程: 项目开始到结束需要:识别需求、提出方案、执行项目、结束项目等四个阶段。 项目生命期特征: a) 在项目开始时费用和人员投入水平较低,随着项目的进展逐渐增加,在项目收尾时又迅速降低; b) 在项目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西建筑节能工程质量检测合同(19篇)
- 规划设计策划管理制度汇编
- 广西房屋建筑和市政工程勘察招标文件范本(2020年试行版)
- 力争上游2025年国际金融理财师考试试题及答案
- 微生物检验技师证书考试冲刺试题演练
- 滚动练1~60参考答案
- 项目可行性分析考题解读试题及答案
- 发掘潜能的2025年证券从业资格试题及答案
- 微生物培养与鉴定过程试题及答案
- 解析注册会计师考试重点试题及答案
- 新款h2夜视移动电源
- 天津大学年《岩体力学》期末试题及答案
- 成果报告书(模板)
- 牛腿计算表(自动版)
- 供料机工作原理与使用
- 口腔科学第七章口腔局部麻醉备课讲稿课件
- 普通话朗读技巧语调
- CPK计算表格EXCEL格式-自动套用自动计算分析
- 重庆市国家职业资格鉴定申报表(三、四、五级) - 重庆市职业技能鉴定
- 代付款协议(中英文对照版本)
- 半钢子午胎培训
评论
0/150
提交评论