1、 1 单单 片片 机机 课课 程程 设设 计计 报报 告告 课课 题:仿手机键盘题:仿手机键盘 报报 告告 人:人:XXXXXX 学学 号:号:XXXXXXXX 班班 级:级:XXXX XXXX 2 目目 录录 一、 手机键盘使用说明 3 (一)键盘说明. 3 (二)“时钟”模式 . 3 (三)“设置”模式 . 3 (四)“手机”模式 . 4 二、 手机键盘设计说明 5 (一)设计要求. 5 (二)硬件电路. 6 1、CPU. 6 2、矩阵键盘 . 7 3、LCD 8 4、蜂鸣器. 8 (三)流程图 9 1、时钟模式 . 9 2、设置模式 . 9 4、手机模式 . 10 5、定时器 0 .11
2、 (四)源程序 12 三、 课程设计心得体会 30 3 一、一、 手机键盘使用说明手机键盘使用说明 (一)键盘说明(一)键盘说明 1、键盘按键对应键值: C 8 4 0 D 9 5 1 E A 6 2 F B 7 3 2、定义双击:2s 间隔内按下同一数字键 (二) “时钟”模式(二) “时钟”模式 键盘键值对应功能: 0(设置) :按下设置键进入设置模式 1(切换) :按下切换键进入手机模式 (三) “设置”模式(三) “设置”模式 键盘键值对应功能: 0(移位) :光标在年、月、日、星期、时、分、秒之间循环移位 1(加) :光标对应的时间(日期)加一 2(减) :光标对应的时间(日期)减一
3、 3(返回) :返回时钟模式 4 (四) “手机”模式(四) “手机”模式 键盘键值对应功能: 1)数字键: 0(0, 。?) :单击显示 0,双击显示 0, 。?,长按循环显示 0, 。? 1 (1abc) : 单击写入”1”, 双击写入”1abc”, 长按循环写入”1”、 ”a”、 ”b”、 ”c” 2(2def) :同上 3(3ghi) :同上 4(4jkl) :同上 5(5mno) :同上 6(6pqr) :同上 7(7stu) :同上 8(8vwx) :同上 9(9yz ) :同上(第四个字符是空格) 2)功能键: A(删除) :删除光标前一个字符 B(退格) :光标左移 C(右移)
4、 :光标右移 D(清屏) :LCD 清屏 E(跳转) :返回时钟模式 F(打电话) :按下蜂鸣器模拟电话响,再次按下挂断电话 5 二、二、 手机键盘设计说明手机键盘设计说明 (一)设计要求(一)设计要求 显示方式:1602LCD 编程语言:汇编 1、任务 利用键盘矩阵仿照手机键盘,每个按键均集成多个按键字符,在LCD上分 别显示 2、要求 1)手机键盘对应字符: 2)依次按下不同按键时所显示的是按键上的第一个字符,如果在2S间隔 内按下同一按键,该按键上的字符将被依次显示,如果同一按键上的两次连 续按键时间间隔超过2S,则取字符位置归0,即显示该按键的第一个字符 3)可模拟拨打电话号码,“*”
5、键可实现退格功能,“#”键可实现清除 功能 4)字符显示和拨打电话,可通过按键选择控制 5)按键时,可利用蜂鸣器发出提示音 6)不工作时,显示北京时间,可调整 3、附加功能 1)“清屏“键可实现LCD清屏 2)“右移“键可实现光标右移 3)长按数字键可循环显示按键对应的所有字符 6 (二)硬件电路(二)硬件电路 1、CPU 7 2、矩阵键盘、矩阵键盘 8 3、LCD 4、蜂鸣器、蜂鸣器 9 (三)流程图(三)流程图 1、时钟模式、时钟模式 2、设置模式、设置模式 设置模式 Y Y Y Y N N N Y Y Y Y N 扫描键盘 初始化 初始化 显示北京时间 键值为 0 键值为 1 光标移位
6、初始化 初始化 时间加一 初始化 初始化 键值为 2 键值为 3 时间减一 初始化 初始化 返回时钟模式 设置模式 N N N Y Y Y Y N 扫描键盘 初始化 初始化 显示北京时间 键值为 0 键值为 1 进入设置模式 时钟模式 进入手机模式 N N Y Y 10 4、手机模式、手机模式 LCD 初始化 手机键盘扫描 键值 09 进入数字键处理 键值为 A 键值为 B 键值为 C 键值为 D 键值为 E 键值为 F 手机模式 有键按下 IDLE 清零 按键松开 删除前一个字符 光标左移 光标右移 LCD 清屏 返回时间模式 打电话/挂断 Y Y Y Y Y Y Y N N Y Y N 11 5、定时器、定时器 0 开始 MS=MS+1 MS等于 24 S0=S0+1,IDLE+ S0 等于 60 M0=M0+1 M0 等于 60 H0=H0+1 H0 等于 24 H0=0 结束 Y N Y N N Y Y N 12 (四)源程序(四)源程序 LCD_RS EQU P3.6 LCD_RW EQU P3.5 LCD_EN EQU P3.3 BUZZ