单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )

5星(超过95%的资源)
所需积分/C币:4 2012-10-23 19:39:42 1.51MB PDF
9
收藏 收藏
举报

单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )
3.3210s的秒表 3.33用计数器中断实现100以内的按键计数 3.3410000s以内的计时程序 3.35定时器控制数码管动态显示 3.368×8TF点阵屏显示数字 3.37按键控制8×8LH点阵屏显示图形 338用定时器设计的门铃 3.3演奏音阶 3.40按键控制定时器选播多段音乐 3.41定时器控制交通指示灯 342报警器与旋转火 43串行数据转换为并行数据 3.44并行数据转换为串行数据 3.45甲机通过串口控制乙机IED闪烁 346单片机之间双向通信 347单片机向主机发送字符串 3.48单片机与PC串口通信仿真 第4章硬件应用 4.174S138译码器应用 4.274HC154译码器应用 4.374HC595串入并出芯片应用 44用74S148扩展中断 4.512C-24C04与蜂鸣器 462C-24C04与数码 47用6264扩展内存 48用8255实现接口扩展 第5章综合设计 参考文献 下载后点击此处查看更多内容 更多的资料尽在QQ群113831074欢迎您的加入 单片机C语言程序设计实训100例基于8051和 PROTEUS仿真》案例 注明电子爱好者,共同学习 《单片机C语言程序设计实训100例—基于8051+ Proteus仿真》案例 第01篇基础程序设计 1闪烁的LED /*名称:闪烁的LED U1 说明:LED按设定的时间间隔闪烁 X1 TAL1 PO.OADO 12M1 PO1/AD PO3/AD3 include< reg 5l.h> 22pf PU. 4/AD4 P0 5AD5 34 #define uchar unsigned char R1 RST PO. TSAD7 #define uint unsigned int 10k C3 P20A8 sbit led=pl( P2.1A9 23 延时 PSEN P22102A 10uF P24A12 void delay squint X P25A13 D1 P2715 R2 P3.0/RXD P3.1/TXD while(x--) F1.2 P3. 2/N P3. 3JINT P3.4「0 P1.5 P3.51 for(i=0:i<120;i+) P16 P3MNRF上1 P17 AT89C51 程序 id main( while(1) LED=ALED DelayS(150); 02从左到右的流水灯 /*名称:从左到右的沇水灯 ●●● 说明:接在PO口的8个LED R门RR4R5RRR门R9 从左到右循环依次点亮,产生走 勹灯效果 P2715 #includereg5l h tincludesintrins. h> A #define uchar unsigned char #deline uint unsigned int 上海师范大学信息与机电工程学院一倪继锋 单片机C语言程序设计实训100例-基于8051和 PROTEUS仿真》案例 ∥延时 void Delay squint x) whilc(x-) for(i=0:i<120;i-+); ∥程序 oid maino while(1) P0=crol(P0,1);/PO的值向左循环移动 lays(150); 038只LED左右来回点亮 /名称:8只LED左右来冋点亮 说明:程序利用循坏移位函数crol和cror形成来回滚动的效果 #include reg 51.h> include<intrins. h> #dcfinc uchar unsigned char XTAL2 #define uint unsigned int 延时 void DelayS(uint x) 口 uchar 1; P3 ORMD RR3R4R5RR7R8门R 22022022022020220220220 while(x-- 37啊 for(1=0:<120;1-+ AT89c51 ∥程序 void main( P2=0x01: while(l) 上海师范大学信息与机电工程学院一倪继锋 单片机C语言程序设计实训100例-其于8051和 PROTEUS仿真》案例 for(i=0:i<7;i++) P2=crol(P2,1);∥P2的值向左循环移动 DelayS(150) for(i=0:1<7i++) P2=cror(P2,D;P2的值向右循环移动 DelayS(150) 04花样流水灯 /*名称:花样沇水灯 说明:16只LED分两组 按预设的多种花样变换显示 fincludesreg51.h> #define uchar unsigned char #define uint unsigned int uchar codc Pattcrn Pon Oxfc. 0xf9, 0xf3. 0xe7. Oxcf.. Ox3f0x7f OxffOxff Oxff OxffOxffOxff Oxff Oxff Oxe7, Oxdb, Oxbd, Ox7e, Oxbd, Oxdb, 0xe7, Oxff, Oxe7, 0Xc3, 0x81,0X00. 0x81,0xc3 0xe7 Oxff Oxaa. 0x550x18 0xff Oxfo. OxOfox00 OxffOxf8 0xf1 0xc3 0xc7 0x&f Ox 1f. Ox 3f. ox7f Ox7f, 0x3f, OxIf,0x8f, Oxc7, Oxe3, 0xf1, Oxf8, Oxff, 0x00, 0x00, Oxff, Oxff, OxOfOxfo, Oxti Oxfe. Oxfd, Oxfb Oxf, Oxef oxdf Oxbf ox 7f Oxff Oxff OxffOxffOxff Oxff Oxff Oxff Oxff,Oxff, Oxff, Oxff, Oxff, Oxff, Oxff, Oxff,0x7f, Oxbf, Oxdf, Oxef, Oxf7, Oxfb, Oxfd Oxfe, 0xfe,0xCc,0x8,0x10.0xe0.0xc0,0x80.0x00,0x00,0×00.0x00,0X00.0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00.0x00,0x00,0x00,0x80,0xc0,0xc0,0xf0,0xf80xfc,0xfc, 0x00,0xf,0x00,0x1f,0x00,0xf,0x0,0xf uchar code Pattern P2 Oxff Oxff Oxff Oxff Oxff Oxff Oxff Oxfc Oxfc 0xf9 0xf3 0xc7 0xcf. ox9fox3f Oxff Oxe7, Oxdb, Oxbd, Ox7e, Oxbd, Oxdb, Oxe7, Oxff, Oxe7, Oxc3, 0x81, 0x00,0x81,0xc3, 0xe7, Oxff Oxaa. 0x55 0x18 Oxff. Oxf0 Oxof 0x00, Oxff 0xf80xf1. 0xe3, 0Xc7, Ox&f. oxlf ox 3f oxf. 0x7f, 0x3f, 0xlf, Ox8f, 0xc7, 0xe3, 0xf1, Oxf8, Oxff, 0x00, 0X00,Oxff,Oxff,OxOf, Oxfo, Oxff, Oxf.OxlfOxlf,OxIC,Ox[,OxIC, OxlT, Oxr,Oxfe, Oxld,Oxlb, Ox[7, OxelOxdr,oxbl, Ox7r Ox7foxbf. Oxdf Oxef oxf7 0xfb Oxfd Oxfe Oxff Oxff OxffOxffOxff Oxff Oxff Oxff Oxff Oxff, Oxff, Oxff, Oxff, Oxff,Oxff, Oxff, Oxte, Oxfc Oxf8,0xf0,Oxe0, Oxc0, 0x80, 0X00 0x00 0x80.0xcO Oxe0 Oxfo Oxf8 Oxfc Oxfe Oxff, Oxff Oxff Oxff OxffOxff Oxff Oxff 上海师范大学信息与机电工程学院一倪继锋 单片机C语言程序设计实训100例-基于8051和 PROTEUS仿真》案例 0x00,0xm,0x00,0x1,Ox00,0x,0x00,0X ∥延时 void delay(uint x) uchar while(x-) for(i=0:<120;i-+); ∥程序 void main uchar i while(l) ∥从数组中读取数据送全P0和P2口显小 for(i=0:1<136;i+) PO-Pattern Poi [i], DelayS(100) 05LED模拟交通灯 13 *名称:LED模拟交通灯 说明:东西向绿灯亮若干秒,黄 灯闪烁5次后红灯亮,红灯亮后,南 北向由红灯变为绿灯,若十秒后南北 向黄灯闪烁5此后变红灯,东西向变 F02绿下 绿灯,如此重复 #include<reg 51.h adeline uchar unsigned char #define uint unsigned int bit red a=P0~0;∥东西向灯 sbit YElloW a=Po1 sbit green a 2 stil red B=P0^3;∥南北向灯 sbit yelloW bpo sbit green B=po5 uchar Flash Count--0, Operation Type=1;∥闪烁次数,操作类型变量 上海师范大学信息与机电工程学院一倪继锋 单片机C语言程序设计实训100例-基于8051和 PROTEUS仿真》案例 ∥延时 void Delay squint x) uchar i whilc(x--)for(i=0; i<120; i++) 交通灯切挨 void Traffic Light switch(Opcration Typc) case1:∥东西向绿灯与南北向红灯亮 RED A=l: YELLOW A=I GREEN A=0 RED B=0: YELLOW B-1: Green B-1 DclayMs(2000) Operation Type=2 case2:∥东西向黄灯闪烁,绿灯关闭 DelayS(300) YELLOW AYELLOW A; GREEN A-1 if(++ Flash Count!=10) return;∥闪烁5次 Flash Count=0 Operation Iype=3 break: case3:∥东西向红灯,南北向绿灯亮 RED A=O: YELLOW A-l: GREEN A=I RED B=1: YELLOW B=I Green B=0 DclayMS(2000) Operation Type break case4:∥南北向黄灯闪烁5次 DelayMS(300) YELLOW B=YELLOW B: Green B=1 if(++Flash Count!=10)return Flash CountO Operation lype=l ∥程序 void main( while(1) Traffic lighT 06单只数码管循环显示0-9 上海师范大学信息与机电工程学院一倪继锋 单片机C语言程序设计实训100例-基于8051和 PROTEUS仿真》案例 *名称:单只数码管循环显示0-9 说明:主程序中的循环语句反复将09的段码送至P0凵,使数字0~9循环显 ncludc<rcg51 h> fincludesintrins. h> #define uchar unsigned char #define uint unsigned int uchar code DSY CODE[=(0xc0, 0xf9, 0xa4,0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80,0x90, Oxff] ∥延时 ESPACK void delay ms(uint x) uchar t; while(x-)or(t=O;<1201++); TAL1 PO D/ADO 12M PO1(AD PO4/AD4 主程序 R1 Void main( P22/A1 10uF 24A12 PO=OXOO while(l) P3.1/T> F3. 3/NT 340 PO=-DSY CODE[] P3.7FD i=(i+1)%10; 匚vCNS匚 Delay MS(300) 078只数码管滚动显示单个数字 □_國 /*名称:8只数码管滚动显示单个数字 说明:数码管从左到右依次滚动显示 0-7,程序通过每次仅循环选通一只数码 T人L2 #include<reg 51.h fincludesintrins h> #define uchar unsigned char #define uint unsigned int uchar code DSY CoDed=(OxcO, Oxf9, 0xa4,0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90; ∥延时 void Delay Ms(uint x) uchar t while(x--) for(t=0; t<120: t++) 上海师范大学信息与机电工程学院一倪继锋 单片机C语言程序设计实训100例-基于8051和 PROTEUS仿真》案例 ∥主程序 void maino uchar i wci=0x80 while(l) for(i=0:1<8;i++) P2=0xf1;∥关闭显示 wei-crol(wei, 1) PO= DSY CODE[i;∥发送数字段码 P2=we1; ∥)送位码 DelayS(300) 088只数码管动态显示多个不同字符 电路如上图 /*名称:8只数码管动态显示多个不同字符 说明:数码管动态扫措显小0~7 #include<regal.h> include< h> #define uchar unsigned char #define uint unsigned int uchar codc DSY CODE[=(Oxco, Oxf9, 0xa4, 0xb0, 0x99, 0x92, 0x82,0xf8, 0x80, 0x90) ∥延时 void delay squint uchar t; whilc(x--)for(t=0; t<120; t++) ∥稈序 void main( uchar i wci=0x80: while(1) for(1=0:1<8:i++) P0Oxff PO= DSY CODE[i];∥发送段码 wei- crol (wei, 1; 上海师范大学信息与机电工程学院一倪继锋

...展开详情
试读 62P 单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )
立即下载 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
hebing11233 例子好多啊,太经典了,初学者还蛮有用的。
2012-10-24
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享学徒

关注 私信
上传资源赚钱or赚积分
最新推荐
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf ) 4积分/C币 立即下载
1/62
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第1页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第2页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第3页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第4页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第5页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第6页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第7页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第8页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第9页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第10页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第11页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第12页
单片机C语言程序设计实训100例——基于8051+Proteus仿真.pdf )第13页

试读结束, 可继续读6页

4积分/C币 立即下载