版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电路图用张毅刚版教材里给的图!1、流水灯#include<reg52.h>#include<intrins.h>void delay() unsigned char i,j; for(i=0;i<255;i+) for(j=0;j<255;j+);void main() P2=0xfe; while(1) P2=_crol_(P2,1); delay(); 2、 单个外部中断#include<reg52.h>#include<intrins.h>void delay(unsigned char delay_time) unsigned
2、 int i,j; for(i=0;i<=delay_time;i+) for(j=0;j<=100;j+);void init_tx() EA=1; EX0=1; IT0=0;void main() P1=0x00; init_tx(); delay(200); while(1) P1=P1;delay(200); void tx0() interrupt 0 P1=0xfe; while(!INT0) P1=_crol_(P1,1);delay(200); P1=0xff;3、 定时器#include<reg52.h>unsigned char t=20;sbit
3、button=P32;sbit yellowled=P10; /*定义接口*/void main() TMOD=0x01; /*选择中断方式*/ EA=1; ET0=1; TH0=0x3c; TL0=0x0b; while(button=0) TR0=1; yellowled=1;void tx() interrupt 1 TH0=0x3c; TL0=0xb0; t-; if(t=0) yellowled=yellowled; t=20; 4、 双机串行通信#include<reg51.h>#define uchar unsigned char#define uint unsign
4、ed int#defineoutk P1#define out1 P0#define out2 P2uchar code seg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;uchar key,send,rec;uchar scan(void);void delay(unit);void main(void) TMOD=0X20; /*设置定时器T1为方式2*/ TH1=0XF2; /*给定时器T1赋初值*/ TH1=0XF2; TR1=1; /*接通定时器T1*/ SCON=0X50; /*串行口方式1,REN=1允许接收*/
5、 PCON=0X00; /* SMOD=0*/ EA=1; ES=1; EX1=1; EX0=1; while(1) outk=0x07; out1=segsend; out2=segrec; uchar scan(void) uchar k=10,m,n,in; delay(10); outk=0x07; if(outk&0x07)!=0x07) for(m=0;m<3;m+) outk=(0x01<<(m+3); for(n=0;n<3;n+) in=outk; in=in>>n; if(in&0x01)=0) if(in&0x0
6、1)=0) k=n+m*3;break; if(k!=10)break; return(k);void delay(uint j) uchar i; for(;j>0;j-) i=250; while(-i); i=249; while(-i); void ext0()interrupt 0 EX0=0; key=scan(); if(key!=10)send=key+1; EX0=1;void ext1()interrupt 2 ES=0; SBUF=send; while(!TI); TI=0; ES=1;void com()interrupt 4 RI=0; rec=SBUF;5、
7、单片机与PC串行通信#include <reg51.h>void send(unsigned char dat)SBUF=dat;while(TI=0);TI=0;void init_tx()EA=1;EX0=1;void delay(void)unsigned char m,n;for(m=0;m<250;m+)for(n=0;n<250;n+);void main(void)init_tx();TMOD=0x20;SCON=0x40;PCON=0x00;TH1=0xfd;TL1=0xfd;TR1=1;while(1);void tx0() interrupt 0un
8、signed char i=0;send(0x01); delay();i+;6、扩展82c55并行IO接口#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned intsbit rst_8255=P35;#define con_8255 XBYTE0x7003 /*0x7003为82C55的控制寄存器地址*/#define pa_8255 XBYTE0x7000 /*以下定义pa、pb的端口地址*/#define pb_8255 XBYTE0x7001voi
9、d reset_8255(void);void delay(uint);void main(void) uchar temp; rst_8255=1; /*复位*/ delay(1); rst_8255=0; con_8255=0x82; while(1) temp=pb_8255; /*锁存*/ pa_8255=temp; void delay(uint j) /*延时函数*/ uchar i;for(;j>0;j-) i=250; while(-i); i=249; while(-i);7、 矩阵键盘#include<reg51.h>unsigned char code
10、table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void delay() unsigned char i,j; (延时) for(i=0;i<=25;i+) for(j=0;j<=25;j+);unsigned char key_scan() unsigned char key0,key1; unsigned char key_num=0; P1=0x0f; 先将p1.0P1.3置高 key0=P1; if(key0!=0x0f) 如果P1.4P1.7不全为1
11、,可能有键按下 delay(); key0=P1; if(key0!=0x0f) P1=0xf0; key1=P1; if(key0=0x0e) switch(key1) case 0xe0: key_num=0;break; case 0xd0: key_num=1;break; case 0xb0: key_num=2;break; case 0x70: key_num=3;break; default: key_num=0;break; else if(key0=0x0d) switch(key1) case 0xe0: key_num=4;break; case 0xd0: key_n
12、um=5;break; (处理5号键) case 0xb0: key_num=6;break; case 0x70: key_num=7;break; default: key_num=0;break; (无效按键,如多个键同时按下) else if(key0=0x0b) switch(key1) case 0xe0: key_num=8;break; case 0xd0: key_num=9;break; case 0xb0: key_num=10;break; case 0x70: key_num=11;break; default: key_num=0;break; else if(ke
13、y0=0x07) switch(key1) case 0xe0: key_num=12;break; case 0xd0: key_num=13;break; case 0xb0: key_num=14;break; case 0x70: key_num=15;break; default: key_num=0;break; return key_num;void main() unsigned char key_num;dokey_num=key_scan();P2=tablekey_num;while(1); 8、1602液晶显示#include<reg51.h>#includ
14、e<intrins.h>#define uchar unsigned char#define uint unsigned int#define out P0sbit RS=P20;sbit RW=P21;sbit E=P22;void lcd_initial(void);void check_busy(void);void write_command(uchar com);void write_data(uchar dat);void string(uchar ad,uchar *s);void lcd_test(void);void delay(uint);void main(v
15、oid) lcd_initial();while(1) string(0x82,"Hello Welcome"); string(0xC2,"To China"); delay(100); write_command(0x01); delay(100);void delay(uint j) uchar i=250; for(;j>0;j-) while(-i); i=249; while(-i); i=250; void check_busy(void) uchar dt;do dt=0xff; E=0; RS=0; RW=1; E=1; dt=o
16、ut;while(dt&0x80);E=0;void write_command(uchar com) check_busy();E=0;RS=0;RW=0;out=com;E=1;_nop_();E=0;delay(1);void write_data(uchar dat) check_busy();E=0;RS=1;RW=0;out=dat;E=1;_nop_();E=0;delay(1);void lcd_initial(void) write_command(0x3c);write_command(0x0C);write_command(0x14);write_command(
17、0x01);delay(1);void string(uchar ad,uchar *s) write_command(ad);while(*s>0) write_data(*s+); delay(100);9、DA转换#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define out P1sbit DAC_cs=P20;sbit DAC_wr=P21;void main(void) uchar temp,i=255; while(1) out=temp; DAC_cs=0; /*片选端,芯片被选中*/ DAC_wr=0; /*选通,并被锁存*/ DAC_cs=1; /*以下开始转换*/ DAC_wr=1; temp+; while(-i); /*延时函数!,老师帮改的*/ 10、AD转换#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define LED P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 驻马店2025年河南驻马店市平舆县人民医院引进人才30人笔试历年参考题库附带答案详解
- 金华2025年浙江金华义乌市勘测设计研究院招聘笔试历年参考题库附带答案详解
- 职业健康与员工心理健康整合
- 舟山浙江舟山市普陀区桃花镇及下属单位工作人员招聘笔试历年参考题库附带答案详解
- 甘肃2025年甘肃财贸职业学院招聘博士研究生15人笔试历年参考题库附带答案详解
- 清远广东清远市第二中学临聘教师招聘笔试历年参考题库附带答案详解
- 毕节2025年贵州毕节市七星关区面向区内乡镇学校考调教师300人笔试历年参考题库附带答案详解
- 无锡2025年江苏无锡市中心血站招聘编外人员2人笔试历年参考题库附带答案详解
- 德宏2025年云南德宏州检察机关聘用制书记员考试招聘13人笔试历年参考题库附带答案详解
- 巴彦淖尔2025年内蒙古巴彦淖尔市五原县医疗卫生专业技术人员招聘22人笔试历年参考题库附带答案详解
- 压力性尿失禁教学课件
- 凝血六项课件
- 公路施工监理工作重点及难点分析
- 2025云南昆明公交集团招聘9人笔试历年备考题库附带答案详解2套试卷
- 雨课堂在线学堂《大数据技术与应用》作业单元考核答案
- 光伏电缆专业知识培训课件
- 养牛场消防知识培训
- 中好建造(安徽)科技有限公司招聘笔试题库2025
- 小儿体液不足的护理措施
- 管控人力成本课件
- 闸安全鉴定管理办法
评论
0/150
提交评论