当前位置:网站首页>十六制计数器和流水灯
十六制计数器和流水灯
2022-06-29 09:18:00 【是Mally呀!】
51做 十六制计数器和流水灯
小记
本文重点在使用了 51单片机的计时中断,和在proteus中仿真要注意的代码。
十六进制计数器
题目要求:用P0.0- P0.03设计一个在0-15之间自动计数的十六进制计数器,每个数值保持0.2s。
代码
#include<reg52.h>
void Timer0Init(void) //20微秒@12.000MHz
{
TMOD = 0x02; //设置定时器模式
TL0 = 0x10; //设置定时初值
TH0 = 0x10; //设置定时重载值
EA=1; //开总中断
ET0=1; //开定时器中断
TR0=1; //启动定时器0
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}
int num=0;
int cnt=0;
void T0_time() interrupt 1
{
++num;
if(num==10000)
{
num=0;
cnt=(cnt+1)%16;
P0=cnt;
}
}
void main()
{
Timer0Init();
while(1);
}
电路图

代码解释
setp1: 定时部分代码可以使用 stc-isp生成,但是还要再修改

step2:
.但是AUXR是一个扩展的寄存器,是51的增强型才有,而proteus中没有,故要删除这行。
step3: 添加中断

(from 手册里的8位自动重装)
知道要打开 中断1,添加
EA=1; //开总中断
ET0=1; //开定时器中断
step4:计算 0.2s由 几个 20 μ s 20\mu s 20μs 组成
用8位自动重载生成10微秒中断。
1 μ s = 1 0 − 6 s 1 m s = 1 0 − 3 s 因 此 0.2 s = 200 m s = 2 ∗ 1 0 5 μ s = 1 0 4 ∗ 20 μ s 1\mu s=10^{-6}s\\ 1 ms =10^{-3}s\\ 因此 0.2s=200ms=2*10^5\mu s=10^4*20\mu s 1μs=10−6s1ms=10−3s因此0.2s=200ms=2∗105μs=104∗20μs
流水灯
代码
#include<reg52.h>
void delay(int a)
{
a=a*10;
while(a--);
}
void main()
{
int cnt=0;
int arr[]={1,2,4,8,16,32,64,128};
while(1)
{
P0=arr[cnt];
cnt=(cnt+1)%8;
delay(1000);
}
}
easy,不解释
在上面的基础上再添加了一排灯,总图为

杂(可以不看)
stc89c51和AT89C51区别?
它们两统称为51单片机
为什么课本学的是15单片机,而使用的是51单片机。、
单片机手册可以区stc官网找
参考博客:传送门1-讲到外接存储器部分
老师使用面包板对 15单片机的4个模式进行测试,
在不同的解法和输出下,观察led灯的亮暗知道不同模式的电流大小。
STC15F2K60S2单片机的所有I/O口均有4种工作模式::准双向口(传统8051单片机I/O模式)、推挽输出、仅为输入(高阻状态)与开漏模式
但是proteus不支持15单片机的仿真,而 51单片机是远古单片机,只有准双向口这种输出模式(就是普通的开漏输出加上拉)故而不能在proteus上测试这4种模式的效果。
小。
STC15F2K60S2单片机的所有I/O口均有4种工作模式::准双向口(传统8051单片机I/O模式)、推挽输出、仅为输入(高阻状态)与开漏模式
但是proteus不支持15单片机的仿真,而 51单片机是远古单片机,只有准双向口这种输出模式(就是普通的开漏输出加上拉)故而不能在proteus上测试这4种模式的效果。
边栏推荐
- 在Activity外使用startActivity()方法报错原因与解决办法
- 2019.10.20训练总结
- 我想知道如何免费网上注册股票开户?另外,手机开户安全么?
- leetcode MYSQL数据库题目180
- KDevelop new project
- 详细分析PBot挖矿病毒家族行为和所利用漏洞原理,提供蓝军详细防护建议
- FreeRTOS (IX) - queue
- 367. effective complete square dichotomy
- Caused by: org. apache. xerces. impl. io. MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8
- 2020-09-17 gateway业务流程 两个任务:referer认证和非商品模板化
猜你喜欢

ORA-01950 对表空间无权限

GridView of basic component of shutter

RecyclerView 通用适配器封装
![[Huawei certification] the most complete and selected question bank in hcia-datacom history (with answer analysis)](/img/d4/f5ea847573433f7ca7bd429f57e40a.png)
[Huawei certification] the most complete and selected question bank in hcia-datacom history (with answer analysis)

JVM之TLAB

Binding mechanism of JVM methods

Student addition / deletion gaih

FreeRTOS(九)——队列

FreeRTOS (IX) - queue

JVM之方法的绑定机制
随机推荐
manacher
JVM四种调用方法的指令
Wechat applet realizes store function
JVM之方法的绑定机制
动态规划总结
LiferayPortal JSONWS反序列化漏洞(CVE-2020-7961)分析
自定义控件之侧滑关闭 Activity 控件
JS obtain mobile phone model and system version
2020-09-17 gateway业务流程 两个任务:referer认证和非商品模板化
力扣85题最大矩形
zabbix4.4配置监控服务器指标,以及图形页乱码解决
Set up lamp environment under cenos7
JVM之TLAB
Slider validation code
Force deduction 85 question maximum rectangle
【51nod 1215】数组的宽度
Dynamic linking of virtual machine stack of JVM
详细分析PBot挖矿病毒家族行为和所利用漏洞原理,提供蓝军详细防护建议
滑块验证代码
Leetcode MySQL database topic 177