c语言编译器pellc,单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1
《单片机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相关推荐
- 单片机c语言程序设计实训报告,(整理)单片机C语言程序设计实训100例.doc
(整理)单片机C语言程序设计实训100例.doc .单片机C语言程序设计实训100例基于8051Proteus仿真案例第 01 篇 基础程序设计01闪烁的LED/* 名称闪烁的LED说明LED按设定的 ...
- avr c语言编译器,AVR单片机C语言编译器-20210409071159.docx-原创力文档
鼓新资料推荐 鼓新资料推荐 炭新精詁资料整理推荐 炭新精詁资料整理推荐?更新"ZC二C毎十二月三十一口 2020年12月31 口星期0 19:24:59 鼓新资料推荐 鼓新资料推荐 炭新精詁 ...
- pic单片机 c语言编译器,PIC单片机C语言编译器——mikroC PRO for PIC
最新版本的mikroC(mikroPascal/ mikroBasic) PRO for PIC可以从我们的网站上下载:http://hkaco.com/developmenttools/mikro/ ...
- 基于51单片机用DS1302和LCD1602设计可调式电子日历与时钟(Proteus仿真)
[嵌入式工程师成长日记] https://mp.weixin.qq.com/s?__biz=Mzg4Mzc3NDUxOQ==&mid=2247484111&idx=1&sn=c ...
- 单片机8位抢答器实训机电报告_基于单片机89c51八路抢答器课程设计报告.doc
基于单片机89c51八路抢答器课程设计报告 中州大学工程技术学院 单片机课程设计报告书 题目:基于单片机89c51 8路抢答器 姓 名: 阮成龙 专 业:电气自动化(对口)一班 学 号: 201425 ...
- 单片机c语言编程下载,单片机C语言编程.doc
单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...
- 画出识别c语言注释的转换图,C语言程序设计基础与实训教程》第1章:基础知识.ppt...
<C语言程序设计基础与实训教程>第1章:基础知识.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计基础与实训教程>第1章:基础知识.ppt(25页珍藏版)> ...
- c语言项目研发实训设计,关于软件设计实训心得体会(通用5篇)
关于软件设计实训心得体会(通用5篇) 当我们经过反思,对生活有了新的看法时,往往会写一篇心得体会,这样能够让人头脑更加清醒,目标更加明确.那么好的心得体会都具备一些什么特点呢?以下是小编精心整理的关于 ...
- 单片机I2C总线AT24C02读写、扩展keil工程多个实例及Proteus仿真
1.对I2C总线上挂接多个AT24C02的读写操作源代码如下: //对I2C总线上的2个AT24C02(U2和U3)的读写/*I2C总线系统中器件地址包括固定部分和可编程部分. 可编程部分必须根据A0 ...
- python打折简单程序每满_丰满Python程序设计基础【实境编程】_高校邦_答案
丰满Python程序设计基础[实境编程]_高校邦_答案h779 丰满Python程序设计基础[实境编程]_高校邦_答案 关注公众号{帅搜}即可查询答案 支持:大学网课,智慧树,知到,超星,尔雅,学习通 ...
最新文章
- Java 命名规范(非常全)
- Atom相关资料整理
- redis提高查询速度_面试小点-MySQL 的两种索引方法如何提高查询速度
- ubuntu系统靠谱的清理内存的方法(can not allocate memory 问题)
- matlab函数每天进步一点点
- 程序员过关斩将--要想获取我的用户信息,就得按照规矩来
- JS中apply和call的应用和区别
- 惊恐的市场洗牌网游市场诞生危机论
- Linux_基于Docker搭建Redis集群
- 什么是pdi检测_汽车pdi检测是什么?如何知道新车做没做pdi
- mysql sslcipher_解决mysql数据库创建用户报错Field 'ssl_cipher' doesn't have a default value...
- 计算机属性设备管理器无图标,设备管理器图标的修改方法
- Linux基础篇(五):远程操作
- Python读取图像数据的常用方法
- 如何简单有效的管理企业数据安全
- C语言之逻辑移位与算术移位
- 微信每天处理2.05亿通话 运营商只剩卖流量
- 普顿外汇告诉大家如何在外汇市场保持良好的心态?
- word里面如何在插入的图像上打字
- “个人设置”设计思路