资源简介
采用MAX7219并行显示时间及设定的交通灯控制系统。包括两种中断源应用及串口通信。-The MAX7219 parallel display time and set of traffic light control system. Including two interrupt source application and serial interface communication.
代码片段和文件信息
#include//头文件
/*********************** 定义MAX7219 内部寄存器 **********************/
#define REG_DECODE 0x09 // 译码方式寄存器
#define REG_INTENSITY 0x0a // 亮度寄存器
#define REG_SCAN_LIMIT 0x0b // 扫描界限寄存器
#define REG_SHUTDOWN 0x0c // 停机寄存器
#define REG_DISPLAY_TEST 0x0f // 显示测试寄存器
#define INTENSITY_MIN 0x00 // 最小显示亮度
#define INTENSITY_MAX 0x0f // 最大显示亮度
/*********************** 定义各路交通灯信号 ************************/
sbit ALG = P1^2;// A路左转绿灯
sbit ALR = P1^0;// A路左转红灯
sbit ALY = P1^1;// A路左转黄灯
sbit ASG = P1^5;// A路直行绿灯
sbit ASR = P1^3;// A路直行红灯
sbit ASY = P1^4;// A路直行黄灯
sbit BLG = P2^0;// B路左转绿灯
sbit BLR = P1^6;// B路左转红灯
sbit BLY = P1^7;// B路左转黄灯
sbit BSG = P2^3;// B路直行绿灯
sbit BSR = P2^1;// B路直行红灯
sbit BSY = P2^2;// B路直行黄灯
/*********************** 定义MAX7219 端口信号 ************************/
sbit DATA = P2^5;
sbit LOAD = P2^6;
sbit CLK = P2^7;
/*********************** 定义设定按键 端口信号 ************************/
sbit next_switch = P0^5;
sbit add_switch = P0^6;
sbit sub_switch = P0^7;
/*********************** 时间及显示全局变量 ************************/
int aashigeshi1ge1temp1;
int p=0;
int set1=10;
int set2=5;
int flag = 0;
int gt[4] = {14131211};
/*数码管显示0-9AL*/
unsigned char table[]={0x7e0x300x6d0x790x330x5b0x5f0x700x7f0x7b0x770x0e};
unsigned char table0[]={0x000x010x020x030x040x050x060x070x08};
/*子函数声明*/
void delay(int z);//延迟
void xtimer0();//定时中断
void xtimer1();
void check();
void step1();
void step2();
void step3();
void step4();
void step5();
void step6();
void step7();
void step8();
void step9();
void xint0();
void xint1();
void A_S_G();
void B_S_G();
int judge_key();
void set_led_time();
static void Write (unsigned char reg_number unsigned char dataout);//向指定的MAX7219内部寄存器写入数据
static void SendByte (unsigned char dataout);//向MAX7219发送一个字节串行数据
static unsigned char LookupCode (int num);//查段码表将显示字符转换为显示段码
static unsigned char LookupNum (int num);
void Init (void);//对MAX7219进行初始化,调用任何其他函数之前必需先调用此函数
void ShutdownStart (void);//进入停机方式
void ShutdownStop (void);//结束停机方式
void DisplayTestStart (void);//启动显示测试
void DisplayTestStop (void);//结束显示测试
void SetBrightness (char brightness);//设置LED显示亮度亮度值(brightness = 0-15)
void Clear (void);//关闭全部显示器
void display (int num0 int num);//在指定数位上显示字符
/*主函数*/
void main()
{
EA=1;//开中断
EX0=1;//允许外部中断INT0中断
IT0=0;//定义INT0触发方式
PX0=1;//中断优先级高
EX1=1;//允许外部中断INT1中断
IT1=0;//定义INT1触发方式
PX1=1;//中断优先级高
check();//开机自检
step1();//第1个状态
P0=0xff;
while(1)
{
step2();//第2个状态
step3();//第3个状态
step4();//第4个状态
step5();//第5个状态
step6();//第6个状态
step7();//第7个状态
step8();//第8个状态
step9();//第9个状态
}
}
void check()//开机自检子程序
{
ASG=1;
ALG=1;
ASR=1;
ALR=1;
ASY=1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 129372 2011-12-15 09:38 _gao\Last Loaded traffic.DBK
文件 5115 2004-08-31 19:16 _gao\STARTUP.A51
文件 11665 2011-12-15 11:13 _gao\STARTUP.lst
文件 749 2011-12-15 11:13 _gao\STARTUP.OBJ
文件 29011 2011-12-15 11:13 _gao\traffic
文件 14505 2011-12-15 11:13 _gao\traffic.c
文件 129372 2011-12-15 09:42 _gao\traffic.DSN
文件 9205 2011-12-15 11:13 _gao\traffic.hex
文件 35852 2011-12-15 11:13 _gao\traffic.LST
文件 45162 2011-12-15 11:13 _gao\traffic.M51
文件 35890 2011-12-15 11:13 _gao\traffic.OBJ
文件 1395 2011-12-15 16:00 _gao\traffic.Opt
文件 163 2011-12-15 16:00 _gao\traffic.plg
文件 768 2011-12-15 16:00 _gao\traffic.PWI
文件 2051 2011-12-14 12:39 _gao\traffic.Uv2
....... 1301 2011-12-15 11:12 _gao\traffic_Opt.Bak
....... 2076 2011-12-14 12:35 _gao\traffic_Uv2.Bak
文件 326 2011-12-08 08:52 _gao\数码管.txt
目录 0 2011-12-15 16:00 _gao
----------- --------- ---------- ----- ----
453978 19
相关资源
- L298控制直流电机加减速的89c51单片机
- 用verilog语言编写的交通灯FSM
- 读取STC单片机ID号,用CRC-ITU算法加密
- PROTEUS仿真单片机最小系统
- 蜂鸣器播放音乐-小星星亮晶晶.rar
- 基于单片机的数字化语音存储与回放
- 24c04系列读写代码
- 分时操作系统在单片机中的实现
- MSP430单片机通过proteus仿真DS18B20程序
- 基于单片机和红外接近开关的图书馆
- 51 单片机 汇编 花样流水灯 经典连续
- 51单片机 RTL8019AS 网卡驱动程序(有
- MSP430g2553单片机实现的输出三路PWM,
- eda交通灯控制器设计一个交通信号灯
- LabVIEW 交通灯 红绿灯
- 单片机原理及接口技术 期末考试题
- 基于单片机的十字路口红绿灯控制系
- 基于单片机的便携式电子称的设计
- VHDL编写的交通灯程序
- TLC5615+可调频率正弦波.zip
- TLC5615C+输出三角波+仿真.zip
- 基于单片机的酒精浓度测试仪的程序
- 3-定时器控制交通灯.zip
- 源程序 - 副本.rar
- 基于单片机的交通灯控制系统设计程
- 单片机proteus8255A芯片扩展
- 强大交通灯控制
- 图片提取软件内有教程
- 胡乾斌版单片机课后习题答案
- 基于51单片机的电子表
评论
共有 条评论