电子时钟设计。
班级: 学号:
姓名: 目录。
一、设计目的 3
二、设计过程 3
1.设计原理 4
2.用到的器件 4
3.创新点 5
三、硬件原理设计图 4
接口 43.蜂鸣器 5
4.用户按键 5
四、程序 6
五、参考文献 8
六、设计心得体会 8
1、通过单片机课程设计,熟练掌握c语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过按键计数器控制系统的设计,掌握单片机的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
二:设计过程:
1. 设计原理:此次课程设计我设计的是是按键计数器,由课程设计的要求和任务,我采用的c语言编程,设计采用了定时器和for循环来定时,其中一个软件一个硬件,通过软键盘按键,然后将其值通过p1,p2口在数码管上进行显示。
其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。
2. 用到的器件。
综合按键、数码管、蜂鸣器等各器件的功能,利用按键可以控制数码管的显示并伴随蜂鸣器的声响,如复位、按键加数。
3.创新点。
a.在课程要求的基础上,我们做成的电路板上,用复位键来控制计数器的计数和清零。
b.在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将数码管在到达9999的瞬间自动清零。。
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
/共阴极数码管。
/uchar code table[10] =
/控制位选 11111110 11111101 11110111 11101111
uchar code led_w[5] =
uchar code table[10] =
共阳极数码管。
uchar num=1,num1;
uchar sec, min, hour, day, month, year;
sbit key1=p3^7;
sbit key2=p3^6;
sbit key3=p3^3;
sbit speak =p2^5蜂鸣器器控制脚
sbit acc0 = acc^0;
sbit acc7 = acc^7;
sbit t_clk = p2^2; /实时时钟时钟线引脚 */
sbit t_io = p2^3; /实时时钟数据线引脚 */
sbit t_rst = p2^4; /实时时钟复位线引脚 */
void delay2()
int i,j;
for(i=0; i<=10; i++)
for(j=0; j<=2; j++)
void delay3(uint x)
uint i,j;
for(i=0; i<=x; i++)
for(j=0; j<=100; j++)
void sound()
uchar i;
for( i=0;i<10;i++)
void outside_init(void)
ex1 = 1; /开外部中断1
it1 = 1; /负边沿触发。
ea = 1; /开总中断。
名称 : v_rtinputbyte()
功能 : 往ds1302写入1byte数据。
输入 : ucda 写入的数据。
输出 : 无。
void v_rtinputbyte(uchar ucda)
uchar i;
acc = ucda;
t_rst = 1;
for(i=8; i>0; i--)
名称 : uc_rtoutputbyte()
功能 : 从ds1302读取1byte数据。
输入 : 无。
返回值: acc
uchar uc_rtoutputbyte(void)
uchar i;
t_rst = 1;
for(i=8; i>0; i--)
return(acc);
名称 : v_w1302(uchar ucaddr, uchar ucda)
功能 : 往ds1302写入数据。
输入 : ucaddr: ds1302地址, ucda: 要写的数据。
返回值 : 无。
void v_w1302(uchar ucaddr, uchar ucda)
t_rst = 0;
t_clk = 0;
t_rst = 1;
v_rtinputbyte(ucaddr); 写地址
_nop_()
_nop_()
v_rtinputbyte(ucda写1byte数据。
t_clk = 1;
t_rst = 0;
名称 : uc_r1302(uchar ucaddr)
功能 : 读取ds1302某地址的数据。
输入 : ucaddr: ds1302地址。
返回值 : ucda :读取的数据。
uchar uc_r1302(uchar ucaddr)
uchar ucda;
t_rst = 0;
t_clk = 0;
t_rst = 1;
v_rtinputbyte(ucaddr); 写地址,命令。
_nop_()
_nop_()
ucda = uc_rtoutputbyte();读1byte数据。
t_clk = 1;
t_rst = 0;
return(ucda);
名称 : v_burstw1302t
功能 : 往ds1302写入时钟数据(多字节方式)
输入 : psecda: 时钟数据地址格式为: 秒分时日月星期年控制。
8byte (bcd码) 1b 1b 1b 1b 1b 1b 1b 1b
返回值 : 无。
void v_burstw1302t(uchar *psecda)
uchar i;
v_w1302(0x8e, 0x00控制命令,wp=0,写操作。
t_rst = 0;
t_clk = 0;
t_rst = 1;
v_rtinputbyte(0xbe0xbe:时钟多字节写命令。
for(i=8; i>0; i8byte = 7byte 时钟数据 + 1byte 控制。
t_clk = 1;
t_rst = 0;
单片机课程设计设计报告
设计摘要。在过去,通常情况下实验室是采用指针式万用表测量小幅度直流电压,但是由于指针式的万用表或者电压表用肉眼很难较准确的看出所测量的电压值,导致测量的结果不精确,所以,继续使用指针式电压表已经显得不太方便。而且,随着长时间的使用可能会造成欧姆调零以及机械调零的磨损,这会对数据的准确测量造成很多困难...
单片机课程设计报告
单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....
单片机课程设计报告
韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...