1、 单片机原理及应用 课程设计 学院名称:计算机科学与通信工程学院 专业班级:通信工程 0901 学生姓名: 学生学号: 指导教师: 一一、 设计目的设计目的 1、熟悉键盘的工作原理,掌握 HD7279A 芯片实现键盘扫描程序设计及调 试方法; 2、 了解掌握定时器的选择和编程方法, 了解定时器中断服务程序设计方法; 内部功能模块如定时器/计数器、中断、片内外存储器、I/O 口、串行口通 讯等; 3、进一步熟悉和掌握单片机的结构和工作原理; 4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术; 5、在课程设计过程中,不断调试程序和修改程序,提高了对单片机的应用能 力,分析问题和解决
2、问题的能力; 6、熟悉日历时钟的编程方法。 二、二、设计方案(包括文字说明,程序框图,加注释的核心源程序清单)设计方案(包括文字说明,程序框图,加注释的核心源程序清单) 1、功能要求 1)能在 LED 显示器上实现正常的时分秒计时; 2)能通过键盘输入当前时间,并从该时间开始计时; 3)有校时 、校分功能; 4)有报时功能,通过指示灯表示; 5)有闹时功能,闹时时间可以设定,通过指示灯表示。 2、文字说明 HD7279 是一片具有串行接口的,可用于驱动 8 位共阴极式数码管(或 64 只独立 LED)的智能显示驱动芯片,该芯片同时还可连接多达 64 键的键盘 矩阵,单片即可完成 LED 显示、
3、键盘接口的全部功能。 HD7279 内部含有译码器,可直接接受 BCD 码或者 16 进制码,并同时具 有两种译码方式,此外还有消隐、闪烁、左移、右移、段寻址等多种控制指令。 HD7279 具有片选信号,可方便地实现多于 8 位的显示或多于 64 键的键 盘接口。 3、程序框图: No Yes No Yes No Yes Yes No Yes No Yes No Yes 开始 关看门狗 初始化时钟 初始化定时器 初始化 I/O 口 初始化 SPI0 使能比较器 1 使能片内参考电压 使能 DAC0 显示时间并开始正常的时分秒计时 按键为F? 停止计时 按键为E? 无反应,依然时分秒计时 设 置
4、 时 间 按键为D 设 置 闹 铃 KeyV alue%16=1? 校 时 加 1 2? 校 时 减 1 3? 校 分 加 1 4? 校 分 减 1 D ? FlashLED(8) 结 束 4、核心源程序清单: /*test7279* #include “c8051f020.h“ #include /和通信 10 届的同学一起上电路分析很愉快。成绩一般吧,90 分。还有,我一 /直想声明一点,我不是来重修的,电路分析没上过补修而已。要知道坐在第一 /排被学弟学妹们用看重修生的眼光来看待是多么.如果你在文库里找到了另外 /一份 08 届一班学号 12 号上传、财富值为 5 分的,最好不要下载,很让人抓狂。 /如果已经下载我也无话可说。 sbit HD7279_DAT=P17; sbit HD7279_CLK=P16; #define NOSELECT7279 P5 |= 0x80 /片选置 1,未选中 #def