实验使用了c8051f020和ZLG_7289芯片
一.实验目的
1.掌握ZLG7289专用按键显示芯片电路设计。
2.掌握SPI通信程序设计方法。
3.掌握基于ZLG7289按键显示驱动程序设计。
二.实验内容
-
设计一个定时器。要求:能够输入定时时长,定时最长时间为 9 分 59
秒;按启动键后开始计时,数码管显示当前计时时长,显示格式为:X.XX.X;每 200 ms
刷新一次数码管显示的数值;定时时间到达后,用数码管闪烁指示。 定时器的工作状态用功能按键控制,设功能按键为:启动键、暂停键、清零键。 -
当单片机复位后进入等待输入定时时间状态,用户可以输入定时时间,输入的时间同时在数码管上显示;当输入定时时间后,按启动键,定时器开始计时,数码管显示当前计时时间。再次按暂停键,定时器暂停计时,数码管显示当前计时时间;再次按暂停键,定时器继续计时。按清零键,定时器停止计时,并清零计时值,数码管显示为零,定时器进入等待输入状态。
三. 实验说明
- 实验使用的ZLG_7289的c和h文件需要从网上下载,完成后需要将.h文件添加至工程中。c文件包含了初始化ZLG_7289的函数,也需要添加至工程中,或者将函数复制到你的代码中。
四.实验代码
#include "ZLG7289.h"
#include "c8051f020.h"
sbit ZLG7289_pinCS=P3^3; //片选信号,低电平有效
sbit ZLG7289_pinCLK=P3^4; //时钟信号,上升沿有效
sbit ZLG7289_pinDIO=P3^5; //数据信号,双向
sbit ZLG7289_pinINT=P3^7; //键盘中断请求信号,低电平(负边沿)有效*/
unsigned int ms;
unsigned char min,s,j,k,x,count;
bit p;
//#include "c8051f020.h"
//定义一个全局变量,用于延时
//该变量在调用函数ZLG7289_Init()时被初始化
unsigned char ZLG7289_Delay_t;
/*
宏定义:ZLG7289_ShortDelay()
功能:短延时
说明:延时(ZLG7289_Delay_t*2+2)个机器周期
*/
#define ZLG7289_ShortDelay() \
{\
unsigned char t = ZLG7289_Delay_t;\
while