电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>IC datasheet pdf>mega128/DS12C887的驱动程序

mega128/DS12C887的驱动程序

2008-12-21 | rar | 1133 | 次下载 | 免费

资料介绍

画了一个128的板子,正在调试程序,先和大家分享一下12C887的程序,能完成时钟的基本功能,如需要增加其他功能,更是方便添加
欢迎指正!!!其他程序正在出炉中。

#include
#include
#include "lcd.h"
typedef unsigned char uchar;
typedef unsigned int uint;

void port_init(void)
{
 //访问外部ram的总线端口
 PORTA = 0x00;
 DDRA  = 0x00;
 PORTC = 0x00;
 DDRC  = 0xFF;
}
  
void check_busy(uchar cs)              
{
  uchar temp;
  while(temp)         
   {
     if(cs)
        temp=R_staus&0X80;               //将忙状态读到temp中进行确定
  else
     temp=L_staus&0X80;
 }
}


void lcdcommand(uchar cs,uchar com)
{
 if(cs)
   { 
    check_busy(1);
    R_command=com;
   }
  else
   {  
    check_busy(0);
    L_command=com;
   }
}

/*************************向LCD写数据函数*************************/

void lcddatas(char cs,uchar dd)

 if(cs)
   {
    check_busy(1);
    R_data=dd;
   }
 else
   {
    check_busy(0);
    L_data=dd;
    }
}

/**************************** LCD清屏函数*******************************/

void LCD_Clean(void)
{
 unsigned char x,y;   
 for(x=0xb8;x<=0xbf;x++)                                 //一页一页的写
   { 
     lcdcommand(0,x);
     lcdcommand(1,x);                                    //设定X方向地址,X地址不能自增。要靠程序加
     lcdcommand(0,LCD_Y);                                //设置Y的初始地址,Y可自加
     lcdcommand(1,LCD_Y);
     for(y=0;y<64;y++)
       {   
         lcddatas(0,0x00);
         lcddatas(1,0x00);                               //Y地址可以自增
       }       
    }
}
                                        
void LCD_Init(void)                     //LCD初始化子函数
{
  /*首先关闭12864的显示*/
  check_busy(0);                        //LCD左半屏正在工作,等待......
  L_command=LCD_OFF;                    //先关闭LCD左半屏的显示
  check_busy(1);                        //LCD右半屏正在工作,等待......
  R_command=LCD_OFF;                    //先关闭LCD右半屏的显示
 
  /*开启12864的显示*/
  check_busy(0);
  L_command=LCD_ON;                     //打开LCD左半屏的显示
  check_busy(1);
  R_command=LCD_ON;                     //打开LCD右半屏的显示
 
  /*设置LCD显示的起始行*/
  check_busy(0);
  L_command=LCD_X;                      //LCD左半屏起始行为0
  check_busy(1);
  R_command=LCD_X;                      //LCD右半屏起始行为0
}

void init_devices(void)
{
 XMCRA = 0x00;                          //外部存储器控制
 XMCRB = 0x00; //外存储高位地址屏蔽,释放端口C
 port_init();
 MCUCR = 0x80;                          //外部SRAM使能
}

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  11次下载  |  免费
  5. 3嵌入式linux-聊天程序设计
  6. 0.60 MB  |  3次下载  |  免费
  7. 4DIY动手组装LED电子显示屏
  8. 0.98 MB  |  3次下载  |  免费
  9. 5基于FPGA的C8051F单片机开发板设计
  10. 0.70 MB  |  2次下载  |  免费
  11. 651单片机窗帘控制器仿真程序
  12. 1.93 MB  |  2次下载  |  免费
  13. 751单片机PM2.5检测系统程序
  14. 0.83 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191186次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费