资源简介
8255 键盘接口C语言编程8255 键盘接口C语言编程
代码片段和文件信息
/***************************************************************
mcu_8255A
copyright software keil inc
***************************************************************/
#include
#include
#include
#include
#define WR_Port_A XBYTE[0X7cff] //01111100
#define WR_Port_B XBYTE[0X7eff] //01111110
#define WR_Port_C XBYTE[0X7dff] //01111101
#define WR_Control XBYTE[0X7fff] //01111111
#define uchar unsigned char
#define uint unsigned int
sbit WDI=P1^7;//watchdog signal input pin
sbit light=P1^6;
sbit EX_int0=P3^2;
uchar temp;
uchar Counts_RCounts_FCounts_S;
uchar code table[10]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
uchar idata buf_R[4];
uchar idata buf_F[4];
uchar idata buf_S[4];
void delay(uchar);
void display(uchar idata *);
void display_0(uchar idata *);//---------------------
void math_add();
void display_All();
void display_R(uchar idata *);
void display_F(uchar idata *);
void display_S(uchar idata *);
void main(void)
{
uchar ij;
uchar idata dis_buf[2];
uchar idata dis_buf_0[4];//-----------------------
WR_Control=0x80;
delay(2);
for(i=0;i<20;i++)
{
j=100;
while(--j);
}
Counts_R=20;
Counts_F=30;
display_0(dis_buf_0);//----------------------------
while(1)
{
Counts_S=Counts_F+Counts_R;
math_add();
display_All();
/*for(i=0;i<2;i++)
{
dis_buf[i]=temp%10;
temp=temp/10;
}*/
WDI=!WDI;
while(j<=200)
{
display(dis_buf);
j++;
}
}
}
/*----------------------display_Loop()-----------------*/
void display(uchar idata *pt)
{
uchar itemp;
temp=0x01;//00000001
for(i=0;i<2;i++)
{
WR_Port_A=table[*pt];
WR_Port_B=temp;
delay(20);
pt++;
if(temp!=0x04)
temp=temp<<1;
//temp=0xef;//11101111;
}
}
/*---------------delay_time(uchar)--------------------*/
void delay(uchar time)
{
uchar ij;
for(i=0;i {
j=100;
while(--j);
}
}
/*-------------------display_0()---------------*/
void display_0(uchar idata *ptt)
{
uchar itemp;
temp=0x01;
for(i=0;i<4;i++)
{
WR_Port_A=table[*ptt];
WR_Port_B=temp;
delay(20);
ptt++;
}
}
/*--------------------math_add()--------------*/
void math_add()
{
uchar itemp_EE;
temp_EE=Counts_R;
for(i=0;i<4;i++)
{
buf_R[i]=temp_EE%10;
temp_EE=temp_EE/10;
}
temp_EE=Counts_F;
for(i=0;i<4;i++)
{
buf_F[i]=temp_EE%10;
temp_EE=temp_EE/10;
}
temp_EE=Counts_S;
for(i=0;i<4;i++)
{
buf_S[i]=temp_EE%10;
temp_EE=temp_EE/10;
}
}
/*---------------------display_all()-------------*/
void display_All()
{
display_R(buf_R);
display_F(buf_F);
display_S(buf_S);
}
/*--------------------display_R()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3528 1999-08-28 11:56 mcu.c
----------- --------- ---------- ----- ----
3746 2
相关资源
- 最短剩余时间优先算法SRTFC语言代码
- MFC多线程编程示例47598
- 决策树实现算法C语言编写
- C语言 小波变换 图像 去噪 源代码
- c语言 链表排序--
- C语言版贪吃蛇设计思路及源代码
- 动态分区分配方式模拟c语言
- 浙江大学C程题库
- 学生系统C语言成绩排名
- 背包问题C语言实现, 动态规划
- linux命令c语言自己实现大概40来个
- linux下网络编程TCP客户端和服务器端数
- c语言实现的动态规划求最短路径长度
- C语言双语词汇对照表
- C语言-遗传算法的排课源码
- C语言模拟路由DV算法
- 用c语言写的OBB旋转及碰撞检测源代码
- 用C语言编写的usb自动识别程序
- 基于51单片机的12864液晶显示C语言源程
- 分治法求格雷码的C语言代码
- C语言C++魔兽全图源码
- linux环境下C语言编程指南 源代码
- 上传的p2p技术C语言源码
- 连连看C语言小游戏开发源代码
- 磁盘调度算法(c语言)44989
- 音乐跑马灯C语言程序
- bpsk的C语言代码
- 用回溯法解决01背包问题C语言实现
- Linux GTK 聊天室 MySql C语言聊天室
- 单片机流水灯C语言
评论
共有 条评论