- 浏览: 7959279 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
1 一对一关系,假设student和mealcard为两个一对一关系的类
class Student < ActiveRecord::Base
has_one(:meal_card, :class_name => "MealCard", :foreign_key => "student_id")
end
class MealCard < ActiveRecord::Base
belongs_to(:student, :class_name => "Student", :foreign_key => "student_id")
end
2 一对多关系
比如产品和分类一对多关系
分类:
class Type < ActiveRecord::Base
has_many(:products,:class_name=>"Product", :foreign_key=>"type_id")
end
class Product < ActiveRecord::Base
belongs_to(:type,:class_name=>"Type", :foreign_key=>"type_id")
end
调用:
<% @types.each do |type| %>
<% type.products.each do|p| %>
<tr>
<%if(temp_id != type.id)
temp_id = type.id %>
<td rowspan="<%= type.products.size %>"><%= type.id %></td>
<td rowspan="<%= type.products.size %>"><%= type.name %></td>
<% end %>
<td><%= p.name %></td>
<td><%= p.model %></td>
3 多对多
比如角色和function的多对多关系
class Role < ActiveRecord::Base
has_and_belongs_to_many(:functions,:class_name=>"Function",:join_table=>"functions_roles")
end
class Function < ActiveRecord::Base
has_and_belongs_to_many :roles
end
4 无限分级的菜单
class Menu < ActiveRecord::Base
belongs_to(:parent,
:class_name=>"Menu",
:foreign_key=>"parent_id")
has_many(:childs,
:class_name=>"Menu",
:foreign_key=>"parent_id")
end
5 使用activerecord中的事务处理
比如
类名.transcation do
.....
end
6 validate自定义
validate_on_create:在数据库创建记录时,对保存的数据验证
validate_on_update:在修改记录时,对数据进行验证
class User < ActiveRecord::Base
def validate
if name.blank?
errors.add(:name, "姓名不能为空!")
end
if year < 1910 or year > 2011
errors.add(:year, "出生年份必需在1910年到2011年之间")
end
if sex.blank?
errors.add(:sex, "性别不能为空!")
end
if not phone.match(/((0\d{3}|\d{2})-(\d{7}|\d{8}))|(1\d{10})/)
errors.add(:phone, "电话号码格式错误!")
end
end
end
<% if @user.errors.any? %>
<div id="error_explanation">
<h2>您输入的数据存在<%= pluralize(@user.errors.count, "") %> 处错误:</h2>
</div>
<% end %>
7 自定义模型校验器
比如validate_presence_of方法 ,可以一次校验多个属性,比如
validate_presence_of(:name,:address......)验证多个属性非空
唯一属性:
validates_uniquencess_of(:name,:message=>"wrong")
例子:
class Account < ActiveRecord::Base
validates_presence_of(:name, :password, :message => "不能为空!")
validates_length_of(:name, :password, :within => 6..50, :message => "长度不合法")
validates_format_of(:name, :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/, :message => "格式错误!")
end
8 定义各种before,after的回调方法
def before_delete
.,,,
end
9 默认路由放在config文件夹下的route.rb中,路由类型
1) 默认的路由为route.rb中的最底部一行,即/controler/action/:id的形式
2) 资源路由
比如resouces:users
则同时生成7个不同的路由
_url方法:生成完整的URL绝对路径
_path:生成相对路径
比如users_url:生成http://localhost:3000/users
users_path 生成/users
:as选项
resources :users,:as =>"memebers"
指定了URL中使用members,但路由还是users
/members index
/members/new
resouces :users,:controller =>"members"
指定使用members 控制器
3)修改选项
可以重写选项,比如
map.resources :users,:path_name=>{:new=>'add',:edit=>'modi'}
只不过方法名变了
/users/add
/users/1/modi
4)path_prefix选项
增加一个前缀比如
resources :users, :path_prefix =>"/showrole/:user_id"
则变成
/showrole/1/users/
/showrole/1/users/2
5) resetful
resources :users,requirment =>{id= >/[A-Z][a-z][0-0]+/}
这个将会不会识别ID=1的数据
6)only产生指定的路由
resoucrs :photos,
nly =>[:index :show]
7)except指定哪个路由不被产生
resoucrs :users, :except =>:destory
10) 命名路由
match 'welcome',:to=>'users#index', :as=>'welcome'
创建了一个welcome的路由,调用user控制器的index方法。
11)嵌套路由
比如获得id=100的评论,该评论指向id=50的文章
/articles/50/comments/100
12) 正则路由
例子:
#实现查看指定日期的文章,例如 blog/articles/2011-02-14
# match 'blog/articles/:date' , :action=>'search', :controller=>'blog',
# :date=>/\d{4}-\d{2}-\d{2}/
#实现查看某一年的所有图片,例如photos/2011/all
# match 'photos/:year/all' ,:action=>'search' , :controller=>'photos' ,
# :year=> /\w{4}/
#实现查看某个关键字的所有文章,例如articles/show/rails
# match 'articles/show/:key' => 'articles#searchkey', :via =>
OST
#实现按编号查看某个分类下的所有文章,例如blog/index/1
# match 'blog/index/:category' =>"blog#index", :constraints => {:category => /\d/}
# 实现用户对某篇文章的管理操作,例如users/1/admin
# match 'users/:id/admin' => 'users#admin', :as => :admin
#实现用户登录后进入的页面
# match 'user/homepage/', :action=>'login', :controller=>'users' ,:defaults=>{:homepage=>'usercenter'}
14 actioncontroller的6个对象
1) sessions
session[:username]="sdsd"
获得#{session[:username]}
session[:username]=nil
2)params[:user][:name] 访问user类的name属性
3)request
4)response
5)renders
render :action=>"success" //使用success模版
6)redirects
redirect_to :action=>'show', :id=>@entry.id
返回到show的action,并指定id
15) 用户自定义控制器<<ApplicationController<<actioncontroller<<base
16) 自定义模版
def index
@users=User.all
render :action=>"list"
end
表示使用app\views\user下的list.htm.erb文件模版
17) 自定义layout模版
也可以用render :action=>"list",:layout=>"users"
//表示不使用app\views\layouts下的文件夹,而使用app\views\layouts下的新建立的
users.htm.erb文件
18 局部模版
以_开头的
render :partial=>"showuser"
局部模版开头以_showuser开头
19 内嵌模版
def inline
@users = User.all
render :inline=>"<h3>查看所有用户</h3>
end
20 :file 重复使用一个模版
render :file=>"d:/xxxxxxxxxxxxxxxxxxxxxx"
即将使用file指定的模版
def index
@books = Book.all
render :file=>"/books/cart",:layout=>true
end
21 render :text,将错误信息输出
def error
render :text=>'<h2>很抱歉,您要访问的页面不存在。</h2> <img src="/imgs/404.gif"> 您的访问出错了,时间: '+Time.now+'。
<br/>单击这里返回首页。
',:layout=>true
end
22 重定向action
redirect_to :controller=>"user",:action=>"login"
redirect_to跳转页面时,可以指定控制器,render不行;
render可以指定模版,而redirect_to不可以指定模版
redirect_to "/books/1",:notice=>'xxxxxxxx'
23 过滤器
before,after,around(before,after都同时执行)
引用方式:
1) before_filter : abc
def abc
.........
end
2) before_filter{ |controler| }
3)过滤选项
如果父类有过滤器,则父类的过滤器也会应用于子类,先执行父类的,再执行子类的,
跳过所有过滤器 skip_before_filter跳过before,skip_after_filter跳过after,skip_filter跳过所有
过滤器
一个登陆过滤器的例子:
class BooksController < ApplicationController
before_filter :safecheck,:except=>[ :login ,:prologin]
def safecheck
if !session[:user_name].nil? then
@currentUserName=session[:user_name]
return true;
end
else
redirect_to "/books/login", :notice =>'对不起,你还没有登录。'
return false
end
except:出了login,prologin这两个action不进行过滤
def prologin
uname=params[:user][:name]
upass=params[:user][:pass]
if (uname=="admin")&&(upass=="admin") then
session[:user_name]=uname
session[:user_pass]=upass
redirect_to "/books/list", :notice => '欢迎回来,当前用户:'+session[:user_name]+',现在时间是:'+Time.now.strftime("%Y-%m-%d %H:%M:%S")+'。'
else
redirect_to "/books/login", :notice => '您的输入有误,登录失败。'
end
end
24 过滤器设置中文响应
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :changeCharset
def changeCharset
response.headers["Content-Type"]="text/html; charset=gb2312"
end
end
25 整个网站的index
删除public下的index.html文件,然后在routs.rb下加入
root :to=>"controller名#index"
class Student < ActiveRecord::Base
has_one(:meal_card, :class_name => "MealCard", :foreign_key => "student_id")
end
class MealCard < ActiveRecord::Base
belongs_to(:student, :class_name => "Student", :foreign_key => "student_id")
end
2 一对多关系
比如产品和分类一对多关系
分类:
class Type < ActiveRecord::Base
has_many(:products,:class_name=>"Product", :foreign_key=>"type_id")
end
class Product < ActiveRecord::Base
belongs_to(:type,:class_name=>"Type", :foreign_key=>"type_id")
end
调用:
<% @types.each do |type| %>
<% type.products.each do|p| %>
<tr>
<%if(temp_id != type.id)
temp_id = type.id %>
<td rowspan="<%= type.products.size %>"><%= type.id %></td>
<td rowspan="<%= type.products.size %>"><%= type.name %></td>
<% end %>
<td><%= p.name %></td>
<td><%= p.model %></td>
3 多对多
比如角色和function的多对多关系
class Role < ActiveRecord::Base
has_and_belongs_to_many(:functions,:class_name=>"Function",:join_table=>"functions_roles")
end
class Function < ActiveRecord::Base
has_and_belongs_to_many :roles
end
4 无限分级的菜单
class Menu < ActiveRecord::Base
belongs_to(:parent,
:class_name=>"Menu",
:foreign_key=>"parent_id")
has_many(:childs,
:class_name=>"Menu",
:foreign_key=>"parent_id")
end
5 使用activerecord中的事务处理
比如
类名.transcation do
.....
end
6 validate自定义
validate_on_create:在数据库创建记录时,对保存的数据验证
validate_on_update:在修改记录时,对数据进行验证
class User < ActiveRecord::Base
def validate
if name.blank?
errors.add(:name, "姓名不能为空!")
end
if year < 1910 or year > 2011
errors.add(:year, "出生年份必需在1910年到2011年之间")
end
if sex.blank?
errors.add(:sex, "性别不能为空!")
end
if not phone.match(/((0\d{3}|\d{2})-(\d{7}|\d{8}))|(1\d{10})/)
errors.add(:phone, "电话号码格式错误!")
end
end
end
<% if @user.errors.any? %>
<div id="error_explanation">
<h2>您输入的数据存在<%= pluralize(@user.errors.count, "") %> 处错误:</h2>
- <%= msg %>
<% @user.errors.full_messages.each do |msg| %>
<% end %>
</div>
<% end %>
7 自定义模型校验器
比如validate_presence_of方法 ,可以一次校验多个属性,比如
validate_presence_of(:name,:address......)验证多个属性非空
唯一属性:
validates_uniquencess_of(:name,:message=>"wrong")
例子:
class Account < ActiveRecord::Base
validates_presence_of(:name, :password, :message => "不能为空!")
validates_length_of(:name, :password, :within => 6..50, :message => "长度不合法")
validates_format_of(:name, :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/, :message => "格式错误!")
end
8 定义各种before,after的回调方法
def before_delete
.,,,
end
9 默认路由放在config文件夹下的route.rb中,路由类型
1) 默认的路由为route.rb中的最底部一行,即/controler/action/:id的形式
2) 资源路由
比如resouces:users
则同时生成7个不同的路由
_url方法:生成完整的URL绝对路径
_path:生成相对路径
比如users_url:生成http://localhost:3000/users
users_path 生成/users
:as选项
resources :users,:as =>"memebers"
指定了URL中使用members,但路由还是users
/members index
/members/new
resouces :users,:controller =>"members"
指定使用members 控制器
3)修改选项
可以重写选项,比如
map.resources :users,:path_name=>{:new=>'add',:edit=>'modi'}
只不过方法名变了
/users/add
/users/1/modi
4)path_prefix选项
增加一个前缀比如
resources :users, :path_prefix =>"/showrole/:user_id"
则变成
/showrole/1/users/
/showrole/1/users/2
5) resetful
resources :users,requirment =>{id= >/[A-Z][a-z][0-0]+/}
这个将会不会识别ID=1的数据
6)only产生指定的路由
resoucrs :photos,

7)except指定哪个路由不被产生
resoucrs :users, :except =>:destory
10) 命名路由
match 'welcome',:to=>'users#index', :as=>'welcome'
创建了一个welcome的路由,调用user控制器的index方法。
11)嵌套路由
比如获得id=100的评论,该评论指向id=50的文章
/articles/50/comments/100
12) 正则路由
例子:
#实现查看指定日期的文章,例如 blog/articles/2011-02-14
# match 'blog/articles/:date' , :action=>'search', :controller=>'blog',
# :date=>/\d{4}-\d{2}-\d{2}/
#实现查看某一年的所有图片,例如photos/2011/all
# match 'photos/:year/all' ,:action=>'search' , :controller=>'photos' ,
# :year=> /\w{4}/
#实现查看某个关键字的所有文章,例如articles/show/rails
# match 'articles/show/:key' => 'articles#searchkey', :via =>

#实现按编号查看某个分类下的所有文章,例如blog/index/1
# match 'blog/index/:category' =>"blog#index", :constraints => {:category => /\d/}
# 实现用户对某篇文章的管理操作,例如users/1/admin
# match 'users/:id/admin' => 'users#admin', :as => :admin
#实现用户登录后进入的页面
# match 'user/homepage/', :action=>'login', :controller=>'users' ,:defaults=>{:homepage=>'usercenter'}
14 actioncontroller的6个对象
1) sessions
session[:username]="sdsd"
获得#{session[:username]}
session[:username]=nil
2)params[:user][:name] 访问user类的name属性
3)request
4)response
5)renders
render :action=>"success" //使用success模版
6)redirects
redirect_to :action=>'show', :id=>@entry.id
返回到show的action,并指定id
15) 用户自定义控制器<<ApplicationController<<actioncontroller<<base
16) 自定义模版
def index
@users=User.all
render :action=>"list"
end
表示使用app\views\user下的list.htm.erb文件模版
17) 自定义layout模版
也可以用render :action=>"list",:layout=>"users"
//表示不使用app\views\layouts下的文件夹,而使用app\views\layouts下的新建立的
users.htm.erb文件
18 局部模版
以_开头的
render :partial=>"showuser"
局部模版开头以_showuser开头
19 内嵌模版
def inline
@users = User.all
render :inline=>"<h3>查看所有用户</h3>
- <% @users.each do |user| %>
- <%=h '用户名:' + user.name %> [<%= user.department %>部门] <%= user.phone %> <% end %>
end
20 :file 重复使用一个模版
render :file=>"d:/xxxxxxxxxxxxxxxxxxxxxx"
即将使用file指定的模版
def index
@books = Book.all
render :file=>"/books/cart",:layout=>true
end
21 render :text,将错误信息输出
def error
render :text=>'<h2>很抱歉,您要访问的页面不存在。</h2> <img src="/imgs/404.gif"> 您的访问出错了,时间: '+Time.now+'。
<br/>单击这里返回首页。
',:layout=>true
end
22 重定向action
redirect_to :controller=>"user",:action=>"login"
redirect_to跳转页面时,可以指定控制器,render不行;
render可以指定模版,而redirect_to不可以指定模版
redirect_to "/books/1",:notice=>'xxxxxxxx'
23 过滤器
before,after,around(before,after都同时执行)
引用方式:
1) before_filter : abc
def abc
.........
end
2) before_filter{ |controler| }
3)过滤选项
如果父类有过滤器,则父类的过滤器也会应用于子类,先执行父类的,再执行子类的,
跳过所有过滤器 skip_before_filter跳过before,skip_after_filter跳过after,skip_filter跳过所有
过滤器
一个登陆过滤器的例子:
class BooksController < ApplicationController
before_filter :safecheck,:except=>[ :login ,:prologin]
def safecheck
if !session[:user_name].nil? then
@currentUserName=session[:user_name]
return true;
end
else
redirect_to "/books/login", :notice =>'对不起,你还没有登录。'
return false
end
except:出了login,prologin这两个action不进行过滤
def prologin
uname=params[:user][:name]
upass=params[:user][:pass]
if (uname=="admin")&&(upass=="admin") then
session[:user_name]=uname
session[:user_pass]=upass
redirect_to "/books/list", :notice => '欢迎回来,当前用户:'+session[:user_name]+',现在时间是:'+Time.now.strftime("%Y-%m-%d %H:%M:%S")+'。'
else
redirect_to "/books/login", :notice => '您的输入有误,登录失败。'
end
end
24 过滤器设置中文响应
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :changeCharset
def changeCharset
response.headers["Content-Type"]="text/html; charset=gb2312"
end
end
25 整个网站的index
删除public下的index.html文件,然后在routs.rb下加入
root :to=>"controller名#index"
发表评论
-
ror学习小结6
2011-11-04 15:58 25371 每个controler都会在app\views下有一个相应 ... -
ror学习小结4
2011-10-31 18:01 14301 rails new 应用名称 2 启动服务器 rails ... -
ror的database.yml中注意的一点
2011-10-27 22:01 1330在database.yml中,要注意: password ... -
xp下安装ror+mysql最新心得
2011-10-27 14:44 2547话说不少前辈也说了,ROR最好在LINUX上跑,这个道理 ... -
ror学习小结2
2011-10-22 20:39 16061 定义模块 module xxx ... -
ror学习小结1
2011-10-20 21:10 1562前两天跟着书,开始自学RUBY和ROR,开始笔记之,开始感受小 ... -
grails 中配置要注意的一个地方
2008-02-24 16:12 1362之前grails运行的十分好的一个入门级应用,今天启动时,居然 ... -
卸载ruby on rails
2008-05-10 22:42 2076gem uninstall Rails gem uninsta ... -
ruby rails 笔记1
2008-05-11 12:00 1356近日开始读李刚老师的好书 ruby on rails开发实战, ...
相关推荐
这两个数据集的难度相对较大,因为类别的数量多,图像尺寸小,这使得它们成为评估深度学习模型在图像识别上的有效性的重要基准。 **ResNet和Ror模型在CIFAR数据集上的表现** 在CIFAR-10上达到89%的准确率,以及在...
**初探ROR** Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进...通过学习和实践,你将能够利用ROR构建出功能强大、易于维护的Web应用程序。
### Windows上搭建Ruby on Rails(ROR)环境详解 #### 一、引言 随着Web开发技术的不断发展,Ruby on Rails(简称Rails或ROR)作为一种高效、简洁且优雅的Web开发框架,受到了广大开发者的青睐。然而,在Windows...
5. **安全性**:RoR内置了多种安全机制,如CSRF(跨站请求伪造)防护、XSS(跨站脚本)防护等,有助于保护系统的数据安全。 **学习和使用FreeMIS:** 对于想要深入理解或使用FreeMIS的开发者,首先需要掌握Ruby语言...
标题 "基于sqlite的ror例子" 暗示我们即将探讨的是如何在Ruby on Rails (RoR) 应用程序中使用...通过学习这个例子,开发者可以深入理解RoR如何与SQLite数据库协作,这对于初学者和有经验的开发者都是宝贵的学习资源。
总结来说,基于Ruby on Rails的在线考试系统开发是一项综合性的任务,涉及后端逻辑、数据库设计、用户交互等多个层面。通过合理利用RoR的特性,我们可以构建出功能完善、易用性强、安全性高的在线考试平台,为教育...
IRIS-RoR-Bootcamp-2020 由于大多数参与者都不熟悉Ruby,因此我们创建了一些练习来学习和练习Ruby语法-涵盖条件语句( if , else , elsif ),不同的迭代方式( each , select和map )以及面向对象的基本代码...
### ARM指令集学习知识点 #### 一、ARM指令集概览 ARM(Advanced RISC Machines)指令集是一种基于精简指令集计算机(RISC)架构的指令集标准,广泛应用于移动设备、嵌入式系统等领域。本章节将详细介绍ARM指令集的...
本报告旨在总结2006年8月底之前的Ruby on Rails(简称ROR)在中国的应用和发展现状,侧重于描述而非深度分析。报告计划随着ROR在中国的发展而不断更新,未来版本可能会引入更加科学严谨的数据收集方法,例如问卷调查...
4. **逻辑运算指令**:如AND、OR、XOR用于逻辑操作,NOT用于取反,TEST用于测试,SHL、SAL、SHR、SAR用于位移,ROL、ROR、RCL、RCR用于循环移位。 5. **其他指令**:如CBW、CWD、CWDE、CDQ用于数据转换,它们根据...
总结来说,通过上述高级指令的详细解析,我们可以了解到NAIS PLC中文手册第三章所涵盖的高级指令在数据位操作方面的强大功能和灵活应用,以及在编程时需要注意的规则和限制。这些知识点对于PLC程序员在实际应用中...
通过深入学习汇编语言,不仅可以提升程序员对底层硬件的理解,还能帮助他们更好地掌握高级语言如C语言的工作原理。本文将通过对给定汇编代码片段的分析,来探讨几种重要的定点运算及转换技巧,并结合实例说明这些...
然而,Java 的部署过程相对繁琐,不适合快速开发和小型项目,学习曲线也相对较陡峭。 .Net,尤其是从1.x到3.0的进化,逐渐增加了企业级开发的功能,如ASP.NET MVC等框架。在Web开发中,.Net 的服务器控件为开发带来...
学习RoR不仅仅是学习语言和框架本身,还包括如何利用这些强大的库来解决实际问题。 通过"myRoR"的学习,你将不仅了解到RoR的基本概念,还能深入理解Web开发流程,包括数据库设计、前后端交互、用户体验优化等。在...
在有机化学的学习中,理解并掌握试剂的性质及其在反应中的角色至关重要。本复习总结主要涉及了四个关键知识点:试剂的分类、反应类型、有机反应活性中间体以及过渡状态。 1. **试剂的分类与试剂的酸碱性** - **...
**Milog:基于Ruby on Rails的个人博客系统** Ruby on Rails(RoR)是一个流行的开源Web应用程序框架,它采用模型-...通过学习和理解这个项目,开发者不仅可以深化对RoR的理解,还能掌握构建Web应用的基本流程和技巧。
在Ruby on Rails(RoR)框架中,"RailsTutorial_FirstApp"是一个常见的起点,用于学习和实践RoR的基础知识。这个教程旨在引导开发者创建他们的第一个Web应用程序,这通常包括了解RoR的核心概念、MVC(模型-视图-控制...
循环移位指令如ROL(循环左移)、ROR(循环右移)、RCL(带进位循环左移)和RCR(带进位循环右移),它们在移位操作中考虑了进位位,适用于位状态的测试、位部分的交换以及长字长数的移位操作。 最后,串操作指令是...
**四、实验小结** - 通过这两个实验,学生能够深入理解8255芯片的基本工作原理及其在微机系统中的应用。 - 实验中遇到的问题,如软延时不够精确等问题,可以通过增加循环次数或使用硬件定时器等方式解决。 #### ...