内科大信息学院单片机实验
更新时间:2023-09-30 17:45:01 阅读量: 综合文库 文档下载
- 内科大信息学院官网推荐度:
- 相关推荐
内科大信息学院单片机实验 实验2流水灯
方法1汇编语言
ORG 0000;由单片机型号决定 LJMP main
ORG xxxx;主程序存放的地址
main:mov R0,#8;一个循环需要移动8位
mov a,#01111111b;初始为P0.7灯点亮,其他不亮 setb c;进位为1
loop:mov p1,a;P0.7灯点亮 acall DELAY;延时
rrc a;将A中的数据连循环右移1位10111111 djnz R0,loop;移动不够8位,跳到LOOP处循环
ljmp main;流动点亮1遍后,跳转到MAIN处再循环。 延时:
DELAY:MOV R0,#255;延时一段时间 D1:MOV R1,#255 DJNZ R1,$ DJNZ R0,D1 RET;子程序返回
实现50ms延时,可编写程序如下: DEL:MOV R3,#200 DEL1:MOV R2,#125
DEL2:DJNZ R2,DEL2;125*2=250μs DJNZ R3,DEL1;0.25ms*200=50ms
实验箱单片机外接晶振频率为11.0592MHz,执行一条单周期指令(如:MOV)时间约为1μs,执行一条双周期指令(如:DJNZ)约为2μs。以上程序计算延时时间为: (250+1+2)*200+2=50.602(ms) 方法2.C语言程序 void main()//主函数 {a=0xfe;//给a赋值 while(1)
{P0=a;//给P0口赋值,第一个等亮a为1111 1110,其他不亮 a=~a;//求反a,为0000 0001
a=a<<1;//左移位,a为0000 0010
a=~a;//求反还原a。准备第二个亮灯字a为1111 1101 delay(500);
if(a==0x7f)//如果a是第八个亮灯字 {P0=0x7f;//第八个灯亮一次,,其他不亮 delay(500);
a=0xfe;//准备第一个灯亮灯字,然后无限循环 } } }
实验3音乐蜂鸣器
让蜂鸣器分别产生“多,来,咪,发,索,啦,西”七个音阶; 计算‘do’音对应的脉冲周期:1/261.6≈3.8ms,半个周期为:1.9ms
ORG 0000H;由单片机型号决定 LJMP START
ORG xxxx;START程序存放的地址,如0100H START:CPL P1.0 MOV R0,#19
DEL1:MOV R1,#50
DEL2:DJNZ R1,DEL2;50*2=100μs DJNZ R0,DEL1;0.1ms*19=1.9ms SJMP START END 7个音符
依据键盘(7个键)的动作发出相应的声音,程序如下(实验3) 思路:
蜂鸣脉冲高(低)电平的宽度用定时器T0定时
设内存30H,31H分别存放蜂鸣脉冲高低电平的宽度之定时器初值 定时器定时时间到,将蜂鸣器驱动引脚电平取反 Buzz EQP p1.0;端口命名
ORG 0000H;由单片机型号决定 LJMP MAIN
ORG 000BH;定时器T0中断入口地址 LJMP INT-T0;跳转到定时器T0中断程序 ORG yyyy;主程序MAIN的首地址,如0100H MAIN:
MOV P1,#0FFH;为P1端口输入做准备
MOV TMOD,#01H;设定时器T0为工作模式1 SETB ET0;打开定时器0中断容许位 SETB EA;打开中断总容许位 CLR TR0;关闭定时器0
START:
MOV R0,P1;读P1口状态
CJNE R0,#0FFH,KEY1;R0≠0FFH,说明有键按下,跳到KEY1 CLR TR0;关闭定时器0
SJMP START;无键按下,再回去读P1口 KEY1:
CJNE R0,#0FEH,KEY2;不是KEY1键按下,转去判断KEY2键
MOV 30H,#0FBH;是KEY1键按下,设置“do”音节定时器初值,存30H和31H单元 MOV 31H,#0E9H
LJMP SET-TIMER;跳转去启动定时器0 KEY2:
CJNE R0,#0FDH,KEY3;不是KEY2键按下,转去判断KEY3键 MOV 30H,#0FCH;设置“ruai”音节2,存30H和31H单元 MOV 31H,#05CH
LJMP SET-TIMER;跳转去启动定时器0 KEY3:
CJNE R0,#0FBH,KEY4;不是KEY3键按下,转去判断KEY4键 MOV 30H,#0FCH;设置“mi”音节 MOV 31H,#0C1H LJMP SET-TIMER KEY4:
CJNE R0,#0F7H,KEY5;不是KEY4键按下,转去判断KEY5键 MOV 30H,#0FCH;设置“fa”音节 MOV 31H,#0EFH LJMP SET-TIMER KEY5:
CJNE R0,#0EFH,KEY6;不是KEY5键按下,转去判断KEY6键 MOV 30H,#0FDH;设置“sao”音节 MOV 31H,#045H LJMP SET-TIMER KEY6:
CJNE R0,#0FEH,KEY7;不是KEY6键按下,转去判断KEY7键 MOV 30H,#0FDH;设置“la”音节 MOV 31H,#092H LJMP SET-TIMER KEY7:
CJNE R0,#0BFH,NOKEY;不是KEY7键按下,转去NOKEY键(无按键) MOV 30H,#0FDH;设置“xi”音节 MOV 31H,#0D6H SET-TIMER:
MOV TH0,30H;设置定时器初值 MOV TL0,31H
SETB TR0;启动定时器T0 SJMP START;跳回读键盘程序
NOKEY:
CLR TR0;无键按下
SJMP START;跳回读键盘程序 INT-T0:;定时器T0中断服务cx
MOV TH0,30H;将音节写入定时器T0(定时初值) MOV TL0,31H
CPL BUZZ;蜂鸣器端口取反(送脉冲) RETI END
实验4中断
#include
#define uchar unsigned char #define uint unsigned int sbit INT_1=P3^1; sbit buzz=P1^7; bit flag;
uchar num=0,i=0,k=0xfe;
//uchar code temp[]={0,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void int_timeT1(void); //外部中断1初始化
void int_T1(void);//定时器1初始化
void DelayUs2x(unsigned char t);//us级延时函数声明 void DelayMs(unsigned char t);//ms级延时 void song(int x);//蜂鸣器程序 void main() {
int_timeT1();//外部中断1初始化
while(1) {
if(flag==1) {
song(2); P1=0x7f; }
else if(!flag) {
DelayMs(10);//延时去抖,一般10-20ms int_T1(); //定时器1初始化 while(!flag);
} } }
void int_T1(void)//定时器T1中断初始化 {P1=k;
TMOD|=0x10;//工作方式1 ET1=1; EA=1; TR1=1;
TH1=(65536-50000)/256;
TL1=(65536-50000)%6;//赋初值50ms }
void T1_time()interrupt 3 //定时器1中断子程序 {
TH1=(65536-50000)/256; TL1=(65536-50000)%6;
if(num<20) {
num++; }
else if(num==20) {
num=0; k<<=1; k=k|0x01; i++; P1=k; if(i==7) {
k=0xfe; P1=k; i=0; } } }
void int_timeT1(void) //外部中断1初始化 {
IT1=0;//低电平触发 EX1=1;
正在阅读:
内科大信息学院单片机实验09-30
旅游景区人员架构++岗位职责111-15
理解爱情11-03
浅论龚自珍的诗歌创作07-05
CAD加载程序100例 蛮有特色的11-23
W200B激光焊接机使用说明书A(正文)04-06
我国国有股减持的立法探讨06-26
《实用写作》考试要点+答案05-22
法国政治制度史教学大纲09-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 大信
- 单片机
- 内科
- 实验
- 学院
- 职业生涯规划
- 小班幼儿全面发展水平情况分析
- 马原案例分析
- 饮水安全应急预案2012版
- 弘扬见贤思齐文化内化学生行规养成
- 化工自动化及仪表习题 合肥工业大学(B)
- 酒店餐饮服务基本英语
- 办法正文(定稿)
- UBI文件系统测试分析
- 计划制定与管控 时代光华 课后测试
- 华东理工大学2012年春季管理学原理(本)网上作业2
- 皮肤性病学考试试题(带答案)
- U(22,49,52)实验报告
- 2015上城区一模科学试卷+答案
- 教案正比例函数(2)
- 福建省水资源费征收使用管理办法(闽政〔2007〕27号)
- 房地产安全生产责任制
- 泗洪县政府投资项目造价咨询服务采购项目方案(泗洪县审计局) - 图文
- 电磁场实验 - 用有限差分法解静电场边值问题
- 考研复试指导:口语复试材料