基于AT89C51单片机的交通灯设计与仿真

news2024/11/20 0:27:40

点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/87763760?spm=1001.2014.3001.5503
在这里插入图片描述

源码获取
主要内容:
设计一个能够控制十二盏交通信号灯的模拟系统,:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。
基本要求:
1、通过单片机课程设计,了解并掌握汇编语言的编程方法,将理论联系实践,提高动脑和动手的能力。
2、通过该控制系统的设计,掌握定时计数器及中断的使用方法,和简单程序的编写,提高自己的逻辑抽象能力。
3、完成系统基本的硬件和软件设计,并进行仿真调试。
主要参考资料:
[1]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.
[2]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.
[3]马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,2003.
[4]王晋凯.简简单单学通51单片机开发 [M].清华大学出版社,2014.
[5]夏继强.单片机实验[M].北京: 航空航天大学出版社,2001

           完  成  期  限:12 月 11 日 - 12 月 26 日  
        指导教师签名:                     
           课程负责人签名:                           

摘 要
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显作用。本系统采用单片机89C52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。
中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用。
本设计采用51系列单片机ATMEL89C51为核心控制器件来设计已经简单的交通灯控制器。本系统由单片机I/0口扩展系统、交通灯状态显示系统、LED 数码显示系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时功能,较好的模拟实现了十字路口可能出现的状况。
软件上采用KEILC编程,主要编写了主程序,LED 数码管显示程序,中断程序延时程序等。经过Proteus 8整机调试,实现了对十字路口交通灯的模拟。
关 键 词:AT89C51;LED;交通灯
目 录

摘 要 1
1 概述 1
1.1设计背景 1
1.2设计目的 1
2 技术介绍 2
2.1 keil 2
2.2 proteus 2
3 总体方案与硬件设计 3
3.1硬件电路各元件介绍 3
3.1.1核心芯片AT89C51单片机的说明 3
3.1.2两位共阴七段数码管 4
3.1.3二极管 4
3.2复位电路 5
3.3振荡电路 5
3.2总体电路工作原理 5
4 系统程序设计 7
4.1系统电路图 7
4.2程序源代码 7
5 仿真测试 11
5.1软件调试 11
5.2仿真调试 12
5.2.1所需软件查询展示 12
5.2.2四种状态展示 12
5.3结果分析 14
6 总结 15
参考文献 16

1 概述
1.1设计背景
当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。
1858年,在英国伦敦主要街头安装了以燃某气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦孰威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组
成。红色表示“停止”,绿色表示“注意”。
电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红k灯亮表示“停止”,绿灯亮表示“通行”。
信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一利中标志禁止某一利梓专向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越城过停车线。但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口!
1.2设计目的
本设计是由单片机控制的交通信号灯,运用89c51单片机实现交通灯的控制,实现红绿灯自动跳变,倒计时显示,黄灯蜂鸣器警示灯功能。在这次设计作品中,不仅可以增加对整套系统运行的合理安排,为未来做大的项目打下基础,也可以增加对软硬件的在系统中的作用的了解,同时也培养了我们团队的合作能力。1.3设计思路
模拟交通灯控制器就是使用单片机来控制一些LED灯和数码管,模拟真实交通灯的功能。当南北主干道通车时绿灯亮,而东西次干道干道红灯亮;当25s通车时间到后,主干道绿灯熄灭,黄灯亮,黄灯亮5s后由主干道切换到次干道通车。此时主干道黄灯熄灭,红灯亮,而次干道红灯熄灭,绿灯亮,次干道开始通车;25s通车时间到后,次干道绿灯熄灭,黄灯亮,黄灯亮5s后由次干道切换到主干道通车。此时次干道黄灯熄灭,红灯亮;而主干道红灯熄灭,绿灯亮,如此不断循环。红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通。片机中,运行系统。设计好后通过proteus软件仿真,并调试。

2 技术介绍
2.1 keil
Keil C51是一款兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,[1]因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil的优势。
2.2 proteus
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译.

3 总体方案与硬件设计

3.1硬件电路各元件介绍
3.1.1核心芯片AT89C51单片机的说明
1.AT89C51简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammable and Erasable Read Only Memory )的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活
性高且价廉的方案。
在这里插入图片描述

                         图3-1 AT89C51

2.引脚说明
1)电源引脚
VCC(40口) +5v直流电
VSS (20口)接地
2)复位引脚
RST(9口) 复位输入信号
3)时钟引脚
XTAL1(19口) 晶振输入口
XTAL2 (18口) 晶振输入口
4)控制引脚
ALE(30口)地址锁存允许信号
PSEN (29口) 外部存储器选通信号
EA(31口)EA引脚表示存取外部程序代码之意,低电平动作,当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。EA引脚必须接低电平,因为其内部无程序存储器空间。
5)I/O口引脚
P0# : P0.0~P0.7
P1# : P1.0~P1.7
P2# : P2.0~P2.7
P3# : P3.0~P3.7
6)P3口复用引脚
P3.0串口输入;
P3.1串口输出;
P3.2外部中断0;
P3.3外部中断1;
P3.4计数器输入0;
P3.5计数器输入1;
P3.6外部存储器写信号;
P3.7外部存储器读信号;
3.1.2两位共阴七段数码管
两位共阴七段式数码管其实就是将两个一位八段式数码接相应的电路组合在一起。并引出两控制端1和2,同过其电平的高低来控制两个数码管的高低位
工作。

在这里插入图片描述

图3-2 两段共阴七段数码管

3.1.3二极管
交通信号灯:采用红、黄、绿三种颜色的二极管组成三色交通信号。
在这里插入图片描述

图3-3 三色二极管

3.2复位电路
本设计中的单片机采用了外接的复位电路,并且采用了一种上电复位和手动复位的组合。自动上电复位电路保证在上电开机时对AT89C51单片机进行正确的复位,手动复位可在上电复位基础上并接一个复位开关,这样既保证上电复位,又可手动复位。单片机复位后,内部特殊功能寄存器复位后的状态为确定值。
在这里插入图片描述

图3-4复位电路
3.3振荡电路
AT89C51的XTAL 1和XTAL 2引脚分别为单极片内反相放大器的输入/输出端,其频率范围为1.2~1 2 MHz。XTAL2又是内部时钟发生器的输入端,这个内部反相器可与外部元件组成皮尔斯振荡器。
在这里插入图片描述

图3-5振荡电路
3.2总体电路工作原理
十字路口要有数字显示装置,作为时间提示,以便人们更直观地把握时间。具体要求为:当某方向绿灯亮时,置定时器为某一个数值,然后以每秒减1的计数方式工作,直至减到数为0,十字路口红、绿灯交换,一次工作循环结束,进入另一个方向的工作循环。数码显示管就是用来显示东西和南北两个道口的红黄绿三种颜色的灯的倒计时时间。
南北路处于禁止通行的状态,东西路处于允许通行的状态。南北路亮红灯时,东西路亮绿灯;南北路亮绿灯时,东西路亮红灯。南北路亮红灯时,东西路亮绿灯;当绿灯时间减完之后,东西路换为黄灯,南北路仍为红灯.这样东西路与南北路的时间同时减完。减完之后,东西路换为红灯,南北路换为绿灯,再经过一个绿灯时间,南北路换为黄灯,东西路仍为红灯。这时东西路与南北路时间相同,同时减完。减完后,南北路为红灯,东西路为绿灯。如此隔环下去。
整个设计满足了任务的要求,即完成了四个状态的转换,完成了倒计时数码管的显示,所以这个系统的设计足以控制十字路口的交通灯正常变换,保证各道车辆的畅通运行。

4 系统程序设计
4.1系统电路图
在这里插入图片描述

图4-1 系统电路图

4.2程序部分代码

#include<reg51.h>


sbit led_red = P1 ^ 0;
sbit led_yellow = P1 ^ 1;
sbit led_green = P1 ^ 2;

sbit led_red1 = P1 ^ 3;
sbit led_yellow1 = P1 ^ 4;
sbit led_green1 = P1 ^ 5;

unsigned int i = 0;
unsigned int j = 0;

unsigned char code LedChar[] ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90 };  //0 1 2 3 4 5 6 7 8 9

static unsigned int sec = 5;
static unsigned char togle_flag = 0;
static unsigned char rg_flag = 0;
static unsigned char skip_yellow = 0;
static unsigned char fs = 0;

void timer0(){
	TMOD = 0x01;
	TH0 = (65536-50000)/256;	 
	TL0 = (65536-50000)%256;
	EA = 1;
	ET0 = 1;
	TR0 = 1;
}

void tcount() interrupt 1 {
	TH0 = (65536-50000)/256;
	TL0 = (65536-50000)%256;
	i++;
}

void display(){
	//P0 = 0x01;
	P0 = 0x05;
	P2 = LedChar[sec % 10];  // 
	P3 = LedChar[(sec + 5) % 10];

5 仿真测试
5.1软件调试
(1)生成hex文件::

图5-1生成hex文件
(2)将hex文件导入AT89C51中:

图5-2导入hex文件
5.2仿真调试
在keil中调试完成后,生成文件,再到proteus中进行仿真。
5.2.1所需软件查询展示

图5-3所需元件展示图
5.2.2四种状态展示
1)点击play键,电路开始进行仿真,此时红绿灯显示的情况为:南边方向为绿灯亮,东西方向为红灯亮。南边方向通行时间为25秒,东西禁止通行时间为25秒,交通灯显示状态如图所示。

图5-4状态一

2)在开始仿真经过25秒后,黄灯开始闪烁,闪烁时间为5秒,红绿灯的状态将发生变化,南边方向黄灯闪烁,显示情况如图所示。

图5-5状态二

3)此时红绿灯显示的情况为:东西方向为绿灯亮,南北方向为红灯亮。南边方向禁止通行时间为30秒,南北通行时间为25秒,交通灯显示状态如图所示。

图5-6状态三
4)在开始仿真经过25秒后,黄灯开始闪烁,闪烁时间为5秒,红绿灯的状态将发生变化,东西方向黄灯闪烁,显示情况如图所示。

图5-7状态四
5.3结果分析
经过测试,本次简单交通灯设计基本满足了所需要的要求,可以进行简单的红绿黄灯计时显示,避免出现拥挤、堵车等现象,但设计也有不足,由于程序设计较为简便,无法对具体的的路况进行适时地调整,无法通过对当前道路的状况进行智能化调节。比如;早高峰和晚高峰期间的人流和车辆较多,可以适当增加绿灯时间,减少红灯时间,以此来减少道路拥挤。

6 总结
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计C语言的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大的.本次课程设计用到了许多单片机上所学的知识,使书本上所学的知识得到了实际应用,同时也发现了很多自己的不足之处。经过多次查阅相关书籍和资料,一些自己不是很有把握的地方得到了补充,不仅完成了课程设计的任务,更增长了自己的知识面,填补了很多知识的空白之处,使我又有了新的长进,学到了新的知识。
通过本次的课程设计,使我学到了很多新的知识,经历了将理论转化为实践的过程,知道了如何让将所学的理论知识转化为生活中所常见的东西,所学知识得到了充分应用。大学的课堂是给我们学习专业知识的,而我们更应该把自己所学到的书面知识应用到生活中去。课程设计给了我们这样一个化理论为实践的机会,自己独立的完成这么一个任务,看起来很难,但当你深入到这个过程中去时,每一点点的成功都会让自己欣喜若狂,这是一个享受成功的过程,也是一个良好的学习机会.当然,也遇到了很多困难,让我认识到了很多不足,我会在以后的学习生活当中不断磨练自己、完善自己,为自己以后的职业生活储备更多的知识,做一个生活的强者。

参考文献
[1] 何立民.单片机高级教程[M].北京: 航空航天大学出版社,2001.
[2] 王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.
[3] 马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,2003.
[4] 王晋凯.简简单单学通51单片机开发 [M].清华大学出版社,2014.
[5] 夏继强.单片机实验[M].北京: 航空航天大学出版社,2001.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云原生-kubesphere容器平台

https://www.yuque.com/leifengyang/oncloud/gz1sls 多租户&#xff1a;可以用户自定义注册进来&#xff0c;可以给用户分配一些集群操作权限&#xff0c;来操作集群 多集群&#xff1a;有生产环境的k8s集群和测试环境的k8s集群。这多个集群都是需要管理的&#xff0c;可以安装…

Error: (‘IM002‘, ‘[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序‘)

这是使用pypyodbc访问access数据库时常见的一个错误。 大致可以分为以下几个原因&#xff1a; 1.驱动程序不全&#xff1b; 2.你的驱动源名称错误&#xff1b; 3.python位数与驱动位数不同&#xff0c;这也可以粗暴的归类为原因1. 那么如何解决&#xff1f; 找到对应的驱…

ce人造指针

人造指针 找出什么访问 重开会改变edi 记录传入的edi 视图 内存区域ctrlr 可读可写 在0079B000前找空的 可以用只读 fullaccess(00xxxxxx,4)有可能处于保护&#xff0c;不起效果 在申请地址造指针 全局用 registersymbol() unregistersymbol(mana_ecx) ceaa od …

谷歌云 | 授权用户访问您在 Cloud Run 上的私有工作负载的 3 种新方法

【本文由 Cloud Ace 云一整理】 越来越多的组织正在Cloud Run上构建应用程序&#xff0c;这是一个完全托管的计算平台&#xff0c;可让您在 Google 的基础架构之上运行容器化应用程序。想想 Web 应用程序、实时仪表板、API、微服务、批量数据处理、测试和监控工具、数据科学推…

【ADS867x】双极输入范围 14 位 500kSPS 4/8 通道、单电源 SAR ADC

器件特性 具有集成模拟前端的 14 位模数转换器 (ADC)具有自动和手动扫描功能的 4 通道、8 通道多路复用器通道独立可编程输入&#xff1a; 10.24V、5.12V、2.56V、1.28V、0.64V10.24V、5.12V、2.56V、1.28V 5V 模拟电源&#xff1a;1.65V 到 5V I/O 电源恒定的阻性输入阻抗&am…

Android Dialog之DialogFragment详解与使用

一、介绍 在Android开发过程中&#xff0c;经常会有弹窗业务&#xff0c;在正常的弹窗业务中&#xff0c;常用到的是Dialog&#xff0c;Dialog的原理也是通过将view&#xff0c;添加到Dialog中。Dialog自身是一个独立的窗口&#xff0c;和Activity一样&#xff0c;有自己的wind…

C++面试题

试题一 请问如下函数调用了什么构造函数和析构函数&#xff0c;以及调用的顺序是什么&#xff1f; 如果 fun函数里写成 return s1 s2 有什么变化&#xff1f; string fun(strings1, string s2) {string tmp s1 s2;return tmp; } int main() {string s fun(s1, s2);retur…

AI来势汹汹,这份「生存计划」请查收!

AIGC即人工智能生产内容&#xff0c;最近可太火了&#xff0c;但是火了这么久&#xff0c;有些人都没明白到底为什么火&#xff1f;甚至不明所以觉得“AI替代XX”&#xff0c;小编认为没必要焦虑&#xff0c;一起来看一下吧。 AI工具们一日千张图、3小时写一本书、2分钟构建一个…

论文导读 | 大语言模型中应用到的强化学习算法

摘要 在最近取得广泛关注的大规模语言模型&#xff08;LLM&#xff09;应用强化学习&#xff08;RL&#xff09;进行与人类行为的对齐&#xff0c;进而可以充分理解和回答人的指令&#xff0c;这一结果展现了强化学习在大规模NLP的丰富应用前景。本文介绍了LLM中应用到的RL技术…

《NFT区块链进阶指南一》Remix部署Solidity ERC721合约(NFT合约)到Etherscan

文章目录 一、部署合约1.1 无构造参数合约部署1.2 有构造参数合约部署 二、合约详情三、部署提示 本篇为NFT区块链高级部分&#xff0c;在阅读之前需了解&#xff1a;Remix、Metamask、Etherscan、Solidity、Openzeppelin、ERC721合约 一、部署合约 1.1 无构造参数合约部署 智…

maven入门学习

简介 maven是基于ant升级的&#xff0c;apache的自动化构建工具、项目管理工具 Maven – Welcome to Apache Maven maven使用pom.xml进行配置 maven项目可以更方便的实现导jar包、拆分项目 idea默认集成了maven 下载安装 下载maven&#xff0c;在官网&#xff08;Maven –…

如何设计电商SPU与SKU表以及相关的表?

一、先了解SPU及SKU的相关概念&#xff1a; 我们在开发电商项目时&#xff0c;必须首先要了解两个概念&#xff0c;SPU与SKU是什么&#xff1f;这也是设计一个好的电商系统的必要前提。商系统实现了什么功能&#xff0c;大数情况下都是和商品模块相关联的。因此商品模块本身的…

Python基础入门(3)—— 什么是函数递归、字典、集合、文件操作、异常处理?

文章目录 01 | &#x1f698;函数 && 递归&#x1f694;函数&#x1f694;递归 02 | &#x1f698;字典03 | &#x1f698;集合04 | &#x1f698;文件05 | &#x1f698;异常处理06 | &#x1f698;习题 Better late than never. 迟做总比不做好;晚来总比不来好。 01 …

M302A-CW/BYT-通刷S905L3(B)-当贝纯净桌面卡刷固件包

M302A-CW&#xff0f;BYT-通刷S905L3(B)-当贝纯净桌面卡刷固件包-内有教程 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的…

MFP450 基础飞行平台问世,支持室内室外无GPS环境飞行

无人机开发入门&#xff0c;我们需要一个怎样的基础飞行平台&#xff1f; 开源无人机的发展日新月异&#xff0c;但遗憾的是&#xff0c;在PX4和FMT生态中&#xff0c;还很少看到一个稳定可靠的基础飞行平台。目前国内市场的选择不多&#xff0c;还是以DIY为主&#xff0c;尤其…

GEE:使用 ROC 曲线和 AUC 评估分类算法性能

作者:CSDN @ _养乐多_ 在机器学习和遥感数据分析领域,评估分类算法的性能是关键任务之一。Google Earth Engine(GEE)平台提供了丰富的遥感数据和分析工具,结合 ROC(接收者操作特征)曲线和 AUC(曲线下面积)分析,可以有效评估分类算法的准确性和可靠性。 本文将介绍如…

基于阻塞队列实现异步秒杀

文章目录 1 异步秒杀思路2 Redis完成秒杀资格判断3 基于阻塞队列实现秒杀优化总结 1 异步秒杀思路 我们来回顾一下下单流程 当用户发起请求&#xff0c;此时会请求nginx&#xff0c;nginx会访问到tomcat&#xff0c;而tomcat中的程序&#xff0c;会进行串行操作&#xff0c;分…

搞懂 API,跨域资源贡献 (CORS )和安全性问题

在 Web 应用开发中&#xff0c;API 是应用程序和其他系统之间进行数据交互的主要方式。 跨域资源共享&#xff08;CORS&#xff09;是一种常见的处理跨域请求的技术&#xff0c;但同时也带来了一些安全性问题。我将分享 CORS 技术及其安全性问题。 跨域资源共享&#xff08;COR…

django CBV 与 DRF APIView源码分析

django CBV源码分析 在django框架中&#xff0c;视图层中的逻辑即可以使用函数处理也可以使用类进行处理&#xff0c;如果在视图层中使用函数处理请求&#xff0c;就是FBV(function base views)&#xff0c;如果在视图层中使用类处理请求&#xff0c;就是CBV(class base views…

Windows无法完成格式化怎么办?正确的3个解决方法!

案例&#xff1a;Windows无法完成格式化怎么办 【由于我的U盘使用时间过长&#xff0c;很多文件都是不需要的&#xff0c;我想将其格式化&#xff0c;但插入电脑后&#xff0c;Windows根本无法完成格式化&#xff0c;这是为什么呢&#xff1f;我应该怎么做呢&#xff1f;求答案…