《单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1》由会员分享,可在线阅读,更多相关《单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1(110页珍藏版)》请在人人文库网上搜索。

1、单片机C语言程序设计卖训100例基于8051+Proteus仿真案例目录第一篇基础程序设计101闪烁的LED102从左到右的流水灯1038只LED左右来回点亮204花样流水灯305LED模拟交通灯406单只数码管循环显示095078只数码管滚动显示单个数字6088只数码管动态显示多个不同字符7098只数码管闪烁显示数字串810 8只数码管滚动显示数字串911 K1-K4 控制 LED 移位1012 K1-K4按键状态显示1113 K1-K4 分组控制 LED1214 K1-K4控制数码管移位显示1315 K1-K4控制数码管加减演示1416 4X4矩阵键盘控制条形LED显示1617数码管显示4。

2、X4矩阵键盘按键号1718开关控制LED1919继电器控制照明设备2020数码管显示拨码开关编码2121开关控制报警器2222按键发音2223播放音乐2324 INTO中断计数2425 外部INTO中断控制LED2626 INTO及INTI中断计数2627定时器控制单只LED2828 TIMER0控制流水灯2929 定时器控制4个LED滚动闪烁3030 TO控制LED实现二进制计数3131 TIMER0 与 TIMER 1 控制条形 LED313210s的秒表3233用计数器中断实现100以的按键计数3434100 000s以的计时程序3535定时器控制数码管动态显示37368X8LED点阵显。

3、示数字3837按键控制8X8LED点阵屏显示图形3938用泄时器设计的门铃4039演奏音阶4140按键控制定时器选播多段音乐4241定时器控制交通指示灯4442报警与旋转灯4643串行数据转换为并行数据4744并行数据转换为串行数据4845甲机通过串口控制乙机LED4946单片机之间双向通信5147单片机向主机发送字符串5548单片机与PC通信56第二篇硬件应用580174LS138译码器应用580274HC154译码器应用580374HC595串入并出芯片应用590474LS148扩展中断600624C04与数码管6407用6264扩展存6708用8255实现接口扩展(仿真未成功)67095。

4、55定时器实验6910 BCD译码数码管显示数字6911 MAX7221控制数码管动态显示7012 LCD 1602字符液晶滚动演示程序7119 用ADCO8O8控制PWM输出7620 ADC0809数模转换与显示77第一篇基础程序设计01闪烁的LED/*需称:闪烁的LED说明:LED按设定的时间间隔闪烁 */#include#define uchar unsigned char#define uint unsigned int; rsbit LED=P1AO;丄/延时void DclayMS(uint x)uchar i;while(x-) for(i=0;i#include#define 。

5、uchar unsigned char #define uint unsigned int 延时.ioyp.-Z-T VTAI 1PO.O/ADDXIALlSZTAI CPO 1/AD1P0.2/AD2P0.3/AD3Al ALzOQTPO 4/ftD4P0.5/AD5PO 6/AD6DA 7/Zi Ti7m IP2.WA6P2.19P2.2JA10P3ENALE ETTP2.3JA11P2.4JA12P2.5JA13P2.6.IA14P2.7JA15P1.0P3.0JRXDP1.1P3.1/EDP31/TXD P2询 PJ7tFP33T0PJ壮瓯曲void DclayMS(uint x)uc。

6、har i;while(x-)for(i=0;i#include#define uchar unsigned char#define uint unsigned int/延时void DclayMS(uint x)uchar i;while(x-)for(i=0;i #define uchar unsigned char #define uint unsigned int uchar code Pattern_PO= 0xfct0xf9,0xf3,0xe7,0xcf.0x9f.0x3f.0x7f,0xff,0x(f,0xff0xff.0xff.0xff,0xff,0xff 0xc70xdb,0。

7、xbd0x7c0xbd、0xdb0xc7,0xff.0xc70xc3,0x81,0x00,0x81.0xc3,0xe7,0xff, 0xaa,0x55,0x 1 & 0xfT,0xf0,0x0f,0x00,0xfT,0xf8,Oxfl ,0xc3,0xc7,0x8f,0x 1 f.0x3f.0x7f, Ox7f.Ox3f,Ox 1 f,0x8f,0xc7,0xc3,0xf 1,0xf8r0xff,0x00,0x00.0xff,0xff,0x0f,0xf0,0xff 0xfe,0xfd,0xfb,0xf7,0xet0xdf?0xbf.0x7f,0xff,0xff0xfL0xff.0xff.0xf。

8、f.0xff.0xff, 0xff,0xff,0xff0xff,0xff0xff.0xff.0xff0x7f.0xbf0xdf,0xeL0xf750xfb.0xfd.0xfe, 0xfe,0xfc,0xf8,0xf0,0xe0.0xc0,0x80.0x00,0x00.0x00,0x00.0x00,0x00,0x00.0x00,0x00t 0x00,0x00.0x00,0x00,0x00,0x00,0x00.0x00,0x00.0x80.0xc0.0xe0,0xf0,0xf8r0xfc.0xfe, OxOO,Oxff.OxOO.Oxff,OxOO.Oxff.OxOO.Oxff;uchar cod。

9、e Pattern_P2=0xff.0xff,0xff,0xff,0xft0xff.0xff.0xfe.0xfc,0xf9.0xf3,0xe7,0xct0x9L0x3f,0xff 0xe7,0xdb.0xbd,0x7e,0xbd.0xdb.0xe7,0xff,0xe7.0xc3,0x81,0x00,0x81 0xc3,0xc7,0xff. 0xaa,0x55,0x 1 & OxfT,OxfO,OxOf,0x00,0xfT,0xf8,Oxfl ,0xc3,0xc7,0x8f,0x 1 f.0x3f.0x7f, 0x7f,0x3f,0x 1 f,0x8f,0xc7,0xe3,0xf 1,0xf8,。

10、0xff,0x00,0x00.0xff,0xff,0x0f,0xf0,0xff 0xff.0xff,0xff0xff,0xft0xff.0xff.0xff.0xfe,0xfd.0xfb,0xf7,0xef,0xdC0xbf.0x7f 0x7f.0xbf0xdf,0xet0xf7.0xfb.0xfd.0xfe.0xff,0xff,0xff,0xff0xffr0xff.0xff.0xff, 0xff.0xff,0xff,0xff,0xff.0xff.0xff.0xff.0xfe,0xfc50xf8.0xf0,0xe0.0xc0.0x80.0x00, 0x00,0x80,0xc0,0xe0,0xf0。

11、,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xfT,0xff, OxOO,Oxff.OxOO.Oxff,OxOO.Oxff,OxOO.Oxff;03D2D142XR16R17延时void DelayMS(uint x) uchar i;while(x-)for(i=0;i#define uchar unsigned char#define uint unsigned intsbit RED_A=P0A0;东西向灯sbit YELLOW_A=POA1:sbit GREEN_A=P0A2;sbit RED_B=P0A3;南北向灯sbit YELLO。

12、WBPOM;sbit GREEN_B=P0A5;uchar Flash_Count=O.Opcration_15;pe= 1; 闪烁次数,操作类型变量 延时void DelayMS(uint x)uchar i;while(x-) for(i=0;i#includc #define uchar unsigned char #define uint unsigned intuchar code DSY_CODE=OxcO,Oxf9Oxa4.OxbO.0x99.0x92.0x82.0xf&0x80.0x90,Oxff;延时RP1void DelayMS(uint x)uchar t;while(x。

13、-) for(t=0;t# includeXTA4.1灯心Altrxfitnmlsimo pi i P12 pijPl 4FMMflpi rrooxcoKW2TO4CAC4 旳如3 r# includc#define uchar unsigned char#define uint unsigned intuchar code DSY_CODE=0xc0,0xf9.0xa4.0xb0.0x99,0x92,0x82,0xf8,0x80.0x90;延时void DclayMS(uint x)uchar t;while(x-) for(t=0;t#define uchar unsigned char#。

14、define uint unsigned int/段码表uchar code DSY_CODE=0xc0,0xf9.0xa4.0xb0.0x99,0x92,0x82,0xf8,0x80.0x90;/位码表uchar code DSY_IDX=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;延时void DelayMS(uint x)uchar t;while(x-) for(t=0;t# includc#define uchar unsigned char#define uint unsigned int/段码表uchar code DSY_CODE=0xc0,。

15、0xf9.0xa40xb0.0x99.0x92,0x82.0xf8、0x800x90,0xff;下面数组看作环形队列,显示从某个数开始的8个数(10表示黑屏)uchar Num =10000 J0.100,102,9,8;延时void DclayMS(uint x)uchar t;while(x-) for(t=0;t# include#define uchar unsigned char #define uint unsigned int 延时void DelayMS(uint x)uchar i;while(x-)for(i=0;i3RSTPOSIWK P07XWP2J0 跑P22A100。

16、NALEFAPIOP2 5JA13P2&JA14 P2.7A15p?P1.1P3ffT畑P12P13P340JT1PI 4 PISP3.OT0PIOP17P37/?T他1zze4 zXT1 /_/筮/3221 A 22 Llc、-J. ;、二R102K RS R13R7R5220R3R14R15D15 D16Ri7R18void Move_LED()if(P1&0xl0)=0) PO=_crorjPO);/KIelse if(Pl&0x20)=0) PO=_crol_(PO,l); /K2else if(Pl&0x40)=0) P2=_cror_(P2,l); /K3else if(Pl&0x。

17、80)=0) P2=_crol_(P2,1);/K4主程序void main()uchar Rccent_Key; 最近按键PO=Oxfe;P2=0xfe;Pl=Oxff;Recent_Key=Oxff; while(l)if(Recent_Key!=Pl)Recent_Key=Pl;/保存最近按键Movc_LED();DelayMS(lO);12 K1-K4按键状态显示/*需称:K1-K4按键状态显示 说明:KI、K2按下时LED点亮,松开时熄灭,K3、K4按下并释放时LED点亮,再次按下并释放时熄火;*/#include#define uchar unsigned char #define。

18、 uint unsigned int sbit LED1=POAO;sbit LED2=POA1;sbit LED3=P0A2;sbit LED4=P0A3; sbitKl=PlAO;sbit K2=P1A1;sbit K3=P1A2;sbit K4=P1A3;延时void DclayMS(uint x)#define uchar unsigned char#define uint unsigned int延时void DelayMS(uint x)uchar i; while(x-) for(i=0;i#define uchar unsigned char #define uint unsi。

19、gned int 段码uchar code DSY_CODE=OxcO,Oxf9Oxa4.OxbO.0x99.0x92.0x82.0xf&0x80.0x90,0xff;位码uchar code DSYndcx=0x80,0x40.0x20,0xl0.0x0&0x04,0x02,0x01;待显示到各数码管的数字缓冲(开始仅在0位显示0,苴他黑屏)uchar Display_B uffer=0J0J0J0J0J0J0J0;延时/主程序void main()uchar i,Kcy_NOKcy_Coums=0;PO=Oxff;Pl=Oxff;P2=0x00:while(l)Show_Count_ON_。

20、DSY();Pl=Oxff;Key.NO=Pl;/Pl 口按键状态分别为 Kl-Oxfe, K2-Oxfd.K3-Oxfbswitch(Kcy_NO)case Oxfe:Key_Counts+;if(Key_Counts8) Key_Counts=8;Display_Buffer Key_Counts-l =Key_Counts; break;case Oxfd:if(Key_Counts0)Display_Buffer-Kcy_Counts=10;break;case Oxfb:Display_BuffcrO=O;for(i=l;i4,#define uchar unsigned char#。

21、define uint unsigned int/段码ucharzMCUW09Q6MAT;S1n mu#includeDSY_CODE=0xc0,0xf9,0xa4.0xb0,0x99.0x92,0x82.0xf8,0x80.0x90,0xff);待显示的3位缓冲uchar Num_Buffer= 0.0.0;按键代码,按键汁数uchar Kcy_Codc,Kcy_Counls=0;延时void DclayMS(uint x)uchar i;while(x-) for(i=0;i0) Key_Counts-; break;16 4X4矩阵键盘控制条形LED显示/*名称:4X4矩阵键盘 控制条形。

22、LED显示说明:运行本例时, 按下的按键值越大点亮的 LED越多。*/丄RT、打 22DK1R D -匸cj.K10jK11 -二匸 K127C=1血1C3 na Uq亠K13C2.:K6匚K7nK1d旳33 KM加 內沁2FO/AD?Xi AL2RSTnw 生fQ # includc #define uchar unsigned char#define uint unsigned int/矩阵键盘按键特征码表uchar code KeyCodeTable=OxlLOxl2,Ox 14,Ox 18,0x21, 0x22,0x24,0x28,0x41.0x42,0x44.0x4&0x81,0x8。

23、2,0x84,0x88:延时void DelayMS(uint x)uchar i;while(x-) for(i=0;i# define uchar unsigned char#define uint unsigned int段码C2C1HIr 汐AxiC:2T你C3torUfXTAL1xr*L2Alt PTPlfl P11 M 2EPI 4MTRP1rooAcoPO如gras4人OxOf按键后f0变成XXXX0000, X中有1个为0,三个仍为1 :高4位转移到低4位并 异或得到改变的值switch(Tmp) 对03行分别附加起始值0, 4, 8, 12case 1:KeyNo+=0;br。

24、eak;case 2:KeyNo+=4;break:case 4:KeyNo+=8;brcak;case &KeyNo+=12;/蜂鸣器void BecpOuchar i;for(i=0;iri xi IC2 I XTAL1FO.OfADOFO.IfADIFO.2rACCTO.3fAMX lALxFO.UfAWFO.SfAD5FU.63D6FO.7fAD7P23 P21/A9AtEP2 210P2.4XA12GAP2yA14P2 7/A1SP1.0P3.1/TXDrl.iP1.2P13P3.7 丽PI 4P34A0PI SpssaiPI 8P3 5AWP1.7P3.7WU1sbitSl=PlA。

25、O;sbit S2=P1A1;sbit LED1=POAO;sbit LED2=P0Al;/主程序void main()while(l)LED1=S1;LED2=S2;19继电器控制照明设备/*名称:继电器控制照明设备说明:按下K1灯点亮,再次按下时灯熄火*/ffinclude#define uchar unsigned char#define uint unsigned intsbitKl=PlAO;sbit RELAY=P2A4;/延时void DelayMS(uintms)uchar t;T伊10ZX7AL1XTAL2while(ms-)for(t=0:tA10 P23*11PJ&A13。

26、 P2CUA2“mm P32noPO.IfTO刃曰理P珈QRELAY while(l)if(Kl=O)whi!e(Kl=O);RELAY=RELAY;DelayMS(20);20数码管显示拨码开关编码/*名称:数码管显示拨码开关编码 说明:系统显示拨码开关所设宜的编码000-255*/# include# includc#define uchar unsigned char#define uint unsigned int各数字的数码管段码(共阴)uchar code DSY_CODE=Ox3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;显示缓冲uchar DSY_Buffer3= 0,0,0);延时void DclayMS(uint ms)uchar t; while(ms-)fo。

c语言编译器pellc,单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1相关推荐

  1. 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc

    (整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的 ...

  2. avr c语言编译器,AVR单片机C语言编译器-20210409071159.docx-原创力文档

    鼓新资料推荐 鼓新资料推荐 炭新精詁资料整理推荐 炭新精詁资料整理推荐?更新"ZC二C毎十二月三十一口 2020年12月31 口星期0 19:24:59 鼓新资料推荐 鼓新资料推荐 炭新精詁 ...

  3. pic单片机 c语言编译器,PIC单片机C语言编译器——mikroC PRO for PIC

    最新版本的mikroC(mikroPascal/ mikroBasic) PRO for PIC可以从我们的网站上下载:http://hkaco.com/developmenttools/mikro/ ...

  4. 基于51单片机用DS1302和LCD1602设计可调式电子日历与时钟(Proteus仿真)

    [嵌入式工程师成长日记] https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484111&idx=1&sn=c ...

  5. 单片机8位抢答器实训机电报告_基于单片机89c51八路抢答器课程设计报告.doc

    基于单片机89c51八路抢答器课程设计报告 中州大学工程技术学院 单片机课程设计报告书 题目:基于单片机89c51 8路抢答器 姓 名: 阮成龙 专 业:电气自动化(对口)一班 学 号: 201425 ...

  6. 单片机c语言编程下载,单片机C语言编程.doc

    单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...

  7. 画出识别c语言注释的转换图,C语言程序设计基础与实训教程》第1章:基础知识.ppt...

    <C语言程序设计基础与实训教程>第1章:基础知识.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计基础与实训教程>第1章:基础知识.ppt(25页珍藏版)> ...

  8. c语言项目研发实训设计,关于软件设计实训心得体会(通用5篇)

    关于软件设计实训心得体会(通用5篇) 当我们经过反思,对生活有了新的看法时,往往会写一篇心得体会,这样能够让人头脑更加清醒,目标更加明确.那么好的心得体会都具备一些什么特点呢?以下是小编精心整理的关于 ...

  9. 单片机I2C总线AT24C02读写、扩展keil工程多个实例及Proteus仿真

    1.对I2C总线上挂接多个AT24C02的读写操作源代码如下: //对I2C总线上的2个AT24C02(U2和U3)的读写/*I2C总线系统中器件地址包括固定部分和可编程部分. 可编程部分必须根据A0 ...

  10. python打折简单程序每满_丰满Python程序设计基础【实境编程】_高校邦_答案

    丰满Python程序设计基础[实境编程]_高校邦_答案h779 丰满Python程序设计基础[实境编程]_高校邦_答案 关注公众号{帅搜}即可查询答案 支持:大学网课,智慧树,知到,超星,尔雅,学习通 ...

最新文章

  1. Java 命名规范(非常全)
  2. Atom相关资料整理
  3. redis提高查询速度_面试小点-MySQL 的两种索引方法如何提高查询速度
  4. ubuntu系统靠谱的清理内存的方法(can not allocate memory 问题)
  5. matlab函数每天进步一点点
  6. 程序员过关斩将--要想获取我的用户信息,就得按照规矩来
  7. JS中apply和call的应用和区别
  8. 惊恐的市场洗牌网游市场诞生危机论
  9. Linux_基于Docker搭建Redis集群
  10. 什么是pdi检测_汽车pdi检测是什么?如何知道新车做没做pdi
  11. mysql sslcipher_解决mysql数据库创建用户报错Field 'ssl_cipher' doesn't have a default value...
  12. 计算机属性设备管理器无图标,设备管理器图标的修改方法
  13. Linux基础篇(五):远程操作
  14. Python读取图像数据的常用方法
  15. 如何简单有效的管理企业数据安全
  16. C语言之逻辑移位与算术移位
  17. 微信每天处理2.05亿通话 运营商只剩卖流量
  18. 普顿外汇告诉大家如何在外汇市场保持良好的心态?
  19. word里面如何在插入的图像上打字
  20. “个人设置”设计思路

热门文章

  1. SAP系统如何打NOTE?
  2. 史上最详细的hadoop安装教程(含坑点)
  3. 官网下载Android Studio以及SDK
  4. Python可视化编辑,让Python 不再难懂
  5. 集装箱校验码校验规则
  6. 如何从零开始学习平面设计?
  7. 如何通过项目周报获取项目信息-周报模板
  8. Linux--vmlinuz、vmlinux、initrd
  9. STM32电机库(ST-MC-Workbench)学习记录——电流采样参数设置
  10. c++语言中如何检测鼠标消息,c++ 如何检测全局鼠标按钮事件