




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验箱的总体介绍 TD2410K 1 实验箱介绍 由多个独立的功能电路模块组成 可以自由组合出多个实验项目综合了目前市场的多种最新技术 非接触智能IC卡技术 语音录放技术 usb技术等等各模块之间用拨码开关连通 ON表示接通 硬件结构框图 模块位置图 显示器接口及程序 LCD显示器 字符液晶编程技术 字符液晶接口字符液晶常用函数字符液晶程序设计循环结构程序设计应用实训 LCD1602概述 显示汉字 字符 数字等让产品更具有交互性 1602引脚 字符液晶接口说明 时序 字符液晶特性 液晶显示器有8位数据操作模式和四位数据操作模式 在四位数据操作模式下采用DB4 DB7作数据线 DB0 DB3不用 可与4位或者8位MPU接口 接口由使能信号E控制 标志位BF为模块内部工作状态标志 MPU访问模块时 首先应判断状态标志位BF 与MCU接口 8位模式 与AVRMCU接口 4位模式 CAVR液晶编程介绍一 1 声明与LCD通信端口 asm equ lcd port 0 x18 endasm2 加入lcd h include 在使用液晶显示器之前 要设定I O接口地址和包含lcd h头文件 CAVR液晶编程介绍二 3 与lcd连线方式 LCD AVRPort RS pin4 bit0RD pin5 bit1EN pin6 bit2DB4 pin11 bit4DB5 pin12 bit5DB6 pin13 bit6DB7 pin14 bit7 CAVR液晶编程介绍三 4 LCD低级函数 void lcd ready void 液晶内部操作忙判断 void lcd write data unsignedchardata 向LCD写一个字节数据 unsignedcharlcd read byte unsignedcharaddr 向LCD读一个字节数据 CAVR液晶编程介绍四 5 LCD高级函数 voidlcd init unsignedcharlcd columns 初始化液晶列数 光标位于0行0列 voidlcd clear void LCD清屏 光标位于0行0列 voidlcd gotoxy unsignedcharx unsignedchary 设定显示坐标X列Y行 voidlcd putchar charc 当前位置显示字符C voidlcd puts char str 当前位置显示字符串 voidlcd putsf charflash str 显示Flash中字符串 CAVR液晶编程练习一 include include asm equ lcd port 0 x18 PORTB endasm 定义变量 lcd port为PORTB 此处为汇编宏命令 includechar sss AVR Charflash aaa 16 voidmain void lcd init 16 16列数据lcd gotoxy 2 0 lcd putsf Hello 直接显示字符串只能使用lcd putsf函数lcd puts sss lcd putsf aaa while 1 字符串StringofChar 定义字符串是用一对双引号括起来的字符序列 这些字符可以是一般的可显示字符 也可以是某些特殊的控制字符 字符串只能用字符数组来处理 没有字符串变量 字符串在内存中存放时 系统将自动在字符串的末尾添加一个字符串的结束标记 0 空字符 碰到第一个 0 就认为字符串处理结束 字符数组ArrayofChar 定义charstr 20 字符串保存在SRAM中charflashstring SZPT 字符串保留在FLASH中初始化逐个为数组中各元素指定初值字符 charflashstr 4 w e l l 对一个字符数组指定一个字符串初值 charstr goodmorning charstr goodmorning AVR存储器 AVR具有两个主要的存储器器空间 数据存储器空间和程序存储器空间 ATmega16 16KB的Flash 存放程序指令代码 SRAM数据存储器 32个通用寄存器 64个I O存储器 1024Byte内部数据SRAM EEPROM数据存储器 512B 保存数据 字符串StringofChar 用字符串给字符数组初始化charst 8 welcome 等价于charst 8 w e l c o m e 0 注意 这里的st不是一个字符串变量 而是字符数组的名字 代表字符数组在内存中的起始地址 是一个常量 那么这个赋值表达式是指将字符串中的每一个字符依次赋给以st开始的地址单元 字符串的长度定义charch Good 则数组ch的元素个数是5 而不是4 也就是说 字符串的长度是双引号中所包括的字符个数加1 指针和指针变量的概念 内存中每个字节有一个编号 地址 程序中 inti chark i k 编译或函数调用时为其分配内存单元 变量是对程序中数据存储空间的抽象 指针 一个变量的地址指针变量 专门存放变量地址的变量叫指针变量 2000 指针 指针变量 变量的内容 变量的地址 指针与指针变量 指针与指针变量 指针变量的定义 一 基本术语地址 字节的编号直接引用 通过变量名访问内存单元间接引用 通过变量地址访问内存单元指针 就是地址指针变量 存放指针的变量二 指针变量的定义数据类型 指针变量 指针变量2 指针变量定义举例 例如 int p1 p2 char p 基类型 指针变量的标志 指针变量名 指针变量的使用 指针变量必须先赋值 再使用main inti 10 int p p i printf d p 取内容运算符表示 指针变量所指存储单元 地址 的内容 将变量的值送入指针变量指向的存储单元中 指针变量的使用 main int p1 p2 a b a 10 b 100 P1 取地址运算符将变量在内存的地址保存在指针变量中 字符串的指针和指向字符串的指针变量 在 语言中 既可以用字符数组表示字符串 也可用字符指针变量来表示 字符串在内存中的起始地址称为字符串的指针 可以定义一个字符指针变量指向一个字符串 定义一 定义并初始化字符指针变量string 用串常量 IloveBeijing 的地址给string赋初值 char string IloveBeijing 定义二 先定义字符指针变量string 再用字符串常量 IloveBeijing 给string赋初值 char string string IloveBeijing 使用时 系统首先输出string指向的第一个字符 然后使string自动加 指向的地址加1 使之指向下一个字符 重复上述过程 直至遇到字符串结束标志 字符指针变量与字符数组之比较 虽然用字符指针变量和字符数组都能实现字符串的存储和处理 但二者是有区别的 不能混为一谈 1 存储内容不同 字符指针变量中存储的是字符串的首地址 而字符数组中存储的是字符串本身 数组的每个元素存放一个字符 2 赋值方式不同 对字符指针变量 可采用下面的赋值语句赋值 char pointer pointer Thisisaexample 而字符数组 虽然可以在定义时初始化 但不能用赋值语句整体赋值 下面的用法是非法的 charchar array 20 char array Thisisaexample 非法用法 3 指针变量的值是可以改变的 字符指针变量也不例外 而数组名代表数组的起始地址 是一个常量 而常量是不能被改变的 include include asm equ lcd port 0 x18 PORTB endasm includevoidmain void unsignedchari 0 PORTB 0 x00 DDRB 0 x00 lcd init 8 8列数据while 1 lcd gotoxy 0 0 lcd putsf Shenzhen lcd gotoxy 0 1 lcd putsf sec lcd gotoxy 5 1 lcd putchar i 0 x30 delay ms 1000 实现功能 LCD显示屏上的显示位置 DDRAM地址与LCD显示屏上的显示位置的对应关系如下 两行显示 利用CodeWizardAVR生成LCD控制程序代码框架 设置与LCD通信的端口 生成相应代码为 asm equ lcd port 0 x18 endasm 设置字符液晶每行显示的字符个数 生成相应代码为 lcd init 8 字符液晶显示控制的实战演练LCDDisplayDesign 设计内容1 在字符液晶的第一行最左端起显示 Hi AVR LCD1 c 相关的程序语句 1 include 包含lcd h头文件2 asm 宏汇编命令 equ lcd port 0 x18 定义lcd的I O端口变量 lcd port指向PORTB endasm3 lcd init 16 lcd初始化为2行16列显示方式4 lcd gotoxy 0 0 光标定位在lcd的0行0列5 lcd putsf Hi AVR 在光标处显示flash中的字符串6 lcd puts string1 光标处显示保存在SRAM中的字符串变量string1的内容7 lcd putsf string2 光标处显示保存在flash中的字符串变量string1r的内容 课堂练习一 液晶显示编程设计内容一 在字符液晶的第一行最左端起显示 Hi AVR 液晶显示编程设计内容二 在字符液晶第二行的每隔1秒循环显示数字0 9 课堂练习二 液晶显示编程设计内容三 在字符液晶第二行的最左边每隔1秒循环显示时钟的秒数数字0 59 提示 1 秒数数字0 59是数字量 不能直接显示 需将其转换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州金沙酱酒酒业投资集团有限公司招聘经理层高级管理人员(财务总监)1人模拟试卷及参考答案详解1套
- 2025湖北襄阳市第一人民医院招聘急需专业技术人才60人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025北京环卫集团招聘考前自测高频考点模拟试题及答案详解(必刷)
- 安全培训表扬语课件
- 2025年春季中国化学校园招聘考前自测高频考点模拟试题有答案详解
- 2025华东理工大学材料科学与工程学院高分子材料人工智能研发创新团队招聘(上海)考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025广东中山市横栏镇纪检监察办公室招聘1人考前自测高频考点模拟试题带答案详解
- 安全培训落实意见课件
- 2025贵州罗甸县第一医共体平岩分院招聘合同制专业技术人员模拟试卷及完整答案详解1套
- 2025江西省公路工程检测中心招聘2人考前自测高频考点模拟试题及答案详解(易错题)
- 综合实践活动课程
- 钢厂设备安全培训课件
- 糖尿病高渗性昏迷护理讲课件
- 四川省专业技术人员年度考核表
- 微信工作群规定管理制度
- 甲亢疾病案例分享会
- 2025年高校教师资格证之高等教育学通关题库(附答案)
- 人类简史面试题目及答案
- T/SHBX 007-2023单向拉伸聚乙烯包装膜
- 电子版实习协议书
- 无人机公司人力资源管理方案
评论
0/150
提交评论