




已阅读5页,还剩133页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习情境一显示系统设计与制作 训练项目1 1 跑马灯的设计与制作 一 项目要求在Proteus仿真软件和单片机实训板上实现8位LED的跑马灯效果 跑马方式可以采用 自上到下的循环 自下到上的循环 两头到中间再中间到两头循环 等等 学生能采用单片机的P0 P1 P2 P3的任意端口控制8位LED 实现单灯闪烁和跑马效果 并能控制它们的速度 二 项目实训仪器 设备及实训材料 三 项目实施过程及其步骤任务1控制一个LED闪烁任务描述 采用单片机的P0 x P1 x P2 x P3 x的任意端口控制一个LED 在Proteus软件和单片机实训板上 实现LED闪烁 并能控制闪烁速度 任务2制作8位LED跑马灯任务描述 采用单片机的P0 P1 P2 P3的任意端口控制8位LED 在Proteus软件和单片机实训板上 制作8位LED的跑马灯 并能控制LED跑马速度 四 思考与分析 1 调试程序时 黄色箭头指向的当前行代码有没有执行 2 绘制任务1和2的程序运行轨迹 即黄色箭头在程序代码行走的轨迹 3 改变跑马灯循环闪烁方式 如 自下向上循环 自两头向中间再向两头循环等 1 1什么是单片机 单片微型计算机 SingleChipMicrocomputer 简称单片机 是指集成在一个芯片上的微型计算机 它的各种功能部件 包括CPU CentralProcessingUnit 存储器 memory 基本输入 输出 Input Output 简称I O 接口电路 定时 计数器和中断系统等 都制作在一块集成芯片上 构成一个完整的微型计算机 由于它的结构与指令功能都是按照工业控制要求设计的 故又称为微控制器 Micro ControllerUnit 简称MCU 单片机的基本结构 单片机种类 目前8位单片机仍是单片机的主流机型 生产厂商 单片机的发展经历了由4位机到8位机 再到16位机的发展过程 美国微芯片公司 PIC16C 系列 PIC17C 系列 PIC1400系列 美国英特尔公司的MCS 48和MCS 51系列 美国摩托罗拉公司的MC68HC05系列和MC68HC11系列 美国齐洛格公司的Z8系列 日本电气公司的 PD78 系列 美国莫斯特克公司和仙童公司合作生产的F8 3870 系列等 Atmel和STC单片机选型比较 1 28051内核单片机的引脚及内部结构 P3口线的第二功能 VCC VSS XTAL2XTAL1 RST P0 0P0 1P0 2P0 3P0 4P0 5P0 6P0 7 P1 0P1 1P1 2P1 3P1 4P1 5P1 6P1 7 P2 7P2 6P2 5P2 4P2 3P2 2P2 1P2 0 ALE P3 0P3 1P3 2P3 3P3 4P3 5P3 6P3 7 2 振荡电路 XTAL1 XTAL2 3 复位引脚 RST 4 并行口 P0 P1 P2 P3 7 ALE 地址锁存控制信号 1 电源线 VCC 5V VSS 地 P3端口的第二功能 1 2 2单片机的内部结构 单片机硬件结构 中央处理器CPU 8位 运算和控制功能 内部RAM 共256个RAM单元 用户使用前128个单元 用于存放可读写数据 后128个单元被专用寄存器占用 内部ROM 4KB掩膜ROM 用于存放程序 原始数据和表格 定时 计数器 两个16位的定时 计数器 实现定时或计数功能 并行I O口 4个8位的I O口P0 P1 P2 P3 串行口 一个全双工串行口 中断控制系统 5个中断源 外中断2个 定时 计数中断2个 串行中断1个 时钟电路 可产生时钟脉冲序列 允许晶振频率6MHZ和12MHZ 复位电路 8051单片机的基本组成 中央处理器CPU 8位 运算和控制功能内部RAM 共256个RAM单元 用户使用前128个单元 用于存放可读写数据 后128个单元被专用寄存器占用 内部ROM 4KB掩膜ROM 用于存放程序 原始数据和表格 定时 计数器 两个16位的定时 计数器 实现定时或计数功能 并行I O口 4个8位的I O口P0 P1 P2 P3 串行口 一个全双工串行口 中断控制系统 5个中断源 外中断2个 定时 计数中断2个 串行中断1个 时钟电路 可产生时钟脉冲序列 允许晶振频率6MHZ和12MHZ 振荡电路 1 时钟产生方式 a 内部方式 b 外部方式 2 基本时序周期 振荡周期为晶振的振荡频率 则振荡周期为1 6 s 时钟周期为振荡周期的两倍 则时钟周期为1 3 s 机器周期为时钟周期的六倍 则机器周期为2 s 指令周期为完成一条指令所花费的时间 一般汇编语言指令周期1 4个机器周期 对于C语言来说 每条语句来花费多少个指令周期是比较难计算 而且也没有计算的意义 所以一般只要大家记住振荡周期越小 或振荡频率越高 执行C语言语句的时间就越短 另外 对于STC12C5A60S2单片机来说 其是单时钟 机器周期单片机 所以它比AT89S51 52单片机要快8 12倍 单片机复位条件 必须使RST引脚持续2微秒高电平 外部时钟12MHz 复位电路 1 38051内核单片机的存储器结构 程序存储器 内部 外部 PC 程序存储器资源分布 中断入口地址 1 程序存储器 在单片机C语言程序设计中 用户无需考虑程序的存放地址 编译程序会在编译过程中按照上述规定 自动安排程序的存放地址 例如 C语言是从main 函数开始执行的 编译程序会在程序存储器的0000H处自动存放一条转移指令 跳转到main 函数存放的地址 中断函数也会按照中断类型号 自动由编译程序安排存放在程序存储器相应的地址中 因此 读者只需了解程序存储器的结构就可以了 内部 外部 2 数据存储器 数据存储器 RAM 专用寄存器 内部RAM存储器 工作寄存器区选择位RS0 RS1 注意 一个单元地址对应有8个位地址MSB MostSignificantBit 最高有效位 LSB LeastSignificantBit 最低有效位 RAM位寻址区位地址表 高128个单元 离散分布有21个特殊功能寄存器SFR 11个可以进行位寻址 特别提示 对SFR只能使用直接寻址方式 书写时可使用寄存器符号 也可用寄存器单元地址 1 4单片机开发环境 a ISP下载线 b 仿真器 单片机实训板 实训板特点 由相对独立的模块组成 读者可以将所有模块进行自由组合 构建不同功能的单片机系统 不仅提供了实训板硬件电路程序 而且还提供了所有模块的Proteus仿真电路 读者可以通过虚实结合的方式 快速掌握单片机应用技术 不须使用昂贵的仿真器 编程器就可以开发单片机系统 采用一条USB线就可以把程序下载到STC单片机之中 或者采用一条ISP下载线把程序下载到AT89S51 52单片机之中 既省了购买昂贵的仿真器 编程器 又能方便地开发单片机系统 该实训板可以兼融多种单片机 如 AT89S51 52 ST12C5A60S2 以及AVR PIC单片机 需要加转接板 采用USB线供电 不需要外接电源 实训板组成 显示电路模块键盘电路模块传感器电路模块通信电路模块其它电路模块 训练项目1 2 数码管静态显示系统设计与制作 一 项目要求在Proteus仿真软件和单片机实训上 采用单片机的P0 P1 P2 P3的任意端口控制1位共阳极数码管 实现0 F字符循环显示 并能控制循环显示速度 二 项目实训仪器 设备及实训材料 三 项目实施过程及其步骤任务1实现0 F任意字符显示任务描述 采用单片机的P3端口控制1位数码管 在Proteus软件和单片机实训板上 使数码管显示0 F任意字符 然后再改用其它端口控制数码管 实现同样功能 三 项目实施过程及其步骤任务2实现0 F字符循环显示任务描述 在任务1的基础上 实现0 F字符循环显示 然后再改用其它端口控制数码管 实现同样功能 四 思考与分析 1 绘制任务1和2的程序运行轨迹 即黄色箭头在程序代码行走的轨迹 2 采用共阴极数码管 实现0 F字符循环显示 3 采用延时函数 数组定义显示代码等方法 减少程序代码 1 5数码管的结构与原理 在单片机应用系统中 数码管常用来显示系统的工作状态 运算结果等信息 实现人机交互 一般数码管有1位 3位 2位 4位等组合方式 1 6C语言数据类型 运算符与表达式 C51编译器所支持的数据类型 1 6 2变量与常量 在程序运行的过程中 其值不能改变的量 称为常量 常量的数据类型有整型 浮点型 字符型 位类型和字符串型 数值常量可以在程序中直接引用 例如 a 15 a 2 65 a c 等 但是符号常量不能直接使用 在使用之前必须用编译预处理命令 define 先进行定义 例如 definePI3 1415926535898 在程序运行中 其值可以改变的量称为变量 一个变量主要由两部分构成 一个是变量名 另个是变量值 每个变量都在内存中占据一定的存储单元 地址 并在该内存单元中存放该变量的值 1 变量的定义 存储种类 数据类型 存储器类型 变量名表 2 变量的初始化数据类型标识符变量名1 常量1 变量名2 常量2 变量名n 常量n 1 6 3运算符和表达式 1 运算符的优先级和结合性 1 优先级优先级是用来标志运算符在表达式中的运算顺序的 求解表达式时 总是先按运算符的优先次序由高到低进行操作 2 结合性当一个运算对象两侧的运算符优先级相同时 则按运算符的结合性确定表达式的运算顺序 2 算术运算符与算术表达式 加法运算 减法运算 乘法运算符 除法运算符 求余运算符 或称模运算符 如 4 2 0 变量自加1 变量自减1 注意两个整数相除结果为整数 如8 5的结果为1 舍去小数部分 如果参加运算的两个数中有一个数为实数 则结果是实型 求余运算要求 两侧都是整型数据 自增 自减运算 实战演练 请说明程序运行完后x y z m n的值分别是多少 main intx 6 y z m n y x z x m y z n y z 自增运算符 和自减运算符 1 前置运算 变量 变量即先增减 后运算 2 后置运算 变量 变量 即先运算 后增减 赋值运算符 赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量 符号为 这里并不是等于的意思 只是赋值 等于用 表示 赋值语句左边必须是变量或寄存器 且必须先定义 常量不能出现左边 赋值运算符和赋值表达式 简单的赋值运算符 复合的赋值运算符 i 2等价于i i 2a b 5等价于a a b 5 x 3等价于x x 3 4 关系运算符与赋值表达式 关系运算符优先级 低 高 关系表达式 用关系运算符将两个表达式 可以是算术表达式 关系表达式 赋值表达式或逻辑表达式 连接起来的式子 称为关系表达式 关系表达式的值为逻辑值 真 或 假 以1代表 真 以0代表 假 例如 1 关系表达式 8 4 的值为 表达式的值为 2 关系表达式 5 0 的值为 表达式的值为 逻辑运算符优先级 逻辑非 逻辑与 逻辑或 注意 逻辑运算符与位操作运算符的区别 5 逻辑运算符与赋值表达式 逻辑表达式 用逻辑运算符将一个或多个表达式连接起来 进行逻辑运算的式子 逻辑量的真判断 非0逻辑量的假判断 0 若a 1 b 2 c 3 x 4 y 3 写出下各个表达式的值 1 a b c b c 2 a b b c x y 3 3 x a y b 0 0 0 0 例如 1 xc等效于 a b c 与操作按位与操作符 主要用途 取 或保留 1个数的某 些 位 其余各位置0 6 位运算符与位运算表达式 位运算 或操作按位或操作符 格式 x y规则 对应位均为0时才为0 否则为1例如 i i 0 x0f 等同于i 0 x0f 主要用途 将1个数的某 些 位置1 其余各位不变 位运算 异或操作按位异或操作符 格式 x y规则 对应位相同时为0 不同时为1例如 i i 0 x0f 等同于i 0 x0f 主要用途 使1个数的某 些 位翻转 即原来为1的位变为0 为0的变为1 其余各位不变 位运算 按位取反操作按位取反操作符 格式 x规则 各位翻转 即原来为1的位变成0 原来为0的位变成1例如 i i 主要用途 间接地构造一个数 以增强程序的可移植性 左移运算符 的功能 是把 左边的操作数的各二进制位全部右移若干位 移动的位数由 右边的常数指定 进行右移运算时 如果是无符号数 则总是在其左端补 0 位运算 7 逗号运算符与逗号运算表达式 在C语言中逗号 也是一种运算符 称为逗号运算符 其功能是把两个表达式连接起来组成一个表达式 称为逗号表达式 其一般形式为 表达式1 表达式2 表达式n 1 7基本语句及结构化程序设计 1 7 1表达式语句和复合语句 表达式语句是最基本的C语言语句 表达式语句由表达式加上分号 组成 其一般形式如下 表达式 执行表达式语句就是计算表达式的值 在C语言中有一个特殊的表达式语句 称为空语句 空语句中只有一个分号 程序执行空语句时需要占用一条指令的执行时间 但是什么也不做 在C51程序中常常把空语句作为循环体 用于消耗CPU时间等待事件发生的场合 1 7 1表达式语句和复合语句 把多个语句用大括号 括起来 组合在一起形成具有一定功能的模块 这种由若干条语句组合而成的语句块称为复合语句 在程序中应把复合语句看成是单条语句 而不是多条语句 复合语句在程序运行时 中的各行单语句是依次顺序执行的 在C语言的函数中 函数体就是一个复合语句 基本if语句的格式如下 if 表达式 语句组 if语句执行过程 当 表达式 的结果为 真 时 执行其后的 语句组 否则跳过该语句组 继续执行下面的语句 1 7 2选择语句 if语句中的 表达式 通常为逻辑表达式或关系表达式 也可以是任何其他的表达式或类型数据 只要表达式的值非0即为 真 以下语句都是合法的 if 3 if x 8 if P3 0 在if语句中 表达式 必须用括号括起来 在if语句中 花括号 里面的语句组如果只有一条语句 可以省略花括号 如 if P3 0 0 P1 0 0 语句 但是为了提高程序的可读性和防止程序书写错误 建议读者在任何情况下 都加上花括号 1 7 2选择语句 if else语句的一般格式如下 if 表达式 语句组1 else 语句组2 if else语句执行过程 当 表达式 的结果为 真 时 执行其后的 语句组1 否则执行 语句组2 1 7 2选择语句 if else if语句是由ifelse语句组成的嵌套 用来实现多个条件分支的选择 其一般格式如下 if 表达式1 语句组1 elseif 表达式2 语句组2 elseif 表达式n 语句组n else 语句组n 1 1 7 2选择语句 1 7 2选择语句 多分支选择的switch语句 其一般形式如下 switch 表达式 case常量表达式1 语句组1 break case常量表达式2 语句组2 break case常量表达式n 语句组n break default 语句组n 1 该语句的执行过程是 首先计算表达式的值 并逐个与case后的常量表达式的值相比较 当表达式的值与某个常量表达式的值相等时 则执行对应该常量表达式后的语句组 再执行break语句 跳出switch语句的执行 继续执行下一条语句 如果表达式的值与所有case后的常量表达式均不相同 则执行default后的语句组 1 7 2选择语句 while语句用来实现 当型 循环 执行过程 首先判断表达式 当表达式的值为真 非0 时 反复执行循环体 为假 0 时执行循环体外面的语句 循环体 格式 while 循环继续的条件表达式 语句组 花括号不能丢掉 请问 下述程序实现了什么功能 main inti sum 0 while i 10 sum sum i i 1 7 3循环语句 do while语句用来实现 直到型 循环执行过程 先无条件执行一次循环体 然后判断条件表达式 当表达式的值为真 非0 时 返回执行循环体直到条件表达式为假 0 为止 绝对不能少分号 循环体 格式 do 循环体语句组 while 循环继续条件 花括号不能丢掉 请问 下述程序实现了什么功能 main inti sum 0 do sum sum i i while i 100 1 7 3循环语句 总循环次数已确定的情况下 可采用for语句形式为 for语句的一般形式 for 循环变量赋初值 循环继续条件 循环变量增值 循环体语句组 分隔符为分号 请问 下述程序实现了什么功能 main inti y 0 for i 1 i 10 i y y i 1 7 3循环语句 for语句循环执行过程 for 循环变量赋初值 循环继续条件 循环变量增值 循环体语句组 1 8单片机I O端口及其应用 单片机共有四个8位并行I O口 分别用P0 P1 P2 P3表示 每个I O口既可以按位操作使用单个引脚 也可以按字节操作使用8个引脚 P0口的结构 P0口逻辑电路 当P0口作为输出口使用时 内部总线将数据送入锁存器 内部的写脉冲加在锁存器时钟端CP上 锁存数据到Q 端 经过MUX T2反相后正好是内部总线的数据 送到P0口引脚输出 当P0口作为输入口使用时 应区分读引脚和读端口两种情况 所谓读引脚 就是读芯片引脚的状态 这时使用下方的数据缓冲器 由 读引脚 信号把缓冲器打开 把端口引脚上的数据从缓冲器通过内部总线读进来 读端口是指通过上面的缓冲器读锁存器Q端的状态 读端口是为了适应对I O口进行 读 修改 写 操作语句的需要 例如下面的C51语句 P0 P0 将P0口的低4位引脚清0输出 P0口的结构 除了I O功能以外 在进行单片机系统扩展时 P0口是作为单片机系统的地址 数据线使用的 一般称为地址 数据分时复用引脚 当输出地址或数据时 由内部发出控制信号 使 控制 端为高电平 打开与门 并使多路开关MUX处于内部地址 数据线与驱动场效应管栅极反相接通状态 此时 输出驱动电路由于两个FET处于反相 形成推拉式电路结构 使负载能力大为提高 输入数据时 数据信号直接从引脚通过输入缓冲器进入内部总线 P0口的结构 P1口的结构 P1口逻辑电路 P1口是准双向口 只能作为通用I O口使用 P1口作为输出口使用时 无需再外接上拉电阻 P1口作为输入口使用时 应区分读引脚和读端口 读引脚时 必须先向电路中的锁存器写入 1 使输出级的FET截止 P1口的结构 P2口的结构 P2口逻辑电路 P2口是准双向口 在实际应用中 可以用于为系统提供高8位地址 也能作为通用I O口使用 P2口作为通用I O口的输出口使用时 与P1口一样无需再外接上拉电阻 P2口作为通用I O口的输入口使用时 应区分读引脚和读端口 读引脚时 必须先向锁存器写入 1 P2口的结构 P3口的结构 P3口逻辑电路 P3口是准双向口 可以作为通用I O口使用 还可以作为第二功能使用 作为第二功能使用的端口 不能同时当作通用I O口使用 但其他未被使用的端口仍可作为通用I O口使用 P3口作为通用I O的输出口使用时 不用外接上拉电阻 P3口的结构 训练项目1 3 数码管动态显示系统设计与制作 一 项目要求在Proteus仿真软件和单片机实训上 采用单片机的P0 P1 P2 P3的任意端口控制2个4位一体的共阳极数码管 实现任意数字显示 然后再修改程序实现简易时钟显示 显示格式为 即 时 分 秒 二 项目实训仪器 设备及实训材料 三 项目实施过程及其步骤任务1实现任意数字显示任务描述 采用单片机的P0和P2端口分别作为数码管的数据和驱动端口 在Proteus软件和单片机实训板上 使数码管显示任意数字 然后再改用其它端口控制数码管 实现同样功能 任务2实现简易时钟显示任务描述 在任务1的基础上 实现简易时钟功能 然后再改用其它端口控制数码管 实现同样功能 四 思考与分析 1 绘制任务1和2的程序运行轨迹 即黄色箭头在程序代码行走的轨迹 2 采用共阴极数码管 实现任意数字显示 1 9数组 分隔符为分号 数组的概念 数组属于常用的数据类型 数组中的元素有固定数目和相同类型 数组元素的数据类型就是该数组的基本类型 例如 整型数据的有序集合称为整型数组 字符型数据的有序集合称为字符型数组 数组还分为一维 二维 三维和多维数组等 常用的是一维 二维和字符数组 1 9数组 数组的基本特点 构造类形数据 由基本类型数据按照一定规则组成 数组 是有序数据的集合 数组中的每一个元素都属于同一个数据类型 用一个统一的数组名和下标来唯一地确定数组中的元素 应用场合 需要处理的数据为数量已知的若干相同类型的数据时 注意 先定义 后使用 一维数组的定义和引用 一维数组的定义 一般格式 类型标识符数组名 常量表达式 intarray 10 unsignedcharnum 7 说明 数组名 见名知意 数组名中存放的是一个地址常量 它代表整个数组的首地址 同一数组中的所有元素 按其下标的顺序占用一段连续的存储单元 方括弧而非圆括弧 常量表达式 可以是常量或符号常量 表示数组元素的个数 也称数组长度 不允许对数组大小作动态定义 数组元素下标从0开始 array 0 array 1 array 9 遵循标识符命名规则 数组元素的表达形式 数组名 下标表达式 Array 4 100 array 8 34 array 10 56 注意 数组下标不能越界 一个数组元素具有和相同类型单个变量一样的属性 可以对它赋值和参与各种运算 一维数组的引用 一般格式 数据类型数组名 常量表达式 初值表 1 定义时赋初值 intscore 5 1 2 3 4 5 2 给一部分元素赋值 intscore 5 1 2 3 使所有元素为0 intscore 5 0 4 给全部数组元素赋初值时 可以不指定数组长度 intscore 1 2 3 4 5 一维数组的初始化 1 10函数 C语言程序都是由多个函数组成的 一般至少有一个主函数main 函数是C语言程序的基本模块 通过对函数模块的调用来实现程序的功能 C语言不仅提供了丰富的库函数 而且还允许定义自己的函数 所以C语言程序都由各类不同功能的函数组成的 函数的分类 标准库函数用户自定义函数 1 从函数是否具有返回值的角度分类 有返回值函数 无返回值函数 2 从函数是否带有参数角度分类 无参函数 有参函数 函数定义 C语言函数定义形式 数据类型说明符 函数名 形参定义表 执行语句 中的内容称为函数体 函数的调用 1 函数调用方式函数调用的一般形式为 变量 函数名 实参表 2 对被调函数的声明C语言程序中一个函数调用另一个函数需要具备以下条件 被调用的函数必须是已经存在的函数 是库函数或用户自定义的函数 如果调用库函数 一般要在程序文件的开关用include命令 包含有关库函数所在的头文件 如果调用用户自定义的函数 并且该函数与调用它的函数在同一个程序文件中 一般还应该在主调函数中对被函数作声明 即向编译系统声明将要调用此函数 并将有关信息通知编译 数组作为函数的参数1 数组元素作为函数的参数数组元素可以作为函数的实参 这时对应的形参是变量 与变量作实参一样 把数组元素的值传递到形参变量所在存储单元中 是单向的值传递 2 数组名作为函数的参数可以用数组名作为函数的实参 对应的形参也应该是数组名 include reg51 h voidsort intx intn inti j tk for i 0 i n 1 i 选择排序法对n个数进行降序排列 k i for j i 1 j n j 找出最大的元素if x k x j k j if k i t x i x i x k x k t voidmain intcj 10 76 80 65 60 58 91 47 63 70 85 sort a 10 局部变量和全局变量 1 局部变量 2 全局变量 内部函数和外部函数 1 内部函数static类型标识符函数名 形参定义 函数体 2 外部函数 extern 类型标识符函数名 形参定义 函数体 训练项目1 4 LED点阵显示屏设计与制作 一 项目要求在Proteus仿真软件和实训板上 采用单片机的P0 P1 P2 P3的任意端口控制单色和双色两种8 8点阵屏模块 实现一些特定的文字或图形显示 二 项目实训仪器 设备及实训材料 三 项目实施过程及其步骤任务1单色LED点阵显示屏设计与制作任务描述 要求在8 8LED点阵屏上循环显示 5个图形 任务2双色LED点阵显示屏设计与制作任务描述 要求在8 8LED双色点阵屏上显示绿色 红色 橙色的 心 图形 心 图形实际显示效果 四 思考与分析 1 在点阵屏上实现1 9数字显示 2 在任务2中 第84行用于防止重影 若没有这行代码 显示现象怎样 1 11LED点阵模块结构及原理 1 11 1LED点阵模块的种类及结构 a 8 8LED点阵模块实物外形 b 共阴8 8LED点阵 c 共阳8 8LED双色点阵 训练项目1 5 字符型LCD显示系统设计与制作 一 项目要求在Proteus仿真软件和实训板上 采用单片机的P0 P1 P2 P3的任意端口控制LCD1602字符型液晶屏 实现任意字符显示 然后再制作一个简易电子钟 要求整点能发出报警声音 显示格式为 即 时 分 秒 二 项目实训仪器 设备及实训材料 三 项目实施过程及其步骤任务1实现任意字符显示任务描述 采用单片机的P0和P2端口分别作为LCD的数据和控制端口 在Proteus软件和单片机实训板上 实现任意字符显示 然后再改用其它端口 实现同样功能 实训板上显示效果 任务2制作简易电子钟任务描述 在任务1的基础上 使LCD显示具有 时 分 秒 的简易电子钟 四 思考与分析 1 采用其它端口作为液晶屏的数据线或控制线 如何实现任务1和任务2 2 在任务2中 如何使 AM 在12正点来时自动变为 PM 又在00点来时自动变为 AM 实训板上显示效果 1 12字符型LCD屏的种类及工作原理 1 引脚定义 2 LCD模块三个控制引脚的基本操作 LCD写操作时序 LCD读操作时序 4 字符型LCD写数据操作 1 13指针 对于变量要弄清楚两个概念 一个是变量名 另个是变量值 前者是一个数据的标号 后者是一个数据的内容 而对内存单元 也要弄清楚两个概念 一个是内存单元的地址 另个是内存单元的内容 前者是内存对该单元的编号 表示该单元在整个内存中的位置 后者指的是在该内存单元中存放的数据 1 指针变量的定义 类型识别符 指针变量名char cp1 cp2 int p1 p2 在定义指针变量时要注意 1 指针变量前面的 表示该变量的类型为指针型变量 指针变量名是p1 p2 而不是 p1 p2 这与前面介绍的变量定义形式有所区别 2 指针变量名的命名规则与变量名命名规则相同 遵循标识符命名规则 3 在定义指针变量时必须指定其 基类型 因为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025春季中国融通农业发展有限集团有限公司社会招聘模拟试卷附答案详解(考试直接用)
- 互动式考古体验设计-洞察及研究
- 扁平疣新药的研发流程与管理-洞察及研究
- 2025年阜阳临泉技工学校招聘4人模拟试卷及答案详解(历年真题)
- 数据仓库内存存储优化-洞察及研究
- 数字经济时代的经济刺激新途径-洞察及研究
- 安全条例专题培训总结课件
- 智能检测与质量监控技术-洞察及研究
- 物流公司仓库管理操作规程与流程
- 2025福建生态工程职业技术学校招聘4人考前自测高频考点模拟试题参考答案详解
- 街道管理考试题库及答案
- 2025年执业药师之《药事管理与法规》题库附参考答案详解(培优)
- 统编语文(2024)二年级上册识字5《去外婆家》课件
- 加工中心课件培训
- 2025年广西梧州市辅警招聘考试题题库(含参考答案)
- 2025年上海公安机关勤务辅警招聘笔试备考题库及参考答案详解
- 2025年公文写作基础知识竞赛试题库及答案
- 物权编善意取得制度解读
- 面部桃花灸培训专业知识课件
- 2025年高考政治总复习高中三年必考基础知识复习汇编资料(必背版)
- (2025)汽车驾驶员(技师)考试题库及答案
评论
0/150
提交评论