• 大小: 1.85MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-11
  • 语言: 其他
  • 标签: 单片机  

资源简介

50多个单片机课程设计的代码和电路图,有c程序文件也有HEX文件,方便实用

资源截图

代码片段和文件信息

#include
#include
#include
#define PI 3.1415926

sbit SDA=P1^0; //DS1302数据线
sbit CLK=P1^1;  //DS1302时钟线
sbit RST=P1^2; //DS1302复位线
sbit K1=P3^0; //选择
sbit K2=P3^1;   //调整
sbit K3=P3^3; //确定

uchar tCount=0 d_Flag=0;
uchar Current_Time[7];    //所读取的日期时间
char Adjust_Index=-1;   //当前调节的时间对象:秒,分,时(012)

extern void cls();    //清屏
extern char LCD_Initialise();    //LCD初始化
extern uchar LCD_Write_Command(uchar cmd);    //写无参数的命令
extern uchar LCD_Write_Command_P2(uchar cmduchar para1uchar para2);  //写双参数命令
extern uchar LCD_Write_Data(uchar dat);    //写数据
extern void Set_LCD_POS(uchar rowuchar col)reentrant;    //设置当前地址
extern void Line(uchar x1uchar y1uchar x2uchar y2bit Mode);        //画直线函数
extern void Pixel(uchar xuchar yuchar Mode)reentrant;    //画点函数
uchar Time_Back[]={-1-1-1};
uchar HMS_Hand_Length[]={242015};    //秒,分,时针的长度
//------------------------------------------------------------------------------------------
//绘制电子钟圆形面板
//------------------------------------------------------------------------------------------
void Clock_Plate()
{
   float staxy;  //绘制外围图形园圈
   for (sta=0;sta<=2*PI;sta+=0.1)
   {
       x=sin(sta); y=cos(sta);
   Pixel(30+30*x30+30*y1);
}  // 绘制刻度1~12
for (sta=0;sta<=2*PI;sta+=2*PI/12)
{
   x=sin(sta); y=cos(sta);
   Pixel(30+27*x30+27*y1);
   Pixel(30+26*x30+26*y1);
     }
}
//------------------------------------------------------------------------------------------
//重绘HMS中的某一指针(参数012分别为秒,分,时)
//------------------------------------------------------------------------------------------
void Repaint_A_Hand(uchar i)
{
    float rm;
uint xy;
m=(i==0 || i==1)?60.0:12.0;   //擦除
r=Time_Back[i]/m*2*PI+1.5*PI;
x=HMS_Hand_Length[i]*cos(r);
y=HMS_Hand_Length[i]*sin(r);
Line(3030x+30y+300);   //重绘
r=Current_Time[i]/m*2*PI+1.5*PI;
x=HMS_Hand_Length[i]*cos(r);
y=HMS_Hand_Length[i]*sin(r);
Line(3030x+30y+301);   //时间备份
Time_Back[i]=Current_Time[i]; 
}
//-------------------------------------------------------------------------------------------
//时间变化时重绘
//秒针与分针、时针接近重叠,或分针与时针接近重叠时也重绘
//-------------------------------------------------------------------------------------------
void Display_HMS_Hand()
{
    Repaint_A_Hand(0); Repaint_A_Hand(1); Repaint_A_Hand(2);
}
//-------------------------------------------------------------------------------------------
//向DS1302写入一字节
//-------------------------------------------------------------------------------------------
void Write_A_Byte_TO_DS1302(uchar x)
{
    uchar i;
for(i=0;i<8;i++)
{
     SDA = x&1;
 CLK = 1;
 CLK = 0;
 x >>= 1;
     }
}
//-------------------------------------------------------------------------------------------
//从DS1302读取一字节
//-------------------------------------------------------------------------------------------
uchar Get_A_Byte_FROM_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        131  2011-05-19 22:13  第7章 课程设计题目及运行文件\题目1 开关检测器\1.hex

     文件     102116  2012-01-30 18:33  第7章 课程设计题目及运行文件\题目1 开关检测器\开关检测器.DSN

     文件       2008  2011-12-30 09:43  第7章 课程设计题目及运行文件\题目10 LCD电子钟的制作\10.hex

     文件     202900  2012-01-17 19:55  第7章 课程设计题目及运行文件\题目10 LCD电子钟的制作\Last Loaded LCD电子钟.DBK

     文件       1178  2009-09-26 22:07  第7章 课程设计题目及运行文件\题目10 LCD电子钟的制作\lcd1602头文件.h

     文件     202900  2012-01-17 19:56  第7章 课程设计题目及运行文件\题目10 LCD电子钟的制作\LCD电子钟.DSN

     文件        742  2012-01-31 22:43  第7章 课程设计题目及运行文件\题目10 LCD电子钟的制作\LCD电子钟.PWI

     文件       1130  2011-05-17 11:42  第7章 课程设计题目及运行文件\题目11 LED数码管秒表\69.hex

     文件      90408  2012-01-02 03:02  第7章 课程设计题目及运行文件\题目11 LED数码管秒表\LED显示的秒表.DSN

     文件        742  2012-01-30 19:13  第7章 课程设计题目及运行文件\题目11 LED数码管秒表\LED显示的秒表.PWI

     文件      11584  2011-05-17 11:43  第7章 课程设计题目及运行文件\题目11 LED数码管秒表\说明文件.plg

     文件       1309  2009-09-26 00:26  第7章 课程设计题目及运行文件\题目12 秒计时表\keil-3.hex

     文件     162985  2012-01-02 19:20  第7章 课程设计题目及运行文件\题目12 秒计时表\秒计时表.DSN

     文件        742  2012-01-30 19:15  第7章 课程设计题目及运行文件\题目12 秒计时表\秒计时表.PWI

     文件       3222  2009-09-27 15:42  第7章 课程设计题目及运行文件\题目13 LCD显示的定时闹钟\keil-4.hex

     文件       1178  2009-09-26 22:07  第7章 课程设计题目及运行文件\题目13 LCD显示的定时闹钟\lcd1602头文件.h

     文件     228808  2012-01-02 19:43  第7章 课程设计题目及运行文件\题目13 LCD显示的定时闹钟\LCD显示的定时闹钟.DSN

     文件        742  2012-01-30 19:17  第7章 课程设计题目及运行文件\题目13 LCD显示的定时闹钟\LCD显示的定时闹钟.PWI

     文件       7133  2009-09-27 22:19  第7章 课程设计题目及运行文件\题目14 音乐倒计数计数器\keil-5.hex

     文件     224653  2011-12-05 05:28  第7章 课程设计题目及运行文件\题目14 音乐倒计数计数器\Last Loaded proteus-5.DBK

     文件     224653  2011-12-28 23:48  第7章 课程设计题目及运行文件\题目14 音乐倒计数计数器\Last Loaded 音乐倒计数计数器.DBK

     文件       1178  2009-09-26 22:07  第7章 课程设计题目及运行文件\题目14 音乐倒计数计数器\lcd1602头文件.h

     文件        742  2011-12-16 14:43  第7章 课程设计题目及运行文件\题目14 音乐倒计数计数器\proteus-5.PWI

     文件     225253  2012-01-02 19:50  第7章 课程设计题目及运行文件\题目14 音乐倒计数计数器\音乐倒计数计数器.DSN

     文件        742  2012-01-30 19:22  第7章 课程设计题目及运行文件\题目14 音乐倒计数计数器\音乐倒计数计数器.PWI

     文件       1090  2010-05-01 11:03  第7章 课程设计题目及运行文件\题目15 音乐音符发生器\keil-23.hex

     文件        405  2010-05-01 11:03  第7章 课程设计题目及运行文件\题目15 音乐音符发生器\keil-23.plg

     文件     152579  2011-12-28 23:48  第7章 课程设计题目及运行文件\题目15 音乐音符发生器\音乐音符发生器.DSN

     文件        766  2012-01-17 13:08  第7章 课程设计题目及运行文件\题目15 音乐音符发生器\音乐音符发生器.PWI

     文件       8473  2010-05-01 10:55  第7章 课程设计题目及运行文件\题目16 数字音乐盒\keil-24.hex

............此处省略294个文件信息

评论

共有 条评论