山东大学单片机硬件实验.doc





《山东大学单片机硬件实验.doc》由会员分享,可在线阅读,更多相关《山东大学单片机硬件实验.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理与应用实验文档存放目录:一、 实验题目:实验 1:按键声光报警实验 实验 5:8255 并行 I/O 扩展及交通信号灯控制实验 实验 7:7279 键盘扫描及动态 LED 显示实验二、 实验要求实验1:本实验联系静态按键识别,发光二极管驱动,要求利用外部硬件中断,按键按下一次产生一次外部中断,在中断服务程序中计数器加 1,同时,通过发光二极管的闪烁和蜂鸣器响的次数,指示计数器的当前值。当计数到10 时,再次按键将重新从 1 开始计。实验2:本实验利用 8255 实现可编程的并行 IO 扩展功能,并利用其完成交通灯控制。实验要求红灯常亮 30S,绿灯常亮 25S 后闪烁 5S。使用静态
2、数码管显示绿灯常亮倒计时。本实验中的东西方向信号灯同步控制,南北方向信号灯同步控制,即:东西方向上同种颜色的灯同时亮或灭,南北方向上同种颜色的灯同时亮或灭。实验3:本实验利用 7279 进行键盘扫描及动态 LED 数码管显示控制。当按下某个按键时所按按键对应的字符显示在最右端 LED 数码管上,如果再次按下一个按键2,则原来显示的内容往左移 1 位,将新按下的按键2,的字符显示在最右端,依次类推显示0F。三、 实验过程及结果记录(截图) 实验1 实验2 实验3 四、 实验源程序 实验1 #include#define uint unsigned int#define uchar unsigne
3、d charsbit bell=P31; /P3.1口位赋值给铃声sbit led=P30; /P3.0口位赋值给灯sbit key0=P32; /P3.2口位赋值给按键uint count;void delay(uint count) /延时1ms uint x,y; for(x=count;x0;x-) for(y=110;y0;y-); void show(uint count) uint i;for(i=0;i=10)count=0; EA=1; /开放中断/*主程序*/void main() EA=1; /开放中断EX0=1; /允许外部中断0中断IT0=0; /外部中断0为电平触发
4、方式while(1); /循环执行 实验2 #include#include#include #define uchar unsigned char#define uint unsigned int#define PA XBYTE0x7FFC/CS-A15#define COM XBYTE0x7FFFsbit P30=P30;sbit P31=P31;uint temp,shi,ge,t;uchar a;void xianshi(uint temp);void delay();void delays();void init_8255();void init_8255()COM=0x80; /
5、c = out, a = out,b = outvoid delay() /延时500MS子程序 uint i,j; for( i=500;i0;i-) for(j=120;j0;j-);void delays() /延时1S子程序 uint i,j; for(i=1000;i0;i-) for(j=120;j0;j-);/*主程序*/void main() init_8255(); TMOD=0x01; /设定工作模式1 EA=1; /开放中断 ET0=1; /允许T0中断 TF0=0; /定时器0溢出标志位 while(1) a=0x26; /变量a赋初值 for(temp=25;temp
6、19;temp-) /绿灯倒计时25s a=a-1; PA=0x69; /东西绿灯亮 xianshi(a); /调用数码管显示子程序 delays(); /延时1s a=0x1a; /变量a赋值 for(temp=19;temp9;temp-) /倒计时 a=a-1; PA=0x69; /东西绿灯亮 xianshi(a); delays(); a=0x0a; for(temp=9;temp0;temp-) a=a-1; PA=0x69; xianshi(a); delays(); for(t=5;t0;t-) /绿灯闪烁5s a=0; /当计时值为0时闪烁xianshi(a); PA=0xeb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东大学 单片机 硬件 实验

限制150内