• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 28
    下载次数
  • 2006-07-16 10:31
    上传日期
该程序基于8279与8051的接口给出了其驱动程序,有一定实用价值
8279qudong.rar
  • 8279驱动.C
    2.1KB
  • www.pudn.com.txt
    218B
内容介绍
#include <reg51.h> #include<absacc.h rel='nofollow' onclick='return false;'> /*包含润许直接访问8051不同存储区的宏定义*/ #define COM XBYTE[0x4001] /*8279命令口地址*/ #define DAT XBYTE[0x0000] /*8279数据口地址*/ #define uchar unsigned char uchar count; /*定义全局变量*/ uchar count_s; uchar count_m; uchar count_h; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ; sbit clflag=ACC^7; /*标志变量0或1 */ void service_counter0()interrupt 1 /*定时器0中断服务程序*/ { TH0=0x3c; /*重新装载计数初值*/ TL0=0xb0; count=count+1; if(count>=20) { count_s=count_s+1; count=0; } if(count_s>=60) { count_m=count_m+1; count_s=0; } if(count_m>=60) { count_h=count_h+1; count_m=0; } if(count_h>=24) { count_h=0; } } void count_init() /*初始化程序*/ { count=0; count_s=55; count_m=59; count_h=23; TMOD=0x01; /*定时器0方式1 */ TH0=0x3c; /*装载计数初值 */ TL0=0xb0; IP=0x02; /*中断优先级设置PT0=1 */ ET0=1; /*允许定时器0中断*/ TR0=1; /*启动定时器0运行*/ EA=1; /*全部中断允许*/ } void disp_init() { COM=0xd1; /*清除命令 110 10001 将显示器RAM清零*/ do{ACC=COM;} while(clflag==1); /*等待清除结束*/ COM=0x00; /*显示方式00000000,8字符左进入;编码扫描键盘,2键锁定*/ COM=0x22; /*时钟分频 001 10100=20分频*/ } void disp() { COM=0x90; /*写显示RAM命令 起始地址 地址自加*/ DAT=table[count_h/10]; DAT=table[count_h%10]; DAT=table[count_m/10]; DAT=table[count_m%10]; DAT=table[count_s/10]; DAT=table[count_s%10]; } void main() { disp_init(); count_init(); while(1) disp(); }
评论
    相关推荐