近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。 程序源代码 ORG 0000H ;主程序的入口地址 LJMP MAIN ;跳转到主程序的开始处 ORG 0003H ;外部中断0的中断程序入口地址 ORG 000BH ;定时器0的中断程序入口地址
上传时间: 2013-12-21
上传用户:1234321@q
//------------------------------------------------------------------------------------//此程序为ADC转换程序,可以选择向ADC0BUSY写1或用定时器0,1,2,3作为ADC的启动信号。////------------------------------------------------------------------------------------//头文件定义//------------------------------------------------------------------------------------//#include <c8051f330.h> #include <stdio.h> //-----------------------------------------------------------------------------// 定义16位特殊功能寄存器//----------------------------------------------------------------------------- sfr16 ADC0 = 0xbd; sfr16 TMR0RL = 0xca; sfr16 TMR1RL = 0xca; sfr16 TMR2RL =0xca; sfr16 TMR3RL =0xca; sfr16 TMR0 = 0xCC; sfr16 TMR1 = 0xCC; sfr16 TMR2 = 0xcc; sfr16 TMR3 = 0xcc; //-----------------------------------------------------------------------------// 全局变量定义//-----------------------------------------------------------------------------char i;int result; //-----------------------------------------------------------------------------//定义常量//-----------------------------------------------------------------------------#define SYSCLK 49000000 #define SAMPLE_RATE 50000 //------------------------------------------------------------------------------------// 定义函数//------------------------------------------------------------------------------------void SYSCLK_Init (void);void PORT_Init (void);void Timer0_Init (int counts);void Timer1_Init (int counts);void Timer2_Init (int counts);void Timer3_Init (int counts);void ADC0_Init(void);void ADC0_ISR (void);void ADC0_CNVS_ADC0h(void);//------------------------------------------------------------------------------------// 主程序//------------------------------------------------------------------------------------ void main (void) { int ADCRESULT[50] ; int k; PCA0MD &= ~0x40; // 禁止看门狗 SYSCLK_Init (); PORT_Init (); Timer0_Init (SYSCLK/SAMPLE_RATE); //Timer1_Init (SYSCLK/SAMPLE_RATE); //选择相应的启动方式 //Timer2_Init (SYSCLK/SAMPLE_RATE); //Timer3_Init (SYSCLK/SAMPLE_RATE); ADC0_Init(); EA=1; while(1) { //ADC0_CNVS_ADC0h(); k=ADC0; ADCRESULT[i]=result; //此处设断点,观察ADCRESULT的结果 } }
上传时间: 2013-10-13
上传用户:SimonQQ
本程序用以示范如何挂接windows系统下的硬件中断(如并口中断,串口中断等等),包含了驱动程序源代码和上层应用程序代码。驱动程序是用DDK编写的。使用前请参看readme文件。
上传时间: 2014-12-06
上传用户:洛木卓
经典c程序100例==1--10 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k printf("\n") for(i=1 i<5 i++) /*以下为三重循环*/ for(j=1 j<5 j++) for (k=1 k<5 k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k) }
上传时间: 2014-01-07
上传用户:lizhizheng88
一款就阿javascrip打字练习程序,此程序源代码完全公开,支持英,日,韩打字练习
上传时间: 2013-12-17
上传用户:731140412
DSP万年历程序,在DSP底下实现万年历的程序源代码
上传时间: 2014-01-24
上传用户:edisonfather
fs44b0x_usb -- usb 测试程序 PC机部分的软件 1) LEDDEMO -- 控制 FS44B0X板上三个LED的程序 2) D12_DRIVER_FOR_WIN98 -- USB芯片WIN98的驱动程序 3) D12_DRIVER_FOR_WINXP -- USB芯片WINXP的驱动程序 FS44B0X板的USB固件程序--源代码 USB_DEMO 使用方法: 1)在SDT2.51里调入usb_demo.axf, 运行。 2)接上usb电缆,安装win98的d12驱动程序(或者winxp的d12驱动程序) 3) 运行 LEDDEMO ,用鼠标点击led1, led2, led3,可以看到FS44B0X板上三个LED亮灭。
标签: DRIVER_FOR_WIN LEDDEMO x_usb 44
上传时间: 2014-01-19
上传用户:李梦晗
关于通信中优化算法的MATALB程序,实现了黄金分割,程序源代码,只贡献给想要的人!
上传时间: 2013-12-20
上传用户:aix008
给出了100个C程序的典型示例,每一题包括题目、程序分析、程序源代码三个部分。
上传时间: 2013-12-20
上传用户:lizhizheng88
数据结构中堆栈与队列的应用的练习程序,包括1.用数组的形式实现顺序栈的定义和操作 2.利用堆栈将队列中的元素逆置 3.括号匹配算法 包括调试报告和实验报告 程序源代码在实验报告当中
上传时间: 2015-06-07
上传用户:lhw888