单片机编程。试编写程序,使LED灯逐个点亮,时间为一秒。先谢谢。
不知道要汇编的还是C的,C的就是
#include<单片机型号头文件>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay();
void main()
{
uchar temp=0xfe;
while(1)
{
Px=temp //x代表你的单片机接在P几口 如果你接在P1口就是P1自己修改下
delay();
Px=_crol_(temp,1);
}
}
void delay() //程序延时
{
uint i,j;
for(i=1000;i>0;i--)
for(j=110;j>0;j--);
}
}
汇编的是:
1.实验任务
开关K1接在P3.2管脚上,在AT89S51单片机的P0.0端口接有1个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在亮,当一次按下开关K1的时候,灯灭,再按一次,灯亮,如此轮流下去。
2.系统板上硬件连线
把“单片机系统”区域中的P3.2端口连接到“独立式键盘”区域中的K1端口上;把P0.0连到L1上
3.程序设计方法
(1. 设计思想由来
在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。
(2. 设计方法
从上面的要求我们可以看出,L1到亮灭受开关K1来控制,我们给L1亮灭定义出不同的ID号,当L1在亮时,ID=0;当L1在灭时,ID=1;分别给出不同的ID号我们就能够完成上面的任务了
4.汇编程序:
ID EQU 30H
K1 BIT P3.2
L1 BIT P0.0
ORG 0000H
CLR P1.7
MOV ID,#00H
START: JB K1,REL ;K1没闭合转
LCALL DELAY10MS ;K1闭合,延时消抖动
JB K1,REL :再判断
INC ID
MOV A,ID
CJNE A,#02,REL
MOV ID,#00H
REL: JNB K1,$ ;等待开关弹起
MOV A,ID
CJNE A,#00H,IS0 ;判断相应ID
CLR L1 :ID=0,灯亮
LCALL DELAY光 ;延时
SJMP START
IS0: CJNE A,#01H,START;
SETB L1
LCALL DELAY
SJMP START
DELAY10MS: MOV R6,#20 ;延时10MS子程序
LOOP1: MOV R7,#248
DJNZ R7,$
DJNZ R6,LOOP1
RET
DELAY: MOV R5,#20 ;延时20MS子程序
LOOP2: LCALL DELAY10MS
DJNZ R5,LOOP2
RET
END
#include<单片机型号头文件>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay();
void main()
{
uchar temp=0xfe;
while(1)
{
Px=temp //x代表你的单片机接在P几口 如果你接在P1口就是P1自己修改下
delay();
Px=_crol_(temp,1);
}
}
void delay() //程序延时
{
uint i,j;
for(i=1000;i>0;i--)
for(j=110;j>0;j--);
}
}
汇编的是:
1.实验任务
开关K1接在P3.2管脚上,在AT89S51单片机的P0.0端口接有1个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在亮,当一次按下开关K1的时候,灯灭,再按一次,灯亮,如此轮流下去。
2.系统板上硬件连线
把“单片机系统”区域中的P3.2端口连接到“独立式键盘”区域中的K1端口上;把P0.0连到L1上
3.程序设计方法
(1. 设计思想由来
在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。
(2. 设计方法
从上面的要求我们可以看出,L1到亮灭受开关K1来控制,我们给L1亮灭定义出不同的ID号,当L1在亮时,ID=0;当L1在灭时,ID=1;分别给出不同的ID号我们就能够完成上面的任务了
4.汇编程序:
ID EQU 30H
K1 BIT P3.2
L1 BIT P0.0
ORG 0000H
CLR P1.7
MOV ID,#00H
START: JB K1,REL ;K1没闭合转
LCALL DELAY10MS ;K1闭合,延时消抖动
JB K1,REL :再判断
INC ID
MOV A,ID
CJNE A,#02,REL
MOV ID,#00H
REL: JNB K1,$ ;等待开关弹起
MOV A,ID
CJNE A,#00H,IS0 ;判断相应ID
CLR L1 :ID=0,灯亮
LCALL DELAY光 ;延时
SJMP START
IS0: CJNE A,#01H,START;
SETB L1
LCALL DELAY
SJMP START
DELAY10MS: MOV R6,#20 ;延时10MS子程序
LOOP1: MOV R7,#248
DJNZ R7,$
DJNZ R6,LOOP1
RET
DELAY: MOV R5,#20 ;延时20MS子程序
LOOP2: LCALL DELAY10MS
DJNZ R5,LOOP2
RET
END
佚名
2024-05-30 19:57:43
类似问题(10)
-
佚名2024-05-30 12:39:21
问如何用c或c++编写简单的签到程序????
答通过工具抓登录和签到的post数据,然后用C++模拟提交
-
佚名2024-05-30 05:07:04
问什么是好程序?怎样才能编写出一个好的程序?
答成为一个好的程序的条件:1。可以正确的运行。2。容易理解3。比较有效率。 很多人在这个优先级上都搞反了。往往在写程序时都幻想写出高效率的程序。而且看一些程序首...
-
佚名2024-05-30 08:00:00
问如何用VB编写一个将数字1到8随机排序的程序?
答Private Sub Command2_Click() Dim i As Integer, j As Integer, tmp As Integer, ...
-
佚名2024-05-30 08:00:00
问单片机编程时可以定义多少个变量
答一要看RAM大小,二要看变量类型,比如bdata,最大由128bit,也就是说可以定义128个位变量。XDATA,那么要看扩展的内存有多大,最大可以到64Kby...
-
佚名2024-05-30 08:00:00
问ds1302和单片机连接后,ds1302需要编程吗
答ds1302不用编程,只要单片机采集数据,进行处理就行。给DS1302一个地址一个地址写好年、月、日、时、分、秒、星期,他就自己开始走时了,单片机是实时地把一个...
-
佚名2024-05-30 08:00:00
问怎样做好一名程序编程员?
答1,文档习惯 :文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须...
-
佚名2024-05-30 08:00:00
问Multisim进行单片机点亮第一个LED灯仿真问题
答在工具栏上点鼠标右键,选择显示power source器件栏,里面有。
-
佚名2024-05-30 08:00:00
问最简单的c++程序在vc++6.0中怎么编写
答在原文件开始的时候要加下面的内容:#include<iostream>using namespace std;不要按照书上的代码敲,书上绝大部分是无法运行...
-
佚名2024-05-30 08:00:00
问16个发光二极管按每两个灯依次顺序点亮 时间间隔为两秒的51单片机编程程序
答第一个,你先写个延时函数,延时2秒第一种,隔两秒 led0 led1亮 隔两秒 led1 led2 亮 依次类推第二种,led=0x02每隔两秒向左或...
-
佚名2024-05-30 08:00:00
问编写一个shell脚本程序
答一句就行,如果非要写脚本,可以把这一句话放到里面awk '{print $0, $3+$4+$5}' bjcj.txt |sort -nr -k 6 |head...
风水
起名
网名
- 1 结拜网名
- 2 带有蒹葭的古风网名
- 3 王者荣耀网名怎么弄重复的
- 4 好听的网名带有婧字的
- 5 关于野猫昵称
- 6 优雅女生的昵称
- 7 有寓意向往的微信昵称
- 8 为什么昵称币为0
- 9 点赞朋友圈怎样不显示昵称
- 10 说一个女生懒昵称
说说
- 1 夜猫子说说个性签名
- 2 做情绪老大的个性签名
- 3 湖北人个性签名
- 4 1句励志签名
- 5 2020霸气签名
- 6 借钱不还说说
- 7 600作文说说我的春节
- 8 学校小树洞该发的说说
- 9 等着你的信息我睡着了说说
- 10 最新说说关于友情